DATA COMMUNICATION SYSTEM

Abstract: A data communication system includes a communicating medium (14) and a plurality of transceivers (16, 18) connected to the medium, each including a transmitter (44) for transmit­ ting phase-encoded data onto the medium and a receiver (46) for receiving phase-encoded data communicated on the medium by another transceiver (16, 18). A digital phase decoder (52) is coupled to the receiver of each transceiver (16, 18) for decoding the data received and applying at its output a decode signal representative of the character of the received data. The decode signal is at a predetermined value whenever data communicated on the medium (14) by another trans­ ceiver (16, 18) is received by the subject receiver during the time the subject transmitter (46) is transmitting data onto the medium. Circuitry is included for interrupting the transmis­ sion of data whenever the decode signal is detected to be at said predetermined value.

Description: Data communication system and phase decoder therefor This invention relates to data communication systems and to digital phase decoders for use therewith. It is particularly concerned with data communication sytems of the type comprising a communicating medium, a plurality of transceivers connected to said medium, each transceiver including transmitting means for transmitting encoded data onto said medium and receiving means for receiving encoded data communicated on said medium by another transceiver. An example of a data communications system of the above-type is disclosed in U.S. Patent No. 4.063.220. As described in that patent. a collision dctcctor is provided with each transceiver for detecting when the data on the medium differs from the data being communicated by the associated transccivcr. A detected difference indicates a "collision" between the signal being transmitted by the associated transceiver and a signal from another transceiver. In response to the detected collision. a collision signal is generated. This signal is then sensed by appropriate means to interrupt transmissitn by the associated transceiver. As also described in U.S. Patent No. 4.063.220. data received by a transceiver connected to the communicating medium is forwarded to a phase decoder which basically separates the data and clock components of the received data. Both data and clock componcnt signals are then respectively applicd to the data and dock inputs of a shift register, The shift register converts the serial input data stream into parallel data words of predetermined bit-length, c.g.. 16-bit words, for transmital through a synchronizing buffer register onto a data bus for transfer to a using dcvice. it would bc desirable if the need for a separate collision detector for each transceiver could be eliminated, thereby reducing the nuinber of components and the overall complexity of the system. it would also be dcsirable if the phase decoder were completely digital in design. unlike the please decoder disclosed in U.S. Patent No. 4.063.220. which contains analog componcnts. As is well known, analog components tend to drift out of adjustment. Further. a completely digital phase decodcr is more amemable to microelectronic integration. In accordance with one aspect of the invcntion. a complctcly digital phase encoder was designed for use in a data communication system of the type disclosed in U.S. Patent No. 4.063.220. What emerged from this new dcsign. however, was a completely new way of detecting collisions. More specifically. using the more prccise decoding characteristics of a completely digital phase decoder. all "illegal" data bits or transitions, i.c., those that are not either "data transitions" or 'set-up transitions" (to be defined below), are simply treated as "collisions". Yaditionally. systems having such a phase decoder would have ignored all illegal or malformed bits. In this invention, thcy are used to signify a collision on the medium. Then, the on-going transmission by the subject transceiver is interrupted in rcsponse to a detected collision. In accordance with this aspect of the invention, therefore. a digital phase decoder capable of receiving and decoding phase encoded data is characterised by means for synchronizing received phase-encoded data with the frequency of a predetermined clock signal: means coupled to the output of said synchronizing means for developina a pair of output signals respectively indicative of the state of the received phase-encoded data at two successive clock periods; means for counting the periods of said clock signal; and means coupled to said developing means and said counting means for generating a decode signal representative of tlic character of the received data. In accordance with another aspect of the invention, a data communication system is characterised by decoder means coupled to the receiving means of each transceiver for decoding the data received by said receiving means and applying at its output a decode signal representative of the character of the received data, said decode signal being at a predetermined value whenever data communicated on said medium by another transceiver is received by said receiving means during the time said transmitting means is transmitting data onto said medium, the interrupting means being coupled to the output of said decoder means for interrupting the transmission of data onto said medium by said transmitting means whenever said decode signal is at said predetermined value. In accordance with a prcrcrrcd embodiment, the decoder means is a phase decoder that is completcly digital and provides a 2-bit "PDEVENT" signal output which dcscribes the character of phase-encoded data received at its input. For example, a "11" PREVENT signal may be uscd to signify a binary one (1) data bit input, whcrcas a "10" PDEVENT signal may be used to signify a binary zero (0) data bit inpuL A "01" PDEVENT signal may be used to signify an illegal bit, i.c., a transition occurring at an illegal time. All such illegal transitions are characterized as "collisions" on the medium. A "transition" is a change in the value of the communicating medium from high to low or low to high. A transition may signal a ncw bit of information ("data transition") or a transition required by the coding scheme ("set-up transition"). Also in accordance with a preferred embodiment, the 2-bit PDEVENT signal is applicd to a receiver control circuit which decodes that signal. when the PDEVENr signal indicates a collision. i.e., "01". a COLLISION signal is generated and applied to a transmitter control circuit which then disables a phase encoder. The phase encoder supplics phasc-cncodcd digital data to the transmitter portion of the associated transceiver for communication on the medium. The transmitter control circuit, upon reccipt of a collision indication from the COLLISION signal, also supplies a status signal (TRANSMIT DISABLED) to the central processing unit (CPU) of the overall workstation indicating the interniption of transmission in response to a detected collision. The CPU then turns off a TRANSMIT ENABLE E line connected to the phase encoder in order to insure a retransmission will not immediately begin when the PDEVENT signal changes from "01" to another state. Rather, retransmission can occur only when the CPU turns back on the TRANSMIT ENABLE line. This can be done aftcr an internally generated random time delay, such as in the rnanncr described in U.S. Patent No. 4,063,220. In order that the invention may be more readily understood, reference will now be made to the accompanying drawings, in which: Figure 1 is a schematic block diagram of a data communication system according to the present invention; Figure 2 is a more detailed block diagram of one of the works(atlons depicted in Figure 1; Figure 3 is a schematic block diagram of the phase decoder shown in Figure 2; Figure 4 is an exemplary waveform of the phase encoded serial data received by the phase decoder of Figure 3; Figures 5 and 6 are a diagram and table, respectively, showing the rclationship between the outputs of the counter and ROM of Figure 3; Figure 7 is a schematic block diagram of the receiver control circuit depicted -in Figure 2; ; Figure 8 is a table showing the relationship of the inputs to the outputs of the receiver control circuit of Figure 7; Figure 9 is a schematic diagram, partly in block form, of the phase encoder depicted in Figure 2; Figure 10 is a schematic block diagram of the transmitter control circuit depicted in Figure 2; and Figure 11 is a liable showing the relationship of the inputs to the outputs of the transmitter control circuit of Figure 10. Referring to Figure 1, a data communication system is shown comprising a plurality of workstations 10 and 12 (only two shown for simplicity). Each workstation 10 and 12 is connected to a transceiver 16 and 18, respectively, for transmitting phase-encoded digital data onto and receiving such data from a communicating medium 14, such as a coaxial cable. In this respect, each transceiver 16 and iSis connected to the cable 14 by means of a tap 20 and 22, respectively, and coupling lines 24 and 26, respectively, It shuuld be noted that the representation of the communicating medium 14 as a coaxial cable is merely by way of caamplc, as the invention is cqually well suited for transmission and reception ovcr any communicating mcdium. The nature of the transceivers 16 and 18 would, of course, have to be tailored to the specific type of medium employed. Whatever the medium, the intention is to be able to communicate encoded digital data among a plurality of workstations. such as stations ]0 and 12, which may be either in the same room, same building. different buildings. and even different cities, depending upon the nature of the communicating medium and associated transceivers 16 and 18 employed. In fact, there may be a whole host of different communicating mcdiums interconnected by "repeaters (not shown), whose primary function would be to accept phase-encoded digital data comnlunicatcd on one communicating medium and transfcr that data onto another communicating medium, which may be of the same or different type. Thus. it is not essential that workstations 10 and 12 be connected to the same communicating medium, or even the same type of communicating medium. so lung as appropriate repeaters are employed. One type of repeater that may be cniploycd in the system of Figure 1 is disclosed in U.S. Patent No. 4,099,024. Rclcrring now more specifically to the workstations 10 and 12 as depicted in Figure 1. the transceivers 16 and 18 each receive incoming encoded digital data from the medium 14 along lines 24 and 26, respectively. This incoming data is applied as a PDINPUT signal to respective interface circuits ZS and 30. Each interface circuit 28 and 30 includes means to be described below for decoding the incoming serial data and converting it into parallel format for application over a respective I/O bus 32 and 34 to a respective using device 36 and 38. The using devices 36 and 38 may be the same or different type devices, each capable of using the received data. For example, the using devices may be data processors. word processors or personal computers. Each interface circuit 28 and 30 further includes means also to be described below for generating a two-bit PDEVENT signal indicative of the character of the incoming data, as 'well as a single bit PDCARRlER signal which, when true, indicates that the communicating medium 14 is in use. A true PDCARRIER signal is interpreted by the transmit control circuitry in the respective interface circuit to prevent the initiation of a transmission by the associated transceiver 16 and 18. The specific manncr by which the interface circuit prevents the initiation of a transmission will be described below. Referring now to the manncr by which each workstation 10 and 12 transmits encoded digital data onto the communicating medium 14, each using device 36 and 38 initiates an intended transmission by forwarding non-encoded digital data in bit-parallel format ovcr the respective I/O bus 32 and 34 to the respective intcrfacc circuit 28 and 30. Each interface circuit 28 and 30 includes means to be described below for converting the parallel data into scrial data and then phase-encoding such data for application as a PEOUTPUT signal to the respective transceiver 16 and 18. Each using device 36 and 38 also generates a pair of LOAD signals which are applicd to the respective interface 28 and 30 to control the loading of data between such interface and the respective I/O busses 32 and 3X, as will be discussed below. Referring to Figure 2, a typical workstation will be described with reference to workstation 10 depicted in Figure 1. As shown, the transceiver 16 includes a drivcr or transmitter 44 and a receiver 46. The input of the receiver 46 is'connected to the inputoutput line 24 and to the output of the transmitter 44. in this manner, the receiver 46 receives not only incoming encoded digital data from the communicating medium 14, but also the encoded digital data transmitted by the transmitter 44 onto the medium 14. It is thus possible, as will be described below, for the sorkstation 10 to detect a collision on the medium 14 between the signal being transmitted by the transmitter 44 and another signal received by the receiver 46 from another workstation's transceiver. The encoded digital data capable of being transmitted and received by the workstations 10 and 12 is preferably "Bi-Phase - L" encoding which satisfies certain basic rules as depicted in Figures 4 and 5. As shown in Figure 4. there is a data transition 48 once per bit ccll and its direction (low-to-high cquals one) is the value of the bit. Midway between thcse data transitions 48. there may be a "setup" transition 50 to get into position for the next data transition. More specifically, if it is desired to transmit the code "10011". it would be nccessary to have set-up transitions in the second and fourth bit cclls, as shown in Figure 4. Thus, whenever it is necessary to generate two successive bits of the same state, it is necessary to generate a set-up transition mid-way between the two data transitions. In phase encoding a bit cell may be thought of as extending from one data transition to another, with possible set-up transitions in the middle. Alternatively, it may be thought of as centered on the data transition, with the set-up transitions occurring at the bit cell boundarics. Both conventions may be used. More specifically, hen thinking about phase decoding. data transitions may be considered as occurring at the bit cell boundaries, but when thinking about phase cncoding, thcy may be considered as occurring in the center of bit cclls. All data is transmitted in "packets". Each packet begins with a one bit which is called the "start bit". Packets cnd when no transitions are detected for more than 15 bit times and no incoming data is received from the communicating medium 14. Transmittcrs "jam" the communicating medium 14 with a continuous high level signal (no transitions) for several bit times after detecting a collision. Collisions are of four types, ie., (I) too many transitions. in which two transitions occur within 0.25 bit times, (2) too few transitions, in which a transition occurs between 1.25 and 1.5 bit times aftcr the last onc, (3) cnd-of packet (HOP). in which no transitions occur for more than 1.5 bit times and no incoming data is received from the communicating medium 14, and (4) jam. which is the same as EOP, cxccpt that the communicating medium 14 will be at a continuous high level for several bit times, as indicated above. Of coursc. a type (3) collision (EOP) is normal at the cnd of a good packet, and a type (4) collision (jam) is normal at the cnd of a pocket that contains a type (1) or (2) collision. They are all violations of the cncoding rules. Continuing now with a description of Figure 2, the output of the receiver 46 is connected to the data input of a phase decoder 52 for supplying phaseencoded digital data (PDINPUT) received from the medium 14 to the phase decoder 52. The phase decoder 52 also receives a clock signal (8XCLK) from a clock circuit 54. The clock signal 8XCLK preferably has a frequency eight times that of the basic bit rate of the phase-encoded data as defined by a 1XCLK clock signal generated by the clock circuit 54. A third clock signal 2XCLK is also generated by the clock circuit 54. Both clock signals lXCLK and 2XCLK are supplied to the transmitter portion of the interface circuit 28 for reasons to be described below. In the prefcrred embodiment, the basic bit rate or frequency of the 1XCLK signal is 2.9$ Megahertz (340 ns period). the frequency of the 2XCLK signal is 5.88 Megahertz (170 ns pcriod), and the frequency of the SXCLK signal is 23.53 Megahertz (42.5 ns period). The primary purpose of the phase decoder 52 is to identify the character of the received data, i.e., to decode the data. The manncr in which it docs this will be described below. At this time, however, it should be noted that the phase decoder 52 generates a PDCARRIER signal whenever the communicating medium 14 is in use by the subject transceiver 16 or by the transceiver of another workstation communicaing on the medium 14. The phase decoder 52 also generates a 2-bit @ PDEVENT @ signal which is the vehicle for identifying the character of the incoming data. In the prefcrred embodiment, the PDEVENT signal signifies the following characterizations of the incoming data: PDEVENT Meaning oo No Event 01 Collision 10 Data Zero (O) 11 Data One (1) The PDCARRIER and PDEVENT signals are supplied from the phase decoder 52 to respective inputs of a receiver control circuit 55. The receiver control circuit 55 also receives as inputs the 8XCLK signal from the clock circuit 54 and an SRFULL signal from a shift register 58. the SItFULL signal will be true whenever the next bit shiftcd into shift register 58 will make it full. Whenever the PDEVENT signal indicates a collision, i.c.. "01", the receiver control circuit 55 generates 2 true COLLISION signal which is applied to an input of a transmitter control circuit 57 for a purpose to be described below. Further. whenever the PDEVENT signal indicates a data zero or data one, i.c., "10" or "11", an RXDATA signal is-respectively made low or high, such signal being applied to the data input of the shift reeister 58. The receiver control circuit 55 also generates a 2-bit RXSRCTRL signal to control the operation of the shift register 58, as will also be described below. The shift register 58 is preferably 16-bits in length and is thus capable of converting the incoming scrial data stream (RXDATA) into 16-bit words. which arc supplied in bitparallel fonnat along a bus 60 to an input buffer register 62. The input buffer register 62 loads the parallel data from the shift register 58 onto a main I/O bus 32 for application to the using device 36. This load operation is controlled by the state of a LOAD control signal from the using device 36 along a line 40. Still referring to Figure 2, the manncr in which digital data is phase-encoded for transmission onto the medium 14 will be described. First, non-encoded digital data to be transmitted is forwarded by the using device 36 in bit-parallel format (16-bit words) over the I/O bus 32 to an output buffer register 66. When instructed by a LOAD control signal front the using device 36 along a line 42, the buffer register 66 loads a 16-bit word from the I/O bus 32 onto a bus 68 for application to a shift register 70. I he shift register 70 has the 8XCI.K signal connected lu its cluck input and is, therefore, clocked at the 23.53 Megaherzt bit rate. A 2-bit TXSRCTRL. control signal from the transmitter control circuit 57 is applied to the control input of the shift register 70 for controlling the operation thereof in a manncr to be dcscribcd below. The shift register 70 generates an SREMPTY signal which is true when the shift register 70 has shifted IS times so that the bit at its serial output is the last valued biL The SREMPTY signal is applied to the transmitter control 57 for notifying the latter of that condition. The data output of the shift register 70 is connected to the data input of the phase encoder 56 fur supplying a non-encoded serial TXDATA signal thereto. The he phase encoder 56 is clocked by all three clock signals (lXCLK. 2XCLK and 8XCLK) in a manner by which the TXDATA signal supplied thereto from the shift register 70 is encoded in accordance with the "Bi-Phase-L" cncoding principles discusscd above in connection with Figurcs 4 and 5. the phase encoder 56 also receives a TXGO signal from the transmitter control circuit 57 which, when false, effectively prevents the initiation of 2 transmission or interrupts an ongoing transmission. The phase encoder 56 further receives a STARTBIT (SB) signal from the transmitter control circuit 57 which will be true at the sian of a packct and false after rcccipt of the first GOTBIT signal. Each time the phase encoder 56 receives a bit of TXDATA from the shift register 70, it informs the transmitter control circuit 57 of this condition by generating a true GOTBIT (G2) signal for one 8XCLK period, which is supplied to an input of the transmitter control circuit 57. The transmitter control circuit 57 will generate a false TXGO signal for application to the phase encoder 56 whenever the PDCARRIER signal applied to the circuit 57 from the phase decoder 52 gocs true prior to the initiation of a transmission by the interface 28 and transmitter 44. Such a true PDCARRIER signal indicates the receipt by the receiver 46 of a signal from another workstation. Additionally, the TXGO signal will go false whenever the COLLISION signal applied to an input of the transmitter control circuit 57 from the receiver control gocs true, signifying that a signal from another workstation was received during the time the interface 25 and transmitter 44 were transmitting a signal onto the medium 14. Looking at it another way, in ordcr to begin transmitting, i.e., to generate a true TXGO signal, all of the following conditions must hold: (1) The using device 36 must have given its permission to transmit by generating a true TRANSMIT ENABLE signal, (2) the communicating medium must not be in usc, i.e,, the PDCARRIER signal generated by the phase decoder 52 must be false, and (3) there must be data available to transmit, i.c., at a mininium the shift register 70 must contain a word. Further, in ordcr to continuc a transmission, i.e., to continue TXGO at a true value, none of the following conditions must hold: (I) the using device 36 revokes permission to transmit by setting TRANSMIT ENABLE to false, (2) a collision is detected, and (3) internal consistency checks in the transmitter portion of the interface 28 indicate a hardware failure. Whenever the transmitter control circuit 57 issucs a false TXGO signal, it also issucs a true TRANSMIT DISABLED signal. which is applied from an output of the circuit 57 to the using device 36 to notify the latter of that condition. The using device 36 will then change the state of the TRANSMIT T ENABLE signal from true to false that it applies to an input of the transmitter control circuit 57. Whenever the TRANSMIT ENABLE signal is false, the transmitter control circuit 57 is constrained to issuc a false TXGO signal to the phase encoder 56 with the rcsults discussed above. Thus, if the using device 36 simply wanted to abort an ongoing transmission even though no collision occurred, it could issuc a false TRANSMIT ENABLE signal. It will be appreciated that the changing of states of theTRANSMIT ENABLE signal from true to false, duc to a disablement of transmission (filturc or ongoing) by the transmitter control circuit 57 and notification thereof to the using device by the issuing of a true TRANSMIT DISABLED signal, occurs later in time than the initial disablement. However, it provides a reliable back-up disablemcnt. Additionally, and as pointed out earlier, the TRANSMIT ENABLE signal can be changed back to a true state alter a random time delay generated internally by the using device 36, even though, for example, the PDEVENT signal may have changed from a collision statc (01) to a data state (10). The use of a random time delay feature reduces the likelihood of repeated future collisions. An exemplary random time delay circuit for a using device is disclosed in the aforementioned U.S. Patent No. 4,063,220. Reference is now made to Figure 3 where the presently preferred phase decoder 52 will be described in more detail. As shown, the phase decoder 52 includes three input flip flops 72, 74 and 76 connected in scries, with the input of flip-flop 72 connected to the output of receiver 46 (Figure 2) for receiving PDlNPUT data therefrom, the input of flip-flop 74 connected to the output of flip-flop 72, and the input of flip-flop 76 connected to the output of flip-flop 74. All three flip-nops are clocked simultaneously by the SXCLK signal applied at their clock inputs. The flip-flop 72 essentially scrvcs as a synchronizer to synchronize the PDINPUT data to the rate of the SXCLK signal. The flip-flop 74 is essentially a dual function device, in that it scrvcs 2 synchronizing function like nip-nop 72 and also develops a PDNEW signal that is applicd to a read-only mcmory (ROM) 78 for comparison with a PDOLD signal developed at the output of the flip-flop 76 and also applicd to the ROM 78. It should be noted that the PDNEW and PDOLI) signals represent successive samples of PDINPUT data. NVhcn they differ, PDINPUT T has changed within the last sample interval. The new value of PDNIPUT is PDNEW and the old value is PDOLD. The phase decoder 52 also includes a digital countcr 80 which is capable of counting to 16 and can be reset by a CNTCTRL command signal generated at an Output of the IOM 78. The counter 80 is clocked by the 8XCLK signal from the clock circuit 54 (Figure 2) as applicd to its clock input. Inasmuch as the counter 80 is a 16-bit counter, it has four outputs, i.c., PDCNTO, PDCNTl. PDCNT2 and PDCNT3, which are applicd to respective inputs of the ItOM 78 along with the PDNEW signal from the flip-flop 74 and the PDOLD signal from the flip-flop 76. The ROM 78 also receives as an input the PDCARRIER signal fedback from the output of a flip-flop 82 which is connected to an output of the ROM 78. The ROM 7S is capable'of providing four different output signals at respective outputs thereof, i.e. PDCARRIER, PDEVENTO, PDEVENTl, and CNTCTRL. As indicated above, the CNTCRL signal is applied to the reset input of the counter 80 for resetting same. The PDCARRIER signal is applied to the input of 2 flip-flop 82 which is latched at the occurrcnce of the next 8XCLK pulse applied at its clock input, to thereby present the PDCARRIER signal at the output of flip-flop 82. Likewise. the PDEVENTO and PDEVENTI pulse signals are applied to the inputs of a respective pair of flip-flops 84 and 86 and are manifest at the outputs of such flip-flops when clocked by the next occurring 8XCLK signal pulse. The operation of the digital phase decoder 52 will now be described with reference to Figures 3-6. Let us assume that no signal has yet been applied to the phase decoder 52 and thus the outputs of flip-flops 72. 74, 76, S2'. 84 and S6 are all binary zero. Now then, assume the phase-encoded signal PDINPUT depicted in Figure 4 is applied to the input of nip-flop 72. Since this signal is free of collisions or illegal transitions, it must indicate either that only the transmitter 44 is transmitting onto the medium 14, since the transmitted signal will be received by the receiver 46. or that only another workstation is communicating on the medium 14. such signal also being received by tl0e receiver 46. At the first occurring 8XCLK pulse, the low-to-high (binary 1) transition of the PDINPUT signal of Figure 4 is latched onto the output of flip-flop 72. At the second 8XCLK pulse, the flip-flop 74 will latch the binary 1 signal at its output At this moment, PDNEW will charge from binary 0 to binary 1, whereas PDOLD will remain binary 0. This condition signifies the start of a packet. as indicated in Figure 6. In response, the ROM 1 78 is programmcd to raise the CNTCTRL output. thcrcby resetting the counter 80. Additionally, the PDCAItRlER output of the ROM 78 is raised, so that the PDCARRIER signal at the output of flip-flop 82 will go true at the next 8XCLK pulse, i.e., the flip-flop 82 will be latched at the next SXCLK pulse. In addition to raising the PDCARRIER and CNTCTRL outpus, the PDEVENTO and PDEVENTI output lines are both raised, signifying a binary 3 bit of data received. At the hext 8XCLK pulse, the outputs of flip-flop 84 and 86 will rcncct this condition. The PDEVENTO and PDEVENTI output lines will remain high for only one 8XCLK period and twill then reven to the "00" state, i.c., "NO EVENT". with continued reference to the PDlNPUT signal of Figure 4. the counrer 80 will continue to count up to count 7 (Figure 5), at which time the PDNEW signal will go low with the PDOLD signal still high, since the next data transition will occur at the boundary of the next bit cell. The ROM 78 is programmed to interpret this condition as a data transition and to maintain the PDCARRIER output line raised (binary 1). Additionally, it will again reset the countcr 80 by raising the RESET output Further, it will change the state of the PDEVENTO line from binary 0 to binary 1, as shown in Figure 6. Thus, the PDEVENT signal (10) will signify that the data transition was a binary 0. It will be appreciated that the ROM 78, among other functions, is performing an exclusive -OR fiction relative to the PDNEW and PDOLD inputs. That is how it detects the occurrence of a transition. By then looking at the value of the count from counter 80. it can ascertain whether the transition was a legal data or set-up tr3nsition, or an illegal transition ("collision"). The ROM program is set out in table form in Figure 6. As a result of dispersion in the communicating medium 14 and asymmetric rise and fall times in the logic circuitry of the workstation 10. transitions may "jitter", i.e,, not occur at precisely the expected time. The phase decoder 52 tolerates +12.5% jitter, as well as a +25% difference in speed between a transmitter and this receiver, as shown in Figure 5. As a rcsult of this rclationshp, any transition that occurs the first two 8XCLK periods following a data transition 48 is an illegal transit or collision: any transition that occurs the third through fifth SXCLK periods following a data transition 48 is a sct-up transition 50; any transition that occurs the sixth through tenth 8XCl.K periods following a data transition is a data transition 48: and any transition that occurs the eleventh through sixteenth 8XCl.K period is an illegal transition and deemed a collision. These rules are depicted in Figurcs 5 and 6. In response to an illegal transition. such as one occurring at a count of I by countcr 80 (too many), the ROM 78 will generate a PDEVENT = Ol condition signifying a collision. The collision may be actual, i.c. a signal from another workstation was received during the time the transmitter 44 was transmitting. or only noise. Nevertheless, both are treated as collisions with the same results. Ihe PDEVENT = 01 signal is supplied to the receiver control circuit 55 (Figure 2), which then generates a true COLLISION signal for disabling the phase encoder 56 in the manner described above. Upon such disablement, by issuing a false TXGO signal to the phase encoder 56, the transmit control circuit 57 also issucs a true TRANSMIT DISABLED signal to the using device 35. The using device 36 will thcn turn off the TRANSMIT ENABLE signal, so that a retransmission can begin only when the PDEVENT = 01 condition changcs and the using device 36 turns back on the TRANSMIT ENABLE line after a random time delay to reduce the probability of repeated collisions Further, when the transmitter 44 is not transmitting and the receiver 46 nonetheless receives a signal from another workstation, the PDCARRIER signal will disable the phase encoder 56 from initiating a transmission. as explained above. Referring to Figure 7, the receiver control circuit 55 dcpictcd in Figure 2 will be described As shown, the circuit 55 includes a ROM 90 having eight input lines as follows: (1)-(3) STATE - A three-bit signal developed at respective outputs of the ROM 90, latched in respective output flip-flops 92, 94 and 96, and fedback to respective inputs of the ROTh 90. The various statcs and their significance will be described bclow. (4) COLLISION - This signal is developed at an output of the ROM 90, latched in a flip-flop 98, and fedbaek to a respective input of the ROM 90. The COLLISION signal will be true when the PDEVENT signal indicates a collision ("01"). It is fedback to an input of the ROM 90 to inform the latter if a collision occurred anytime during the transmission of a packet (5) PDCARRIER - This signal is supplied from the output of the phase decoder 52. (6)-(7) PREVENT - This two-bit signal is supplicd from respective outputs of the phase decoder 52. (8) SRFULL - This signal is supplied from the shift register 58 to inform the ROM 90 when the next bit shifted into shift register 58 will make it full. In addition to the four output lines from ROM 90 just discussed. the ROM 90 also generates the RXSRCERL signal and the RXDATA signal at respective outputs\. These signals are latched in flip-flops 100 and 102, respectively, for application to the shit register 58, as explained above. All six nip-flops 92-102 are latched by the 8XCLK signal applied to their respective clock inputs. Since the RXSRCTRL signal is a two-bit signal, there are really two separate flip-flops 100 and respective output lines. Only one is shown for simplicity. A presently preferred program for ROM 90 is set forth in table form in Figure 8, where each of the various "states" are identified and will now be described as follows: (1) IDLE - In this state, the beginning of a packet is being awaited (2) MAYBE - In this state, the first pan of a packet is being processed. No data has yet bcen loaded into the input buffer register 62 (Figure 2). (3) FULL - In this state, the end of a word of PDINPUT data is being processed. (4) lMIP - ln this state, the middle of a word of PUD INPUT data is being processed. It should be noted that the symbol "-" in Figure 8, as well as in Figure 11 to be discusscd below, means "don't carc", i.c., the signal is ignored for the particular row. Additionally, the symboi "-" in Figure 8 appears only in the COLLISION signal columns and means that if the COLLISION signal input was true, then the COLLISION signal output is true, and that if the COLLISION signal input was false, then the COLLISION signal output is false. Turning now to the transmitter ponions of the interface 28, a presently preferred phase encoder 56 will be described with reference to Figure 9. As shown, the phase encoder 56 includes an AND-gate 110 having one input connected to the data output of the shift register 70 (Figure 2) for receiving the STARTBIT or 1W'DATA signal therefrom, as wire-0Red at point 103, and another input connected to the clock circuit 54 (Figure 2) for receiving the lXCLK therefrom. The output of the AND-gate 110 is uirc-ORcd at point 105 with the output of an invcrtçr 104 and is also wire-0Red at point 107 with the output of an inverted-input AND-gate 106. As so wire-0Red, the output of the AND-gate 110 is applied to the data (D) input of a D flip-flop 10S. The Q output of the flip-flop 108 is connected to one input of gate 106 and a second input of gate 106 is connected to the 1XCLK line from the clock circuit 54.The clock (C) input of the flip-flop 108 is connected to the clock circuit 54 for receiving the 2xCLK therefrom. The PEOUTPUT signal of the phase encoder 56 is developed at the Q' output of the flip-flop. The input of the invener 104 is connected to the Q output of another D nip-flop 112, the data input of which is connected to the transmitter control circuit 57 (Figure 2) for receiving the TXGO signal therefrom. The clock input of the flip-flop 112 is connected to the 1XCLK line from the clock circuit 54. The Q output of the flip-flop 112 is also applied to one input of a NAND-gate 130, a second input of which is also connected to the 1XCLK line from the clock circuit 54. The output of the gate 130 is applied to the data input of yet another D-C nip-nop 132, the clock input of which is connected to the clock circuit 54 for receiving the 2XCLK signal there front. The Q output of the flip-flop 132 is connected to the J input of a J-K flip-flop 134. The clock input of the flip-flop 134 is connected to the 8XCLK line from the clock circuit 54 and the GOTBIT signal generated by the phase cncodcr 56 is developed at the Q output of the flip-flop 134. The GOTBIT signal, in addition to being applied to the transmitter control circuit 57. is also fedback to the set input of the flip-flop 132. The Q' output of the flip-flop 134 is fedback to the K input thereof. In describing the operation of the phase encoder 56, the basic rule for phase encoding should be recalled, i.e.. to transmit the complement of the bit value during the first half of a bit cell, and thcn to scnd the true value of the bit during the second half. Now then. let us first consider what happens in the middle of an infinite string of bits. During the last quarter of the precceding bit ccll and the first quarter of the current bit ccll. the IXCLK signal is true, enabling gate 110, which passcs TXDATA to the D input of flip-flop ]08, which clocks it on the rising edge of the 2XCLK signal. Since PEOUTPUT is the Q-bar output of the flip-flop, it will have the complement of the data value of the bit during the first half of the bit ccll. During the middle two quartcrs of the current bit cell, the 1XCLK signal is false, cnabling gate 106, which passes the complement of PEOUTPUT to the D input of flip-flop 108, which looks at it on the rising edge of the 2XCLK signal. at the midpoint of the bit cell. This complements the current value of the flip-flop which is alrcady the complement of the bit value, so the true value of the bit is sent during the second half. Now we have to worry about starting and stopping a transmission without generating any partial bits (sometimes referred to in the an as "nints" or "glitches"). It should be noted that forcing a high onto point 107 will override whatever gates 106 and 110 are doing, and force flip-flop 108 to always clock in a high, and thus PEOUTPUT will always be low (i.c, off). Note also that flip-flop 1Q8 is clocked twice per bit cell. To shut down the phase encoder 56. we must force a high at point 107 after the clock in the middle of the bit cell, and before the clock at the cnd of the bit ccll (which is also the clock at the beginning of the next bit cell which we don't want to transmit in). To start it up, we must remove the forced high during the same time window. If we change it during the first half of a bit cell, we will generate a half bit "runt". To avoid "glitches", we must not change the D input of flip-flop 112 near the time when a rising edge occurs at its clock input. Looking around for a signal with these properties, we find that thelXCLK signal is just shat we need. lt has a rising edge (for a clock that's usually when the action takcs place) 3/4 of the way through a bit cell, i.c., 1/4 of a bit cell after flip-flop 108 has complemented its output for the second half, and 1/4 of a bit cell before it will clock in the (complemented) value of the next biL That rising edge is in the required window, and far away from the rising edges of the 2XCLK signal. Thus, flip-flop 112 samples TXGO on the rising edge of the 1XCLK signal. Its output forces a high at point 107 to stop the phase encoder 56, or a low to start it, and this signal changes only at times when a whole bit cell will be encoded. Inverter 104 isolates what is going on at point 107 from what is going on at the input to gate 130. Now we rnust generate the GOTBIT signal. This signal must go true for one cycle of the 8XCLK signal after flip-flop 108 loads a data biL It tells ROM 114 (Figure 10) in the transmitter control circuit 57 that the current bit has been taken and flip-flop 108 won't be looking at TXDATA for a while. This signal must get to ROM 114 in time for it to shift the next bit into position (or parallel load if the last bit emptied the shift register 70) before flip-flop 108 looks again. This will be 340 ns, or one bit time after it looked at the last bit The rising edge of the 2XCLK signal while the lXCLK signal is high is the instant when TXDATA is samp]ed, if the phase encoder is enabled. The output of gate 130 goes low when the 1XCLK signal is high and the phase encoder is enabled; and this is clocked into flip-flop 132 by the rising edge of the 2XCLK signal. Thus, the Q output of flip-flop 132 goes low at the beginning of each bit cell in which the phase encoder is active, and at the sarne instant the phase encoder flip-nop 108 samples the next data biL This level is fed into flip-flop 134, and 8XCLK period later it sets flip-flop 134, which instantly resets flip-flop 132 (which is now ready to repeat its mission long before it will be called on). The next tick of SXCLK will reset flip-flop 134 because of the feedback from its Q' output to its K input Thus, the GOTBIT signal goes high for one cycle of the SXCLK signal, one SX'CLK period aftcr flip-flop 103 samples TX DATA. This leaves 3/4 of a bit time (255 ns) for the ROM 114 (Figure 10) and the shift register 70 to get ready. Referring to Figure 10, the transmitter control circuit 57 depicted in Figure 2 will be described As shown, the circuit.57 includes the ROM 114 having eight input lines as follows: (1)-(3) STATE - A three-bit signal developed at respective outputs of the ROM 114, latched in respective output flip-nops 116, 178 and 120, and fedback to respective inputs of the ROM 114. The various states and their significance will be described below. (4) SREMPTY - This signat is developed at the output of the shift register 70 and is true when the register has shifted 15 times so that the bit at its serial output is the last valid bit (5) COLLISION - This signal is developed at the output of the receiver control circuit 55 and is true when the PDEVENT signal is "01", signifying a collision. (6) PDCARRIER - This signal is developed at the output of the phase decoder 52 and is true when the communication medium 14 is in use. (7) GOTBIT (GB) - This signal is developed at the output of the phase encoder 56 for reasons just describes (S) TRANSMIT ENABLE - This signal is developed by the using device 36 and is false when a transmission is to be disabled or delayed, as explained above. In addition to the three STATE output lines from the ROM 114, the ROM 114 also develops the 17(GO, STARTBIT (SB) and TNSRCTRL signals referred to earlier. These signals are latched in respective output flip-flops 122, 124 and 126 and then forwarded to the phase encoder 56 (TXGO and SB) and the shift register 70 (TXSRCTRL). AU six flip-flop 116-126 are latched by the SXCLK signal applied to their respective clock inputs. Actually, and as with the case of the RXSRCrRL signal, the TXSRCTRL signal is a two-bit signal, and thus there are really two flip-flops 126 and associated output lines. Again, only one is shown for simplicity. A prcsently preferred prograrn for ROM 114 is set forth in table form in Figure 11, where each of the various "states" are identified and will now be described as follows: (1) IDLE - In this state, the transmitter is shut down. (2) MARK - In this state, the STARTBIT output line is raised to " wire-OR" a binary one with the TXDATA signal input to the flip-nop 108 (Figure 9). (3) DATA - In this state, data loaded into the shift register 70 from the using device 36 via the output buffer register 66 is fonvarded to the phase encoder 56.

Claims: Claims: 1. A data communication system comprising a communicating medium(14), a plurality of transceivers (16, 18) connected to said medium (14), each transceiver including transmitting means (44) for transmitting encoded data onto said medium and receiving means (46) for receiving encoded data communicated on said medium (14) by another transceiver (16, 18), and means (57) for interrupting the transmission of data onto the medium by one transceiver when that same transceiver receives data by another transceiver, characterised by decoder means (52) coupled to the receiving means (46) of each transceiver (16, 18) for decoding data received by said receiving means and applying at its output a decode signal representative of the character of the received data, said decode signal treing at a predetermined value whenever data communicated on said medium by another transceiver is received by said receiving means during the time said transmitting means is transmitting data onto said medium (14), sa d interrupting means (57) being coupled to the output of said decoder means (52) for interrupting the transmission of data onto said medium by sail transmitting means whenever the decode signal is at said predetermined valise. 2. A data communic-ation system according to claim 1, wherein said con municating medium (14) includes a coaxial cable. 3. A data communication system according to claim 1 or 2 wherein saic decoder means (52) is a phase decoder capable of decoding phase ended data (PDINPUT) received by said receiving means (46), said phase decider (52) comprising means (72) for synchronising received phase-encoded data with the frequency of a predetermined clock signal (8XCLK), means (74, ?6) coupled to the output of said synchronising means (72) for developing a pa r of output signals respectively indicative of the state of the received phe: :-encoded data at two successive clock periods, means (80) for counting the periods of said clock signal, and means (78) coupled to said developing means (74, 76) and said counting means (80) for generating said decode signal. 4. A data communication system according to claim 3, wherein said phase decoder (52) is completely digital. 5. A digital phase decoder capable of receiving and decoding phaseencoded data characterised by means (72) for synchronising received phaseencoded data with the frequency of a predetermined clock signal (BXCLK), means (74, 76) coupled to the output of said synchronising means (72) for developing a pair of output signals respectively indicative of the state of the received phase-encoded data at two successive clock periods, means (80) for counting the periods of said clock signal, and means (78) coupled to said developing means (74, 76) and said counting means (80) for generating a decode signal representative of the character of the received data. 6. The invention of claim 4 or 5, wherein said synchronising means (72) includes a first flip-flop. 7. The invention of claim 6, wherein said developing means (74, 76) includes second and third flip-flops for respectively developing said pair of output signals, said second and third flip-flops (74, 76) being connected in series with each other and said first flip-flop. 8. The invention of claim 7, wherein said generating means (78) includes a read-only memory programmed to detect a transition of said received phase-encoded data when said pair of output signals from said second and third flip-flops (74, 76) are different. 9. The invention of claim 8, wherein the bit frequency of said phaseencoded data is a predetermined fraction, preferably 1/8, of the bit frequency of said predetermined clock signal (8XCLK). 10. The invention of claim 9, wherein said counting means (80) is capable of counting to sixteen.

Inventors: BOGGS, DAVID R., METCALFE, ROBERT M.
Applicants: XEROX CORPORATION
Application year: 1981
Main classification: H04L11
IPC codes: H04L25, H04L12