Background of the Invention
1. Field of the Invention
This invention relates generally to data conversion. In particular, this invention relates to an electronics circuit for the conversion of serial data into words of parallel bits suitable for assimilation by a computer.
2. Description of the Prior Art
Data in a serial format must first be converted into a parallel format before it can be applied to the input terminal of a computer. This conversion is generally accomplished by the use of a serial to parallel converter circuit. Such circuits of the prior art generally contain a storage register which stores a predetermined number of serial data bits therein. The aforementioned data bits are then read out in parallel and applied to the input terminal of a computer.
One such serial to parallel data converter of the prior art is disclosed in U.S. Pat. No. 3,395,400 to Russell G. DeWitt and John P. Forde. This serial to parallel data converter, in turn, includes a shift register for storing therein a predetermined number of serial data bits. Subsequent data of the input signal is then diverted to a store for a predetermined time during which the shift register is cleared. After the predetermined time, the diverted data bits are read into the shift register at a much higher rate than the bit rate of the input signal, and they are followed by the immediately following bits of the input signal.
A second serial to parallel data converter of the prior art is disclosed in U.S. Pat. No. 3,267,460 to F. M. Merrell and E. A. Herrera. This serial to parallel data converter, in turn, includes parallel mode means for producing an output word in the parallel mode, or for receiving a word in the parallel mode, or both; and serial mode means for producing an output word in the serial mode, or for receiving a word in the serial mode, or both. In addition, the aforementioned converter includes therein a first shift register connected between the parallel mode means and the serial mode means, and having a storage capacity of L bits, and a second shift register connected in parallel with the first shift register and having a storage capacity of B bits where B is a smaller number than L.
While the aforementioned devices of the prior art perform satisfactorily for their intended purpose, that of data conversion, these devices of the prior art ordinarily leave something to be desired, especially from the standpoints of complexity in design, data transmission speed, and cost effectiveness. In addition, the aforesaid devices of the prior art do not operate in the same manner as the subject invention, and contain a combination of elements that is somewhat different from that of the present invention.
Summary of the Invention
The present invention overcomes some of the disadvantages of the prior art, including those mentioned, in that it comprises a relatively simple serial to parallel data converter for converting a serial output word into a parallel format.
Included in the subject invention are first, second, and third input terminals adapted to receive, respectively, a data ready pulse signal, a data request pulse signal, and a plurality of data words, each data word of which has a plurality of data bits.
A pair of shift registers then receives and stores therein for a first predetermined time period in response to a clock signal the aforesaid data words. The first data word, in turn, is stored in the aforementioned shift registers in response to the data ready pulse signal, while subsequent data words are stored in the aforesaid shift registers in response to the data request pulse signal. Gating means will next provide a latch pulse signal so as to effect the transfer of the data words stored within the aforesaid shift registers to a pair of storage registers. A microprocessor will then provide an enable pulse signal to the storage registers, thereby effecting the transfer of the data words from the storage registers to the microprocessor.
Brief Description of the Drawings
FIG. 1 is a block diagram of a typical situation in which the subject invention may be utilized;
FIG. 2 is an electrical schematic diagram of a serial-to-parallel data conversion interface circuit constituting the subject invention; and
FIG. 3 is an expanded graphical representation of various pulse signals which occur at the outputs of some of the elements of FIG. 2.
Description of the Preferred Embodiment
The preferred embodiment of the subject invention will now be discussed in some detail in conjunction with all of the figures of the drawing, wherein like parts are designated by like reference numerals insofar as it is possible and practical to do so.
Referring first to FIG. 1, there is shown a head tracker 11, the input-output terminal of which is connected to the first input-output terminal of a serial-to-parallel data conversion interface circuit 13, with the second input-output terminal thereof connected to the input-output terminal of a microprocessor 15. Interface circuit 13, in turn, converts the serial data provided by head tracker 11 to a parallel data format so as to allow microprocessor 15 to process the parallel data, as will be discussed more fully below.
Referring now to FIGS. 1 and 2, there is shown in FIG. 2 an electrical schematic diagram of interface circuit 13. Interface circuit 13 includes a NOR gate 17, the inputs of which are connected through an input terminal 19 to the data request output of microprocessor 15. The output of NOR gate 17, in turn, is connected to the first input of a NOR gate 21.
The data ready output of head tracker 11 is connected through an input terminal 23 to the input of a receiver 25, the output of which is connected to the input of a delay circuit 27, with the output thereof connected to the clock input of a flip-flop 29. The Q output of flip-flop 29 is connected to the input of a driver 31, the output of which is connected through an output terminal 33 to the data acknowledge input of head tracker 11. In addition, the Q output of flip-flop 29 is connected to the input of a delay circuit 34, the output of which is connected to the second input of NOR gate 21, with the output thereof connected to the set input of a flip-flop 35.
The Q output of flip-flop 35 is connected to the reset input of a counter 37 and the reset input of a flip-flop 39, the clock input of which is connected to the output of counter 37 and the Q output of which is connected to the first input of a NOR gate 40. The output of a direct current voltage source 41 is connected to the data input of flip-flop 29 and the J input of flip-flop 39.
The Q output of flip-flop 35 is connected to the input of a clock signal generator 41, the Q output of which is connected to the inputs of a NOR gate 43, with the output thereof connected to the inputs of a NOR gate 45. The output of NOR gate 45 is, in turn, connected to the inputs of a NOR gate 47, the output of which is connected to the inputs of a NOR gate 49, with the output thereof connected to the input of a driver 51. The output of driver 51 is connected through an output terminal 53 to the clock input of head tracker 11. In addition, the Q output of clock 41 is connected to the clock input of a shift register 55 and the clock input of shift register 57.
The Q output of clock 41 is connected to the clock input of counter 37 and the second input of NOR gate 40, the output of which is connected to the first input of a NOR gate 59, with the output thereof connected to the clock input of flip-flop 35. In addition, the output of NOR gate 40 is connected to the latch input of a storage register 61 and the latch input of a storage register 63. A ground 65 is connected to the K input of flip-flop 39, the second input of NOR gate 59, and the data input of flip-flop 35.
The reset output of microprocessor 15 is connected through an input terminal 67 to the reset inputs of flip-flop 29, flip-flop 35, shift registers 55 and 57, and storage registers 61 and 63. The enable output of microprocessor 15 is connected through an input terminal 69 to the enable input of storage register 61 and the enable input of storage register 63. The first select output of microprocessor 15 is connected through an input terminal 71 to the select input of storage register 61, while the second select output of microprocessor 15 is connected through an input terminal 73 to the select input of storage register 63.
The data output of microprocessor 15 is connected through an input terminal 75 to the input of a driver 77, the output of which is connected to the data input of shift register 55. Data outputs one through eight of shift register 55 are respectively connected to the data inputs of storage register 61, while the ninth data output thereof is connected to the first data input of shift register 57 and the first data input of storage register 63. The data outputs of shift register 57 are, in turn, connected to the remaining data inputs of storage register 63. The data outputs of storage register 61 are respectively connected through output terminals 79 through 93 to eight of the sixteen data inputs of microprocessor 15, while the data outputs of storage register 63 are respectively connected through output terminals 95 through 109 to the remaining data inputs of microprocessor 15. In addition, the data ready output of a storage register 61 is connected to the inputs of a NOR gate 109, the output of which is connected through an output terminal 111 to the data ready input of microprocessor 15.
In the exemplary serial-to-parallel data conversion interface circuit of FIG. 2, according to the subject invention, components successfully utilized are as follows:
The operation of the subject invention will now be discussed in conjunction with all of the figures of the drawing.
Referring to FIGS. 1 and 2, when activated microprocessor 15 initializes interface circuit 13 by supplying to the reset inputs of flip-flops 29 and 35, shift registers 55 and 57, and storage registers 61 and 63, a reset pulse similar to that depicted in the reset pulse signal of FIG. 3A. The reset pulse of the signal 3A, in turn, clears shift registers 55 and 57 such that the outputs thereof are in the logic "0" state, as well as storage registers 61 and 63 such that the data outputs thereof are in the logic "0" state.
In addition, the reset pulse of the signal of FIG. 3A resets flip-flop 29 such that the Q output thereof is in the logic "0" state, and flip-flop 35 such that the Q output thereof is in the logic "0" state, and the Q output thereof is in the logic "1" state. The logic "0" provided at the Q output of flip-flop 35 is then supplied to the input of counter 37 so as to reset counter 37 such that the output thereof is in the logic "1" state. In addition, the aforementioned logic "0" resets flip-flop 39 such that the Q output thereof is in the logic "1" state.
Referring again to FIGS. 1 and 2, head tracker 11 supplies through receiver 25 to the input of delay circuit 27, a data ready pulse signal similar to that depicted in FIG. 3B. The data ready pulse signal of FIG. 3B, in turn, indicates to interface circuit 13 that head tracker 11 has head movement data stored therein which is ready for processing by micro-processor 15. As will be discussed more fully, the aforementioned head movement data provided by head tracker 11 is indicative of the movement of the head of a trainee or the like in azimuth, roll and elevation.
The data ready pulse signal of FIG. 3B is delayed by delay circuit 27 for approximately 0.5 microseconds such that delay circuit 27 will provide at the output thereof a data ready pulse signal similar to that depicted in FIG. 3C. The signal of FIG. 3C is supplied to the clock input of flip-flop 29 so as to trigger flip-flop 29 such that the Q output thereof will change from the logic "0" state to a logic "1" state, thereby forming at the Q output of flip-flop 29 a data acknowledge pulse signal similar to that depicted in FIG. 3D. The signal of FIG. 3D is, in turn, supplied through driver 31 to head tracker 11 so as to acknowledge receipt by interface circuit 13 of the data ready pulse signal of FIG. 3B supplied thereto by head tracker 11.
In addition, the signal of FIG. 3D is supplied to the input of delay circuit 34 such that the output thereof will change from a logic "0" state to a logic "1" state approximately 0.5 microseconds after the application of the positive going edge of the signal of FIG. 3D to the input of delay circuit 34. The logic "1" provided by delay circuit 34 is then supplied to NOR gate 21 such that the output thereof will change from a logic "1" state to a logic "0" state, as shown in the signal waveform of FIG. 3E. This, in turn, will cause Q output of flip-flop 35 to change from the logic "1" state to a logic "0" state, as shown in the signal waveform of FIG. 3F, thereby activating clock 41. Clock 41, in turn, will provide at the Q output thereof a clock signal similar to that depicted in FIG. 3H, and at the Q output thereof a clock signal similar to that depicted in FIG. 3I.
In addition, when a logic "0" is supplied to the set input of flip-flop 35, the Q output thereof changes from a logic "0" state to a logic "1" state, as shown in the signal waveform of FIG. 3J, so as to activate counter 37 and flip-flop 39.
The clock signal of FIG. 3I is supplied to the clock input of counter 37, which is preset to count to sixteen. After the application of the positive going edge of the eighth clock pulse of the clock signal of FIG. 3I to the clock input of counter 37, the output thereof will change from a logic "1" state to a logic "0" state, as represented by the signal waveform of FIG. 3L. Similarly, after the application of the positive going edge of the sixteenth clock pulse of the clock signal of FIG. 3I to the clock input of counter 37, the output thereof will change from a logic "0" state to a logic "1" state, as shown in the signal waveform of FIG. 3L.
Application of the positive going edge of the signal of FIG. 3L triggers flip-flop 39 such that the Q output thereof will change from a logic "1" state to a logic "0" state, as shown in the signal waveform of FIG. 3M. This, in turn, opens NOR gate 40 such that the seventeenth pulse of the signal of FIG. 3I will pass through NOR gates 40 and 59, as shown in the signal waveform of FIG. 3N. The pulse of the signal of FIG. 3N is then supplied to the clock input of flip-flop 35 so as to trigger flip-flop 35 such that the Q output thereof will change from a logic "1" state to a logic "0" state as shown in the signal of FIG. 3J. This, in turn, inhibits counter 37, and resets flip-flop 39 such that the Q output thereof will change from the logic "0" state to a logic "1" state as depicted in the signal of FIG. 3M.
As discussed previously, activation of clock 41 will cause clock 41 to provide at the Q output thereof the clock signal of FIG. 3H. The clock signal of FIG. 3H, in turn, passes through NOR gates 43, 45, 47, and 49, which delay the aforementioned signal approximately 15 nanoseconds, as depicted in the signal waveform of FIG. 3P. The clock signal of FIG. 3P is then supplied through driver 51 to the clock input of head tracker 11 so as to effect the transfer of the data bits stored within head tracker 11 from head tracker 11 to interface circuit 13.
Head tracker 11 has stored therein three data words, the first of which indicates azimuthal movement of the head of the wearer of head tracker 11, the second of which indicates elevational movement of the head of the wearer of head tracker 11, and the third of which indicates roll movement of the head of the wearer of head tracker 11. Each data word stored within head tracker 11, in turn, has sixteen data bits, and a parity bit as depicted in the signal waveform of FIG. 3R, with the particular data word depicted in FIG. 3R having a data bit pattern of 1010100101100000 and a parity bit of 1.
The first bit of the data word of FIG. 3R is supplied through receiver 77 to the data input of shift register 55. Head tracker 11 then supplies to interface circuit 13 the data ready pulse signal of FIG. 3A so as to activate clock 41, in the manner described above, such that clock 41 will provide at the Q output thereof the clock signal of FIG. 3H. The aforementioned clock signal of FIG. 3H is, in turn, supplied to the clock input of shift register 55, with the negative going edge of the first clock pulse thereof clocking into shift register 55 the first data bit of the data word of FIG. 3R.
The negative going edge of the first clock pulse of the clock signal of FIG. 3P then transfers the second data bit of the data word of FIG. 3R to the clock input of shift register 55, so as to allow the negative going edge of the second clock pulse of the clock signal of FIG. 3H to clock the aforesaid data bit into shift register 55. The above pattern is repeated until each data bit and the parity bit of the data word of FIG. 3R are clocked serially into shift registers 55 and 57.
At this time it should be noted that the sixteen data bits of the data word of FIG. 3R appear at the data outputs of shift registers 55 and 57. However, the parity bit of the data word of FIG. 3R is stored within shift register 55, since the aforementioned parity bit is an error bit, the processing of which is not necessary by microprocessor 15.
Ad discussed above, when the Q output of flip-flop 39 changes from a logic "1" state to a logic "0" state such that NOR gate 40 is opened, the seventeenth pulse of the clock signal of FIG. 3I will pass through NOR gate 40. In addition, NOR gate 40 inverts the aforementioned pulse, as depicted in the signal waveform of FIG. 3S.
The pulse of the signal of FIG. 3S is then supplied to the latch inputs of storage registers 61 and 63 such that the storage registers 61 and 63 will latch therein on the negative going edge of the aforesaid pulse the sixteen bit data word appearing at the data outputs of shift registers 55 and 57.
Storage register 61 then provides at the data ready output thereof a data ready pulse signal similar to that depicted in FIG. 3T. The data ready pulse signal of FIG. 3T is, in turn, passed through NOR gate 109, which inverts the aforesaid data ready pulse signal and then supplies the resultant signal to the data ready input of microprocessor 15. Microprocessor 15, in response to the data ready pulse signal of FIG. 3T, provides first and second decoded address select signals, respectively depicted in FIG. 3U and FIG. 3V. The decoded address select signal of FIG. 3U is then supplied to the select input of storage register 61 so as to address storage register 61 and thereby activate storage register 61, while the decoded address select signal of FIG. 3V is supplied to the select input of storage register 63 so as to address storage register 63, and thereby activate storage register 63. In addition, in response to the data ready pulse signal of FIG. 3T, microprocessor 15 supplies to the enable inputs of storage registers 61 and 63 an enable signal similar to that of FIG. 3W. The aforesaid enable signal of FIG. 3W, in turn, causes the transfer of the sixteen bit data word stored within registers 61 and 63 to microprocessor 15 for processing thereby.
Microprocessor 15 then provides at the data request output thereof a data request pulse signal similar to that depicted in FIG. 3X. The data request pulse signal of FIG. 3X, in turn, indicates to interface circuit 13 that microprocessor 15 is ready for the transfer of a second data word from head tracker 11. The data request pulse signal of FIG. 3X is inverted by NOR gate 21, as shown in the signal waveform of FIG. 3Y and then supplied to the set input of flip-flop 35 so as to trigger flip-flop 35. This, in turn, activates clock 41 such that clock 41 will provide at the Q and Q outputs thereof, respectively, the clock signals of FIGS. 3H and 3I. The clock signals of FIGS. 3H and 3I will then effect the transfer of the second data word from head tracker 11 to microprocessor 15 in the manner described previously.
As mentioned above, head tracker 11 provides at the data output thereof three data words indicative respectively of azimuthal, elevational, and roll movement of the head of the wear of head tracker 11. The third data word provided by head tracker 11 is, in turn, transferred from head tracker 11 through interface circuit 13 to microprocessor 15 in the manner described above.
When the aforementioned three data words have been transferred to microprocessor 15 for processing thereby, microprocessor 15 will provide at the reset output thereof the reset pulse signal of FIG. 3A so as to reset interface circuit 13. This, in turn, allows for the transfer of three additional data words from head tracker 11 through interface circuit 13 to microprocessor 15 in the manner described above.
From the foregoing, it may readily be seen that the subject invention comprises a new, unique, and exceedingly useful serial to parallel data conversion interface circuit which constitutes a considerable improvement over the known prior art. Obviously, many modifications and variations of the present invention are possible in light of the above teachings. It is, therefore, to be understood that within the scope of the appended claims the invention may be practiced otherwise than as specifically described.