US 3703949 A
A high-speed printer of the dot matrix type in which incoming information to be printed, presented in either serial or parallel form, is examined for invalid bits and loaded into a buffer in parallel fashion. Printing does not begin until the buffer is loaded to print a line of the desired length. Printing begins as soon as the first character loaded into the buffer reaches the output stage at which time the actuation of the print wires of the dot matrix are moved across the paper document at a substantially constant speed. Detection of the location of the carriage assembly moving the printer head assembly is performed independent of the movement of the carriage to actuate the print wires at the appropriate locations. Logical circuitry is provided for detecting the presence of invalid characters and the buffer and serial-to-parallel converter are cleared prior to the loading of the next group of characters to be printed on the next line of print. During serial transmission, the printer assembly generates Acknowledge signals to indicate to the transmitting facility that the previous character has been received and stored.
Description (OCR text may contain errors)
Filed Appl Assignee:
l'IIGH-SPEED PRINTER  Inventors: Robert Howard, Roslyn,
Prentice I. Robimon, Hudson; Herbert E. Menhennett, Windham, both of NH.
Centronics Data Computer Corporation, Hudson, NH.
: May 7, 1970 US. Cl ..197/1 R, 197/19, 340/l72.5 Int. Cl. ..B4lj 25/00 Field of Search 197/1, 19, 20; 340/174 SR,
[ 1 Nov. 28, 1972 Primary Examiner-Edgar S. Burr Attorney-Ostrolenk, Faber, Gerb & Soffen ABSTRACT 340 1725 of the location of the carriage assembly moving the printer head assembly is performed independent of the movement of the carriage to actuate the print wires at  References Cited h l Lo a! d d t e appropriate ocatlons. g1c circultry 1s prov! e UNITED STATES PATENTS for detecting the presence of invalid characters and 2,997,152 8/1961 Dirks ..197/1 R buffer and slmal'm'pamllel matter are prior to the loadmg of the next group of characters to 3,232,403 2/1966 l-lebel ..197/19 be printed on the next lme of print. During senal 3,260,341 7/1966 Braumg et al. ..197/19 t th bl t 3 300 017 1/1967 Yazejian et al 197/1 R e assem y i es 31 3 60 4/1967 Foster 01/122 Acknowledge s1gnals to indicate to the transmittmg u f that the haI te h be n i d 3,353,648 11/1967 Amada et a1 ..197/20 x if li Premus 6 ac as 6 race 3,405,392 10/1968 Milne et al. ..197/1 R X 3,544,967 12/ 1970 Sallach et al. ..340/172.5 23 Clains, 23 Drawing Figures mu/Ez 521. fi i: DELEf 37 f; u/vs F550 get/"E F W ear; 1
M l are r 4; .31 g; z 6 Sig/AZ 7%: /33- 64 f ,5 jdzfwa/p W flay @011 p a/mmerze amwcrae ae/yge W my 4.091151 res jfl/Fffje r: 7 M47? 653 C 7 My zacz mwam ftz (2:2 I W W fi/ 6 \1 W 7 re W v'jdl/ 1 7 Ive/449w C Wu gg 4b fem r pal/.6! *241/ //vp;r (d/v7!" w: n/vo r/M/N 34 Ffi 3!! see cw/zw Z 3 a 5 lav/07s: #04325 0611) c/n'u/r f m 41?: Z 2 $553 if/ME 7'0 070:! 35:3; -f-Z/ 555mg?! //L5/ 1; 9 5? zm-z llillllll I llllllillllllllll fill/767V L9 Z, 27
M CL 0 Z4q PATENTEDnuvze m2 SHEEI 010F12 PATENTED nnv 28 I972- SHEET U80F12 v mh y QM N PATENTEI'] NOV 28 m2 SHEET 07 0F 12 3.703.949 SHEET USOF 12 PATENTEDnuvzsmz PATENTEDHDVZB I972 sum 10oF 12' PATENTED "UV 2 8 1972 saw 12m 12 HIGH-SPEED PRINTER The present invention relates to printers and more particularly to a line printer of the dot matrix type for performing a high-speed page printing.
Wire matrix printers are well known in the prior art. One of the earliest types of wire matrix printers is comprised of a plurality of wires arranged in matrix fashion for making impact througha ribbon to a paper document whereby the wires are selectively energized to form characters, numerals and other symbols. The earliest type of wire matrix printers were capable of printing either words or entire characters. The next development in the art consisted of wire matrix printers having a plurality of wires arranged in a M-row by N- column fashion. A typical arrangement for such wire matrix printers are to provide a total of 35 wires arranged in seven rows and five columns to print any character, number, or symbol. In operation, selected ones of the print wires are driven against the paper document to form the desired character or symbol. The print wires are then shifted one position to the right to print the next character whereby shifting occurs in an intermittent fashion. Since 35 separate mechanisms must be provided for each of the 35 print wires forming the 5 X 7 matrix, the amount of mass which must be moved to perform such printing is quite appreciable. This thereby resulted in the development of wire matrix type printers in which only 7 print wires are employed. The print wires are typically arranged in a vertical line and are selectively driven against the paper document to form one of the seven columns of the character. The carriage assembly which moves the print wire assembly is then shifted one position to the right to print the next column. This operation continues until all five columns have been printed to ultimately form the character or other symbol.
The present invention is characterized by providing a high speed impact printer of the dot matrix type in which the printer head assembly is constantly moved across the paper document at speeds not heretofore capable of being achieved in present day systems.
The present invention is comprised of a carriage assembly which supports a printer head assembly having solenoid driven print wires. The entire printer head assembly, including the solenoid drivers, is moved across the paper document at a constant rate of speed. The arrangement of the printer head assembly is such as to provide a light weight compact structure so as to minimize the mass which is moved across the paper document, enabling the structure to move at relatively high speed.
The carriage assembly is driven at a substantially constant rate of speed which is independent of the printing operation. The location of the carriage assembly is detected by a position readout device which generates a pulse as the carriage assembly moves into the next printing position regardless of the speed at which the carriage assembly is being moved.
A buffer is provided for storing all the characters to be printed upon a single line, which buffer is fully loaded before printing begins. Since the buffer is purely an electronic solid state device, the printing speed is limited only by the mechanical structure and not by the buffer. Each character is examined for validity before insertion into the buffer to prevent the loading of invalid characters. As soon as the buffer is either fully loaded or loaded to the extent called for by the transmitting facility, the printing operation is initiated. The printing operation continues until an end of line signal is detected, at which time the buffer is automatically cleared, a dummy character is loaded into the buffer and the carriage assembly is returned to its left-handmost position in readiness for the next line of print. The bit lengths of each character are detected for validity by a control counter. The state of each bit is determined by the duration in which the first portion of the bit interval is at a first level. A timing counter is provided to examine the state of each binary bit comprising a character within a 20 microseconds interval to substantially reduce the effect of any spurious signal upon the accuracy of the bit being received. This arrangement provides a printer having a capability of printing more than 165 characters per second, for accepting serial information at a rate of better than 3,000 bits per second and is capable of accepting up to 80,000 characters per second in the parallel transmission mode providing an extremely high speed printer which is further capable of providing multiple original copies from the single printing operation.
It is, therefor, one object of the present invention to provide a novel high speed impact printer of the dot matrix type in which the printing operation is independent of the speed of movement of the print carriage.
Still another object of the present invention is to provide a novel high speed impact printer of the dot matrix type in which the print head assembly is moved at a constant rate of speed and printing is controlled by electronically detecting the position of the printer head assembly.
Still another object of the present invention is to provide a novel high speed impact printer of the dot matrix type in which characters of each line of print are loaded into a buffer before initiation of the print operation in order to permit the print mode to be performed at a high rate of speed.
Still another object of the present invention is to pro- 7 vide a novel high speed impact printer of the dot matrix type in which characters of each line of print are loaded into a buffer before initiation of the print operation in order to pennit the print mode to be performed at a high rate of speed and wherein characters are examined for validity before insertion into the buffer to prevent the loading of invalid characters.
Still another object of the present invention is to provide a novel high speed impact printer of the dot matrix type in which characters of each line of print are loaded into a buffer before initiation of the print operation in order to permit the print mode to be performed at a high rate of speed and wherein characters are examined for validity before insertion into the buffer to prevent the loading of invalid characters and wherein the bufier is automatically clear and loaded with a dummy character prior to the receipt of the next group of characters to be printed as the next line of print.
These as well as other objects of the present invention will become apparent when reading the accompanying description and drawings in which:
FIG. 1 shows a block diagram of a printer system incorporating the principles of the present invention.
FIG. 2 shows the same of the dot matrix type characters generated by the printer of H6. 1.
FIG. 3 is a logical diagram showing the .timing counter employed in the system of FIG. 1 in greater detail.
FIG. 4 is a logical diagram showing the control counter employed in the system of FIG. 1 in greater detail.
FIGS. 5-52: are timing diagrams showing various waveforms developed by the circuitry of the present invention, which waveforms are useful in understanding the operation of the present invention.
FIG. 6 is a logical diagram showing the serial-toparallel input converter employed in the system of FIG. 1 in greater detail.
FIGS. 7a-7c and 8a-8f are logical diagrams showing the error detection and decoding circuitry respectively employed to controlsome of the operating functions of the system of FIG. 1.
FIGS. 9a-9c are logical diagrams showing the decoding circuitry employed for controlling mechanical functions of the system of FIG. 1.
FIGS. 10:: and 10b are logical diagrams showing the buffer and the position locating decoding circuitry and character generator matrix of FIG. 1 in greater detail.
FIG. 11 shows the position detecting apparatus of FIG. 1 in greater detail.
GENERAL SYSTEM DESCRIPTION FIG. 1 shows one preferred embodiment of the system of the present invention in block diagram form, which system 10 is comprised of an input line 11 for receiving the binary information in serial fashion from a computer which is adapted to generate a serial pulse train in which groups of pulses represent the characters to be printed. In the present preferred embodiment, each character (i.e., number, letter or symbol) is represented by a six-bit binary code which provides a total of 64 different binary combinations, each one representing a specific number, letter or symbol. The six binary bits are generated (by a computeror other transmitting facility) and are applied to input terminal 1 1 which, in turn, transfers the serial information to the input of a serial-to-parallel converter circuit 13. The input bufferv l3 converts the serial information applied to it into parallel form and further acts as a means for isolating the input information from register 15.
The serial-to-parallel converter circuit 13 is a shift register which receives each of the six binary data bits (plus a stop and start bit) comprising each character in serial fashion and shifts each bit to the next succeeding stage of the shift register until the entire character is loaded into register 13. Input timing circuit 14 controls the serial shifting of the bits into register 13. As soon as register 13 contains all six binary bits, the input timing circuit 14 causes the six data bits to be shifted out in parallel fashion into a buffer storage 15 which, in the preferred embodiment, is comprised of a 133 stage shift register having six channels, whereby each associated stage of the six channels is adapted to store each six-bit binary word representing a character (i.e., number, letter or symbol). Each six-bit binary word is shifted in parallel into the first or loading stage of buffer storage 15 and is advanced to the next stage as soon as the next six-bit binary word is loaded, until the buffer 15 contains a total of I33 six-bit binary characters (i.e., 132 six-bit characters and a dummy character). Shifting of the characters into buffer 15 is controlled by a shifter clock circuit 16, to be more fully described. As soon as the first six-bit binary character (dummy character) loaded into buffer 15 is shifted to the right-handmost stage (i.e., the l33rd stage) of the buffer 15, the printer decodes this character as a print command to print the first line of characters; The first six-bit binary character (i.e., the dummy character) which is loaded into buffer 15 is decoded as a print control signal as soon as it is shifted into the right-handmost stage so as to enable a print control circuit 17 which energizes the solenoid 18 of a clutch mechanism to cause the carriage assembly (not shown), which has the printer head assembly mounted upon it, to move across the sheet from the left toward the right in order to perform the printing operation. It should be understood that the motor which drives the carriage assembly is continuously energized, and it is the clutch mechanism 18 which selectively engages or disengages the carriage assembly from the motor.
Once the clutch solenoid is energized, the clutch mechanism causes the carriage assembly to be mechanically linked to the energized'printer motor (not shown) and thereby cause the carriage assembly and the printer head assembly to move from the left toward the right in order to print one line of characters. As shown in schematic fashion, motor 19 is continuously energized and has its output drive shaft 20 coupled to a driven shaft 21 through clutch mechanism 22. Clutch solenoid 18 has its armature mechanically coupled to clutch mechanism 22, which mechanical linkage is represented by dotted line 23a. When the clutch solenoid 18 is energized, clutch mechanism 22 causes driven shaft 21 to be engaged with drive shaft 20 through the clutch mechanism and thereby drive or rotate a driving roller 22. A belt 23 entrained about driving roller 24 and a free-wheeling roller 24a has secured thereto the carriage mechanism 25 which supports the printinghead assembly 26. As soon as the clutch mechanism is engaged, belt 23 moves in the direction shown by arrow 27 to cause the carriage assembly 25 and printer assembly 26 to move from the left toward the right. The movement of carriage 25 and printing head assembly 26 is detected by a position detection device 28 which includes an elongated strip having a pattern of alternating narrow transparent and opaque segments provided on the strip. A light source 30 emits light which is focused upon the rotating pattern by a focusing lens system 31. The light passing through the transparent slits is picked up by a photocell device 32 to generate pulses representative of the selective light and dark areas provided on the pattern of the code wheel.
The output pulses of the electro-optical device 32 are applied to a matrix clock and decoder circuit 34 which generates signals at a first output 34a coupled into the shifter clock circuit 16 which develops pulses at its output 164 to cause shifting of the characters on a one-at-a-time basis from the output of character shifter circuit 15 through lead 15:: into the input of a 64 character matrix circuit 35.
The other outputs 34b of matrix clock and decoder circuit 34 are applied as sequential control pulses to the 5 X 7 matrix circuit 35 for controlling the particular vertical line of print solenoids utilized to print a dot matrix-type character upon theprinted sheet. The outputs of matrix circuit 35 are applied through leads 35a to a plurality of solenoid driving circuits represented by block 36. Each of the driving circuits energizes an associated print solenoid 36a.
The printer of the present invention is of the dot matrix-type in which each character, letter or symbol is comprised of a plurality of dots arranged in a 5 X 7 regular matrix in whichseven vertically aligned dots are selectively printed in five vertical lines. FIG. 2 shows the composition of a few typical alpha-numeric characters, namely, the characters 1, 2, 3," 4, A, B, C and D. It can be seen that each of these typical characters are comprised of a plurality of dots arranged in a regular matrix of seven rows and five columns. Actual printing of the characters occurs in the following manner.
Let it be assumed that the character D is to be printed (see FIG. 2). The carriage in moving from the left toward the right will first print the dots of column 1. All seven dots of the rows 1 through 7 will be printed. The carriage assembly, which moves continuously during the printing of a line, then moves toward the right until it is positioned at column 2. This position is detected by the photosensitive device 32 which enables the dots of rows 1 and 7 to be printed. The carriage assembly then shifts to the column 3 location where the dots of rows 1 and 7 are again printed when enabled by photocell 32. The carriage assembly then moves to the column 4 position, at which time the dots of rows 2 and 6 are printed. Finally, the carriage assembly moves to the column 5 position, at which time the dots of rows 3, 4 and 5 are printed. It can thus be seen that the printer of the present invention prints alpha-numeric characters of the dot matrix-type by selectively energizing one or more of seven vertically aligned print wires as the printer head carriage passes each column location to print a character comprised of selectively printed dots arranged over a five column by seven row matrix. Obviously, any other matrix size may be employed, depending only upon the needs of the user, without departing from the spirit or scope of the present invention.
The system of FIG. 1 is further provided with a special characters decoding circuit 37 which has its inputs selectively tied to the outputs of the serial-to-parallel circuit 13 and buffer 15 so as to decode special characters as and when they may be ready for loading into or transfer out of buffer 15. The decoding circuitry 33 is comprised of a plurality of logic gating circuits for generating signals representative of the special conditions such as a BUSY condition generated at its output terminal 37a; a BELL condition generated at its output terminal 37b; a DELETE signal generated at its output terminal 37c; a LINE feed signal generated at its output terminal 37d; and a CARRIAGE RETURN signal generated at its output terminal 37.
The BUSY signal which appears at output terminal 37a is generated when buffer 15 is fully loaded and a print mode is taking place. The BELL signal appearing at output terminal 37b is generated by transmitting a BELL code whenever it is desired to gain the attention of the operator. The output energizes the BELL solenoid.
The LINE-FEED signal appearing at output terminal 37d is the signal that is generated when a specific type of document is being printed in which a substantial number of lines of the document are to be advanced before the next line of characters is printed upon the document. This output signal energizes the LINE FEED DRIVER and its associated solenoid to perform a LINE FEED operation.
THE CARRIAGE-RETURN signal appearing at output terminal 37a is generated in instances where a line of print consists of less than the standard 132 characters and it is, therefore, desired to advance to the next line of characters to be printed before waiting until the carriage assembly is advanced to its right-hand-most position. This signal causes energization of the LINE FEED and RIBBON FEED drivers and their associated solenoids.
The PRIME logical circuit generates a signal at its output 37f whenever a lineof print has been completed or whenever a delete code is detected.
The limit switches LS-l and LS-2 detect the physical location of the carriage assembly to control printing and carriage return operations.
The special character decoding circuitry 37, which has its output 37a coupled to the input of a buffer 13, causes the BUSY logic circuit to apply a voltage level to input line 11 which prevents the serial-to-parallel buffer 13 circuit from receiving characters until the last line of characters loaded therein has been printed and the buffer 15 is cleared.
FIG. 3 is a block diagram showing the input timing circuit 14 in greater detail. Before considering the circuitry and its operation, the following brief description of the logic blocks employed will aid in understanding the system and its operation.
The logical gates which are utilized are comprised of Inverters, AND gates, NAND gates, NOR gates and Exelusive-OR gates. An Inverter gate such as the gate 56 of FIG. 3 operates to provide a binary 1" level at its output when a binary 0 level is provided at its input. The binary l level, in positive logic, is represented by +5 volts or high level. Binary 0 is represented by a 0 volt or ground level, also referred to as a low level. In the case where a binary l level input is applied to the Inverter, a binary 0 level appears at the output.
An AND gate, such as the AND gate 231 of FIG. 7b generates a high level output only when all of its inputs are high.
A NAND gate, such as the NAND gate 53, shown in FIG. 3, generates a binary "0 level at its output when all of its input terminals are in binary 1" state and generates a binary 1 level at its output when one or more of its inputs are at binary l level.
A NOR gate, such as the NOR gate 57, shown in FIG. 3, generates a binary 1 level output when all of its inputs are at binary 0" and generates a binary 0" level at its output when one or more of its inputs are at binary l level.
An Exclusive-OR gate, such as, for example, the Exclusive-OR gate 228 shown in FIG. 7b, generates a binary 0 level at its output when all of its inputs are at binary l or when all of its inputs are at binary 0. In the case where at least two of its inputs are at different binary levels, the output of the Exclusive-OR gate is at binary l level. i
The J-K flip-flop such as, for example, the flip-flop 58 shown in FIG. 3 is provided vith .I and K inputs 58a and 58c, respectively; Q and Q outputs 58d and 5842, respectively; a clock input 58b; a clear input 58f and a preset input 58g. The normal states of outputs 58d and 58e are such that they are complements of one another. To set output terminal 58d at a high level, a signal which is high when applied to input 580 when the clock pulse signal at terminal 58b is high determines the setting of output terminal 58d. The actual switching of the signal level at terminal 58d, however, occurs when the clock pulse level at input 58b goes low. To set output terminal 58:: to a high level, a high level at input terminal 58c when the clock pulse level at 58b is high, will determine the setting of output terminal 58c. The actual change of state of the .l-K flip-flop occurs, however, when the clock pulse level at input terminal 58b goes low. A low level input at clear terminal 58f sets the output (58d) low. A low level input at preset terminal 583 sets Q high. The clear and preset inputs do not require the presence of a clock pulse.
The input timing circuit is comprised of an oscillator 50 generating microsecond pulses at a rate of I00 kilocycles. The output of oscillator 50 is coupled to a bistable flip-flop circuit 52 through inverter 51. Flipflop 52 divides the output of oscillator 50 to thereby generate microsecond pulses at a rate of-SO kilocycles at the output 52d of bistable 51 hereinafter referred to as the CLOCK. Inputs 52a and 52c are maintained at binary I. The output 52d of bistable 52 is coupled to one input 53a of NAND gate 53 whose output is coupled to the input of a four-stage binary Timing Counter 54 having output terminals TC,, TC,, TC, and TC; for each of the four stages. NAND gate 53 transfers clock pulses totiming counter 54 when switch 55 is opened to impose a binary l level upon NAND gate 53 and thereby enable pulses from oscillator 50 to be passed to the input of timing counter 54. When switch 55 is closed, a binary 0" level is applied to gate 53 to inhibit oscillator pulses from reaching counter 54. The closing of switch 55 occurs when data is presented to the printer system in parallel fashion, which operating mode will be more fully described. I
Timing Counter 54 is inhibited from counting until its input terminals 54d and 54b'are both high to cause the counter to be reset and begin counting under control of the Clock output 52a. The BUSY signal is high when the 133 stage buffer of the printer system is not completely loaded. The generation of this signal will be more fully described in connection with FIG. 6. The TL signal is low prior to the initiation of the next binary bit. Under this condition, NAND gate 59 applies a binary l level signal to input terminal 54!). Upon the initiation of the next bit, the TL signal goes high causing the output of NAND gate 59 to go low. The HTC signal is high when the TC4 and TC8 outputs of timing counter 54 are high causing the I-ITC signal appearing at the output terminal of 58a to go high. This causes Timing Counter 54 to be reset and start a new count.
As soon as the next binary bit is received, the TL signal goes high causing the output of NAND gate 59 to go low. Simultaneously therewith, the TL signal is applied to input 58a of J-K flip-flop 58 causing the HTC signal at output terminal 58d to go high upon the occurrence of the next TCl signal from Timing Counter 54 which is applied to input termir tl 58b. This causes the output terminal 58 (the I-ITC signal) to go high, thereby preventing the Timing Counter 54 from being reset until the next time the TL input to gate 59 goes high and simultaneously therewith until the TC4 and TC8 outputs are high.
.I-K flip-flop 58 is cleared (causing output 58d to go low) when either the PRIME or the BUSY signal, or both, go high, in a manner to be more fully described.
The outputs of timing counter 54 are further coupled through inverter circuits 55;s55 d, resgctively lo develop the output signals TC,, TC,, TC, and TC,,, respectively.
The output terminals TC, and TC, of Inverters 55c and 55d are coupled to the inputs of NOR gate 57 whose output is coupled to one input terminal 580 of J K flip-flop circuit 58. Input terminals 58a and 58b are coupled to the outputs of the input buffer line 120 (see FIG. 1) and to the TC, output of timing counter 54, respectively. Output terminal 58e is coupled to one reset-enable input terminal 54a of timing counter 54. The remaining reset-enable input terminal 54b is coupled to the output of NAND gate 59 whose inputs are coupled to the TL output of Inverter 73 shown in FIG.
FIG. 5 shows waveforms representing the system timing. Waveform 52d represents the clock output 52a shown in FIG. 3. Although the output of oscillator 50 is not shown, it should be understood that the output of oscillator 50 is twice the frequency of clock 52. Waveforms TC through TC; represent the output waveforms appearing at these associated terminals provided by Timing Counter 54.
Waveform TL represents the incoming binary information applied to input line 11, shown in FIGS. 1 and 6, which binary data is applied to input line 11 in serial fashion. One unique feature of the present invention is the fact that binary bits are generated during 320 microsecond intervals and that binary 0 and binary 1 bits are distinguished from one another during each 320 microsecond interval by the time interval during which each pulse is high" (i.e., binary l level). For example, let it be assumed that the first binary bit applied to line 11 is a binary 1 bit. At time t the signal level of this signal is low, and it remains low for a 200 microseconds interval, at which time the signal level goes high and remains high for the remaining 120 microseconds. The next bit transmitted which is a binary 0" bit, has its signal level low for a time duration of microseconds, at which time the signal level abruptly goes high and remains high for the remaining 240 microseconds of the bit transmission interval of 320 microseconds.
The binary bits applied to the input line 11 are inverted by Inverter means 73 to be more fully described in connection with FIG. 6. Since the initial portion of either a binary 0 or a binary l level bit is low, the aforementioned Inverter inverts the signal to apply a high level to input terminal 58a of flip-flop 58. As soon as the TCl output of Timing Counter 54 goes low, a high level input is applied to input terminal 58b of flipflop 58 causing the output terminal 58d of bistable flipflop 58 to go high, as shown by the waveform .I-ITC. The signal level at outpi t termin al58d remains high until the output levels at TC, and TC of counter 52 go high (which occurs 240 microseconds after the initiation of a binary bit interval), which causes the output of NOR gate 57 (coupled to the TC4 and TC8 outputs of Inverters 55c and 55d) to go high, applying a high level input to terminal 58c of the bistable flip-flop,causing output terminal 58d to go low upon the occurrence of the next TCl signal. Output 58d remains at the low level for the remaining 80 microseconds of the first 320 microseconds binary bit interval and goes high again when the next binary bit transmitted (see line TL) is applied to input 58b followed by the next negative transition of output TCL (which occurs 330 microseconds after time i=) as is shown by the waveform 58d of FIG. 5.
FIG. 4 is a block diagram showing the Control Counter circuitry included within input timing circuit 14 of FIG. 1, and is comprised of a four-stage binary Control Counter 60 which derives its input at 60a from the Clock output 52d, shown in FIG. 3. The four stages of the counter each have an associated output CC,, CC,, CC and CC which outputs are utilized to develop further timing information. NAND gate 62 has its three input terminals coupled to the CC,, CC. and CC output terminals of Counter 60. A second NAND gate 63 has its input terminals coupled to the input line (TL) 11 of FIGS. 1 and 6, the BUSY line of Inverter 72 (see FIG. 6), and the ETC output terminal 58a of the flip-flop 58 shown in FIG. 3. The outputs of NAND gates 62 and 63 are coupled to corresponding inputs of a NAND gate 64 whose output is coupled to one input terminal 65c of a bistable flip-flop circuit 65 whose remaining input terminals 65a and 65 b are respectively coupled to the TC8 output terminal of Counter 52, shown in FIG. 3, and to the Clock output 52d of bistable 52. It can be seen from the waveforms shown in the timing diagram of FIG. 5 that, when TC8 goes positive and when the next negative transition of the clock output is generated (180 microseconds after time i=0), the output at terminal 65d goes (RTC) high, as shown by waveform 65d in FIG. 5. Resetting of counter 60 to permit counting is caused by a low RTC signal and +5 volts at input terminals 60c and 60b, respectively. The RTC output remains high until either one of two conditions occur. If all of the inputs of either NAND gate 62 or NAND gate 63 go high then the output of one of the NAND gates 62 or 63 goes low, causing the output of NAND gate 64 to go high to thereby reset the level at output terminal 65d to the low level. The output of gate 63 normally goes low at the beginning of each bit. However, either an error in transmission or a stop pulse will enable counter 60 to time out whereby outputs CC2, CC4 and CC8 cause gate 62 to go low and generate EOC which is utilized in a manner to be more fully described in connection with FIGS. 6 and 7 to clear the serial-to-parallel converter 70 (see FIG. 7) before it can shift an invalid character into 133 character shifter 136 or to clear converter 70 prior to the receipt of the next coded character.
FIG. 6 is a detailed block diagram of the serial-toparallel converter circuit I3 shown in FIG. I which is comprised of a nine-stage shift register 70 having an input line 70a, output lines TRO through TR8 and a shift pulse line 70b.
The incoming stream of binary serial information is coupled to line TL and applied to the input line 70a incoming data stream to pass to the serial-to-parallel converter circuit 70. In the case where the 133 stage shift register is fully loaded with coded characters and is thereby operating to print these characters, the BUSY signal applied to the input of Inverter 73 is high preventing further loading of the multistage shift register. As soon as the multistage shift register is fully loaded, the signals applied to the input of Nand gate 71 (which will be more fully described hereinbelow) cause the output of Nand gate 71 to go low, which low level is inverted by Inverter 72 to block the passage of any further binary information to the serial to parallel converter circuit 70. Shift pulses for shifting the serial data presented to input line 70a are controlled by the circuits comprised of Nor gate 74, NAND gate 75 and Inverter 76 which operate in a manner to be more fully described.
The operation of the timing circuits and shift register, as shown in If IGS. 3-6 and 6a, is as follows:
The input line TL goes low (i.e., binary "0 at the beginning of each binary bit. In the case of a binary l, the signal remains low for 200 microseconds and is abruptly changed to binary 1 level (i.e., goes high) where it remains high for the remaining microseconds. At the tennination of the bit interval, the signal level again goes low (i.e., binary 0). In the case of a binary 0" bit, the signal level remains low for a period of 80 microseconds and abruptly goes high (i.e., becomes binary l) and remains high for the remaining microseconds of the bit interval. Considering waveform 73a in FIG. 5 which represents the dag applied to input 73a of Inverter 73 shown in FIG. 6, TL goes low at time t=0. This condition is applied to input terminal 56b of J-K flip-flop 58. Upon the application of the-next TCl pulse from counter 54 (see waveform 54 of FIG. 5) output terminal 58d goes high (see waveform 58d of FIG. 5) and remains high until TC4 and TC8 (see waveforms 52c and 52d of FIG. 5) are both high which occurs 240 microseconds after time t=0 at which time the clock pulse TC! is low causing the output of terminal 58d to go low and the output at terminal 58c to go high. Counter 54 is reset at the beginning of each bit interval as a result ithe signal TL and the BUSY signal being high and I-ITC (i.e., the output of terminal 56c) being high. Bits are loaded into the shift register 70 when the shift pulse for the serialto-parallel converter 7%) is generated. The shift pulse is generated I60 microseconds after time i=0 by means of gates 74-76. NOR gate 74 develops a b inary 1 output when both the BUSY signal and TC8 are both low (i.e., binary 0). This binary I level output is applied to one input of NAND gate 75 which develops a binaryiQ: le w l output w hen the output of Nor gate 74 and TCI, TC2, and TC4 are all binary 1" (i.e., when TCI, TC2, 'IC and TC8 are low). As can be seen from waveforms 52a-52c, this occurs microseconds after time i=0. This output level is inverted by Inverter circuit 76 to apply a binary l level signal to shift-pulse input terminal 70b to shift the binary state of the bit into shift register 70 wherein the status of the bit is established by the level'of the TL signal during the interval in which the output of Inverter 76 is high.
Counter 60 is inhibited from initiating a counting operation until TC8 goes high. This level is applied to input terminal 65b of J-K flip-flop 65 causing output terminal 65d to go high and output terminal 651: to go low. Output terminal 65c is coupled to input terminal 60c of counter 60 enabling the counter to be stepped under control of clock signal 52a. Flip-flop 65 is reset by means of input signals applied to NAND gates 62, 63 and 64 at atime when either CC8, CC4, CC2 or TL, HTC, and BUSY signals are all high, thereby causing output terminals 65:: and 65d to go high and low, respectively, upon the occurrence of the next output pulse from the oscillator 52 which is applied to 65c. This operation can also be seen from a consideration of waveforms 60d, 60e, 60f, 73a and 58d of FIG. 5. Bistable flip-flop 65 will be reset to reset the count of counter 60 in'the case when the output of either NAND gate 62 or 63 is binary 0. The output of NAND gate 62 will go low when the CC8, CC4 and CC2 inputs are all high which will occur 160 microseconds after the enablement of counter 60 to reset and beging counting. Since counter 60 is not enabled until 160 microseconds after the initiation of any bit interval, resetting of the counter under control of the CC8, CC4 and CC2 outputs will only occur if the bit interval erroneously is longer than the allotted 320 microseconds. Counter 60 will thus be reset if the TC, HTC and BUSY signals are in binary 1 state which occurs at the beginning of each bit interval, if the bit interval is of correct length. Counter 60 is permitted to time out" at the end of a character due to the transmission of a 640 microsecond pulse which is transmitted at the end of each character (see FIG. The EOC signal generated by gate 62 of FIG. 4 is employed in thelogic of FIG. 7a to clear serial-to-parallel converter 70 after each character is loaded into buffer from shifter 70.
THE POSITION CONTROL APPARATUS The exact positioning of the printer head assembly is determined by the position control apparatus shown in FIG. 11 which consists of an elongated opaque mylar strip 160 having a printed pattern thereon provided with a plurality of relatively thin transparent slits 160a uniformly spaced along the mylar strip. A light source 164 positioned behind the strip and a photodetector 162 are mounted upon the printer head assembly carriage to be movable therewith. The mylar strip is mounted in a stationary fashion and extends the width of the printer platen. In one preferred embodiment,
NAND gate is thereby enabled to pass pulses to the input of a pulse widening circuit 165 which may, for example, be a one-shot multivibrator to generate a pulse of 400 microseconds pulse duration. The output signal at 1650 referred to as a Strobe pulse, is applied to the input terminal 166a of a divide-by-six counter 166 having three outputs 166b-166d. An inhibit (CIR) pulse is derived from the output terminal 144d of circuit 144 shown in FIG. 9d (which is derived in a manner to be more fully described) and applied to input l66e in order to prevent counter 166 from generating output signals during the time in which the carriage assembly is moving in the line-retum direction. Outputs 166b-166d are coupled to Inverter circuits 167-169, respectively, to make available both the output levels at output terminals 166b-166d and their complements.
The output signals at terminals 166b-166d and their complements are selectively applied to the input terminals of a group of NAND gates170-175, shown in FIG. 10b. The output terminals 166b-166d are so connected as to develop output signals which operate the 64 character generator 5' X 7 matrix 178 in a sequential fashion. For example, NAND gate 170 has its inputs coupled to the outputs 167a-169a of inverter circuits 167-469, respectively, as well as the Strobe output 1650 of circuit 165. As soon as all of these outputs are in binary "1 state, indicating an initiation of the printing operation in which the printer head assembly is positioned at the extreme left-hand end of the next line to be printed, the output of NAND gate 170 generates a low level which is inverted by Inverter 176a to develop the DCWq': signal which is utilized in the circuit of FlG. 7b to shift the next coded character in buffer 15 into the output stage.
NAND gate 171 develops a binary 0" level signal when all of the signals at output terminals 166b, 1680, 169a and the Strobe output 165a are all at binary 1 level (i.e., high). This output is inverted twice by Inverter circuits 176!) and 177a, respectively, to couple an output signal to input terminal 178a of the character generator circuit 178. It should be noted that this occurs upon the accumulation of the first count in counter 166. The application of this signal to input terminal 178a cooperates with the coded character binary input levels applied to input terminals 178f-l78n, respectively, (and shifted into the output stage of buffer 15 by the DCW4 signal) to selectively energize 132 slots are positioned across the length of strip 160 in one or more of the output terminals 178a-178a which control the print solenoids to be energized during the printing of the left-hand most column of the first character. Each of the output tenninals 178n-178u is coupled to a driver circuit. Only one of these driver circuits has been shown in FIG. 11b for purposes of simplicity, it being understood that the remaining circuits are substantially identical in design and function. Output terminal 178" is coupled to the base of transistor T, through resistor R T, is rendered conductive when the level at output terminal 178:: goes high to cause its emitter electrode to go high and thereby render transistors T, and T conductive to energize print solenoid SOLJ. for operating its associated printwire. A print solenoid and printer head assembly which has been used to great advantage in the printer system of the present invention is set forth in detail in application Ser. No. 37,815, filed May 15, 1970 and assigned to the assignee of the present invention. Of course, any other print assembly may be used, if desired.
The remaining gates 172-175 operate in a similar fashion to provide output signals occurring in time sequence to thereby energize the print wires of the solenoids in time sequence as the printing head assembly moves (at a substantially constant rate) from the left toward the right to selectively make contact with the paper document and thereby print selected dots upon the document to form the appropriate character.
Matrix 178, may, for example, be a MOS-LSI character generator of the type 2A4l03 manufactured by the Texas Instrument Corporation.
CARRIAGE RETURN (CR) GENERATING CIRCUIT NAND gate 101 of FIG. 80 goes to binary when the coded character shifted into the serial-to-parallel converter circuit 70 (in binary form) is 1 101 1000 to indicate that a carriage return operation is requested. Inverter 102 provides a binary 1 output (CR signal) which is used to generate the Special STRS and STR6 signals to be more fully described in connection with FIGS. 6 and 7b. The low output of NAND gate 101 is coupled to one input of NOR gate 103 to cause its output to go high upon the receipt of a low level signal from the output 222d (FCCLK) of J-K flip-flopshown in FIG. 7. This output signal is applied to the input 104a of J-K flip-flop 104 for developing a high level signal when the next pulse from oscillator 50 (seeiG. 3) goes negative. The complementary output (RCR) at terminal 104e is applied to one input to NOR GATE 105 and as one input to NAND gate 71 of FI G. 6. In the presence of a carriage return request, RCR goes low disabling gate 71 to prevent data from being fed to serial-to-parallel converter 70 ofl IG. 6. In the absence of a carriage return request, RCR goes high enabling gate 71 to go low which condition is inverted by Inverter 72 to enable data to enter serial-to-parallel converter 70.
Flip-flop 104 is reset upon the occurrence of the next oscillator pulse when either the outputof NAND gate 101 goes high or when the output 222d of flip-flop 222 (see FIG. 7b) goes high.
NOR gate 105 is low when either RCR is high (absence of carriage return) or when the output of NOR gate 247 in FIG. 7 goes high (the serial-to-parallel converter is cleared as a result of either an invalid bit or character or receipt of an end of character pulse). When the inputs are both low, NOR gate 105 causes output 106d of J-K flip-flop 106 to go high during the next negative transition of oscillator 50 (FIG. 3). Output 106d (ZBCR) is applied to one input of AND gate 233 shown in FIG. 7b to rapidly shift the characters of FIG. 7a to permit clearing of serial-to-parallel converter during the carriage return operation.
BUFFER CARRIAGE RETURN (DCR) CIRCUIT The circuit of FIG. 8b is comprised of NAND gate 107 which is coupled to selected terminals of the output stage of 133 character buffer 180 shown in FIG. 10. Gate 10 develops a binary "0 level output (DCR) when the character contained in the output stage of the shifter buffer 180 (in binary form) is lllllO which represents a carriage return operation called for by buffer 180. This output (DCR) is inverted by gate 108 driving the output 109d (RDCR) high of flip flop 109 when the next oscillator pulse goes negative. RDCR deactivates the forward clutch driver of FIG. 9b and activates the reverse clutch drive of FIG. 90. (in a manner to be more fully described) when high. Output terminals 109d (RDCR) and 109e (RDCR) go low and high, respectively, after the carriage return function is completed, under control of the PRIME signal developed by the circuit of FIG. 8f (to be more fully described hereinbelow).
BUFFER FULL (TBF) GENERATING CIRCUIT FIG. is comprised of three NOR gates 110-112 having their input terminals connected to selected outputs of the output stage of 133 character buffer 180. The outputs of- NOR gates 110-112 go high when the output terminals TB are all in binary 0 state causing the output 113a (TBF) of NAND gate 113 to go low, which Mition is inverted bygwerter gate 1 14. When the TBF output is low (i.e., TBF is high) J-K 106 of FIG. 8a is reset to prevent the buffer 180 from being cleared during loading. 'TBF also enables the generation of shift pulses (FIG. 7b) to sequentially shift the data stored in buffer 180 into the character generator 156 (FIG. 11b) and is utilized in FIG. 90 to enable the forward clutch to be energized to move the printer head assembly.
CARRIAGE POSITION DETERMINING CIRCUIT FIG. 8d sho'wsthe circuitry, which together with the circuitry of FIGS. 9a-9c functions to control the direction of movement of the printer head assembly carriage. As shown in FIG. 8d, limit switch LS1 is physically engaged by the carriage assembly and closes when the printer head carriage reaches its left-hand most position. This low level is inverted by Inverter 115 to set the output 116d (RTP) of .l-K flip-flop 116 high when the oscillator output (50 of FIG. 3) goes negative. RTP goes low when the first character is printed under control of signal DCWS from inverter 176f of FIG. 10b.
I RTP may also be driven to a low level when PRIME is loaded into the 133 character buffer of FIG. 10a to low which occurs upon the initiation of a carriage return operation.
BELL GENERATING CIRCUIT FIG. 8c shows the logical circuitry for generating a Bell signal and is comprised of a NAND gate 1 17 whose output 117a goes high when the binary bit positions TRO-TR7 of the coded character in the serial-to-parallel converter circuit 70 is (in binary form) llll0000. This output is applied to one-shot multivibrator 118 to energize-a bell or alarm solenoid 119 for approximately