WO1999008387A2 - A serial to parallel converter for a digital audio workstation - Google Patents

A serial to parallel converter for a digital audio workstation Download PDF

Info

Publication number
WO1999008387A2
WO1999008387A2 PCT/US1998/016356 US9816356W WO9908387A2 WO 1999008387 A2 WO1999008387 A2 WO 1999008387A2 US 9816356 W US9816356 W US 9816356W WO 9908387 A2 WO9908387 A2 WO 9908387A2
Authority
WO
WIPO (PCT)
Prior art keywords
serial
data
digital audio
parallel interface
coupled
Prior art date
Application number
PCT/US1998/016356
Other languages
French (fr)
Other versions
WO1999008387A3 (en
Inventor
Kent L. Shephard
Original Assignee
Avid Technology, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Avid Technology, Inc. filed Critical Avid Technology, Inc.
Priority to AU87717/98A priority Critical patent/AU8771798A/en
Publication of WO1999008387A2 publication Critical patent/WO1999008387A2/en
Publication of WO1999008387A3 publication Critical patent/WO1999008387A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/02Arrangements for generating broadcast information; Arrangements for generating broadcast-related information with a direct linking to broadcast information or to broadcast space-time; Arrangements for simultaneous generation of broadcast information and broadcast-related information
    • H04H60/04Studio equipment; Interconnection of studios

Abstract

A serial to parallel interface for coupling multiple channels of audio input data to a digital audio workstation (DAW) having at least one processor capable of performing digital signal processing functions is formed from a programmable ASIC. The serial to parallel interface includes configuration registers which may be programmed to allow the interface to communicate with external audio devices that are operating in any audio format and bit width format. The serial to parallel interface includes a double buffered input and output serial datapath. The double buffered input and output datapath eases timing constraints between the interface and the DSP, thus allowing the DSP the flexibility of being able to read data at almost any point during an audio data transmission period. In addition, the double buffering mechanism within the serial to parallel interface allows for sample receipt errors to be isolated from the DSP, thereby ensuring the integrity of the audio data before it is propagated to the DAW. State machines, internal to the serial to parallel interface, provide control signals to the double buffered datapath in accordance with an external clocking signal associated with the external audio devices, and thus the serial to parallel interface is able to communicate with external devices operating at any frequency without modification. In addition, because the serial to parallel interface is implemented in a single ASIC, it is able to provide a communication link for an increased number of channels and thereby improve the operability of the DAW.

Description

A SERIAL TO PARALLEL CONVERTER FOR A DIGITAL AUDIO WORKSTATION
FIELD OF THE INVENTION This invention relates generally to the field of digital audio computing and more specifically to a method and apparatus for providing a serial to parallel interface in a digital audio workstation.
BACKGROUND OF THE INVENTION Digital audio workstations (DAWs) are gaining popularity in the recording studio and post-production environments. Digital audio workstations are used to mix, amplify', control and otherwise affect either the audio portion of a multimedia event or a production which is solely audio, such as a song or composition. Two important features desirable in any DAW are the DAW's ability to perform audio "tasks" (such as equalization, reverberation, etc.) in a real-time, efficient manner and the ability of the DAW to handle a number of tasks simultaneously or nearly simultaneously.
Each DAW typically includes a host computer and potentially one or more digital signal processors (DSPs). Where there are no DSPs, the host computer performs digital signal processing functions. The DSPs may be specialized, where each DSP performs one. unique task, or alternatively it may be general purpose; i.e., none of the DSPs are specialized but are provided as a random, general purpose DSP "pool" where any DSP can perform any number of different tasks. The host computer allocates tasks among the specialized and general purpose DSPs that are available.
Typically, analog audio data, provided via tape, synthesizer or the like, is translated into a digital audio data stream for input to the DAW by an analog to digital converter. Example A/D converters include the 888 Input Output (I/O) audio Interface, manufactured by DIGIDESIGN, Inc., Avid Audio division, Avid Technologies, Tewksbury, Massachusetts. Each of the Protools audio interfaces receive eight channels of analog input/output and provide eight channels of serial digital audio input/output.
Thus, the A/D converter provides a serial stream of digital audio data. To maximize performance, the DSPs generally operate on data in parallel. Therefore, a serial to parallel interface is provided either external to the DSP, or is included within the DSP. Historically, the conversion of data between the serial format and the parallel format was performed using hardwired interface logic that included shift registers and the like. Because discrete logic devices were used in the interface logic, the serial to parallel interface was not able to flexibly support varying operating environments. For example, audio data may be received in a number of input formats, including, among others, an I2S format, for A/D converters manufactured by Phillips corporation, and an SSI format, for A/D converters manufactured by Motorola corporation. Each of the different formats has different timing characteristics, and the received digital audio data is interpreted differently in each of the formats. Because prior art interfaces were hardwired, either a separate interface had to be provided to support each of the variety of different input formats or the overall system would be able to support only one format. In addition, the prior art methods of providing a serial to parallel interface were similarly inflexible to changes in frequency of input serial audio data. Providing separate interfaces to support a variety of formats and/or frequencies undesirably uses a large amount of area on the digital signal processing board.
An additional drawback of the prior art interfaces was that they were designed to support a fixed number of channels. In particular, when the serial to parallel interface was provided internally to the DSP, only a maximum of two to four channels could be supported due to the available Input/Output pins and logic gates associated with supporting each channel. If it was desired to couple more than four channels of I/O audio data, additional digital signal processors would have to be added to the system. However, adding more digital signal processors to the system results in a more expensive, potentially less marketable system. Because the number of channels that a DAW is able to accommodate is one component of the performance of the overall system, limiting the number of channels because of area and pin constraints incurred by interface logic is undesirable.
An additional problem of the prior art interfaces arose because a potential existed for erroneous data to be forwarded to the digital signal processor. Typically, each serial digital audio signal was received at the interface with an accompanying clock signal that was used to clock the received data into the shift registers. Data from the shift registers was periodically read by the digital signal processor. If an error occurred such that the clock signal was delayed or disabled, an entire twenty-four bit signal group would not be shifted into the shift register. As a result, when the digital signal processor next read the shift register, erroneous data was forwarded to the digital signal processor. The erroneous data resulted in undesirable audio output, the desired digital audio signal was often unrecoverable. Thus, the prior art interface mechanisms provided between the serial A D converter and the digital signal processor were inflexible to changes in data format and frequency and additionally prone to error. It would therefore be desirable to provide an interface that would be able to handle multiple data formats, multiple frequencies and preclude the propagation of erroneous data to the DSP.
SUMMARY OF THE INVENTION A serial to parallel interface of the present invention is provided for coupling multiple channels of audio input data to a digital audio workstation (DAW) having at least one processor capable of performing digital signal processing functions. The serial to parallel interface is advantageously formed from a programmable device. The serial to parallel interface includes configuration registers which may be programmed to allow the interface to communicate with external audio devices that are operating in any audio format and bit width format. State machines, internal to the serial to parallel interface, provide control signals responsive to the external clock sample rate, and thus the serial to parallel interface is able to communicate with external devices operating at any frequency without modification. The serial to parallel interface includes a double buffered input and output serial datapath. The double buffered input and output datapath eases timing constraints between the interface and the DSP. thus allowing the DSP the flexibility of being able to read data at almost any point during an audio data transmission period. In addition, the double buffering mechanism within the serial to parallel interface allows for audio data errors to be isolated from the DSP. thereby ensuring the integrity of the audio data before it is propagated to the DAW. In addition, the serial to parallel interface is implemented in a single ASIC, and is therefore able to provide a communication link for an increased number of channels to improve the operability of the DAW.
According to one aspect of the invention, a serial to parallel interface for coupling at least one audio device capable of transmitting and receiving at least one serial digital audio signal to a digital audio workstation is provided. The digital audio workstation includes at least one processor performing digital signal processing functions and capable of transmitting and receiving a parallel plurality of digital audio signals. The serial to parallel interface includes a programmable configuration register for identifying a format of the serial digital audio data from a plurality of available formats. In addition, the serial to parallel interface also includes at least one state machine, coupled to the programmable configuration register, for controlling the transfer of data between the signal processor and the at least one audio device such that the serial digital audio data is transferred according to the format indicated in the programmable configuration register. At least one datapath is coupled to the at least one state machine for transferring the serial digital audio data and the parallel plurality of audio data to and from the audio device and the processor, respectively, responsive to control signals from the at least one state machine.
According to another aspect of the invention, a digital audio workstation for storing and manipulating at least one serial digital audio data stream received from at least one coupled audio device includes a processor capable of performing digital signal processing functions and a serial to parallel interface, coupled to the at least one audio device and to the processor. The serial to parallel interface is programmable by the processor to interpret the at least one serial digital audio data stream as being in one of a plurality of available formats. The processor is coupled to the serial to parallel interface via a multi-bit bus, with the serial to parallel interface for converting the serial digital audio data stream to a parallel data stream for transmission on the multi-bit bus, and for converting parallel data streams on the multi-bit bus into serial digital audio data streams for transmission to the at least one coupled audio device.
According to a further aspect of the invention, a method of interfacing at least one audio device providing a serial digital audio data stream to a multi-bit bus in a digital audio workstation includes the steps of programming a configuration register to identify a format of the serial digital audio data stream, where the serial digital audio data stream may be in a plurality of formats, and exchanging data between a shift register, coupled to the serial digital audio data stream, and at least one register coupled to the multi-bit bus using and intermediate holding register, wherein data is precluded from being transferred to the at least one register coupled to the multi-bit bus responsive to an error in the receipt of the serial digital audio data stream, in order to isolate the multi-bit bus from the error.
BRIEF DESCRIPTION OF THE DRAWINGS The above-mentioned and other features of the invention will now become more apparent by reference the following description taking in connection with the accompanying drawings in which: Fig. 1A is a block diagram of one embodiment of a digital audio computing system employing the present invention;
Fig. IB is a block diagram of a second embodiment of a digital audio computing system employing the present invention; Fig. 1 C is a block diagram of a third embodiment of a digital audio computing system employing the present invention;
Fig. 2 is a block diagram illustrating the interface signals of a serial to parallel interface of the present invention for use in the digital audio workstation of Fig. 1A, IB or IC;
Fig. 3 is a block diagram of one embodiment of the serial to parallel interface of Fig. 2;
Fig. 4 is a block diagram of an input serial datapath of the serial to parallel interface of Fig. 3 for multiple channels;
Fig. 5 is a block diagram of the logic implemented in the input serial data path of Fig. 4 for each channel; Fig. 6 is a flow diagram illustrating the flow of data through the input serial datapath of Fig. 5:
Fig. 7 is a timing diagram illustrating the flow of data through the input serial datapath of Fig. 6;
Fig. 8 is a block diagram of an output serial datapath of the serial to parallel interface of Fig. 3 for multiple channels;
Fig. 9 is a block diagram of the logic implemented in the output serial data path of Fig. 8 for each channel;
Fig. 10 is a flow diagram illustrating the flow of data through the input serial datapath of Fig. 9: and Fig. 11 is a timing diagram illustrating the flow of data through the input serial datapath of Fig. 9.
DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS The present invention will be more completely understood through the following detailed description which should be read in conjunction with the attached drawings in which similar reference numbers indicate similar structures. Fig. 1A represents in schematic form one embodiment of a digital audio computing system 10 employing the present invention. The digital audio computing system 10 includes an analog to digital (A D) converter 11 coupled to a digital audio workstation (DAW) 9. The A D converter 1 1 is a tool for integrating external mixers, processors, or tape machines with the editing system of the central processing unit. A variety of A/D converters are provided in the market, any of which may be used with the present invention. In one embodiment of the invention the A/D interface may be, for example, the 888 I/O audio interface manufactured by DIGIDESIGN, Inc., Avid Audio division, Avid Technologies, Tewksbury, Massachusetts. The 888 I/O audio interface provides eight channels of high quality A/D, D/A and digital I/O conversion.
The DAW 9 includes a host central processing unit (CPU) or computer 15. which manages the overall functions of the DAW. The host CPU 15 may be, for example, an Apple Macintosh personal computer that includes a display screen, a central processing unit, dynamic and fixed storage for storing data and instructions, and one or more input devices, such as a keyboard and a mouse. Coupled to the host CPU 15 is a host bus 12, which may be the Peripheral Computer Interconnect (PCI) bus or other interconnects known in the art. Attached to the host bus 12, either internally or externally of the computer cabinet, are a number of plug-in cards, such as a disk input/output card 14 which has attached to it one or more disks 16. Also coupled to the host bus 12 in this embodiment is a DSP card 8. The DSP card 8 includes one or more digital signal processors (DSPs), for example
DSPA 20, DSPB 21, DSPC 22 and DSPD 23, that perform various editing, mixing and audio production functions. The DSP card 8 includes a serial to parallel interface 13. The serial to parallel interface 13 is, in one embodiment, a dynamically programmable custom ASIC that converts the serial digitized audio data stream received from the A/D interface 1 1 into a parallel stream of digital data for processing by coupled digital signal processors 20-23.
Multi-bit audio data is transferred in parallel on a bi-directional DSP IN/OUT bus 24 between the A D serial to parallel interface 13 and DSP 20. In one embodiment of the invention, the ASIC is a custom designed ASIC formed from a 120 pin Thin Quad Flat Pack (TQFP), and designed by DIGIDESIGN, Inc., and manufactured by ATMEL Corporation, San Jose. California. Because the serial to parallel interface 13 is a custom designed ASIC, it utilizes less space than discrete components, more logic may be included within the ASIC to support an increased number of input output (I/O) channels. By supporting more I/O channels at the DAW, the overall performance of the DAW is enhanced.
As mentioned above, the ASIC is programmable. In one embodiment, the interface between the ASIC and the coupled digital signal processing unit is implemented like a static random access memory (SRAM) interface, where registers are addressed for reading and writing by the digital signal processor. Other types of interfaces, including those where the ASIC is accessed using an interface similar to a dynamic random access memory (DRAM) or a synchronous SRAM may alternatively be used.
The DSP card 8, as well as other cards, may be connected to one another by a ribbon cable which forms part of a time-division multiplexing (TDM) bus 3. For example, in the embodiment of Fig. 1A, the TDM bus couples memory within the DSP card 8 to the disk 16 via the disk I/O card 14. Associated with each DSP 20-23 is a memory 6a-6d, respectively. The memories 6a-6d each interface with the TDM bus 3 via respective TDM interface chips 7a-7d. Using the TDM bus, data from the disk 16 may be forwarded to the respective memory devices 6a-6d for processing by the associated DSP 20-23.
The TDM bus 8 was originally developed at Bell Laboratories in the 1940s for the transmission of many channels of information over telephone lines. In TDM, multiple channels of audio or digital information are transmitted sequentially. The signals to be multiplexed are sampled at a uniform rate. This uniform rate is known as a frame rate or system sample rate. Each frame is subdivided in time in to as many "time slots" as there are signals that can be transmitted. At the start of system sample, the first signal is transmitted during the first time slot, then the second signal is transmitted during the second time slot, and so on until all the signals have been transmitted. At the start of the next system sample period, the process starts over with the next set of samples from the signals to be transmitted. The Digidesign TDM bus architecture developed by the assignee of the present invention was developed as a 24-bit wide, 256-time slot protocol that can route digital/audio from any one source to any number of destinations. The sources and destinations include the inputs and outputs of a hard disk-based digital audio recorder/player, the inputs and outputs of external hardware (digital interfaces and analog convertors such as the A D interface 1 1). internal audio sources (sample player and synthesizer cards), and DSP processors which run on either algorithm-specific cards or general-purpose DSP cards. In order to transmit 256 digital audio signals in real-time, each audio signal is given a time slot of somewhat less than 1 /256th of a system sample period and is then time-multiplexed. The resulting signal is transmitted via a small ribbon cable, shown as TDM connection bus 22. connecting the various DSP cards together inside the host computer. Each time slot is less than 1/256 of the system sample period to allow for variable-speed DAW applications. The TDM thus provides a communication link between the DSP card and external storage, although other methods may alternatively be used and thus the use of a TDM is not a limitation of the present invention.
The serial to parallel interface 13 of the present invention collects the serial digital audio input data stream received from the A/D converter 11 into twenty-four bit segments for transmission over the DSP IN/OUT bus 24 to DSPA 20. The serial to parallel interface 13 is also coupled to DSPs 20, 21, 22 and 23 via address lines 20a. 21a, 22a and 23a respectively, and control lines 15f, 15g, 15h and 15i, respectively. As will be described below, the address and control lines allow the serial to parallel interface to control devices (such as memory) coupled to each of the DSPs. Referring now to Fig. IB, a second embodiment of digital audio computing system employing the serial to parallel interface 13 of the present invention is shown to include the A D converter 11 coupled to a digital audio workstation 27. The digital to audio workstation 27 includes a DSP card 2 that includes a serial to parallel interface 13. coupled to a digital signal processor 20 and a memory device 4 via a data bus 13a. The DSP 20 forwards address information to the serial to parallel interface and the memory device 4 via bus 20a. As in the above embodiment, the serial to parallel interface 13 translates serial audio data, received from the A/D interface 11, into a parallel bitstream for processing by the DSP 20, and also translates parallel audio data, received from the DSP 20, into serial audio data for transmission to the A/D interface 11.
In the embodiment of Fig. IB, rather than using a TDM bus for transferring data, the DSP 20 is coupled directly to the host PCI bus 12. The host PCI bus 12 is also coupled to a Small Computer System Interconnect (SCSI) card 28, which transfers data from a SCSI disk device 29 to the PCI bus for processing by either the DSP 20 or the host CPU 15. The embodiment of Fig. IB thus illustrates a digital audio computing system wherein the DSP card is coupled directly to the host CPU 15 using the host bus 12. Referring now to Fig. IC, a third embodiment of a digital audio computing system 31 employing the serial to parallel interface 13 of the present invention includes a DAW 25 having a serial to parallel interface 13 coupled directly to a host central processing unit 37 via a host memory bus including a data bus 26b and an address bus 26a. In the embodiment of Fig. IC. the host CPU 37 is capable of performing DSP functions. Data from the serial to parallel interface 13 may be forwarded either to the memory 5, the host CPU 15 or alternatively to the disk 16 and other devices via the data bus 26b. Address information for controlling the serial to parallel interface 13, memory 5 and disk 16 is forwarded by the host CPU 37 on address bus 26a. As in the two above embodiments, the serial to parallel interface 13 is used to translate serial audio data, received from the A D interface 11 into a parallel, multi-bit data stream for processing or storage by the devices attached to data bus 26b. The serial to parallel interface 37 is also used to translate parallel multi-bit audio data received from either the host CPU, memory 5 or disk 16 into a serial stream of audio data for transmission to the A/D converter 11. Accordingly, as shown in the embodiments of Fig. 1A, Fig. IB and Fig. IC, the serial to parallel interface 13 may either be included directly on a DSP processor card or alternatively may be provided on the host processing board. The use of the serial to parallel interface is not limited to interfacing with only a DSP, but may be used to interface any processor having digital signal processing capabilities to a serial audio input/output data stream.
As will be described in more detail below, the serial to parallel interface 13 of the present invention provides a number of advantages over the prior art, hardwired interface method. First, the serial to parallel interface is capable of receiving serialized input data in a variety of different audio formats, including I2S format (for audio components manufactured by Philips Corporation) or SSI format (for audio components manufactured by Motorola corporation) and to receive audio data having different bit width formats. Because the serial to parallel interface is capable of handling audio data received in a variety of formats, the DAW may be used to support a variety of audio devices without having to include specialized hardware to support each various device. A second advantage of the serial to parallel interface 13 is that it is also able to easily accommodate serial audio data that is received at different frequencies. As a result, the serial to parallel interface may flexibly accommodate different components that operate at different frequencies without any alterations to the design. A third advantage of the serial to parallel interface 13 its architecture guarantees that erroneous data is not propagated to the DSPs, thereby maintaining an overall audio data consistency and facilitating error correction and handling in the DAW. How the serial to parallel interface 13 operates to achieve these results are described in more detail below. Referring now to Fig. 2, a top level block diagram of the serial to parallel interface 13 is provided for the purposes of describing the various signals that are input and output from the interface. In general, signal names including the suffix "I" are input signals, while signal names including the suffix "O" are output signals. In addition, the terminology of "asserted" will be used herein to indicate an enabled state of an associated signal, rather than indicating a specific voltage level of the signal. Test and reset signals are not shown or described herein. The main data paths into and out of the serial to parallel interface are the SDATA_ILR[0:7] signals 13i, the SDATA_OLR[7:0] signals 15d, the DSP_IN[23:0] signals 13m and the DSP_OUT[23:0] signals 15e. The SDATA_ILR[7:0] signals comprise eight serial input lines, one for each of eight stereo channels, thereby allowing the serial to parallel interface to process up to sixteen channels of digital audio data. The SDATA_OLR[7:0] comprise eight serial output lines, one for each of the eight stereo channels. Although the SDATA ILR and SDATA_OLR signals have been shown as individual signal lines, it should be understood that the present invention may be easily modified by one of skill in the art to support the use of bi-directional signals on the serial input/output data paths. Similarly, the DSP_IN and DSP_OUT signals each comprise twenty-four bits and form the interface between the serial to parallel interface 13 and the processor performing digital signal processing (whether it be the DSPs of Fig. 1A or the host CPU of Fig. IB). The twenty-four bit signals may also be provided either as discrete datapaths or as a bi-directional datapath.
The remaining signals that are input into and output from the serial to parallel interface perform the functions of clocking the serial to parallel interface, providing datapaths for programming the serial to parallel interface, and identifying audio data formats as well as defining other aspects of the chip.
The signals CLK 13a, BCLKI 13d and LRCLKI 13e are input clocking signals received by the serial to parallel interface. The CLK 13a signal is forwarded from the host CPU 15, and is the master clock for all the logic on the chip. The BCLKI 13d is the sample bit clock, provided from logic external to the DAW that synchronizes all of the audio components coupled to the DAW. There is one sample bit clock cycle for each bit of an audio sample received from the A D converter 11. The LRCLKI signal is a left/right clock, provided from the A D interface, that is used to indicate whether the audio data received on the serial input line is the left or right channel ofthe stereo input. In one embodiment, the BCLKI frequency is equal to sixty-four times the frequency ofthe LRCLK, although this is not a limitation of the invention.
The signals BCLKO 13b and LRCLKO 13c are clock signals output from the serial to parallel interface 13. The BCLKO signal is the clocking signal for clocking serial audio data out of the serial to parallel interface to the A D converter. As will be described in more detail below, the BCLKO signal is controlled internally to the serial to parallel interface such that it may be disabled to preclude a shifting out of incomplete data from the serial to parallel interface. There is one BCLKO clock cycle for each bit of digital audio data provided by the interface. The LRCLKO signal is a left/right clock used to indicate whether the audio data forwarded out on the serial output line is the left or right channel ofthe stereo input.
The signal DMODEO_I signal 13f is used to identify the format (I2s or SSI) of the data forwarded out of the serial parallel interface on the serial output datapath SDATA_OLR. If the pin is low at reset ofthe serial to parallel interface, the format defaults to SSI. The mode may be changed by writing a predetermined value to an I2S_Out bit of a Shift Control Register (SCR) to be described later herein.
The signal DMODEI_I signal 13g is used to identify the format (I2s or SSI) of the data received by the serial parallel interface on the serial input datapath SDATA_ILR. If the pin is low at reset ofthe serial to parallel interface, the format defaults to SSI. As with the DMODEO_I signal, the mode may be changed by writing a 1 or a 0 to an I2S_In bit of a Shift Control Register (SCR) to be described later herein.
The signal CHP_ID 13h is used to provide an identifier for the serial to parallel interface. In one embodiment of a DAW, there may be two serial to parallel interface chips coupled to each DSP (thus allowing up to thirty-two different audio channels to be input to the DSP). The CHP_ID signal allows two serial to parallel interface chips to be coupled to the same DSP without confusion. At reset, the status of the signal identifies the serial to parallel interface and selects one of two address ranges for configuration and audio data. The CHP_EN, RD_EN and WR_EN signals 13j, 13k and 131, respectively, are used to control the reading and writing of data to the serial to parallel interface. In one embodiment. in order for a read or a write to occur, the CHP_EN must be asserted with assertion of the RD_EN or WR_EN signal.
As described above, in one embodiment there may be up to four DSPs addressed by the serial to parallel interface. The groups of signals 13n, 13o, 13p and 13q each include common groups of signals which are dedicated to different ones ofthe four DSPs. As such, only functions ofthe signals in group 13n will be described. The signals DSPA_ADDR[3:0], DSPA_Y_SEL, DSPA_DS_SEL and DSP BNK1 are used to identify memory ranges and to control reads and writes for the device connected to the respective DSP device. The DSPA_BG signal is used to disable DSPA output enables, to prevent the DSPA and any devices coupled to the DSPA from driving data on the DSP IN/OUT bus.
The SHFT_ADDR[4:0] signals 13r are used to provide an index to the Shift Control Register (SCR) and other input/output (I/O) registers of the serial to parallel interface. The I/O registers utilize sixteen addresses, while the SCR uses the remaining sixteen addresses.
The DRDY_0 signal 15b is an output interrupt that is used to indicate to the DSP that it the DSP may write twenty-four bits of data to the serial to parallel interface. As will be described in more detail below, the signal is generated once per sample period, approximately three bit clocks after the LRCLKO indicates left sample data.
The DRDY_I signal 15c is an output interrupt used to indicate to the DSP that data is ready to be read from the parallel output port (DSP OUT) ofthe serial to parallel interface. As with the DRDY_0 signal, the DRDY I signal is generated once per sample period. approximately three clocks after the LRCLKO indicates left sample data. The operation of the DRDY_0 and DRDY_I signals will be described more fully with reference to timing diagrams later herein.
The groups of signals 15f, 15g, 15h and 15i each include common groups of enable signals that are dedicated to controlling different ones of the four DSPs. As such, only functions of the signals in group 15f will be described. The signal DSPA_SRMCE is a chip enable signal for the coupled DSP A. The signal DSPA_TDMCE is a TDM chip enable for DSP A. The signal DSPA OCE is an I/O chip enable for DSP A. The signal DSPA ARAMCE is a DRAM Audio buffer chip enable for the attached DSPA. Referring now to Fig. 3, a block diagram of one embodiment of the serial to parallel interface 13 is shown. References below to the operation ofthe serial to parallel interface 13 refer to the interface between the serial to parallel interface 13 and a coupled DSP. However. it should be understood that the operation is the same whether the digital signal processing device attached to the serial to parallel interface is a DSP or a processor performing digital signal processing functions. Accordingly, the below description does not limit the invention a use with DSPs, but is extended to provide an interface to any processing unit capable of performing signal processing functions.
In Fig. 3, the serial to parallel interface is shown to include a serial input block 30 coupled to receive the SDATA ILR signals from each of the eight channels from the A/D converter. The serial to parallel interface 13 also includes a serial output block 50. coupled to forward data over the SDATA_OLR signals to coupled A D devices or the like for each of the eight channels. A multiplexer (MUX) block 70 is coupled to the serial input block 30 and the serial output block 50. The MUX block 70 provides an interface between the coupled digital signal processors via the DSP IN/OUT bus and the serial input and output blocks 30 and 50 respectively. Data is passed in parallel format from the serial input block via the MUX block for to a DSP. Data is also passed in parallel format from the DSPs to the serial output block 50 via the MUX block 70. In Fig. 3, each channel (for example, PDAT OLR 7) is shown to include forty-eight bits of stereo data, including twenty-four bits for the left channel audio and twenty-four bits for the right channel audio. The datapath on the DSP IN/OUT bus comprises twenty-four bits. Accordingly, the MUX block forwards either left or right channel audio data to the DSP in any given transmission interval. The serial to parallel interface also includes a memory decode block 72. The memory decode block 72 is used for controlling the interfaces between the attached DSPs and the serial to parallel interface. Accordingly, the memory decode block receives, for each of the coupled DSPs, address and memory write control information on lines 13n- 13q. Using this information, the serial to parallel interface provides enable and control signals to the devices coupled to the respective DSPs via signals 15f-15j.
The serial to parallel interface additionally includes a block of configuration registers 75. The configuration registers are used to configure the address decode for the serial to parallel interface along with providing base addresses for decode and compare operations. The configuration registers are read and written by the attached DSP (Fig. 1) using the parallel DSP IN/OUT bus that couples the DSP to the serial to parallel interface.
One of the configuration registers is the Shift Control Register (SCR) 76. The contents and organization ofthe SCR 76 is shown below in Table I: Table I:
Figure imgf000016_0001
The CHP_ID bit is used to identify the serial to parallel interface, for example when there is more than one interface in the DAW. Although only one bit is shown above, additional bits could be added as more serial to parallel interfaces are provided.
The I2S_In bit controls the serial input data format. The I2S_In bit is set during reset from the DMODEI_I 13g (Fig. 2) pin on the interface. The bit can be overwritten after reset to change the input serial data format between I2S or SSI. To support other audio formats, the bit width ofthe I2S_In field could be expanded to provide numerous encodings corresponding to the desired formats.
The I2S_Out bit controls the serial output data format. The I2S_Out bit is set during reset from the DMODEO_I 13f (Fig. 2) pin ofthe serial to parallel interface. The I2S_Out bit can be written after reset to change the output serial data format between I2S or SSI. As with the I2S_In field, if it is desired to support other audio formats, the bit width ofthe I2S_Out field could be expanded to provide numerous encodings corresponding to the desired formats. The BMODEO2:0 bits are used to control the serial output word width. Although the bus width has been described above as comprising twenty-four bits, the serial output word width is variable between sixteen and twenty-four bits. The serial output word width may be changed at any time during operation. When the serial output word width is less than twenty- four bits, the low order bits ofthe twenty-four bit parallel DSP interface that do not include bits associated with the word are forced to zero.
The BMODEI2:0 bits are used to control the serial input word width. Like the serial output word width, the serial input word width is variable from sixteen to twenty-four bits, and may be changed at any time during operation by writing the SCR 76.
At power on ofthe DAW, the SCR is initialized to default values. For example, the BMODEI2:0 an BMODEO2:0 bits are initialized to 1110 (hexidecimal). The I2S_In and I2S_Out bits are initialized in response to the state ofthe DMODEI 13g and DMODE0 13f pins. The CHP_ID bit is initialized in response to the CHP_ID pin 13h. These default values may be used during operation ofthe DAW, or alternatively may be modified prior to or during operation ofthe DAW. Accordingly, the SCR register provides a means for modifying the audio data format and the audio word width format prior to or during operation. By providing a programmable configuration register, one serial to parallel interface may be used interchangeably with a variety of different devices that operate in different formats. In addition, as will be described in more detail below, because the clocking structure used internally to the serial to parallel interface is controlled by state machines, the serial to parallel interface may easily alternate between any range of input audio frequencies.
Referring now to Fig. 4, a block diagram ofthe serial input block 30 ofthe serial to parallel interface 13 is shown including eight separate datapath blocks 32a-32h to support each ofthe eight different channels received respectively on serial data lines SDATA_LR0- SDATA_LR7. Each ofthe datapath blocks 32a-32h are controlled by an input state machine 33. The serial input state machine receives input control signals from the configuration registers, including the BMODEI2:0 bits and the I2S_IN bits from the SCR. The input state machine 33 additionally receives the BCLKI, CLK and LRCLKI serial to parallel interface inputs.
Using the received information, the input state machine 33 controls the writing of serial audio data on each ofthe channels into an associated one ofthe data blocks 32a-32h. The control signals provided by the input state machine 33 include the following signals: an ISHIFT signal, an LBUFLD signal, a RBUFLD signal, a DBUFLD signal and a DRDY signal. As will be described in more detail later herein, the LBUFLD, RBUFLD and
DBUFLD signals are used to load associated buffers within each ofthe data blocks 32a-32h. The DRDY_I signal is an interrupt signal that is forwarded to the attached DSPs to signal the DSPs that the serial to parallel interface 13 has data ready for transfer.
The ISHIFT signal is used as the main clocking signal for the serial input datapath. Because the ISHIFT signal is generated by the input state machine based on the input CLK, BCLKI and LRCLKI signals, the datapath logic operates at whatever input clock frequency is provided. By using state machine control logic that is controlled by the external clock frequency (in contrast to using hardwired control) the signals that are used to control the datapath are correctly controlled regardless ofthe frequency ofthe input clocking signal. Accordingly, as well as being able to support a variety of audio data formats and bit width formats, the serial to parallel interface is capable of receiving audio data at a variety of different frequencies, thereby providing a flexible and versatile interface to the DAW. Referring now to Fig. 5, a block diagram of one ofthe serial input datapath blocks 32a is shown. All ofthe serial input datapath blocks 32a-32h are substantially identical, and therefore only one will be described in detail. In Fig. 5, the serial input datapath block is shown including a serial input register 34 coupled to a left holding register 36a and a right holding register 36b. Coupled to the left holding register 36a is a DSP input left register 38a. Coupled to the right holding register 36a is a DSP input right register 38a. Because the datapath includes both the holding registers 36a and 36b, and the DSP input registers 38a and 38b it is said to be a double buffered datapath.
The use of a double buffered architecture provides several advantages in the serial to parallel interface. By providing a double buffered architecture, the DSP may retrieve the data at any point within the sample period, except for approximately the first three bit clocks ofthe sample period, during which time the serial to parallel interface is moving data between internal registers. Providing a double buffered datapath in the input serial datapath block thus eases the timing constraints for transferring data between the serial to parallel interface and the DSP.
In addition, the use of a double buffered datapath precludes propagation of erroneous data to the DSP. Erroneous data may occur at the serial to parallel interface when there is a problem with the external sample clock (BCLKI) such that an insufficient number of bits are received during a given sample period. In prior art designs, typically the incomplete data was moved directly to registers that were accessible to the DSP. As a result, the DSP could potentially input erroneous data. However, by using a double buffered arrangement such as that shown in Fig. 5, the DSP registers 38a and 38b are effectively isolated from the serial input datapath. Data is only moved from the holding registers to the DSP when the input state machine verifies that a full sample has been received at the serial shift registers. As such, the double buffered system guarantees that erroneous data, incurred as a result of the receipt of an incomplete sample, will not propagate to the DSPs. Accordingly, the double buffered arrangement provides a mechanism for isolating errors before they propagate further through the DAW system.
The LBUF_LD, RBUF_LD, and DBUF_LD signals, received from the input state machine 33 (Fig. 4) as described above, operate as follows: The LBUF_LD signal is used to load the left holding register 36a with data from the serial input register: the RBUF LD signal is used to load the right holding register 36b with data from the serial input register: and the DBUF_LD signal is used to load data from both ofthe holding registers 36a and 36b into the coupled DSP input register 38a and 38b, respectively.
The method used by the input state machine 33 to control the operation of the serial input datapath block 32a will now be described with reference to the flow diagram of Fig. 6. At step 40. the configuration registers are loaded, or optionally the default values of the SCR, determined at power on of the serial to parallel interface are used. As mentioned above, the configuration registers identify the audio data format via the I2S_In field ofthe SCR and the bit width format via the BMODEI<2:0> field ofthe SCR of the serial audio input data. At step 41 , the I2S_In field is examined to determine the format ofthe incoming shift data. The control of the ISHIFT signal is modified depending upon the value of the I2S_In field. If the value of the I2S_In field indicates I2S format, the clocking of the ISHIFT signal is adjusted to received I2S format audio data. An example of the ISHIFT signal for I2S format is shown in Fig. 7. In SSI format, the BCLKI signal and LRCLK signal are inverted relative to the I2S format. Accordingly, if the I2S_In field indicates SSI format, at step 42b the ISHIFT signal is modified such that data is shifted in on the falling edges of the BCLKI, rather than the rising edge, and received one bit clock earlier. At step 43, the assertions ofthe ISHIFT signal, which clocks one bit of serial audio data into the shift register 34 at every cycle, are monitored. When the ISHIFT signal is asserted at step 43, then at step 44 a count of the ISHIFT assertions (maintained by the state machine) is compared against the value indicated in the BMODEI field of the SCR to determine whether the full sample size has been received. If it has not. then the process returns to step 43 to wait for the receipt of the next ISHIFT signal. If the full sample size has been received, then at step 45, it is determined whether the received serial audio data was left channel or right channel data. The determination as to whether it is a left or right stereo channel is indicated by the LRCLKI signal. In general, in a transfer of data between an external device and the DAW, the left channel of stereo audio is received prior to the right channel. If it was left channel stereo data, then right channel stereo still must be received, therefore, at step 47, the LBUF_LD signal is asserted and the contents of the serial input register 34 are shifted into the left holding register 36a. The process returns to step 43 to receive the right channel stereo data. When, at step 45, it is determined that the sample data is right channel stereo, then at step 46 the input state machine asserts the RBUF_LD signal to load the right holding register 36b with the contents ofthe serial input register 34. At this point, both holding registers store both left and right components of one ofthe channels. Thus, at step 48. the state machine 33 asserts the DBUF LD signal, to load the respective DSP input registers 38a and 38b with data from the holding registers 36a and 36b, respectively. At step 49,\θnce the data has been loaded into the DSP registers, the input state machine 33 asserts the DRDY_I signal to interrupt the DSPs. The DSPs thus have one sample period to retrieve the data from the DSP input registers 38a and 38b before it is overwritten with the next pair of samples.
Referring now briefly to Fig. 7, a timing diagram illustrating the operation ofthe input state machine 33 and the resulting flow of data through the input serial datapath block 32a is provided. The timing diagram is apportioned into a series of discrete time intervals T0-T28, where each time interval represents approximately three data cycles within the serial to parallel interface.
At time TO, the LRCLKI signal becomes deasserted, indicating that left channel data is to be received at the serial to parallel interface. The ISHIFT signal causes twenty-four bits of data to be shifted into the serial input register 34 (Fig. 5). Once the full sample data has been shifted into the serial input register, at approximately T8 the LBUF_LD is asserted (by bringing the value low), and the left holding register 36a is loaded with Valid Datal. The ISHIFT signal continues to pulse, shifting in the right channel data. At approximately time T18, the entire right channel sample is received, and the RBUF_LD signal is asserted (by bringing the value low), thus storing the right channel data in the right holding register 36a. During time T20 the DBUF_LD signal is asserted, causing the data in the left and right holding registers 36a and 36b to be forwarded to the DSP input registers 38a and 38b, respectively. During time T21, the DRDY_I signal is asserted by the input state machine to cause an interrupt at the associated DSP.
Referring now to Fig. 8, a block diagram ofthe serial output block 30 ofthe serial to parallel interface 13 is shown including eight separate datapath blocks 51a-51h for forwarding data on each ofthe eight different serial lines SDATA_LR0- SDATA_LR7. Each ofthe datapath blocks 51a-51h are controlled by an output state machine 53. The output state machine receives control signals from the configuration registers, including the BMODEO2:0 bits and the I2S_Out bits from the SCR. The BMODEO2:0 bits are used to identify the width ofthe audio sample data that are output on the serial lines SDATA_LRO lines. The I2S_Out bit indicates whether the data is output in I2S format or SSI format. In I2S format, data is output on the rising edge ofthe BCLKO, while in SSI format, the data is output on the falling edge ofthe BCLKO and is offset by one cycle. In addition, the LRCLKI is inverted between the two formats. The output state machine 53 additionally receives the BCLKO, CLK and LRCLKO signals described above.
Using the received information, the output state machine 53 controls the writing of serial audio data on each of the channels into an associated one of the data blocks 51 a-51 h. The control signals provided by the output state machine 53 include the following signals: SHFT_LD, LRLD, OSHF_L, DRDY_0, SHIFTEN and some state bits PSTATE[8:0]. The PSTATE bits decode into the discrete signal LEFT_RIGHT. As will be described in more detail later herein, the SHFT_LD, LRLD, DRDY_0, SHIFTEN and LEFT_RIGHT signals are used to load associated buffers within each of the serial output datapath blocks 51 a-51 h. Other signals that are received used by the serial output datapath blocks include a RHT_SEL[7:0] and a LFT_SEL[7:0] signal, that are forwarded from the DSP and select one ofthe registers (either right or left) for writing at each ofthe output datapath blocks. As will be described in more detail below, the DRDY_0 signal is an interrupt signal that is forwarded to the attached DSPs to signal the DSPs that the serial to parallel interface 13 has data ready for transfer.
Referring now to Fig. 9, a block diagram of one ofthe serial output datapath blocks 51a is shown. All ofthe serial output datapath blocks 51a-51h are substantially identical, and therefore only one will be described in detail. In Fig. 9, the serial output datapath block is shown including a pair of DSP output registers 52a and 52b. coupled to output left and right holding registers 54a and 54b, respectively. The output right holding register 54b is further coupled to a right alignment register 55. The right alignment register is provided because of the order at which data if forwarded from the serial output datapath block 51 ; because the left channel is forwarded first, the right alignment register stores right channel data to allow for data from the DSP input registers to be moved into the holding registers 54a and 54b without overwriting the right channel data.
The right alignment register 55 and the output holding registers 54a and 54b are loaded by an assertion ofthe LRLD signal received from the output state machine 53. The DSP output registers 52a and 52b are loaded in response to the LEFT_SEL and RIGHT_SEL signals. Because the DSP IN/OUT data bus comprises only twenty-four bits, the LEFT_SEL and RIGHT SEL signals identify the destination channel ofthe twenty-four bit audio data received from the DSP during the given transfer cycle. The serial output register 57 is coupled to a multiplexer 56 to receive data from either the right alignment register 55 or the output left holding register 54a, responsive to the value ofthe left/right select line received from the output state machine 53. The serial output register 57 receives two inputs; a first input, driven by the signal SHIFT_LOAD, controls the loading of the serial output register 57, while a second signal SHIFT_SIG controls the shifting out of serial data from the serial output register 57, where one data bit is shifted out for each assertion ofthe SHIFT SIG. The SHIFT_SIG is a gated clock signal output from AND gate 58. The inputs to AND gate 58 include the BCLKO signal and the SHFTEN signal. The BCLKO signal is the sample output clock, while the SHFTEN signal is an enable signal provided by the output state machine 53. The SHFTEN signal is used to preclude the shifting out of data from the serial output register 57 when it is being loaded, and to align the shifting out with a sample period.
Similar to the input serial datapath, the output serial datapath is a double-buffered architecture. By providing a double buffered architecture in the output path, the DSP may forward data at any point within the sample period (except for approximately the first three bit clocks ofthe sample period during which time the serial to parallel interface is moving data between internal registers) for storage in the DSP registers 52a and 52b. Providing a double buffered datapath in the output serial datapath block thus eases the timing constraints for transferring data between the DSP and the serial to parallel interface. The method used by the output state machine 53 to control the operation of the serial output datapath block 51a will now be described with reference to the flow diagram of Fig. 10. At step 60, the DSP loads data into the DSP output registers 52a and 52b by forwarding the address of the output register it seeks to load to the memory decode block 72 (Fig. 3). The selection of an output register causes either the LEFT_SEL signal line or the RIGHT_SEL signal line to become asserted for a DSP write or read cycle. For example, when writing both DSP output registers 52a and 52b, the DSP forwards an address over line 20a for the DSP left output register 52a, which causes the LEFT_SEL signal to be asserted for a DSP write cycle, and then forwards an address over line 20a for the DSP right output register 52b. which causes the RIGHT_SEL signal to be asserted for the second DSP write cycle. At step 61 the output state machine waits until the start ofthe next sample period. In one embodiment, after the start of the sample period, the output state machine waits three data cycles to allow time for data internal to the serial to parallel interface to be moved and stabilized between registers, although this is not a limitation ofthe invention. At step 65, the output state machine 53 asserts the SHIFT LD signal, and drives the LEFT_RIGHT signal coupled to the select of multiplexer 56 such that data from the left output holding register 54a is loaded into the serial output register 57. At step 66, the value ofthe I2S_Out field from the SCR is examined to determine whether data is to be output in I2S format or SSI format. If it is to be output in I2S format, then at step 67a, at the beginning ofthe next sample period the SHFTEN signal is enabled, and data is shifted out according I2S format. However, if I2S_Out field indicates that data is to be output in SSI format, then, at step 67b, at the beginning ofthe next sample period the SHFTEN signal is enabled and data is shifted out in SSI format. At step 68 a comparison is made against the number of bits that have been shifted out, and the value in the BMODEO2:0 field, which indicates the sample size. If the full sample size has not been shifted out, then the process returns to step 66, and data continues to be shifted out in the desired audio format until the entire sample bit width has been output. In parallel with the process of steps 65-68, where data is being shifted out ofthe serial datapath block, at steps 62-64 data is being shifted along the output datapath using the holding registers 54a and 54b and the right alignment register 55.
At step 62, the output state machine 53 asserts the LRLD signal. The effect of asserting the LRLD signal is to forward data from the DSP output registers 52a and 52b to the holding registers 54a and 54b, respectively. In addition, the data in the output right holding register 54b is forwarded to the right alignment register 55. Once the data has been forwarded from the DSP output registers 52a and 52b to the holding registers 54a and 54b, the DSP output registers are again available for writing by the DSP. Accordingly, at step 63 the output state machine asserts a signal DRDY_0 to the DSP to interrupt processing ofthe DSP and notify the DSP ofthe availability ofthe registers.
At step 64, when data is moved into the holding registers 54a and 54b, the output state machine deasserts the SHFTEN signal. The deassertion ofthe SHFTEN signal causes the SHIFT SIG, which controls the shifting of data out ofthe serial shift register, to be disabled. During the time period that the data in the output left holding register 54a was loaded into the serial output register 57, the LRLD signal was asserted, moving the contents ofthe output right holding register 54b to the right alignment register 55. At steps 69 the SHFTEN signal is again deasserted and the serial output register 57 is loaded with data from the right alignment register 55. At step 71 the I2S_0ut value is again evaluated. Depending upon the value ofthe I2S_Out field, either step 73a or 73b is executed. In both steps, the SHFTEN signal is enabled, and the data is output in the desired format. At step 75, a count ofthe number of bits shifted out (OSHIFT COUNT) is compared against the bit width indicated by the BMODEO2:0 field. If the full sample size has not been shifted out, the process returns to step 71. and the audio data bits continue to be shifted out in the selected format until the full audio sample width has been provided. Once all ofthe right channel data has been shifted out, process returns to step 64, where the left channel data, that was loaded with the LRLD signal when the right alignment register was loaded, is shifted out ofthe serial to parallel interface 13.
Referring now briefly to Fig. 11, a timing diagram illustrating the operation of the output state machine 53 and the resulting flow of data through the output serial datapath block 51a is provided. Similar to the timing diagram of Fig. 7, the timing diagram of Fig. 11 is apportioned into a series of discrete time intervals T0-T28, where each time interval represents approximately three data cycles within the serial to parallel interface.
In the timing diagram of Fig. 11, DATAl has previously been loaded into the DSP output registers 52a and 52b, and DATAO is in the holding registers 54a and 54b. During time TO. the SHFTJLD signal (not shown), is asserted, causing the data in left output holding register to be forwarded to the serial output register 57. During time TI, the LRLD signal is asserted, causing DATAl to be forwarded to the output holding registers 54a and 54b. and
DATAO to be forwarded from the right holding register 54b to the right alignment register 55. DATAO for the left channel is shifted out ofthe serial output register from time TO through time T7. During time T8, the shift output ofthe serial output register is disabled, and DATAO from the right alignment register is forwarded to the serial output register. From the time of T10 through T17, the right channel DATAO is shifted out ofthe serial output register. In addition, during this time, DATAl was shifted into the holding registers 54a and 54b. Therefore, at time TI 8, DATAl may be transferred from the left output holding register to the serial output register 57.
Accordingly, one embodiment of a serial to parallel interface for interfacing multiple streams of audio data to multiple digital signal processors has been described that provides a number of advantages over the prior art, hardwired interface method. First, the serial to parallel interface is capable of receiving serialized input data in a variety of different audio formats. including I2S format (for audio components manufactured by Philips Corporation) or SSI format (for audio components manufactured by Motorola corporation) and to receive audio data having different bit width formats. Because the serial to parallel interface is capable of handling audio data received in a variety of formats, the DAW may be used to support a variety of audio devices without having to include specialized hardware to support each various device. The audio format and bit- width ofthe received audio signal are selectable at the serial to parallel converter by simply programming the serial to parallel ASIC to recognize the given data pattern. The programming ofthe serial to parallel converter may be performed at system start up, or alternatively 'on the fly'; i.e., dynamically during operation by changing the contents of configuration registers as described above.
A second advantage ofthe described serial to parallel interface is that it is also able to easily accommodate serial audio data that is received at different frequencies because it is controlled by state machines that provides control signals in accordance with the external clocking signals. As a result, the serial to parallel interface may flexibly accommodate different components that operate at different frequencies without any alterations to the design.
A third advantage ofthe serial to parallel interface 13 is that it includes a double- buffered datapath that guarantees that erroneous data is not propagated to the DSPs, thereby maintaining an overall audio data consistency and facilitating error correction and handling in the DAW. In addition, by providing a double buffered datapath, timing constraints between the serial to parallel interface and the DSP are eased and the DSP may retrieve data when it is convenient, thereby increasing the overall performance ofthe DSP.
Many ofthe above advantages, including the ability ofthe serial to parallel interface to accommodate the various input formats and frequencies, are realized because the serial to parallel interface is formed using a dynamically programmable ASIC. Because the ASIC is dynamically programmable, configuration registers may be altered at startup or during operation in order to program the internal logic to receive and interpret the audio data stream as it is received. In addition, because the ASIC utilizes less space than discrete components, more logic may be included within the ASIC to support an increased number of input/output (I/O) channels. By supporting more I/O channels at the DAW, the overall performance ofthe DAW is enhanced. Because the serial to parallel interface is a programmable, memory mapped ASIC, it may be programmed to receive serialized input audio data in a variety of different audio formats, including I2S format (for audio components manufactured by Philips Corporation) or SSI format (for audio components manufactured by Motorola corporation), and different bit width formats. Because the serial to parallel interface is capable of handling audio data received in a variety of formats, the DAW may be used to support a variety of audio devices without having to include specialized hardware to support each various device. In addition, because an ASIC utilizes less space than discrete components, more logic may be included within the serial to parallel interface ASIC to support an increased number of input/output (I/O) channels. By supporting more I/O channels at the DAW, the overall performance ofthe DAW is increased.
Having now described a few embodiments ofthe invention, it should be apparent to those skilled in the art that the foregoing is merely illustrative and not limiting, having been presented by way of example only. Numerous modifications and other embodiments are within the scope of one of ordinary skill in the art and are contemplated as falling within the scope ofthe invention as defined by the appended claims and equivalent thereto.

Claims

CLA1MS
1. A serial to parallel interface for coupling at least one audio device capable of transmitting and receiving at least one serial digital audio signal to a digital audio workstation, the digital audio workstation comprising at least one digital signal processor capable of transmitting and receiving a plurality of digital audio data in parallel, the interface comprising: a programmable configuration register for identifying a format ofthe serial digital audio data from a plurality of available formats; at least one state machine, coupled to the programmable configuration register, for controlling the transfer of data between the digital signal processor and the at least one audio device such that the serial digital audio data is transferred according to the format indicated in the programmable configuration register; and at least one datapath, coupled to the at least one state machine for transferring the serial digital audio data and the plurality of digital audio data to and from the audio device and the digital signal processors, respectively, responsive to control signals from the at least one state machine.
2. The serial to parallel interface according to claim 1, wherein the serial to parallel interface is formed from a memory mapped ASIC.
3. The serial to parallel interface according to claim 1, wherein the plurality of available formats includes a plurality of available audio formats.
4. The serial to parallel interface according to claim 1 , wherein the plurality of available formats includes a plurality of audio sample bit width formats.
5. The serial to parallel interface according to claim 1, wherein the at least one state machine is coupled to receive a clock from the at least one audio device, and wherein the state machine provides control signals to the at least one datapath responsive to a frequency ofthe received clock.
6. The serial to parallel interface according to claim 1, wherein the at least one audio device is coupled to exchange eight channels of stereo data to the serial to parallel interface.
7. The serial to parallel interface of claim 1, wherein the at least one datapath comprises: a serial shift register, for exchanging data with the at least one audio device: a first set of buffers comprising at least one buffer, coupled to exchange data with the serial shift register; and a second set of buffers, comprising at least one buffer, coupled to the first set of buffers and to the at least one digital signal processor, wherein the first set of buffers isolates the second set of buffers from the serial shift register to preclude erroneous data from propagating between the least one digital signal processor and the serial shift register.
8. The serial to parallel interface according to claim 1, wherein the at least one state machine further comprises an input state machine, coupled to the programmable configuration register, for controlling the receipt of the serial digital audio data such that the serial digital audio data is apportioned into the format indicated by the programmable configuration register.
9. The serial to parallel interface according to claim 8. wherein the at least one datapath further comprise an input datapath, coupled to the input state machine, for receiving the serial digital audio data and for converting the serial digital audio data into the plurality of digital audio data for transmission to the at least one digital signal processor responsive to input control signals from the input state machine.
10. The serial to parallel interface according to claim 9, wherein the input control signals indicate an audio format and a bit width of the serial digital audio data.
11. The serial to parallel interface according to claim 9, wherein the input datapath further comprises: a shift register for shifting the serial digital audio data into the input datapath; a pair of holding registers, each holding register of the pair coupled to alternately receive data from the shift register; and a pair of output registers, each one ofthe pair of output registers coupled to one ofthe pair of holding registers, for receiving data from the associated holding register, wherein data from the pair of output registers is available for forwarding to the at least one digital signal processor.
12. The serial to parallel interface according to claim 11, wherein the input state machine further comprises means for precluding data from being forwarded from the pair of holding registers to the pair of output registers responsive to an error during the receipt ofthe serial audio data from the at least one audio device.
13. The serial to parallel interface according to claim 1, wherein the at least one state machine further comprises an output state machine, coupled to the programmable configuration register, for controlling the transmission ofthe serial digital audio data such that the serial digital audio data is transmitted in the format indicated by the configuration register.
14. The serial to parallel interface according to claim 13, wherein the at least one datapath further comprises an output datapath, coupled to the output state machine, for converting the plurality of digital audio data received from the digital signal processor into the serial digital audio data for transmission to the at least one audio device responsive to output control signals from the output state machine.
15. The serial to parallel interface according to claim 14, wherein the output control signals indicate an audio format and a bit width of the serial digital audio data.
16. The serial to parallel interface according to claim 14, wherein the output datapath further comprises: a pair of input registers coupled to the processor for receiving data from the processor; a pair of holding registers, each one ofthe pair of holding registers coupled to one of the pair of input registers, for receiving data from the associated output register holding; an alignment register, coupled to a first one of the holding registers of the pair: and a shift register, coupled to the alignment register and a second one ofthe holding registers ofthe pair, for storing data transferred from the coupled alignment register and second one ofthe holding registers and for shifting the stored data from the serial to parallel interface to the at least one coupled audio device.
17. A digital audio workstation for storing and manipulating at least one serial digital audio data stream received from at least one audio device comprising: at least one processor capable of performing digital signal processing functions: and a serial to parallel interface, coupled to the at least one audio device and to the at least one processor via a multi-bit bus, with the serial to parallel interface for converting the serial digital audio data stream to a parallel data stream for transmission on the multi-bit bus. and for converting parallel data streams on the multi-bit bus into serial digital audio data streams for transmission to the at least one audio device, with the serial to parallel interface being programmable by the at least one processor to interpret the at least one serial digital audio data stream as being in one of a plurality of available formats.
18. The digital audio workstation according to claim 17, wherein the serial to parallel interface further comprises: a configuration register, programmable by the at least one processor, the configuration register for storing information identifying the format ofthe serial digital audio data stream; an input state machine, coupled to the configuration register, for controlling the receipt ofthe serial digital audio data such that the serial digital audio data is apportioned into the format indicated by the configuration register; an input datapath, coupled to the input state machine, for receiving the serial digital audio data and for converting the serial digital audio data into the parallel data stream for transmission to the at least one processor responsive to input control signals from the input state machine; an output state machine, coupled to the programmable configuration register, for controlling the transmission ofthe serial digital audio data such that the serial digital audio data is transmitted in the format indicated by the configuration register: and an output datapath, coupled to the output state machine, for converting the parallel data stream received from the at least one processor into the serial digital audio data for transmission to the at least one audio device responsive to output control signals from the output state machine.
19. The serial to parallel interface according to claim 18. wherein the input control signals indicate an audio format and a bit width ofthe serial digital audio data.
20. The digital audio workstation according to claim 18, wherein the input datapath further comprises: a shift register for shifting the serial digital audio data into the input datapath; a pair of holding registers, each holding register ofthe pair coupled to alternately receive data from the shift register; and a pair of output registers, each one ofthe pair of output registers coupled to one ofthe pair of holding registers, for receiving data from the associated holding register, wherein data from the pair of output registers is available for forwarding to the at least one processor.
21. The serial to parallel interface according to claim 20, wherein the input state machine further comprises means for precluding data from being forwarded from the pair of holding registers to the pair of output registers responsive to an error during the receipt of the serial audio data from the at least one audio device.
22. The serial to parallel interface according to claim 21, wherein the output control signals indicate an audio format and a bit width ofthe serial digital audio data.
23. The serial to parallel interface according to claim 18, wherein the output datapath further comprises: a pair of input registers coupled to the processor for receiving data from the processor; a pair of holding registers, each one ofthe pair of holding registers coupled to one of the pair of input registers, for receiving data from the associated output register holding; an alignment register, coupled to a first one ofthe holding registers ofthe pair; and a shift register, coupled to the alignment register and a second one ofthe holding registers ofthe pair, for storing data transferred from the coupled alignment register and second one ofthe holding registers and for shifting the stored data from the serial to parallel interface to the at least one coupled audio device.
24. The serial to parallel interface according to claim 18, wherein the input state machine provides input control signals to the input datapath, the output state machine provides output control signals to the output datapath, and wherein the input control signals and output control signals are generated in response to an external clock signal associated with the at least one serial digital audio data stream.
25. A serial to parallel interface for coupling at least one audio device capable of transmitting and receiving at least one serial digital audio signal to a digital audio workstation, the digital audio workstation comprising at least one processor for performing digital signal processing functions, the processor capable of transmitting and receiving a pluralit}' of digital audio data in parallel, the interface comprising: a programmable configuration register for storing a format ofthe serial digital audio data from a plurality of available formats, wherein the format stored in the programmable configuration register may be updated during operation ofthe digital audio workstation; at least one state machine, coupled to the programmable configuration register, for controlling the transfer of data between the at least one processor and the at least one audio device such that the serial digital audio data is transferred according to the format indicated in the programmable configuration register; and at least one datapath, coupled to the at least one state machine for transferring the serial digital audio data and the plurality of digital audio data to and from the audio device and the at least one processor, respectively, responsive to control signals from the at least one state machine.
26. A method of interfacing at least one audio device providing a serial digital audio data stream to a multi-bit bus in a digital audio workstation comprising the steps of: programming a configuration register in an interface to identify a format ofthe serial digital audio data stream, where the serial digital audio data stream may be in a plurality of formats: and exchanging data between a shift register ofthe interface, coupled to the serial digital audio data stream, and at least one register coupled to the multi-bit bus using and intermediate holding register, wherein data is precluded from being transferred to the at least one register coupled to the multi-bit bus responsive to an error in the receipt ofthe serial digital audio data stream, to isolate the multi-bit bus from the error.
27. The method according to claim 26. further comprising at least one processor capable of performing digital signal processing functions, wherein the at least one processor is coupled to the multi-bit bus, and wherein the method further comprises the steps of: issuing an interrupt signal to the at least one processor to indicate to the at least one processor that the at least one register is available for receiving or transmitting data.
28. The method according to claim 27, wherein the format indicated in the programmable configuration register is modified during operation ofthe digital audio workstation.
PCT/US1998/016356 1997-08-07 1998-08-05 A serial to parallel converter for a digital audio workstation WO1999008387A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU87717/98A AU8771798A (en) 1997-08-07 1998-08-05 A serial to parallel converter for a digital audio workstation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/908,238 1997-08-07
US08/908,238 US6128681A (en) 1997-08-07 1997-08-07 Serial to parallel and parallel to serial, converter for a digital audio workstation

