US 3691947 A
Circuitry for controlling the hammers of a chain type printer which is effective for maintaining each hammer set for a period greater than the time of one print scan (the time between alignments of successive print characters on the chain with the same print position) and less than the time of two print scans. The data to be printed by each hammer is obtained from a print buffer. After firing of a print hammer, within a time less than one print scan, a substitute piece of data is written in the location in the buffer from which the data printed by the hammer is derived, and the circuitry recognizes this substitute piece of data and does not reset the hammer at this time. Subsequently, the circuitry recognizes this substitute data and inserts still another piece of substitute data, this occurring one print scan subsequent to hammer firing. The circuitry recognizes the second substitute piece of data so that when the hammer is again addressed, a fraction of a print scan time later, the hammer is reset.
Description (OCR text may contain errors)
United States Patent Berglund et al. I
[ 1 HAMMER CONTROL FOR CHAIN PRINTER  Inventors: Neil C. Berglund; Gerald H.
Petricka, both of Rochester, Minn.
 Assignee: International Business Machines Corporation, Armonk, NY.
 Filed: May 13, 1971  Appl. No.: 143,056
 U.S. Cl. ..101/93 C, 340/1725 51 Sept; 19, 1972 3,602,138. 8/1971 Barcomb ..101/93C 3,605,610 9/1971 McDowell ..101-93C/ Primary Examiner-William B. Penn Attorney-Keith T. Bleuer andl-lanifin & Jancin 57 ABSTRACT Circuitry for controlling the hammers of a chain type printerwhich is effective for maintaining each hammer set for a period greater than the time of one print scan (the time between alignments of successive print characters on the chain with the same print position) and less than the time of two print scans. The data to be printed by each hammer is obtained from a print buffer. After firing of a print hammer, within a time less than one print scan, a substitute piece of.data is written in the location in the buffer from which the data printed by the hammer is derived, and the circuitry recognizes this substitute piece of data and does not reset the hammer at this time. Subsequently, the
8 Claims, 11 Drawing Figures PATENTEBSEP 19 I972 3.891.947 sum 1 or 8 FIG. I
NEIL C. BERGLUND 19) GERALD H. PETRICKA WJW PATENTEDSEP 19 m2 SHEU 5 0F 8 EwE :iol
212:: a; @1012; O: 01:21 E: OZOEE :o 2101221 2; 552:1 231 m HAMMER CONTROL FOR CHAIN PRINTER BACKGROUND OF THE INVENTION The present invention relates to a high speed, on the fly, impact printer and more particularly to a chain printer operating with print hammers each located in alignment with a print position on a form to be printed. Still more particularly, the invention relates to apparatus and circuitry for setting or firing each of the hammers in a chain type printerfor precise periods of time.
A chain printer basically is a serial printer in which successive selected print hammers are fired in sequence. Thus, a common gating pulse cannot be used to assure uniformity of pulse duration for firing the hammers. One previously suggested approach to the problem of firing the hammers for approximately the same periods of time is to employ a separate single shot or monostable multivibrator for each hammer electromagnet; however, for this approach to be satisfactory, extremely close tolerances must be maintained in the several single shots, and even then, frequent readjustment of the single shots may be necessary. In addition, the use of a separate single shot for each of the hammers is an expensive solution to the problem.
Circuitry for controlling the hammers of a chain type printer for maintaining each of the hammers set or energized for a time more than one print scan but less than two print scans has also been proposed by one of the inventors hereof, Neil E. Berglund, in the prior International Business Machines U. S. patent application R097 1-005 on Chain Printer Hammer Control. A scan time is that duration between the time one character carried by the movable printing element moves into alignment with a certain print position on the form to be printed and the time the next character on the movable element moves into alignment with the same print position on the form. The circuitry disclosed in this prior application utilizes a hammer address register in which is stored the address in main storage of a byte to be printed, and the address in this register is applied to a set decoder for causing a hammer to be fired and is also applied to a reset decoder for causing resetting of the hammer.
SUMMARY OF THE INVENTION It is an object of the present invention to provide improved controls and circuitry for the hammers of an on the fly impact printer, and more particularly for a chain printer, which are effective for firing each of the hammers for precise periods of time. More particularly, it is an object of the invention to cause the firing time to be in effect measured by or in accordance with the movement of the movable printing element, such as the chain, whereby not only is the firing time of the hammers precisely controlled but the firing time may be between one scan and two scans in duration.
More particularly, it is an object of the present invention to provide such improved controls and circuitry which allows the firing time of a hammer to be easily changed, simply by changing the initial value in a register (which may be termed a reset address register).
In brief, the circuitry of the invention utilizes such a reset address register along with a data address register which contain addresses of certain positions in a print buffer. The data address register in particular contains the addresses of data to be printed, and the reset address register contains the addresses of locations in the buffer which are addressed less than one print scan subsequent to printing of data. Resetting of a fired hammer is under the control of the reset register. The circuitry of the invention includes means for writing a substitute character in the location in the print buffer from which a character has been accessed to be printed and also includes means for recognizing this substitute character so that the resetting of a fired hammer does not occur during the time of a scan following hammer firing. The circuitry also includes means for writing a second substitute character in this location in the print buffer after a full print scan has expired following firing of the hammer, and the circuitry includes means for recognizing this second substitute character so that when the fired hammer is again addressed subsequent to the expiration of a full print scan after firing, the hammer will be reset.
The invention consists of the novel constructions and circuitry to be hereinafter described and claimed for carrying out the above stated objects, and such other objects, as will be apparent from the following description of a preferred form of the invention.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a schematic view in perspective of a portion of a chain printer with which the circuitry of the invention may be used;
FIG. 2 is a schematic perspective view of drive mechanism for the chain;
FIG. 3 is a schematic illustration of the circuitry of the invention for causing the hammers of the printer to be fired at the appropriate times and for the appropriate duration;
FIG. 4 is a graphic illustration of the signals from a chain emitter in the circuitry of FIG. 3 and also showing the various subscans, three of which make up a complete scan;
FIGS. 5A and 58, when taken together with FIG. 58 being considered to be placed on the right of FIG. 5A and continuing FIG. 5A, is a graphic illustration showing the relationship between printing positions and the positions of the print characters on the print chain of the printer;
FIG. 6 is a diagram showing the various addresses utilized in a print buffer of the circuitry of the invention during the various subscans and illustrating the use of a pair of substitute characters written in place of the data printed by the firing of a print hammer for the purpose of delaying the resetting of the hammer to a time greater than one print scan and less than two print scans after firing;
FIG. 7 is a diagram showing the setting and resetting of fired hammers and the contents of local store registers and a memory address register at various times during two consecutive subintervals in a subscan; and
FIG. 8 shows the manner in which FIGS. 8A and 8B may be placed together to constitute a schematic illustration showing the incidence of various signals in the circuitry of the invention, the contents of various registers, etc. for various subintervals in various subscans for two consecutive print scans.
Like characters of reference designate like parts in the several views.
DESCRIPTION OF THE PREFERRED EMBODIMENT FIG. 1 shows generally and schematically parts of a chain type printer which may be controlled by the hammer controlsof the present invention. The printer as illustrated may be seen to comprise an endless character chain 110 carrying a plurality of type elements or characters 112, and the chain is movably supported on a pair of spaced wheels 114 and 116. A drive shaft 118 for the wheel 114 is connected to a constant speed motor (not shown) of any conventional type. The type elements 1 12 make up a full set of type, and a single set or a plurality of sets of type may be included on the chain 110. A printing ribbon 120 suitably mounted on guide rollers extends'about the chain 110 and may be moved relative to the chain in a conventional manner. A printing form 122 is positioned adjacent to and is adapted to be contacted by the ribbon, and'the form 122 may have perforations on its edges so that a suitable drive mechanism (not shown) may move the form 122 relative to the chain 110.
A hammer array 124 comprises a plurality of individual print hammers 126 which are mounted upon a hammer bar 128. Only a limited number of hammers 126 are illustrated in FIG. 1; however, it will be understood that there are a plurality of such hammers 126 held in a line by means of the bar 128. There may, for example, be 132 of the hammers 126, and each of the hammers 126 is disposed opposite a corresponding print position on the form 122. It will be understood that each hammer 126 when fired prints on the corresponding print position on form 122 opposite the tired hammer, the particular character 112 so printed being that one which is at the time opposite the fired hammer.
Each of the hammers 126 is operated by a push rod 130, with the individual hammers .126 being engaged by a rod 130 and moved through the operation of an electromagnet 134. I r
The wheel 1 14 is toothed, and the chain 110 is internally toothed so that there is a driving engagement between the wheel 114 and the chain 110. The wheel 1,14 and thereby the chain 110'are driven from the drive motor by means of the mechanism shown in FIG. 2 which includes a pair of toothed wheels 136 and 138 and a flexible internally toothed belt 140 which extends over the wheels 136 and 138. The wheel 136 is fixed on the shaft 118, and the wheel 138 is fixed onto a shaft 142 that is in turn driven from the drive motor (not shown). An emitter drum 146 is also fixed onto the shaft 118, and the drum 146 includes slots 148 in its periphery. A magnetic transducer 150 is fixed adjacent the drum 146 and includes a projecting magnetic core 152 that in particular has its end adjacent the periphery of the drum 146. The transducer 150 also includes a coil 154 mounted on the magnetic core 152, with the arrangement being such that each of the slots 148 in the periphery of the drum 146 produces a change in current in the coil 154 as the drum 146 rotates along with the toothed wheel 114 and along with the chain 1 10.
For the purpose of the present disclosure, it may be assumedthat the chain 110 has 48 characters 112 in a set and the emitter drum 146 has 144 of the slots 148 therein or three slots per character, with an additional slot, or the 145th slot, indicating the start of a set of the characters 112. Any number of sets of characters 112 may be placed on the chain 110, and the physical size of the drum 146 with respect to the chain is such that the drum 146 makes one complete revolution for each set of characters 112 passing a given print position on the form 122. The teeth on the chain 110 and wheel 114 mesh so that the drum 146 rotates in timed relationship with the movement of the chain 110, and the drum 146 makes one complete revolution for each set of the characters 112 passing a given print position on the form 122. More particularly, the chain 110 and the drum 146 rotate in such timed relationship that the emitter slots 148 align with the type characters 112 onto chain 110 in each of the sets of characters. The
slots 148 are aligned with the characters 112 such that there are three of the slots 148 to define subscan positions with respect to a print position on the form 122 as will be hereinafter more clearly vdescribed.
The controls for firing the hammers 126 is shown in FIG. 3 and mainly comprises a print buffer 156, an X register 158, a Y register 160, anALU or arithmetic logic unit 162, a MAR or memory address register 164, three local store registers, a DAR'or data address register 166, an IAR or image address register 168, an RAR or reset address register 170, an HAR or hammer address register 172, and a decoder 174.
The print buffer 156 stores the data'to be printed and also stores an image of the chain 110. The buffer 156 is connected with a data bus out 176 by means of which data to be printed may be supplied from a central processing unit (not shown) to the print buffer, this connection being through an OR circuit 177. The X register 158, the Y register 160, and the ALU 162 are used to increment the address registers 166, 168, and 170 and to compare the image and data characters for each print position as they are optioned. The MAR'164 is the address register for the buffer 156, and the addresses for the MAR 164 may come from any of the three address registers 166, 168, and 170. The components 156,158, 160, 162 164, 166, 168, and 170 are thus connected together by buses B, C, D, E, F, G, H, and J for this purpose as illustrated in FIG. 3. The l-IAR 172 stores the number which is used to address the data in the buffer 156, and the l-IAR is therefore connected with the MAR 164 by bus K as shown. The number contained in the I-IAR 172 is decoded by the decoder 174 connected to receive the output of the BAR 172 for this purpose.
All of the circuitry shown in FIG. 3 is under the control of the chain emitter 150, and the coil 154 of the emitter is therefore shown in FIG. 3 as being connected through an amplifier 178 with printer clock logic 180, a home pulse detector 182, and a print subscan counter 184. The print subscan counter 184 drives a character counter 186 which has its output directed into the Y register through bus L. The home pulse detector 182 is connected to a reset terminal of the character counter 186. The printer clock logic provides clock times 1, 2, 3, 4, 5, and 6 respectively on leads 188, 190, 192, 194, 196, and 198; and the logic 180 also provides an initialize pulse on a lead 200.
The data address register 166 is under the control of clock 1 and clock 3 times carried as signals on leads 188 and 192, and these two leads are connected through an OR circuit 202 with the data address register 166. The image address register 168 is under the control of clock 2 and clock 5 times carried as signals on leads 190 and 196, and these two leads are connected to the image address register 168 through an OR circuit 204. The reset address register 170 is controlled by clock 4 time which as a signal is supplied to the register 170 through the lead 194 connected with the register 170.
Each of the hammer electromagnets 134 is controlled by means of a latch 206 connected through an amplifier 208 with the coil 134. An AND circuit 210 is appended onto the set side of the latch 206, and an AND circuit 212 is appended onto the reset side of the latch 206. The AND circuit 210 is under the control of a hammer set signal carried by a lead 214, and the AND circuit 212 is under the control of a hammer reset signal carried by a lead 216.
The AND circuits 210 and 212 are also under the control of X and Y hammer address signals carried respectively by leads 218 and 220 which constitute outputs of the decoder 174. The decoder 174 has nine X address lines and sixteen Y address lines, and one of these X address lines and one of these Y address lines constitute inputs to the AND circuits 210 and 212 for each of the hammer coils 134 so that combinations of these nine X address lines and sixteen Y address lines are used for addressing the different ones of the coils 134 whereby each of the hammers 126 may be set and reset exclusively of all of the other hammers.
There is only one hammer set line 214, and this line is connected to each of the one hundred thirty-two AND circuits 210, assuming that there are 132 hammers 126 and 132 of the coils 134. The same is true for the hammer reset line 216 there is only one of the reset lines 216 and this is connected to the 132 AND circuit 212 corresponding to the 132 coils 134. The hammer set line 214 constitutes the output of an AND circuit 222, and the hammer reset line 216 constitutes the output of an AND circuit 224. The AND circuit 222 has the clock 3 line 192 and a compare line 226 constituting an output of the ALU 162 as inputs. The AND circuit 224 has the clock 6 line 198 and a line 228 as inputs. An inverter 230 supplies a signal to the line 228, and the inverter has an inhibit reset signal on a line 232 as an input. The inhibit reset signal on line 232 constitutes the output of an AND circuit 234 connected with the X register 158 by means of bus M and bus G. The bus M contains 9 individual lines (eight plus parity), and the AND circuit 234 functions to produce the inhibit reset signal on line 232 by decoding'hexadecimal 40 (with zero parity bit) from the 9 inputs to the AND circuit 234 within the bus M. This is 01000000 (with 0 parity) in hexadecimal, produced by bit 0 being off, line 1 being on, and with the remaining lines 2, 3, 4, 5, 6, and 7 and also line 8 (the parity line) being off. The two digits in 40 are respectively 0100 and 0000, so that the corresponding full 8 bit binary number is 01000000, and the other hexadecimal numbers mentioned herein may be similarly reduced to their binary bit patterns.
Various data is supplied to the print buffer 156 through the OR circuit 177, particularly from AND circuits 236 and 238. The AND circuit 236 is connected through a 9 line bus N and OR circuit 177 with the buffer 156, and the AND circuit 238 is connected through a 9 line bus P and OR circuit 177 with the buffer 156. The AND circuits 236 and 238 have the clock 3 signal on line 192 applied to them. In addition, the AND circuit 236 has the compare signal on line 226 applied as an input, and the AND circuit 238 has the inhibit reset signal on line 232 applied as an input. The AND circuit 236, when both of its inputs are satisfied, functions as an encoder to produce the signal hexadecimal 40 (with zero parity bit) on the nine lines of the bus N which is 010000000, bit 1 being on and bits 2 8 and 0 being off.
The AND circuit 238, when both of its inputs are satisfied, functions as an encoder so as to produce, on the bus P, the signal hexadecimal 40?, that is, the signal 40 with a parity bit. This is 01000000 1, the same as the signal 40 but with a parity bit being present in the eighth or parity position of the 9 bits. The print buffer 156 in all of its positions may receive data which includes 8 bits(0 7) with an additional parity bit in each location, and the data transmitted to the buffer 156 from the CPU through the DB0 176 is checked for parity in each location of the buffer 156 by conventional circuitry. The addresses of the locations in buffer 156 include only eight bits, without a parity bit, for each location.
incrementing and initializing factors for the addresses of the locations in buffer 156 are provided by AND circuits 240, 242, 244, 246, 248, and 250. These AND circuits are respectively connected by means of buses Q, R, S, T, U and V with an OR circuit 252 which is in turn connected by a bus W with the ALU 162. Each of these buses contains eight individual lines therein for carrying 8 bit signals.
The AND circuit 240 has, as an input, the lead 254 constituting the output of the subscan counter 184 and carrying a subscan 2 signal. In addition, the AND circuit 240 has the lead 200 carrying the initialize signal and the lead 196 carrying the clock 5 signal as inputs. When the three inputs of the AND circuit 240 are satisfied, it produces a hexadecimal 1 signal (00000001) on the bus 0.
The AND circuit 242 also has the clock 5 signal on line 196 and initialize time on line 200 as inputs; and in addition, the AND circuit 242 has a subscan 3 signal on a line 256, constituting another output of the subscan counter 184, as an input. When all of the three inputs to the AND circuit 242 are satisfied, the AND circuit 242 produces a hexadecimal 2 (00000010) signal on the bus R.
The AND circuit 244 has the initialize signal on lead 200 and the clock 4 signal on lead 194 as inputs and, when both inputs are satisfied, produces a hexadecimal 89 10001001) on the bus S.
The AND circuit 246 has the invert of the initialize signal on a lead 258 in addition to the clock 3 signal on line 192 as inputs. An inverter 260 connected with lead 200 supplies this signal on lead 258. When both of the inputs of the AND circuit 246 are satisfied, it produces a hexadecimal 3 signal (000000ll) on the bus T. The AND circuit 248 supplies the same signal on its output bus U; but the AND circuit 248, instead of having the clock 3 signal applied thereto, has the clock 4 signal on line 194 applied as an input.
The AND circuit 250 has the clock 5 signal on line 196 applied to it as an input in addition to the invert of the initialize signal on lead 258. The AND circuit 250 produces a hexadecimal 2 signal (00000010) on its output lead V when both of the inputs are satisfied.
The subscan 2 and 3 signals on lines 254 and 256 have been above mentioned. The subscan counter 184 also has a subscan 1 signal, and this is the signal that is applied directly to the character counter 186. All three of these signals will be hereinafter more specifically delineated.
During operation of the printer, the emitter 150 provides an emitter signal (appliedto amplifier 178) indicating the position of the chain 110, and printing is under the direct control of the emitter 150 and is thus synchronized with movement of the chain 110. FIG. 4 may be referred to for a showing of the pulses from the emitter 150 and for a corresponding showing of the subscan pulses 1, 2, and 3 (applied as signals to character counter 186 and to leads 254 and 256, respectively) referenced to the emitter pulses.
It may be assumed that there are 132 print positions in alignment with one hundred thirty-two hammers 126. During each subscan of the three subscans which make up each print scan, one third of the 132 print hammers 126 are optioned to print, that is, if the proper character 112 is before the particular print hammer during the subscan, the hammer will fire to print this character onto the form 122. Therefore, during the print scan consisting of subscans 1, 2, and 3, all 132 hammers 126 are optioned to print; and, during each scan, each hammer 126 is presented with one character 112 on the chain 110.
The chain and print position spacings are such that only one print hammer 126 has a character 112 aligned with it at any one instant of time. This may be accomplished by having the type spacing on the chain 110 approximately 1 95 times the spacing between print positions on the form 122 and by having the characters 112 slightly out of alignment with print positions as by so constructing the chain 110 and placing the characters 1 12 so that, for example the character under print position 4 is 0.001 inch out of alignment with this print position when a character 112 is aligned with print position 1.
FIGS. 5A and 5B may be referred to for a showing of the print positions on form 122 and for a showing of the characters 112 on the chain 110. There is a hammer 126 (not shown) aligned with each of the print positions. It may be assumed that the A character 112 is in alignment with a print position 1 at the beginning of subscan 1; and, therefore, the characters C, E, G, etc. (which are marked with X's on FIGS. 5A and 5B) are successively in greater disalignment with print positions 4, 7, 10 124, 127, and 130, as shown in these figures. At the beginning of subscan 2, the B character 112 has moved from its position between print positions 2 and 3 into alignment with print position 2, and the other characters 112 have moved accordingly. At the beginning of subscan 3, the C character 112 has moved into alignment with print position 3 as shown. The addresses in the buffer 156 for data to be printed in the various print positions are also shown in FIGS. 5A and 5B. The address of the position No. 1 is, for example, 7C in hexadecimal (01 111100).
In order to present a character 112 to every hammer 126 in each print scan, the hammers 126 are optioned TABLE 1 Sequence of Hammer/Chain Alignment Subscan l Subscan 2 Sublcan 3 As will be observed from Table 1, hammers Nos. 1, 4, 7, l0 121, 124, 127, and are successively optioned in subscan 1 so that all of these hammers will print one after the other in the order just given, assum: ing that the proper character 112 is positioned at the time in alignment with the hammer. During subscan 2, the hammers Nos. 2, 5, 8, l1 122, 125, 128, and 131 are optioned; and likewise, during subscan 3, hammers Nos. 3, 6, 9, l2 123, 126, 129, and 132 are optioned.
The present invention maintains each of the hammers 126 set or on, once the hammer has been energized, for a length of time which is greater than one scan time but which is less than two scan times; and this is accomplished under the control of the emitter which is synchronized with the movement of the chain 110. This has been accomplished by the present invention by breaking the normal option time for a hammer 126 into two parts. The first part is used to service the hammer 126 as usual, and the second part is used to address another hammer 126 and reset it if required. Still more particularly, the reset address register is given an initial value which determines when in a print scan a hammer 126 is optioned to reset and which thus detemiines its hammer on time. The reset address register 170 contains the address in the print buffer 156 of a second hammer which is addressed in the second part of a normal option time, and the decoder 174 activates the X and Y address signals for this hammer which are used for resetting the second hammer.
The following Table 2 supplements Table 1 in that Table 2 also shows the hammers 126 which are reset during scans 1, 2, and 3:
TABLE 2 Subscan 1 Subscan 2 Subscan 3 SET RST SET RST SET RST 1 3 l I 14 I 15 1-3 As above described, hammers Nos. 1, 4, 7 124, 127, and 130 are set or optioned in subscan l; hammers Nos. 2,5, 8. 125, 128, and 131 are set or optioned in subscan 2; and hammers Nos. 3, 6, 9 126, 129, and 132 are set or optioned in subscan 3. Table 2 shows that just after set option is supplied for hammer No. 1, a reset option is supplied for hammer No. 14. Subsequently, a set option is provided for hammer No. 4 and immediately thereafter a reset option is provided for hammer No. 17, etc. In subscan 2, a set option is provided for hammer No. 2 and immediately thereafter a reset option is provided for hammer No. 15, etc. The sequence of the other set options and reset options are apparent from Table 2. It will be observed that the reset option for hammer No. 1 occurs near the end of the second subscan, and it would be possible to de-energize the corresponding electromagnet 134 for hammer No. l at this time, approximately for a scan after the firing of the hammer No. 1; however, preferably this electromagnet 134 is maintained energized for more than one scan and in particular for l scans, so therefore circuitry is provided in connection with the print buffer 156 so that the reset signal (on line 228) is inhibited during the first scan subsequent to the firing of hammer No. 1 but the reset signal is allowed to occur during the next following scan so that the hammer actually remains fired for about 1 scans.
1n the operation of the printer, the chain emitter drives the chain character counter 186 through the print subscan counter 184 so that counter 186 maintains a count of the characters 112 as they pass print position 1. More particularly, the counter 186, which is a binary counter, maintains a count in binary code of the number of characters 112 in a type set. If a 48 character type set, for example, is used, the counter 186 will count from 0 47 as each of the chain characters 112 passes a given print position, for example,the first print position. The first print subscan pulse for each character 112 in a set as sensed by emitter 150 is used to activate the counter 186, and at the end of a set of characters 112 as evidenced by a complete revolution of the timing drum 146, a home pulse is received by the home pulse detector 182, the output of which is used to reset the character counter 186. The character counter 186 and the subscan counter 184 are so arranged with respect to movement of the chain 110 so that each time a character 112 moves into alignment with print position 1 on the form 122, it defines the beginning of a print scan which continues until the next character 112 on the chain moves under print position 1. There are three subscans within each scan, and therefore, each time a character 112 moves into alignment with print position 1, a subscan 1 begins. Each time a character 112 moves into alignment with print position 2, subscan 2 begins; and subscan 3 begins when a character 112 moves into alignment with print position 3.
During each subscan, 44 hammers must be serviced as characters move into alignment with them. As each hammer is serviced, the printer clock logic generates one period or subinterval consisting of the six clocks. Therefore the printer clock runs for 44 subintervals to service each of the 44 hammers. In addition, the clock runs for one subinterval at the beginning of every subscan for the purpose of initializing various registers. This time is referred to as initialize time and signal 200 is active for the duration of one subinterval. Thus the clock operates for 45 subintervals every subscan with each subinterval consisting of six clocks.
The circuitry in order to fire any given hammer 126 utilizes the data desired to be printed on the form 122 and the data of a character 112 on the chain 110. The chain characters 112 move into alignment with the hammers 126 in the order shown in Table 1 during each subscan; and, when a character 112 is aligned with a hammer 126, that hammer must be addressed and set if the character 112 aligned is the one that should be printed. The circuitry causes a comparison to be made between the data to be printed in a given print position on the form 122 and the chain image character 112 that is presently positioned in front of the same print position on the form 122. If there is a compare, a compare signal raises on line 226, and the circuitry causes a corresponding hammer 126 to be fired in order to print the character 112 in that particular print position. The print buffer 156 contains two storage areas 156A and 1568 which r'espectivelycontain the data to be printed and the image of the chain 110. The
chain image in the storage area 156B'is constant for the particular chain 1 or chain cartridge mounted on the printer. If another type of chain .110 with different characterson it is desired to be used, then it is necessary to reload the chain image in the storage unit 1568. Although it is contemplated that preferably there may be 48 of the characters 112, a character set may include up to 120 different characters, and the bufier area 1568 is similarly sized. The data that is contained in the storage area 156A is constant for the duration of a line of print on the form 122 and may be loaded from an associated CPIilhrough DBO 176. After a complete line has been printed by the characters 112 on form 122, the area 156A is blank; and, at this time, the storage area 156A is loaded with the data for the next line of print to be made on the form 122. The print line may consist of 132 characters, and thereforethe buffer area 156A may contain this many bytes (each byte consisting of eight bits plus a parity bit), and the area may be located from buffer address hexadecimal 7C (01 l l I 100) to buffer address hexadecimal FF (11111111), for example (see FIGS. 5A and 5B for a showing of these addresses).
The data address register 166 contains the address in he print buffer 156, and particularly in the area 156A thereof, of data to be printed. The data address register I66 is given its starting value from the associated CPU through the data bus out 176. This may be, for example, the address is hexadecimal 7C for print position 1 (see FIG. 5A), and the data address register 166 thus contains the address of the single character in buffer 156 that is to be printed in print position 1.
The image address register 168 contains the address of the image character in the buffer area 1568 corresponding to the chain character 112 aligned with the print positions. The register 168 has its starting value supplied from the character counter 186, the subscan counter 184 and the ALU 162. This starting value is supplied at the beginning of each subscan particularly by the initialize-time signal on lead 200 which exists for the first six clocks of each subscan. The image address register 168 is initialized by O, 1 or Zdepending on whether the operation starts in subscan 1, 2 or 3, respectively. The initialize factors of 1 or 2 are loaded into the ALU 162 due to the operation of the AND circuits 240 and 242. If subscan 2 is in effect and if the initialize time signal on lead 200 is up, the AND circuit 240 will produce a binary 1 signal in the bus Q at clock 5. This signal is transmitted through the OR circuit 252 and bus W to the ALU 162 so as to load an initialize factor of 1 into the ALU when subscan 2 is in effect. When subscan 3 is in effect, the AND circuit 242, being under the control of the subscan 3 signal on lead 256, loads a binary 2 into the bus R which is transmitted through the OR circuit 252 and bus W to the ALU 162. If subscan 1 is in effect at the time of initialization, there is no such initialization factor provided to the ALU- 162, and it is under the direct control of the subscan 1 signal transmitted from the subscan counter 184 to the character counter 186 and from thence through the Y register 160 to the ALU 162. The present value of the character counter is loaded into the Y register 160, then the appropriate initialize factor 0, l or 2 is supplied into the ALU 162, and the sumof the two values then flows out of the ALU and through bus H to the image address register 168 to provide a starting value therefor. This starting value, as above mentioned, is provided at the beginning of every subscan, during the first six clocks of the subscan.
During the time of initialization in subscan 1, the hexadecimal value 89 is loaded into the reset address register 170. The value so'loaded as an initial value into the register determines, as will be hereinafter described, the reset time for-a print hammer; and this value may be changed, as will be indicated, to change the energization time of the corresponding electromagnet 134. The AND circuit 244 is effective for loading the reset address register 170, and the AND circuit 244 produces the hexadecimal 89 signal on the bus S at initialize time and at clock 4, since both the initialize and clock 4 signals constitute inputs to the AND circuit 244. This hexadecimal 89 signal is supplied through the OR circuit 252 to the ALU 162 and from thence to the reset address register 170 through bus H, similarly to the manner in which the image address register 168 is initially loaded.
In executing a print scan, initially, during clock 1 the contents of the data addressregister 166 is loaded into the memory address register 164, this address so loaded in the register 164 being the location of the data in the buffer area 156A for print position 1. This data, consisting'of 8 bits plus a parity bit, is accessed from the buffer 156 and is loaded into the X register 158. Also during clock 1, the hammer address register 172 is loaded with the address that is in the memory address register 164. The decoder 174, under the control of this address in the registers 164 and 172, causes theX and Y address lines corresponding to hammer No. l to activate so that hammer No. 1 can be fired if there is a hammer set signal on the line 214 caused by a compare of data and character image as will be described.
The transfers of data and addresses as above described during clock 1 will be quite clear, particularly from a consideration of FIGS. 7, 8A, and 8B; and these figures may also be used to illustrate the transfer of addresses and data during the following clocks.
During clock 2, the address in the image address register 168 is loaded into the memory address register 164, and the address in the memory address register 164 accesses the image character in the corresponding location in the buffer area 156B to load the image character corresponding to the chain character presently aligned with print position 1 from the buffer 156 and into the Y register 160. The address of the image character in the area 153 is indicated on FIGS. 7 and 8A as being binary 00. The compare operation between the image character from the buffer area 1568 i and the data character 156A is also made during clock 2. The X register 158 stores the data for print position 1 which flows from the buffer 156 through the buses B and C, and the character image is stored in the Y register, flowing from the buffer 156 through the bus B to the Y register 160. The ALU 162 is operative during the last part of clock 2, as is indicated in FIG. 8A to compare the contents of the X register 158 and Y register 160, and if the data and image compare, hammer No. 1 is set at clock 3. This is indicated in both FIGS. 7
A compare is indicated by the ALU 160 on the compare line 226, and the AND circuit 222 will therefore provide a hammer set signal on line 214. This compare signal indicates that the character 112 presently before print position 1 is that character which is to beprinted, and therefore the particular AND circuit 210 for hammer No. 1 has all of its inputs satisfied, thus setting this particular latch 206 and energizing the corresponding electromagnet 134 for hammer No. 1.
Also during clock 3, the data address register 166 is incremented by 3 so that during the next clock 1, the data from print position 4 will be accessed. The AND circuit 246 is utilized for incrementing the data address register by 3, and as will be observed-from FIG. 3, the AND circuit 246 is under the control of the clock 3 signal. The binary 3 signal is supplied through the OR circuit 252 to the ALU 162 which functions in the same manner as previously described for providing the value in the data address register.
In addition, during clock 3, assuming that hammer No. 1 has been fired, a special data pattern is written in the buffer 156 in place of the data character that has just been printed by hammer No. 1. This pattern is used later to identify the on-off status of hammer No. l and to control the resetting of hammer No. 1. This special data pattern is hexadecimal 40 (without a parity bit). The AND circuit 236 has the function of providing the hexadecimal 40 pattern, and the AND circuit 236 has its inputs satisfied at clock 3, with a compare signal existing on line 226. The hexadecimal 40 signal is supplied through the bus N and OR circuit 177 so that the hexadecimal 40 pattern is written in place of the data that was previously located at location 7C in the buffer area 156A.
The reset address register 170 is utilized for determining which of the hammers will be addressed during the option to reset time constituting the second part of a normal hammer address time. The circuitry of the present invention divides a normal hammer address time into two parts, namely an option to set part and an option to reset part. Referring to FIG. 7, the first six clocks constitute a normal hammer address time, with the first three clocks constituting an option to set part of this time and with clocks 4, 5, and 6 constituting the second part or the option to reset part of this address time. The value in the reset address register 170 causes the readdressing of each of the hammers 126 eventually after an option to set for the hammer has previously occurred, and the readdressing occurs in the second part of some subsequent normal hammer address time. Referring to Table 2; as previously described, during the first option to reset time interval in scan 1, hammer No. 14 is addressed, and this is by action of the reset address register 170 and the value that has been loaded initially into this register.
During clock 4, which is the first clock in the option to reset part of the normal hammer address time, the contents of the reset address register 170 is loaded into the memory address register 164. This is indicated in both FIGS. 7 and 8A; and, as above described, for the particular instance given, the contents of register 170 is the address (89) of the data in storage area 156A for hammer No. 14. Thus, the memory address register 164 holds the address in the buffer 156 corresponding to a hammer (No. 14) which may be reset during the second part of the normal address interval in which hammer No. l'was'previously set, assuming there was a compare. The hammer address register 172 isloaded during clock '4 with the contents of the memory address register 164, thus containing the value 89=for hammer No. 14. The decoder 174 is active at this time to ac tivate the particular X'and Y address lines which connect with the magnet 134 for print position l4; and hammer No. 14 is thus optioned to reset and it will reset, assuming that it has been previously set, unless the location for hammer No. 14 in print buffer area 156A contains aspecial data'pattern of hexadecimal 40 which indicates that hammer No. 14 shall not be reset at this particular time. The AND circuit 234 would cancel the input in line 228 to AND circuit 224 which would prevent a hammer reset of hammer No. 14 at this time; however, without such a signal from AND circuit 234, AND circuit 224 causes a resetting of hammer No. '14 at clock 6 effective as a signal on AND circuit 224.
Also, during clock 4, the reset address register is incremented by 3, and this is by action of the AND circuit 248 having the signal clock 4 applied thereto. The AND circuit 248 is effective through the OR circuit 252 and ALU 162 in increment the reset address register 170 at this time similarly as the local store registers 166, 168, and 170 have previously been incremented as described. This incrementing of the reset address register 17 0 is so that during the next reset option time, hammer No. 17 will be addressed (see Table 2).
During clock 5, the image address register 168 is incremented by 2, this being under the action of the AND circuit 250 and for the purpose of causing the proper address in the buffer section 156B to be effective so that a proper printing in pring position 4 may next take place. During clock 6, hammer No. 14 is reset, assuming that it was previously set, and assuming that there was no special data pattern of 40 in the location in buffer 156 corresponding to hammer No. 14.
The setting of hammer No. 4 and the resetting of hammer No. 17 may take place during the following six clocks (see FIG. 7). The first six clocks previously referred to, in which setting of hammer No. 1 and resetting of hammer No. 14 may occur, may be considered a first active subinterval while the following six clocks are considered the second active subinterval in a subscan; however, as will be understood, these subintervals follow the initialization time which includes the very first six clocks of a subscan. In FIGS. 7 and 8A, for the purpose of clarification, the first active subinterval in which hammers No. 1 and 14 are involved is indicated as subinterval a while the following six clocks are indicated as subinterval b.
During subinterval b, referring in particular to FIG. 7, exactly the same events occur as during subinterval a, except that hammers Nos. 4 and 17 are involved in lieu of hammers Nos. 1 and 14. As previously described, the local store registers 166, 168, and 170 have all been incremented so that they contain the proper values, particularly the addresses in the buffer 156, to cause the circuitry to act on hammers Nos. 4 and 17.
As previously mentioned in connection with Table 2, hammer No. l was addressed in the option to reset part of a normal hammer address time close to the end of subscan 2, and this is shown in FIG. 8A. The address in the reset address register 170 at this time (clock 4) is the hexadecimal address 7C, which is the address of hammer No. 1. The X register 158 at this time contains the data in the buffer 156 at the hammer No. 1 address, which is the hexadecimal 40 that was previously loaded into this position in the buffer 156 when hammer No. l was initially set. This value of 40 is supplied at this time from the X register 158 through the buses G and M to the AND circuit 234, and AND circuit 234 provides a reset inhibit signal on line 232 and causes a cessation of a reset signal on line 228, so that the AND circuit 224 cannot be effective at this time to reset hammer No. 1 and its electromagnet 134.- Therefore, during subscan 2 of the first print scan N, and also during the following subscan 3 and during the subscan l of print scan N l, hammer No. 1 remains set or fired.
During subinterval a of subscan l of print scan N l, the address 7C is again loaded from the DAR 166 into the MAR 164. The contents of buffer 156A at location 7C will be hexadecimal 40, and this is again loaded into the X register 158. The reset inhibit signal 232 is active because the X register 158 contains hexadecimal 40. The signal 232 is applied to the AND circuit 238. At clock 3, AND circuit 238 is effective for writing a hexadecimal 40P (hexadecimal 40 with a parity bit being on or 010000001) in place of the hexadecimal 40 at location 7C of buffer area 156A.
The address 7C is again loaded in the memory address register 164 and in the hammer address register 172 in a subinterval close to the end of the second subscan in the print scan N l, and the data at the location 7C will be the hexadecimal 40? previously written in this location. This data is in the X register 158 as indicated in FIG. 83 at this time, and this data is ineffective to satisfy all the inputs to AND circuit 234 so that there again is a signal on line 228. The AND circuit 224 thus has all of its inputs satisfied at clock 6 during this subinterval so that hammer No. l is reset at this time. Thus, hammer No. 1 has remained energized for the duration of about I scans more than one scan but less than two scans. As is apparent, the procedure just described in connection with hammer No. l repeats with respect to all of the other hammers during each of the subintervals, each of the subscans, and each of the scans; and the repetition is such that all 132 positions are addressed twice in each print scan, with each hammer that has been set being reset about 1 scans after having been set.
FIG. 6 illustrates concisely the setting and resetting of hammer No. 1, with the electromagnet 134 for hammer No. 1 remaining energized for more than a print scan. In the first half of a normal option time of 4.8 microseconds, which is the option to set time, the address under control is indicated by hexadecimal 7C; and the corresponding address in the second half of the normal option time, the option to reset time, is hexadecimal 89. The notation Off indicates that hammer No. 1 is off and itselectromagnet 134 is deenergized.
In the second subscan 1 shown in the middle of FIG. 6, the addresses 7C and 89 are still utilized; and the intervaL of 4.8 microseconds at this time corresponds to the subinterval a shown in FIG. 8A. The notation Set at this time indicates that hammer No. 1 has been set and the notation 40 indicates that the data of 40 has been written in location 7C of buffer 156 in place of the data printed by the hammer No. 1 on its firing.
The address 7C in the option to reset time close to the end of the second subscan as shown in FIG. 6 indicates that hammer No. l is again addressed at this time, and the notation 40 On" in FIG. 6 indicates that hammer No. 1 is on and that the substitute data of 40 is in location 7C of buffer 156 thus preventing the AND circuit 224 from supplying a hammer reset signal on lead 216 which would reset hammer No. 1 at this time.
As shown in FIG. 6, at the beginning of the third subscan I, the addresses under control are again 7C and 89 and the notation 40 Onindicates that the character 40 remains in the 7C location of I buffer 156 with hammer, No. 1 remaining on. The notation Write 40? indicates that at this time v the first substitute character 40 in buffer location 7C is replaced and.
written over by the second substitute character 40? which is the same as the 40 character except that a parity bit in the eighth position of the nine bit character has been added. As previously explained, the AND circuit 238 is effective for writing the substitute character 40?.
In the following subscan 2, FIG. 6 indicates that the address 7C again occurs close, to the end of the second subscan, in an option to reset time; and the notation 40F Reset indicates that the effect of the substitute data 40? in location 7C of buffer 156 is to cause a resetting of hammer No. l and a de-energization of the electromagnet 134 for this hammer. Thus, as indicated in FIG. 6, the total time of energization of the electromagnet 134 for hammer No. I is 1.2 milliseconds which is about the duration of l scans.
It thus is apparent that the circuitry of the invention writes a substitute, special bit pattern (hexadecimal 40) into the print buffer 156 for the data accessed for printing by a particular hammer. This special bit pattern of 40 is one which is never used as a character of data derived from the associated CPU, and the presence of this special bit pattern in the location from which data is accessed indicates that the particular hammer has been fired in order that a premature reset pulse on line 216 is inhibited within the time of a first scan after hammer firing has taken place. When a full print scan after firing has taken place, this location in buffer 156 is again accessed; and, at this time the circuitry is effective for replacing the special bit pattern with still another substitute bit pattern which may be the hexadecimal 40 character with a parity bit at the high order position. This second substitute character is the valid code for a blank character. Thus, after completion of a print line, the buffer area 156A holds 132 positions of blank characters. Therefore, when the position in buffer 156 is again accessed a fraction of a scan time later, the hammer reset pulse on line 216 rises and resets the hammer. The hammer, therefore, due to the substitution of these two characters for the data printed by the hammer, causes the hammer to remain set for one and a fraction of print scan times subsequent to firing.
It will be apparent from the above description that it is the initial value in the reset address register that determines when a hammer 126 is optioned to reset and which therefore determines its hammer on time. If it is desired to change the set time of the hammers, it is only necessary to change the initial value in the reset address register 170; and, therefore, this same circuitry as above described may be used for the purpose of accommodating different chain speeds by simply changing the initial value in the reset address register l70'in accordance with requirements. Substantially all of the logic shown in FIG. 3 would be required for controlling a chain printer having either single shot hammer drivers or an integral scan hammer on time. Thus, the addition of only the reset address register 170 together with minor timing and gating logic advantageously provides a means of energizing a print hammer for more than one scan or for less than two scans which is optimum for certain high speed printers. A hammer on time of more'than one scan but less than two scans is an optimum hammer firing time alleviating potential thermal problems in the electromagnets 134 but yet assuring that the electromagnets are set for sufficient time so that good printing takes place. Furthermore, the approach of timing the hammer on time as above described provides greater accuracy than using single shots for each of the hammer electromagnets, for example, so that all of the hammers are set for substan tially the same time on firing.
I wish it to be understood that the invention is not to be limited to the specific constructions and circuitry shown and described, except only insofar as the claims may be so limited, as it will be apparent to those skilled in the art that changes may be made without departing from the principles of the invention. In particular, it will be understood that although a resetting of each hammer is accomplished after the hammer has been set for a period between one and two scans after hammer firing, the hammer can instead be reset at a time less than the time of one scan following firing. Concisely, this may be accomplished by writing, at the time of hammer firing, the second substitute character 40? in place of the data used for firing the hammer. In this case, the first substitute character 40 is not used. In order to accomplish such an accelerate resetting of each of the hammers of the printer, the AND circuit 236 is deleted and AND circuit 238 is modified such that input 232 is removed and the compare signal 226 is put in its place.
What is claimed is:
l. A high speed printer comprising, in combination:
a moving type carrier having a series of print characters thereon,
a print hammer disposed to impact with said type carrier for printing said print characters in a print position located in alignment with said hammer,
a hammer driver motor for firing said hammer upon being energized,
means for driving said type carrier so as to move said print characters successively into alignment with said hammer with a print scan being determined from the time when one print character of the type carrier is in alignment with said hammer to the time when the next print character on the type carrier is in alignment with said hammer,
a print buffer for holding in a particular location therein the data character to be printed by said hammer,
means for accessing said buffer at said particular location for energizing said hammer motor to fire said hammer in order to print said data character,
means acting in timed relationship with movement of said type carrier for reaccessing said buffer at a location therein having a definite relationship with respect to said above-named location and at a time which is less than a print scan time afterthe firing of said hammer, and
means acting in response to said reaccessing of'said buffer which may be effective for de-energizing said motor and'resetting said hammer.
2. A highspeed printer comprising, in combination:
a moving type carrier having a series of print characters thereon,
a print hammer disposed to impact with said type carrier for printing said print characters in a'print position located in alignment with said hammer,
a hammer driver motor for firing said hammer upon being energized,
means for driving said'type carrier so as to move said print characters successively into alignment with said hammer with a print scan being determined from the time when one print character of the type carrier is in alignment with said hammer to the time when the next print character on the type carrier is in alignment with said hammer,
a print buffer for holding in a particular location therein the data character to be printed by said hammer,
means for accessing said buffer at said particular location for energizing said hammer motor to fire said hammer in order to print said data character,
means for replacing the data character in said buffer location with a substitute character when said motor is energized and said hammer is fired,
means acting in timed relationship with movement of said type carrier for reaccessing said buffer location at a time which is different than a print scan time after the firing of said hammer, and
means responsive to the reception of saidsubstitute character for de-energiz'ing said motor and resetting said hammer when said buffer is so reaccessed.
3. A high speed printer as set forth in claim 2, said accessing means acting in timed relationship with movement of said type carrier so as to also be operative to access said buffer at said particular location a print scan time later after first accessing said buffer, said reaccessing means also acting in timed relationship with movement of said type carrier so as to subsequently reaccess said buffer location a second time at a print scan time later after first reaccessing said buffer location, and means for inhibiting said means responsive to the reception of said substitute character during the first print scan time after said hammer is fired so that said means responsive to the reception of said substitute character is effective between one print scan time and two print scan times after the firing of said hammer.
4. A high speed printer as set forth in claim 2, and including a character counter effectively driven by the movement of said type carrier, a character image buffer area for holding in a particular location therein the image of the character on said chain in alignment with said print position, means for accessing said im age buffer area at said particular location therein, and co mpare means for comparing the data at said particular location in said print buffer with the data at said particular location in said image buffer area so as to fire said hammer in order to print said data character when there is a compare.
5. A high speed printer as set forth in claim 2, said accessing means being under the control of movement of saidtype carrier so as to be effective for accessing said buffer at said particular location a second time at a print scan time later than the time of first accessing, said reaccessing means being under the control of movement of said type carrier so as to be effective to reaccess said .buffer a second time which is at a print scan time later than the time of the first reaccessing of said buffer, means for. replacing the data character in said buffer location with an intermediate substitute character prior to the placing of said first-named substitute character in said buffer location as aforesaid and when said hammer is fired, and means responsive to the reception of said intermediate substitute character for inhibiting the resetting of said hammer during a first scan time subsequent to the firing of said hammer.
6. A high speed printer as set forth in claim 2, said type carrier constituting an endless chain and said hammer driver motor constituting an electromagnet.
7. A high speed printer as set forth in claim 3; said type carrier constituting an-endless chain and said hammer driver motor constituting an electromagnet; said printer including additional print'hammers and corresponding electromagnets similar to said firstnamed hammer and electromagnet all under a control similar to that for said first-named electromagnet and hammer by said accessing means, said replacing means, said reaccessing means, and said means responsive to the reception of a substitute character as aforesaid; said additional hammers having respective different locations in said print buffer corresponding to the aforesaid particular location in said print buffer for said firstnamed hammer.
8. A high speedprinter as set forth in claim 7, said means for accessing first buffer including a data address register and said means for reaccessing said memory including a reset address register .each of which is under the control of the movement of said type carrier so as to be incremented in accordance with the different locations in said memory that are accessed by said accessing means.