Audio and music data transmission medium and transmission protocol

A transmission medium and protocol is provided for bi-directional communication between an audio system and a peripheral device. The transmission medium includes a communication medium for communicating data and a communication medium for communicating a clock signal that corresponds to a transmission rate of bits on the other communication media. By transmitting the clock signal on a separate communication medium from the data, clock recovery is avoided. There may be multiple clock domains. By having multiple clock domains, multiple sample rates can be supported. Synchronization information is embedded in the signal by using run length limiting markers between the data for each channel and a synchronization word having more consecutive zero bits than the number of bits for each channel. One or more channels may be dedicated to providing control and status information.

BACKGROUND

There are several existing transmission media and transmission protocols for transferring audio and music data between processing devices. Examples includes the Kurzweil KDS audio interface, the Audio and Music Data Transmission Protocol for transmitting data over a IEEE-1394 standard serial bus, also called mLAN, the ADAT optical interface from Alesis, and the Sample Multiplexing (S/MUX) protocol from Sonorus. For example, an audio system, such as a digital audio workstation, may be connected using such transmission media and protocols to a peripheral device that processes audio data in a manner specified by the audio system.

Generally, transmission media and transmission protocols for communicating between audio systems and peripheral devices seek to solve problem such as reliability, channel density, multiple high sample rates, dual time domains, long cable distances, low latency communication, synchronous operation and real-time communication, all while maintaining low costs.

SUMMARY

A transmission medium and protocol is provided for bi-directional communication between an audio system and a peripheral device. A transmission medium is a physical layer for communication of audio data and control information between the audio system and the peripheral device according to a protocol. The peripheral device processes audio data in a manner specified by the audio system.

The transmission medium includes a communication medium for communicating data and a communication medium for communicating a clock signal that corresponds to a transmission rate of bits on the other communication media. By transmitting the clock signal on a separate communication medium from the data, clock recovery is avoided. A twisted pair may be used as the communication medium, over which signals are sent as low voltage differential signals.

In each clock domain, there are one or more twisted pairs for communicating data in one direction, one twisted pair for communicating a corresponding clock signal in that direction, one or more twisted pairs for communicating data in another direction, and another twisted pair for communicating a corresponding clock signal in that other direction. There may be multiple clock domains. By having multiple clock domains, multiple sample rates can be supported.

Data that corresponds to a period of time, also called a frame, may be sent in multiple channels over the transmission medium. Synchronization information corresponding to each frame is embedded in the signal by using run length limiting markers between the data for each channel and a synchronization word having more consecutive zero bits than the number of bits for each channel. One or more channels on a twisted pair may be dedicated to providing control and status information.

An audio system allows a user to specify processing operations to be performed on audio data, and transmits the audio data with control information to a peripheral device to instruct the peripheral device to perform the specified operation on the transmitted audio data.

The audio system thus includes an output interface for accessing the communication medium on which data is transmitted to the peripheral device as a low voltage differential signal. The output interface also accesses the communication medium on which a clock signal is transmitted which corresponds to a transmission rate of bits on the other communication medium.

The audio system also sends requests for status information to the peripheral device over one or more channels on the communication medium. It also sends control information to control the processing performed by the peripheral device, for example to set parameters for operations performed by processing devices in the peripheral device.

The audio system also may have an input interface for accessing a communication medium on which data is transmitted by the peripheral device to the audio system as a low voltage differential signal. Another communication medium is used by the peripheral device to receive a clock signal that corresponds to a transmission rate of bits on the other communication medium. The input interface also may process status information and reply information received from the peripheral device.

A peripheral device for communication with the audio system thus includes one or more processing modules for performing operations on audio data. One or more registers store status information of one or more of the processing modules in the device. One or more registers store control information for one or more of the processing modules in the device.

The peripheral device also includes an input interface for accessing the communication medium on which data is received from the audio system as a low voltage differential signal. The input interface also accesses another communication medium on which a clock signal is transmitted which corresponds to a transmission rate of bits on the other communication medium. The peripheral device processes the clock signal received by the input interface to extract data transmitted on the other communication medium.