Publications (2)

Publication Number Publication Date
WO1999008387A2 true WO1999008387A2 (en) 1999-02-18
WO1999008387A3 WO1999008387A3 (en) 1999-06-03

Family

ID=25425420

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1998/016356 WO1999008387A2 (en) 1997-08-07 1998-08-05 A serial to parallel converter for a digital audio workstation

Country Status (3)

Country Link
US (1) US6128681A (en)
AU (1) AU8771798A (en)
WO (1) WO1999008387A2 (en)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6594275B1 (en) * 1998-04-03 2003-07-15 Texas Instruments Incorporated Fibre channel host bus adapter having multi-frequency clock buffer for reduced power consumption
US6684275B1 (en) * 1998-10-23 2004-01-27 Octave Communications, Inc. Serial-to-parallel/parallel-to-serial conversion engine
US6378011B1 (en) * 1999-05-28 2002-04-23 3Com Corporation Parallel to serial asynchronous hardware assisted DSP interface
US6999827B1 (en) * 1999-12-08 2006-02-14 Creative Technology Ltd Auto-detection of audio input formats
US6587942B1 (en) * 2000-01-03 2003-07-01 Oak Technology, Inc. Circuit for converting input serial data in a plurality of possible formats into output data in parallel format by interpreting input data format indication information
US6820148B1 (en) * 2000-08-17 2004-11-16 Sandisk Corporation Multiple removable non-volatile memory cards serially communicating with a host
US6792494B2 (en) * 2001-03-30 2004-09-14 Intel Corporation Apparatus and method for parallel and serial PCI hot plug signals
CA2343437A1 (en) * 2001-04-06 2002-10-06 Ibm Canada Limited-Ibm Canada Limitee Method and system for cross platform, parallel processing
US6959376B1 (en) * 2001-10-11 2005-10-25 Lsi Logic Corporation Integrated circuit containing multiple digital signal processors
US7464310B2 (en) * 2002-09-30 2008-12-09 Broadcom Corporation Programmable state machine of an integrated circuit
EP1447739A1 (en) * 2003-02-12 2004-08-18 Deutsche Thomson-Brandt Gmbh Method and apparatus for preprocessing input/output signals of/to different types of interfaces using a common format
EP1455471A3 (en) * 2003-02-12 2011-05-04 Thomson Licensing Method and apparatus for preprocessing in a common-format, input signals of, or output signals for, interfaces of different type
US7707330B2 (en) * 2003-09-18 2010-04-27 Rao G R Mohan Memories for electronic systems
US7369078B2 (en) * 2004-08-16 2008-05-06 National Instruments Corporation Flexible converter interface for use in analog-to-digital and digital-to-analog systems
US9070408B2 (en) 2005-08-26 2015-06-30 Endless Analog, Inc Closed loop analog signal processor (“CLASP”) system
US8630727B2 (en) * 2005-08-26 2014-01-14 Endless Analog, Inc Closed loop analog signal processor (“CLASP”) system
US7751916B2 (en) * 2005-08-26 2010-07-06 Endless Analog, Inc. Closed loop analog signal processor (“CLASP”) system
CN101405790B (en) * 2005-12-20 2012-06-06 创新科技有限公司 Simultaneous sharing of system resources by multiple input devices
US9846664B2 (en) 2010-07-09 2017-12-19 Cypress Semiconductor Corporation RFID interface and interrupt
US9092582B2 (en) * 2010-07-09 2015-07-28 Cypress Semiconductor Corporation Low power, low pin count interface for an RFID transponder
US8217814B1 (en) * 2010-12-17 2012-07-10 Mosys, Inc. Low power serial to parallel converter
US9244872B2 (en) * 2012-12-21 2016-01-26 Ati Technologies Ulc Configurable communications controller
GB2552794B (en) * 2016-08-08 2019-12-04 Powerchord Group Ltd A method of authorising an audio download
US10628077B2 (en) * 2018-03-23 2020-04-21 Hamilton Sundstrand Corporation System to acquire analog to digital (ADC) data using high end timer (N2HET) and high end timer transfer unit (HTU)
CN113364468A (en) * 2021-06-24 2021-09-07 成都纳能微电子有限公司 Serial-to-parallel conversion alignment circuit and method
CN114281298B (en) * 2021-12-22 2024-03-01 中航洛阳光电技术有限公司 CPU+FPGA-based airborne embedded audio interface control system and control method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5018013A (en) * 1989-12-21 1991-05-21 Zenith Electronics Corporation Programmable audio/video signal interface
US5297231A (en) * 1992-03-31 1994-03-22 Compaq Computer Corporation Digital signal processor interface for computer system
EP0656583A1 (en) * 1993-11-26 1995-06-07 Nec Corporation Series parallel converter including pseudorandom noise generation
AU3062895A (en) * 1994-09-13 1996-03-28 Australian Broadcasting Corporation Digital audio mixer

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4727509A (en) * 1984-06-28 1988-02-23 Information Exchange Systems, Inc. Master/slave system for replicating/formatting flexible magnetic diskettes
US4740955A (en) * 1986-10-29 1988-04-26 Tie/Communications, Inc. Communications system having voice and digital data capability and employing a plurality of voice and data buses in main service unit and serial packetized transmission to and from telephones
FR2607648B1 (en) * 1986-11-28 1994-03-18 Hewlett Packard France METHOD AND DEVICE FOR FAST TRANSMISSION OF DATA BETWEEN A TRANSMITTER AND A RECEIVER BY STANDARD SERIAL LINK
US5553220A (en) * 1993-09-07 1996-09-03 Cirrus Logic, Inc. Managing audio data using a graphics display controller
US5721860A (en) * 1994-05-24 1998-02-24 Intel Corporation Memory controller for independently supporting synchronous and asynchronous DRAM memories

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5018013A (en) * 1989-12-21 1991-05-21 Zenith Electronics Corporation Programmable audio/video signal interface
US5297231A (en) * 1992-03-31 1994-03-22 Compaq Computer Corporation Digital signal processor interface for computer system
EP0656583A1 (en) * 1993-11-26 1995-06-07 Nec Corporation Series parallel converter including pseudorandom noise generation
AU3062895A (en) * 1994-09-13 1996-03-28 Australian Broadcasting Corporation Digital audio mixer

