This application relates generally to digital communications and, more particularly, to a single conductor bidirectional communications link.
Electronic systems with multiple components are often coupled together by communications links that support bidirectional communications between the components. Information exchanged over the links includes control, status, and alarm or interrupt information. Such information is important to the operation of a system, and the communications must take place without a loss or corruption of this information.
In the following detailed description of various embodiments, reference is made to the accompanying drawings that form a part hereof, and in which are shown by way of illustration, and not of limitation, specific embodiments in which the subject matter may be practiced. In the drawings, like numerals describe substantially similar components throughout the several views. The embodiments illustrated are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed herein. Other embodiments may be utilized and derived therefrom, such that compositional, structural, and logical substitutions and changes may be made without departing from the scope of this disclosure. The following detailed description, therefore, is not to be taken in a limiting sense.
Examples and embodiments merely typify possible variations. Individual components and functions are optional unless explicitly required, and the sequence of operations may vary. Portions and features of some embodiments may be included in or substituted for those of others. The following description is, therefore, not to be taken in a limiting sense.
A system 100 including a first module 102 and a second module 104 coupled together by a single conductor wire 106 is shown in
A system 200 including a first module 202 and a second module 204 connected together by a single conductor wire 206 is shown in
The first module 202 includes a driver 210 having an output coupled to the wire 206 through a resistor R1 to drive serial digital signals on the wire 206. The driver 210 has a low output impedance and is a linear amplifier or a digital gate such as a buffer or an inverter according to alternate embodiments. The first module 202 also includes a receiver 212. The receiver 212 is a differential amplifier having an inverting input and an non-inverting input. The non-inverting input of the receiver 212 is coupled to the wire 206 to receive serial digital signals from the wire 206, and the inverting input is coupled to the output of the driver 210 through a resistor R2. The inverting input is also coupled to ground through a resistor R3 such that the resistors R2, R3 form a voltage divider to couple a reference voltage to the inverting input. The receiver 212 doubles the amplitude of the serial digital signals from the wire 206. The signals driven by the driver 210 on to the wire 206 and received by the receiver 212 from the wire 206 may be analog serial signals in alternate embodiments.
A transmitting universal asynchronous receiver-transmitter (UART) 214 is coupled to an input of the driver 210 to convert parallel digital signals into serial digital signals to be received by the driver 210, the driver 210 to drive the serial digital signals on the wire 206. A receiving UART 216 is coupled to an output of the receiver 212 to convert serial digital signals from the receiver 212 into parallel digital signals based on serial digital signals received by the receiver 212 from the wire 206. The transmitting UART 214 is coupled to receive a parallel interrupt request IRQ and to couple a serial interrupt request to the driver 210 in response to the parallel interrupt request. The receiving UART 216 is coupled to receive a serial interrupt request from the receiver 212 and to transmit a parallel interrupt request IRQ in response to the serial interrupt request. A glitch filter 218 is coupled between the receiver 212 and the receiving UART 216 to reduce the amplitude of noise spikes, also called glitches.
In one embodiment, the glitch filter 218 is a low pass filter such as an RC filter.
In another embodiment, the glitch filter 218 is a digital glitch filter that includes an UP/DOWN counter (not shown) that is coupled to a clock source (not shown) or has its own clock. The UP/DOWN counter generates a counter value and does not count below zero or above a high number such as ten. In other words, the UP/DOWN counter does not wrap. An output signal from the receiver 212 is coupled to the UP/DOWN counter that counts down when the output signal is low and counts up when the output signal is high. The output signal is determined to be high or low by comparing the counter value with a low threshold such as one and a high threshold such as three. If the UP/DOWN counter counts from a higher number to the low threshold one, the output signal has been low for multiple clock pulses, and the UP/DOWN counter indicates the output signal to be low. If the UP/DOWN counter counts from a lower number to the high threshold three, the output signal has been high for multiple clock pulses, and the UP/DOWN counter indicates the output signal to be high. In this way, the UP/DOWN counter determines whether the output signal is high or low with some hysteresis to filter glitches in the output signal.
In another embodiment, the receiving UART 216 is insensitive to glitches and the receiver 212 is coupled to the receiving UART 216 without the glitch filter 218 between them.
The second module 204 is a mirror image of the first module 202 according to an embodiment. The second module 204 includes a driver 220, a receiver 222, a transmitting UART 224, a receiving UART 226, and a glitch filter 228 coupled to the wire 206 in a manner similar to the manner of coupling of the corresponding elements in the first module 202. Resistors R4, R5, and R6 are coupled between the wire 206, the driver 220, and the receiver 222 in a manner similar to the coupling of the resistors R1, R2, and R3 between the wire 206 and the corresponding elements in the first module 202.
In one embodiment, Zo (the impedance of the wire 206 ), R1, and R4 are approximately 50 ohms, R2 is approximately equal to R3, and R5 is approximately equal to R6. In one embodiment, R2, R3, R5, and R6 are each approximately equal to 1000 ohms.
The first module 202 and the second module 204 are coupled to the wire 206 to implement digital bidirectional communication of control, status, and alarm or interrupt information over the wire 206. Bidirectional communication between the first module 202 and the second module 204 over the wire 206 is peer-to-peer or master-slave in alternate embodiments. In master-slave communication, either one of the first module 202 or the second module 204 is the master.
The first module 202 is formed in a first integrated circuit chip and the second module 204 is formed in a second integrated circuit chip according to an embodiment.
A system 300 including a first module 302 and a second module 304 connected together by a single conductor wire 306 is shown in
An output of the driver 210 of the first module 302 is coupled to the wire 306 through a resistor R1A to drive serial digital signals on the wire 306. The first module 302 includes a receiver 330 that is a comparator having an inverting input and an non-inverting input. The non-inverting input of the receiver 330 is coupled to the wire 306 to receive serial digital signals from the wire 306, and to a connection between a resistor R1B and a resistor R1C. The resistors R1B and R1C form a voltage divider between a voltage supply VCC coupled to the resistor R1B and ground coupled to the resistor R1C. The inverting input of the receiver 330 is coupled to the output of the driver 210 through a resistor R2A. The inverting input of the receiver 330 is also coupled to the voltage supply VCC through a resistor R2B and to ground through a resistor R2C to couple a reference voltage to the inverting input. The receiver 330 indicates whether a signal on the wire 306 is high or low, and sends a corresponding signal to the receiving UART 216.
The second module 304 is a mirror image of the first module 302 according to an embodiment. The second module 304 includes a receiver 340 that is a comparator. Resistors R4A, R4B, and R4C are coupled to the wire 306 and the non-inverting input of the receiver 340 in a manner similar to the coupling of the resistors R1A, R1B, and R1C between the wire 306 and the corresponding elements in the first module 302. Resistors R5A, R5B, and R5C are coupled between the output of the driver 220 and the inverting input of the receiver 340 in a manner similar to the coupling of the resistors R2A, R2B, and R2C between the output of the driver 210 and the corresponding elements in the first module 302.
In one embodiment, VCC is approximately 5 Volts. The resistors R1A and R4A are approximately 154 ohms. The resistors R1B, R1C, R4B, and R4C are approximately 147 ohms. The resistors R2A and R5A are approximately 768 ohms. The resistors R2B, R2C, R5B, and R5C are approximately 294 ohms. The wattage for the resistors is 1/20 Watt for the 768 ohm resistors, 1/16 or 1/10 Watt for the 294 ohm resistors, 1/10 Watt for the 154 ohm resistors, and ¼ Watt for the 147 ohm resistors.
Exemplary operational voltages of the system 200 shown in
Voltages are shown below for the system 200 shown in
Note that the ROLD column is the same as the TORD column. This means that the module 202 receives exactly what the module 204 transmits, independent of what the module 202 transmits. Also, RORD is the same as TOLD, so the module 204 receives what the module 202 transmits independently of what the module 204 transmits.
Voltages are shown below for the system 300 shown in
The calculated voltages show that ROLD mimics TORD and RORD mimics TOLD.
The first module 302 and the second module 304 are coupled to the wire 306 to implement digital bidirectional communication of control, status, and alarm or interrupt information over the wire 306. Bidirectional communication between the first module 302 and the second module 304 over the wire 306 is peer-to-peer or master-slave in alternate embodiments. In master-slave communication, either one of the first module 302 or the second module 304 is the master.
The first module 302 is formed in a first integrated circuit chip and the second module 304 is formed in a second integrated circuit chip according to an embodiment.
The modules described above and shown in
An interrupt request is implemented with a break according to embodiments. Specifically, the wire 206 or the wire 306 is put in the spacing condition for a period longer than one UART frame to request an interrupt.
The first module 202 and the second module 204 send digital data over the wire 206 at different times according to some embodiments. In other embodiments, the first module 202 and the second module 204 send digital data over the wire 206 at the same time, and this is called bidirectional communication. For higher speed communications, when bidirectional communication occurs, glitch filtering such as that provided by the glitch filter 218 may be necessary. Glitch filtering may not be necessary in embodiments where bidirectional communication is not employed. This is also true of the embodiments represented by the first module 302 and the second module 304 that send digital data over the wire 306 shown in
The first module 202 of the system 200 sends digital data to the second module 204 according to a second protocol that does not require a receiving UART to have a separate clock source according to an embodiment illustrated with reference to
The logic circuits 500 shown in
Portions of the serial signal 600 are not shown in
The negative edge transition at the start of each bit in the serial signal 600 is delayed by ½ of the period T by the delay circuit 530 and is inverted by the inverter 540 into a positive edge transition before being coupled to the positive-edge clock input of the flip-flop 520. This causes the flip-flop 520 to sample bits of the serial signal 600 at a center of each bit to determine if the bit is a 1 or a 0.
The serial signal 600 is divided into three periods. A quiet period 610 is when the voltage on the wire 206 is kept steadily HIGH with no transitions. The voltage on the wire 206 may also be kept steadily LOW in the quiet period 610 according to an embodiment. The quiet period 610 reduces noise in the second module 204. A data period 620 is when the transmitting UART 214 transfers data over the wire 206 to the receiving UART 226. During the data period 620, bits are transmitted over the wire 206 including a start bit 622 followed by a LSB B0, data bits B1-B30, and a MSB B31. A stop bit 624 follows the MSB B31. The bits transmitted during the data period 620 may include a parity bit according to an embodiment. The receiving UART 226 may need to trigger logic gates with additional clock edges after the end of the data period 620, so a trailing clock period 630 follows the data period 620 and includes additional 1 bits to provide clock edges for the receiving UART 226. The 1 bits are HIGH for three quarters of the period T and do not cause false commands to be interpreted by the receiving UART 226. The additional 1 bits in the trailing clock period 630 provide clock edges used by the receiving UART 226 to perform its work. At the end of the trailing clock period 630, all work is completed by the receiving UART 226, and the serial signal 600 returns to a steady HIGH with no transitions in another quiet period 640. The first module 202 may drive another serial signal 600 on the wire 206 to the second module 204 with another set of data, such as a command, after the quiet period 640.
In one embodiment, a data word of the second protocol has a 32-bit length including 8 bits of protocol header and 24 bits of data. A first nibble 650 including bits B0-B3 represents “3”, indicating to the second module 204 that it should return 24 bits of data from a register “3.” A second nibble may represent “4” indicating to the second module 204 that the data is intended for a register 4. The next 24 bits are data. A nibble is a contiguous group of four bits.
The receiving UART 226 reconfigures the data bits B0-B31 into parallel data. The second module 204 of the system 200 may also send digital data to the first module 202 in the same manner. One or both of the first and second modules 302 and 304 may send digital data to the other over the wire 306 shown in
A slave module 700 with a 5 wire interface that would be used between a master module 710 and the slave module 700 is shown in
Operation between the slave module 700 and the master module 710 of
A perspective view of a computer system 800 is shown in
The keyboard 820 is an input/output device. Embodiments are not limited to use with a keyboard. In alternate embodiments, any input/output device may be coupled to the computer 810 through the electromagnetically shielded wire described above including, but not limited to, Personal Digital Assistants (PDAs), portable audio players, portable video players, telephones, printers, multi-functional peripherals, facsimile machines, imaging devices, appliances, and other devices.
A block diagram of a radio unit 900 of a macro base station is shown in
In operation, the control module 910 might command the synthesizer module 946 to change frequencies, or it might send power control commands to the transmit RF module 926 to adjust a transmit level. The control module 910 might receive status information such as a signal strength from the receiver RF module 936 or a temperature of the transmit power amplifier module 916. The control module 910 might receive an alarm from, for example, the synthesizer module 946 that is shutting down its output because a phase-locked loop (PLL) is unlocked. In general, a complex macro-base station radio unit manages important control, status, and alarm data.
One or more of the individual lines coupling the control module 910 to the modules 916-946 and the EEPROM 950 is a single electromagnetically shielded wire over which digital bidirectional communication of control, status, and alarm or interrupt information takes place as is described above.
It should be noted that the methods described herein do not have to be executed in the order described, or in any particular order. Moreover, various activities described with respect to the methods identified herein can be executed in serial or parallel fashion.
Although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. It is to be understood that the above description has been made in an illustrative fashion, and not a restrictive one. Combinations of the above embodiments, and other embodiments not specifically described herein will be apparent to those of skill in the art upon reviewing the above description. Thus, the scope of various embodiments includes any other applications in which the above compositions, structures, and methods are used.
It is emphasized that the Abstract of the Disclosure is provided to comply with 37 C.F.R. §1.72(b), requiring an abstract that will allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate preferred embodiment. In the appended claims, the terms “including” and “in which” may be used as the plain-English equivalents of the respective terms “comprising” and “wherein,” respectively. Moreover, the terms “first,” “second,” and “third,” etc. are used merely as labels, and are not intended to impose numerical requirements on their objects.
Number | Name | Date | Kind |
---|---|---|---|
3530260 | Gaunt, Jr. | Sep 1970 | A |
3566046 | McCormick et al. | Feb 1971 | A |
3648517 | Dorman | Mar 1972 | A |
3889072 | Stewart | Jun 1975 | A |
4048625 | Harris et al. | Sep 1977 | A |
4074087 | Blake et al. | Feb 1978 | A |
4162371 | Belforte | Jul 1979 | A |
4377843 | Garringer et al. | Mar 1983 | A |
4485277 | Minch et al. | Nov 1984 | A |
4556958 | Ugon | Dec 1985 | A |
4638473 | Cooperman et al. | Jan 1987 | A |
4682356 | Minch et al. | Jul 1987 | A |
4698800 | Cavaliere et al. | Oct 1987 | A |
4706082 | Miesterfeld et al. | Nov 1987 | A |
4813066 | Holtz et al. | Mar 1989 | A |
4979095 | Ghaffari | Dec 1990 | A |
4985889 | Frankish et al. | Jan 1991 | A |
5216667 | Chu et al. | Jun 1993 | A |
5253249 | Fitzgerald et al. | Oct 1993 | A |
5280526 | Laturell | Jan 1994 | A |
5541535 | Cao et al. | Jul 1996 | A |
5604450 | Borkar et al. | Feb 1997 | A |
5748887 | Kim et al. | May 1998 | A |
5790526 | Kniess et al. | Aug 1998 | A |
5801549 | Cao et al. | Sep 1998 | A |
5862354 | Curiger et al. | Jan 1999 | A |
5877882 | Green et al. | Mar 1999 | A |
6060915 | McEwan | May 2000 | A |
6108751 | Lee et al. | Aug 2000 | A |
6119183 | Briel et al. | Sep 2000 | A |
6181167 | Agan | Jan 2001 | B1 |
6222388 | Bridgewater, Jr. | Apr 2001 | B1 |
6249171 | Yaklin et al. | Jun 2001 | B1 |
6278740 | Nordyke | Aug 2001 | B1 |
6317061 | Batra et al. | Nov 2001 | B1 |
6348811 | Haycock et al. | Feb 2002 | B1 |
6556628 | Poulton et al. | Apr 2003 | B1 |
6597197 | Mosley | Jul 2003 | B1 |
6622188 | Goodwin et al. | Sep 2003 | B1 |
6625206 | Doblar | Sep 2003 | B1 |
6738417 | Kim et al. | May 2004 | B1 |
6781108 | Fujino | Aug 2004 | B2 |
6803790 | Haycock et al. | Oct 2004 | B2 |
6894266 | Richard et al. | May 2005 | B2 |
7127538 | Nekl | Oct 2006 | B1 |
7181557 | Falik et al. | Feb 2007 | B1 |
7254797 | Garlepp | Aug 2007 | B2 |
7327995 | Roo | Feb 2008 | B1 |
20020083232 | Dute et al. | Jun 2002 | A1 |
20020097805 | Casper et al. | Jul 2002 | A1 |
20020116196 | Tran | Aug 2002 | A1 |
20020188683 | Lytle et al. | Dec 2002 | A1 |
20030067325 | Haycock et al. | Apr 2003 | A1 |
20040234015 | Janapaty et al. | Nov 2004 | A1 |
20050089126 | Zerbe et al. | Apr 2005 | A1 |
20050185720 | Kwok | Aug 2005 | A1 |
20050201491 | Wei | Sep 2005 | A1 |
20060075170 | Behrendt et al. | Apr 2006 | A1 |
20060140284 | Sheiman et al. | Jun 2006 | A1 |
Number | Date | Country |
---|---|---|
2238613 | Oct 2004 | RU |
Number | Date | Country | |
---|---|---|---|
20060140284 A1 | Jun 2006 | US |