Background of the Invention
The present invention relates to the transmission of data in binary form serially through an information channel, and more particularly, to an apparatus for decoding Manchester encoded data.
In transmitting serial digital data, it is necessary to provide a series of clock pulses in addition to the data in order to synchronize the coding of the transmitted serial data at the receiving terminal. Prior transmitting schemes have required two channels, one for data, and one for clock. To avoid the need for two channels, and to eliminate certain difficulties in magnetic recording of serial data, self-clocking codes were developed which combined data and clock signals.
The Manchester code is one self-clocking code. Manchester encoders accept clock and data signals and combine them into a single output which may then be transmitted via a single channel to the receiving terminal. When the self-clocking data signal arrives at the receiving terminal, it is processed by a Manchester decoder which separately extracts the data and clock signals.
Prior Manchester decoders have in many cases required extensive circuitry. Furthermore, the speed of prior Manchester decoders has been limited by speed limitations of the solid state components they have utilized.
Summary of the Invention
It is therefore the primary object of the present invention to provide an improved Manchester decoder which utilizes fewer components.
Another object of the present invention is to provide a Manchester decoder which is capable of processing at half the sampling rate.
Still another object of the present invention is to provide a Manchester decoder which utilizes a programmable gate array logic integrated circuit having Boolean expressions encoded therein.
Yet another object of the present invention is to provide a Manchester decoder that utilizes a sequential state machine approach.
Another object of the present invention is to provide a Manchester decoder which generates a gap signal to indicate when the data transmission is over.
Finally, another object of the present invention is to provide a Manchester decoder having a self-testing diagnostic feature.
Accordingly, the present invention provides a decoder in which an incoming serial Manchester signal is synchronously sampled by a first flip-flop with respect to a reference clock signal of a frequency f.sub.o. A second flip-flop divides the reference clock signal to provide f.sub.o /2 clocking to a pair of shift registers wherein one shift register is of bit length M and the other is of bit length N. The first flip-flop provides to the first shift register a present sample corresponding to the state of the Manchester waveform. A third flip-flop samples and stores the state of the Manchester waveform sample, as provided by the first flip-flop, which occurred one-half clock period prior to the f.sub.o /2 clocking of the shift registers. The third flip-flop provides to the second shift register a delayed sample corresponding to the state of the Manchester waveform. The sample provided to the second shift register is a sample which occurred previously in time, by 1/f.sub.o clock period, relative to the present sample provide to the first shift register. Sample pairs are stored and shifted at the rate of f.sub.o /2 while a sampling rate of f.sub.o is achieved. As a result, the interval over which the sample at each register bit output remains stable is increased, thereby enabling the use of a sequential decoding technique. The outputs of the two shift registers are interleaved, and tied to the input of a programmable gate array, to synthesize a single shift register of bit length M+N. State machine Boolean expressions encoded into the gate array are utilized to sequentially recover data, clock and gap signals and to facilitate self-test diagnostics.
Brief Description of the Drawings
FIG. 1 is a functional block diagram of a preferred embodiment of my Manchester decoder.
FIG. 2 is a schematic diagram of the preferred embodiment.
FIG. 3 is a timing diagram having a series of waveforms which illustrate the operation of the preferred embodiment.
FIG. 4 is a table of the bit patterns used by the gate array of the preferred embodiment to analyze the Manchester waveform.
FIG. 5 is a state diagram illustrating the decision making sequence of the gate array of the preferred embodiment through the Boolean expressions encoded therein.
Description of the Preferred Embodiment
The preferred embodiment of my high speed sequential serial Manchester decoder circuit which is described and illustrated herein is adapted for decoding Manchester biphase level signals encoded in accordance with MIL-STD-1553A as amended Apr. 30, 1975. That military standard specifies that a logic one shall be transmitted as a bipolar coded signal 1/0, i.e., a positive pulse followed by a negative pulse. It further specifies that a logic zero shall be transmitted as a bipolar coded signal 0/1, i.e., a negative pulse followed by a positive pulse. According to this military standard, a transition through zero occurs at the midpoint of each bit time. In the preferred embodiment of my decoder, the bit rate of the Manchester signal is six megahertz.
Referring to the block diagram of FIG. 1, the preferred embodiment of my decoder has a D type flip-flop FF1 which functions as a waveform sampling and synchronizing latch, a J/K type flip-flop FF2 which functions as a divider, and a J/K type flip-flop FF3 which functions as a sample delay latch. The flip-flop FF1 is provided by one-half of a 54S74 chip (integrated circuit), the two halves of which chip are separately denoted in FIG. 2 as S74. The flip-flops FF2 and FF3 (FIG. 1) are provided by a 54S112 chip, the two halves of which chip are separately denoted in FIG. 2 as S112.
The preferred embodiment further includes a shift register of a length M+N which is divided into parts denoted in FIG. 1 as REG 1 and REG 2. In the preferred embodiment, the registers are provided by a pair of 54F374 octal latch chips (FIG. 2) which are externally connected to operate in the manner of shift registers. The outputs of REG 1 and REG 2 are interleaved, and tied to the inputs of a gate array GA (FIG. 1), to synthesize a single register of bit length M+N. In the preferred embodiment, the gate array is provided by a 16L8 programmable logic array chip (FIG. 2). The outputs of the gate array are connected through an output latch OL (FIG. 1) to provide state storage and diagnostic feedback control to flip-flop FF1. The output latch is provided by the portion of the right 54F374 chip (FIG. 2) which is not utilized in forming shift register REG 2. The gate array GA and the output latch OL together comprise what is referred to herein as a "state machine".
As is conventional, the asynchronous Manchester signal is carried in analog form to the decoder and is coupled into the decoder via a terminating transformer (not illustrated). The transformer provides signals to two transistor gain stages (not illustrated) whose outputs, ASYNCMAN and ASYNCMAN, are in complement to each other and are respectively fed to pins 1 and 4 of the lower S74 flip-flop in FIG. 2. This flip-flop converts the inputs at pins 1 and 4 to a single ended NRZ TTL compatible waveform on pin 5.
A 44 Megahertz reference clock signal f.sub.o (FIG. 3) is generated by an external stable crystal oscillator OSC (FIG. 2) on pin 11 and is applied to pin 11 of the upper S74 flip-flop. The TTL compatible Manchester signal from the lower S74 flip-flop is applied to pin 12 of the upper S74 flip-flop. At this point, the Manchester waveform at pin 12 of the upper S74 flip-flop is asynchronous to the 44 Megahertz clock signal. When the positive going edge of the 44 Megahertz clock signal makes a low to high transition, the state of the Manchester waveform at pin 12 of the upper S74 flip-flop is sampled and is transferred to pin 9 and the complement to pin 8 of the upper S74 flip-flop.
The 44 Megahertz clock signal is also applied to pin 1 of the lower S112 flip-flop (FIG. 2) which divides the clock signal and provides a 22 Megahertz clock signal (FIG. 3) at pin 6 (FIG. 2) of this flip-flop. This 22 Megahertz signal is applied to pin 13 of the upper S112 flip-flop and to pin 11 of both of the 54F374 shift registers. The sample rate of the circuit is 44 Megahertz and the processing rate of the Manchester signal is at 22 Megahertz. Therefore, upper S112 flip-flop stores the state or sense of the synchronous Manchester waveform presented at the outputs provided at pins 9 and 8 of the upper S74 flip-flop, midway between the positive edges of the 22 Megahertz clock signal (see FIG. 3).
REG 2 (FIG. 1) is formed by the Q outputs of the left 54F374 chip (FIG. 2) pins 6, 15, 12 and 9. REG 1 (FIG. 1) is formed by the Q outputs at pins 5, 16, 19, and 2 on the left 54F374 chip (FIG. 2) and on the right 54F374 chip, pins 15 and 2. REG 2 is fed by pin 9 of the upper S112. REG 1 is in parallel with the upper S112 input. At the occurrence of each positive edge of the 22 Megahertz clock signal, REG 1 and REG 2 simultaneously store their respective samples of the synchronous Manchester waveform. The data presented to REG 2 by the upper S112 which occurred previously in time by one-half the period of the 22 Megahertz clock cycle relative to the data sample presented directly to REG 1 from flip-flop FF1. Consequently, REG 1 and REG 2 store and shift samples of the Manchester waveform. The shift rate is equal to 22 Megahertz. With each 22 Megahertz clock cycle the Manchester waveform is sampled twice for an equivalent sampling rate of 44 Megahertz.
The approach utilized in my decoder increases the interval over which the data at each register bit output remains stable enabling the use of a sequential decoding technique for the high speed Manchester waveform. The outputs of the two shift registers are interleaved and tied to the gate array inputs to synthesize a single register of bit length M+N. In the preferred embodiment, M+N equals ten bits.
The Manchester waveform is analyzed, as it propagates through the combined shift register, by selected register tap points. These tap points result in a waveform window to discriminate against waveform anomalies. These anomalies include bit rates other than the specified information channel bit rate and asymmetries within the Manchester waveform itself. Such an asymmetry might be, for example, a Manchester logic one having a period which is too long or too short.
As previously indicated, latches with output pins 5, 6, 9, 16 and 12 of the right 54F374 chip (FIG. 2) are used as gate array output latches. In the gate array (16L8 chip), certain Boolean expressions sequentially recover, from the profile of the Manchester waveform, discrete data, clock and gap signals (FIG. 3). Other Boolean expressions, in response to a diagnostic self-test command signal applied at pin 18 of the right hand 54F374, exercise the entire decoder enabling a circuit end-to-end diagnostic test. Pin 5 of the right hand 54F374 is connected to pin 10 of the upper S74 flip-flop and pin 6 of the right hand 54F374 is connected to pin 13 of the upper S74 flip-flop, enabling this end-to-end test. When a low signal is applied to pin 18 of the right 54F374, that low signal is synchronized to the 22 Megahertz clock and the latch at pin 19 for the same chip is provided as an input to pin 1 of the 16L8 chip. Boolean expressions within the gate array enable pins 14 and 17 of the 16L8 chip. The signals on these pins pass through the output latch (portion of right 54F374) to provide feedback control to the upper S74 flip-flop through pins 10 and 13 thereof.
When the diagnostic function is selected the state machine alternately takes pin 10 and pin 13 of the upper S74 low to synthesize an incoming Manchester 1010 . . . waveform pattern. The absence of a gap condition is detected by the 16L8 chip and the gap signal is taken high. The clock signal occurs at the mid-point of each bit time in the Manchester waveform, as determined by the logic levels at the register taps. Releasing the diagnostic self-test control input returns the gap, data and clock sigals to their quiescent states.
Table I set forth hereafter is a listing of the signal names assigned to the pins of the 16L8 chip:
Table II set forth in FIG. 4 is a listing of the gate array register truth table.
Table III set forth hereafter is a listing of the Boolean expressions encoded into the gate array for performing the sequential recovery of the data, clock and gap signals from the Manchester waveform as well as the end-to-end diagnostic test:
When the 16L8 chip, through the use of Boolean expressions makes decisions, it assumes one of several states. Each of these states corresponds to a function. FIG. 5 is a state diagram illustrating the decision making sequence of the gate array through the use of the Boolean expressions. In the center of FIG. 5 is a truth table assigning state numbers to various combinations of the three output signals, namely, gap, data and clock. The quiescent state is state 3. That is the state assumed when there is no incoming Manchester waveform to decode. Each of the arrows in the diagram of FIG. 5 has a label indicating the requirements to move between states in the direction of the arrow indicated. Between each pair of positive edges of the 22 Megahertz clock signal, the state machine makes decisions based on the Boolean expressions in response to the combination of the current states of the output latches and the states of the tap points of the shift registers. The tap points are the Q outputs of the shift registers. The notation "ST'" in FIG. 5 refers to the self test diagnostic input.
With the arrival of a Manchester waveform, assuming that the first data bit is a logic one, the state machine exits state 3 and arrives at state 7. The machine waits at state 7 until the detection of the mid-point of each bit time in the Manchester waveform, as determined by the logic levels at the register taps, at which time it jumps to state 6 for one clock cycle of the 22 Megahertz signal. The machine immediately exits state 6 to jump back to state 7. The state machine will stay on state 7 if the succeeding Manchester data bit is a logic one and subsequentially jump back to state 6 at another mid-point of the bit time in the Manchester waveform and arrive again back at state 7. All subsequent logic ones follow the same pattern.
If the succeeding Manchester data bit is a logic zero, then the state machine goes from state 7 to state 5 and the data output is a logic zero. The state machine cycles on state 5 until the occurrence of a mid-point of the bit time in the Manchester waveform. At that time it jumps to state 4 for one clock period of the 22 Megahertz signal and returns back to state 5 thereafter. All subsequent logic zeros require the state machine to stay on state 5 and jump to state 4 for detected mid-points of the bit times in the Manchester waveform, as determined by the logic levels at the register taps, and then back to state 5 again.
Combinations of ones and zeros require the state machine to make transistions from state 5 to state 7 and back again and respond detected bit mid-points. When the state machine, whether on state 5 or state 7, detects the end of the Manchester waveform, it jumps to state 3, the quiescent state. If the encoded Manchester waveform data is 1100, the state machine goes from state 3 to state 7, then to state 6, then back to state 7, then back to state 6, then back to state 7 and then to state 5. Then it goes from state 5 to state 4, then back to state 5, and then back to state 4 and back to state 5. If that is the end of the transmission, it jumps back to state 3. A transistion from either state 5 or 7 to state 3 requires the gap signal to go low.
When the diagnostics function is enabled, the state machine immediately exits state 3 to alternately jump first to state 7 then state 5 then back in response to the synthesized 1010 . . . Manchester waveform propagating through the M+N register. The state machine responds with an appropriate state 5 to 4 or state 7 to 6 jump with the detection of the mid-point of each bit time in the Manchester waveform as determined by the logic levels at the register taps. Releasing the diagnostics self-test input permits a state 5 or state 7 to return to state 3.
Having described a preferred embodiment of my high-speed sequential serial Manchester decoder, it should be apparent to those skilled in the art that my invention may be modified in arrangement and detail. Therefore, the protection afforded my invention should be limited only in accordance with the scope of the following claims.