The peripheral device also processes requests for status information received by the input interface from the audio system over one or more channels on the communication medium to access the plurality of registers. It also processes control information received by the input interface from the audio system over one or more channels on the communication medium to access the plurality of registers. The peripheral device also processes digital audio data received by the input interface over one or more channels on the communication medium according to the clock signal and directs the received digital audio data to one or more processing modules.

The peripheral device also may have an output interface for accessing a communication medium on which data is transmitted to the audio system as a low voltage differential signal. A communication medium also is used by the peripheral device to transmit a clock signal that corresponds to a transmission rate of bits on the other communication medium. The peripheral device also may provide, in response to requests for status information, reply information to the output interface for transmission to the audio system over one or more channels on the communication medium. The peripheral device also provides, in response to control information from the audio system, reply information to the output interface for transmission to the audio system over one or more channels on the communication medium.

The peripheral device also may provide digital audio data to its output interface for transmission to the audio system over a plurality of channels on the communication medium.

The audio data, requests for status information and control information may be sent in a plurality of channels on the communication medium. The status and control information is provided in a designated one of the plurality of channels. Synchronization information is embedded in the signal by using run length limiting markers between the data for each channel and a synchronization word having more consecutive zero bits than the number of bits in each channel. The synchronization information is generated in response to a clock generation circuit on the peripheral device. The peripheral device provide the synchronization information to the audio system. The audio system in turn synchronizes to the peripheral device and send data to the peripheral device according to the received synchronization information.

DETAILED DESCRIPTION

Referring now toFIG. 1, an audio system10and a peripheral device12are connected using a transmission medium11that permits bi-directional communication. The audio system allows a user to specify processing operations to be performed on audio data, and transmits the audio data with control information to a peripheral device to instruct the peripheral device to perform the specified operation on the transmitted audio data. The peripheral device processes audio data in a manner specified by the audio system. A transmission medium is a physical layer for communication of data between devices. In one embodiment, the transmission medium includes a first communication medium and a second communication medium for communicating data. A third communication medium transmits a clock signal that corresponds to a transmission rate of bits on the first and second communication media.

In one embodiment, a twisted pair is used as the communication medium, over which signals are sent as low voltage differential signals. In each clock domain, there are one or more twisted pairs (14,16in one direction,18,20in another direction) for communicating data, and one twisted pair (22in one direction,24in another direction) for communicating the clock signal. By transmitting clock on a separate twisted pair from the data, clock data recovery is avoided. There may be multiple clock domains. By having multiple clock domains, multiple sample rates can be supported.

Referring toFIG. 2, how data is encoded on the transmission medium as a low voltage differential signal will now be described. The data is formatted into frames, each comprising eight channels (30) of 24-bit audio data, separated by a marker bit (31), followed by a ninth channel (32) for 24-bits of user data. The user data may be, for example, control information and status requests for configuration and control, device identification, status, metering, midi data and C-Bit emulation for controlling peripherals. The ninth channel may be dedicated to providing solely such user information.

The signals for the plurality of channels for each period of time (one frame) also include a synchronization signal (34), shown inFIG. 2at the end of the frame. The synchronization signal is used to maintain sample synchronization and is denoted as a 29-bit synchronization word, with 28 consecutive zeros followed by a one. The marker bit (31) ensures that a run of zeros in the data never is longer than 24 bits. Thus, if a run of zeros longer than 24 bits is detected, then the synchronization word (34) is detected. By embedding synchronization information in the data in this manner, a separate communication path for synchronization information is avoided.

Referring toFIG. 3, an example format of the ninth channel control word includes a 16-bit address field40in the most significant bits and an 8-bit data field42in the least significant bits. An example format for the address field40is shown in more detail inFIG. 4. It includes a read/write control bit (50) as the most significant bit (where a logical 1 designates write and a logical 0 designates read). The next most significant 7-bits (52) may represent a unique device identifier that may indicate, for example, a device type or a specific device. The next eight bits (54) may designate an address of a register to be accessed in the peripheral device in the register address space of the peripheral device.

Using the transmission medium and protocol as described above, a 32-channel cable with 4 control channels can be provided in each direction using six twisted pairs in each direction, for a total of twelve twisted pairs. One clock domain uses three twisted pairs in each direction, for a total of six twisted pairs. One clock domain may transmit data using one sample rate, whereas the other clock domain may transmit data using a different sample rate. All of the channels may be provided to a single peripheral device. Each control channel also may be dedicated to a particular function, such as housekeeping functions.

A messaging protocol that may be supported using this transmission medium and protocol is a request/reply protocol, where only the audio system, not peripheral devices, initiate communication. A peripheral device interprets a read/write command on the control channel and responds on the next sample by echoing back the interpreted write command unaltered, or echoing back the interpreted read command with the contents of the addressed register in the data field. An absence of a response may be interpreted by the audio device as resulting from an invalid command or that the device is unavailable. One command may be designated as a null command, so that a peripheral device does not potentially issue a response in every frame to a possible command from the audio system. This null command, for example, may be “000000h”.

Referring now toFIG. 5, a peripheral device for communication with the audio system includes one or more processing modules60for performing operations on input audio data62to produce output audio data64. One or more registers66store status information of one or more of the processing modules in the device. One or more registers store control information68for one or more of the processing modules in the device. The peripheral device also includes an input interface70for accessing the transmission medium71on which data is received from the audio system as a low voltage differential signal. The input interface processes the clock signal to extract transmitted data and provide the data73. A controller72within the peripheral device directs the audio data62taken from the received data73to the processing module, or to a selected processing module if there is more than one. With more than one processing module, a crosspoint switch (not shown) may be provided in the peripheral device. The state of the crosspoint switch also may be controlled using the control channel to allow the audio system to select which processing module should be used.

The controller72also processes requests for status or control information in the data73to access the plurality of status or control registers of the processing module via connection75. The processing module may be, for example, a switch or router or a device that modifies the audio data. The controller provides information76to the output interface to permit replies to be includes in data sent to the audio system over transmission medium78. The peripheral device also may provide digital audio data to its output interface for transmission to the audio system over a plurality of channels on the fourth and fifth communication media.

A clock generator80also is provided on the peripheral device. The clock generator includes a phase locked loop82that locks to a reference source84. The reference source84may be selected from a number of different sources, such as an internal clock generation circuit, or other signals that may be received from other devices, by using selector86. The settings of the clock generation circuit, such as the selection of the reference source84, also may be defined by control and status information sent over the ninth channel. The phase locked loop82provides a first clock signal that is at a rate of 256 times, a selected frequency (256 fs) and a second clock signal at the selected frequency (1 fs). The higher frequency clock signal is provided to the output interface for the clock signal transmitted over the communication medium. The other clock signal is used to generate the synchronization signal. The peripheral device thus provides the synchronization information to the audio system. The audio system in turn sends to the peripheral device data with an embedded synchronization signal at the designated clock rate. The audio system also synchronizes its operations to the synchronization signal.

The audio system that may use such a peripheral device thus includes an output interface for accessing the communication medium on which data is transmitted to the peripheral device. The output interface also accesses a communication medium on which a clock signal is transmitted which corresponds to a transmission rate of bits on the other communication medium. The audio system also sends requests for status information to the peripheral device over one or more channels on the communication medium. It also sends control information to control the processing performed by the peripheral device, for example to set parameters for operations performed by processing devices in the peripheral device. The audio system also may have an input interface for accessing a communication medium on which data is transmitted by the peripheral device to the audio system. A communication medium carries a clock signal that is transmitted by the peripheral device and that corresponds to a transmission rate of bits on the other communication medium. The input interface also may process status information and reply information received from the peripheral device.

Having now described an example embodiment, 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 of the invention.