Also Published As

Publication number Publication date
WO1999008387A3 (en) 1999-06-03
AU8771798A (en) 1999-03-01
US6128681A (en) 2000-10-03

Similar Documents

Publication Publication Date Title
US6128681A (en) Serial to parallel and parallel to serial, converter for a digital audio workstation
US5185876A (en) Buffering system for dynamically providing data to multiple storage elements
US7363396B2 (en) Supercharge message exchanger
US6205223B1 (en) Input data format autodetection systems and methods
JP2573566B2 (en) Bus converter
CA1235231A (en) I/o controller for multiple disparate serial memories with a cache
WO2020191611A1 (en) Cross-clock domain synchronization circuit and method
JPH06103213A (en) Input/output device
US20050055489A1 (en) Bridge circuit for use in retiming in a semiconductor integrated circuit
US5479445A (en) Mode dependent serial transmission of digital audio information
US5170469A (en) Data transfer apparatus and data transfer system
US5255370A (en) Data transfer apparatus and data transfer system
US5179688A (en) Queue system with uninterrupted transfer of data through intermediate locations to selected queue location
KR100326156B1 (en) Interface device between dual processors
EP0382342B1 (en) Computer system DMA transfer
US5099446A (en) Data transfer apparatus and data transfer system
JP2001509610A (en) Audio effects processor with decoupling instruction execution and audio data sequence
JP3304395B2 (en) Data transfer device and data transfer method
JPH07182849A (en) Fifo memory
JPH01269150A (en) Buffering device
JP2643116B2 (en) Main memory controller
JP2518387B2 (en) Serial data transmission circuit
KR940003667B1 (en) Checksum calculating apparatus of dat
US20080235462A1 (en) Device Having a Low Latency Single Port Memory Unit and a Method for Writing Multiple Data Segments to a Single Port Memory Unit
Sako et al. Development of a Digital Signal Processor (DSP) for Audio Equipment

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AU CA CN DE GB JP

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: A3

Designated state(s): AU CA CN DE GB JP

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA