The present application relates to systems and methods for exchanging electrical signals, and in particular to the communication of digital information between two or more electronic components over a communication bus.
Electrical and electronic circuits and systems, and elements thereof, exchange electrical signals. The signals can be in analog form, generally signified by a magnitude of some characteristic of the signal, e.g. voltage. Alternately, the signals can be in digital form, signified by discrete values of the signal, e.g. binary signals (0/1, +1/−1, high/low, etc.).
Modern electronic systems commonly exchange digital information over conducting lines or wires, often arranged in groups, called buses. A bus can contain any number of conducting lines, and can be formed by grouping the conducting lines physically or logically. Buses can be produced in bundles, braids, or flat ribbons, and can have endpoint connectors or terminators suitable for making contact between the components coupled by the buses. Buses can also be produced by laying out solder lines on an electronic circuit board, or by etching conductive traces into a semiconducting substrate. When packaged in a chip, buses can be manufactured along with the chip in the package.
One communication bus provided by the Common Switch Interface Consortium is known as the CSIX bus, used in network processors. The CSIX bus provides lines for data communication, including header information, a Ready bit, and vertical parity checking bits. Another available communication bus is the proprietary Focus bus from Vitesse Semiconductor Corporation. The Focus bus provides data lines, header information, but no Ready bit or vertical parity information. Both the CSIX and Focus buses require flow control data to be exchanged outside the buses, on separate lines, which consume valuable bus and pin locations. The CSIX bus requires start-of-frame (SOF) and parity (PAR) lines in addition to clock and data lines. The Focus bus requires flow control lines in addition to clock and data lines.
As features, functions, and communication bandwidths multiply, it becomes helpful or necessary to optimize or efficiently make use of the communication buses in electronic systems and devices. Accordingly, data is usually packaged and delivered in a way that leaves as much bandwidth over the buses available as possible while still achieving the desired function.
One way to address the problem of limited bus connections might be to increase the number of communication data lines (lines) in the buses. However, this would require a corresponding increase in the number of connecting pins coupling the devices to the buses, and would also require a corresponding modification to the communication protocols, memory array sizes, communication software, clock regulation, and other design factors. Furthermore, increasing the size of communication buses results in buses and devices that are significantly larger in physical area (footprint) and cost. Therefore, it is useful to develop new systems and techniques that reduce the need for added buswork and connections, and efficiently utilize the lines and pin connections of existing systems.
Recognizing at least the points mentioned above, and appreciating solutions to the challenges presented by modem digital bus communications, new systems and methods for communicating over buses are described. In some aspects, the buses provide improved bus availability, bandwidth, and performance by utilizing common clock signals instead of conventional clock sourcing. In other aspects, the buses use useful and new cell formats that enable devices to exchange information and payloads in a streamlined fashion within existing hardware limitations that are less prone to error. In some specific embodiments, a bus and method for using the same is provided to satisfy the “F8” bus used in the ST-16 intelligent mobile gateway device from Starent Networks of Tewksbury, Mass., or similar devices. More generically, the present buses and methods may be used with any compatible or adaptable components, the digital communication and signal processing types being only one example thereof.
One embodiment of the present disclosure is directed to a method for exchanging digital data between devices over a bus, including providing at least one bit of data to indicate the type of digital data being exchanged; providing at least one bit of data to indicate whether a device coupled to the bus is ready to communicate with other devices over the bus; and providing at least one vertical parity bit for checking for error conditions in corresponding bits of the digital data.
Another embodiment of the present disclosure is directed to a system for transferring digital data between at least two devices, including a communication bus having a plurality of communication lines, the communication bus coupled at a first end thereof to a first device and coupled at a second end thereof to a second device; at least one of the plurality of communication lines carrying a bit of data to indicate the type of digital data being exchanged; at least one of the plurality of communication lines carrying a bit of data to indicate whether a device coupled to the communication bus is ready to communicate with other devices over the communication bus; and the plurality of communication lines carrying vertical parity bits for checking for error conditions in corresponding bits of the digital data.
For a fuller understanding of the nature and objects of the present disclosure, reference should be made to the following detailed description, in connection with the accompanying drawings, in which the same reference numerals are used to indicate the same or similar parts, wherein:
The motherboard 100 of
Each of the FPGAs 130 and 140 are connected to FPGA 110 by “F8” communication bus lines 150. An F8 bus has 16 total lines, consisting of 8 lines for receiving data, and another 8 lines for transmitting data. This is indicated by the slash symbols accompanying the numerals “8” in the figures, as well as the directionality of the arrows and the letters “R” (receive) and “T” (transmit). F8 bus 150A connects VDT 110 and GP DSP 130, while F8 bus 150B connects VDT 110 and VoIP DSP 140. Of course, not all buses connecting the various components need to be of the same design or of the F8 type, but rather, it is possible to have a variety of bus types represented on a single board or system if appropriate.
This system of integrated circuits and associated computing components provides the ability to receive, process, store, and retransmit digital data from a variety of sources and in one or more formats. For example, the circuits may be used to handle voice and data communication in internet protocol (IP), asynchronous transfer mode (ATM), or time division multiplexing (TDM) applications.
One feature, of one aspect of the invention, shown in
In some instances, the present system of sharing a common clock signal is preferable to conventional clock sourcing. In conventional clock sourcing, a clock signal is generated at a clock and then passed to a first circuit. The first circuit in turn passes on a clock signal to a second circuit, which may pass a clock signal to a third, and so on. Clock sourcing works by a two-way (back and forth) communication between the circuits. Therefore, clock sourcing requires two lines dedicated to the exchange of clock signal information. By contrast, and as can be seen in
We now turn to the use of the communication buses 150 according to some embodiments of the invention. As mentioned earlier, a double-eight communication bus, such as the F8 bus, can be used to communicate digital information bits between two circuits or components. The communication is performed according to a pre-determined format so that the two communicating components may properly parse the significance of the information. As a preliminary step, a convention for illustrating and describing the information content is shown in
First, in bits 7:5, the type of cell. The figure shows several types of cell types that can be indicated by the 7:5 bits of byte 0. The are:
Second, in bit number 4 of byte number 0, a “Ready” bit is carried. If the value of the Ready bit is “0” then the device is not ready to receive data from the bus. If the value of the Ready bit is “1” then the device is ready to receive data.
Third, bits 3:0 are reserved, and not used by the devices.
The next byte (byte 1) carries the Byte Count (BC), or number of bytes of payload data in the cell, in bits 6:0, with bit 7 being reserved. The byte count is an integer number, represented in a 7-bit binary format in the present example.
It should be appreciated that more than one byte may be used to signify the number of payload bytes in the cell. This could be used if the number of payload bytes is too large to be represents by the bits in a single Byte Count byte or portion thereof.
The final byte (number BC+2) is for vertical parity (VP). Parity bits are used for error checking. Errors arise in digital communication from a variety of sources. For example, electrical interference can cause a “0” bit to arrive at its destination as a “1” bit, or vice versa. A parity sense is adopted to check for flipped bits. Even vertical parity means that an even number of “1”s were packaged in a column of cells at its origin, and odd vertical parity means that an odd number of “1”s were packaged in a column of cells at its origin.
As described in the present disclosure and figures, new communication buses and methods for carrying data over the buses have been presented. In some aspects, shared clocking of interconnected devices provides a savings in lines used for clock signals to the devices. In other aspects, data cell formats including flow control functionality and being indicative of the type of data cell, including whether the data cell is a null cell are provided. In yet other aspects, the disclosure teaches a way to populate a data cell with binary information suitable for use with the F8 bus and compatible systems. The systems and methods include provisions for error checking using vertical parity, and improve the overall performance and pin/line availability to devices communicating over the bus lines. Therefore, increased functionality and lower cost can be achieved in digital communication systems using such buses.
Upon review of the present description, figures, and specific exemplary embodiments, it will be understood that modifications and equivalent substitutions may be performed in carrying out the invention without departing from the essence of the invention. Thus, the invention is not meant to be limited by the embodiments described explicitly above, rather it should be construed by the scope of the claims that follow.
This application claims the benefit, under 35 U.S.C. 119(e), of U.S. Provisional Patent Application No. 60/475,561, filed on Jun. 3, 2003, entitled F8 Bus Specification, which is hereby incorporated by reference.
Number | Date | Country | |
---|---|---|---|
60475561 | Jun 2003 | US |