WO1995017308A1 - Method of controlling a thermal printhead - Google Patents

Method of controlling a thermal printhead Download PDF

Info

Publication number
WO1995017308A1
WO1995017308A1 PCT/US1994/014869 US9414869W WO9517308A1 WO 1995017308 A1 WO1995017308 A1 WO 1995017308A1 US 9414869 W US9414869 W US 9414869W WO 9517308 A1 WO9517308 A1 WO 9517308A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
printing
energization
memory address
memory
Prior art date
Application number
PCT/US1994/014869
Other languages
French (fr)
Inventor
Christopher A. Wiklof
Edward M. Millet
Original Assignee
Intermec Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intermec Corporation filed Critical Intermec Corporation
Publication of WO1995017308A1 publication Critical patent/WO1995017308A1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/315Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of heat to a heat sensitive printing or impression-transfer material
    • B41J2/32Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of heat to a heat sensitive printing or impression-transfer material using thermal heads
    • B41J2/35Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of heat to a heat sensitive printing or impression-transfer material using thermal heads providing current or voltage to the thermal head
    • B41J2/355Control circuits for heating-element selection
    • B41J2/3555Historical control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/315Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of heat to a heat sensitive printing or impression-transfer material
    • B41J2/32Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of heat to a heat sensitive printing or impression-transfer material using thermal heads
    • B41J2/35Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by selective application of heat to a heat sensitive printing or impression-transfer material using thermal heads providing current or voltage to the thermal head
    • B41J2/355Control circuits for heating-element selection

Definitions

  • the present invention relates to the field of thermal printheads driven by signals produced in response to monitored and anticipated device parameters and heating schedules.
  • Typical thermal printheads are comprised of linear arrays of small thermal print elements, each producing heat in response to an input signal.
  • Individual print elements are often lengthwise segments of a resistive strip of thermal material to which input electrical currents are applied. As current passes through the segments associated with a print element, resistive heating occurs locally, producing the desired heat. Selected print elements heat a thermally sensitive paper or other thermally responsive print medium, causing it to darken locally and thereby produce printing.
  • the print medium moves in a transverse direction with a stepped movement past the array of print elements.
  • the print medium is in thermal contact with the print elements as it is stepped past the array.
  • desired print elements are selectively heated and the portions of the print medium in thermal contact with the heated print elements are darkened from the heat transferred to them from the heated print elements.
  • Each darkened portion is referred to as a pixel.
  • the time during which the array of print elements is aligned with a given row of print medium portions to print an associated line of pixels, before being stepped to the next row of print medium portions, is called a scan line time or SLT.
  • the SLT may further be broken down timewise into segments, allowing -portions of the SLT to be treated separately. This is useful in cases such as when a heating schedule for a line of pixels is changed during an SLT.
  • the SLT is inversely proportional to the printer speed for a given pixel line width.
  • a print command signal is input to each print element selected to print during a particular SLT.
  • the signal is designed to raise the temperature of the print element to a prescribed temperature and to maintain the temperature level for a prescribed time.
  • the print element is energized at a constant level during the entire SLT if printing is desired and is not energized at all if no printing is desired.
  • the print command signal is a logical AND combination of a data signal and a strobe signal. Because this signal from the logical AND of the data signal and the strobe signal controls whether or not the print elements are heated at any particular time, it will be referred to herein as the energization signal.
  • the strobe signal has been used to compensate for the long-term heat build-up in the printhead while the data signal has controlled the selection or non-selection of elements.
  • the strobe signal is adapted, for example, when the printer first begins operation and the printhead temperature is below its nominal operating temperature, to allow a longer heating period to allow extra heating of the print elements.
  • Such compensation allows the print elements to reach the desired temperature for printing during the SLT. If no compensation were incorporated, lines of pixels printed during warm-up would be lighter than desired due to insufficient heat being transferred to the print medium during the SLT. After the printhead has warmed up, the heating period can be reduced for nominal operation because of the effect of the residual heat each print element will retain as a result of its prior heatings.
  • the strobe signal may be used to compensate for long-term temperature variations in the printhead as a whole which cause the printhead to be below or above its desired nominal operating temperature.
  • the accumulated residual heat can raise the operating temperature of the printhead or a group of print elements above the nominal operating temperature. This can cause overdarkening of the corresponding pixels that are printed for that line. In actuality, the overheating causes the pixel size to be larger than desired, thus giving the appearance of an overly dark pixel. This results because the energization signal is generated with the assumption that the print element to which it is applied is at the nominal operating temperature.
  • the printhead may cool to almost the ambient temperature, causing any pixels that are printed to be lighter than desired, much as described above for the warm-up period.
  • the strobe signal is used advantageously to compensate for such varying operating conditions by monitoring the printhead operation and adjusting the strobe signal to accommodate. Conditions other than the recent printing schedule of print elements also affect printing performance and the strobe signal is also used to compensate for these. For example, print speed, media type, ambient temperature, heat sink temperature, print element resistance, print darkness selections, and power supply voltage may cause variations in the printhead temperature, desired maximum temperature and other printing parameters.
  • the strobe signal is primarily useful in compensating for various printhead parameter variations only on a global basis. That is, the strobe signal is used to compensate over the entire print element array, but compensating for individual print element variations using the strobe signal is extremely difficult. For example, in an array of 256 print elements, transmission of 256 individual strobe signals to the closely spaced elements raises difficulties due to cross-talk between lines. The cross-talk problem worsens at higher frequencies. Thus, as printhead development permits faster print speeds, strobe signal cross-talk makes multiple strobe signals less desirable. Further, production of 256 adaptive strobe signals increases the complexity of the array-driving apparatus considerably.
  • Printing performance may be improved still further by providing the energization signal intermittently during early segments of the SLT such that printing occurs during the current SLT, but doing so in a manner to hold the selected print element at a temperature just slightly above the temperature at which it will print a pixel, allowing printing to stop more abruptly when the energization signal is removed and provide a sharper edge to the printed bar.
  • the current invention provides an improved method of adaptively driving a thermal printhead in response to monitored historical data and anticipated heating schedules.
  • the inventive method reduces the memory required for a given amount of historical and anticipated printing activity information required to be stored and manipulated in producing an adaptive driving signal for an array of print elements.
  • the method employs a data compression technique in combination with past and future printing activity of print elements to select desired energization signals.
  • printing activity data data relating to the combination of past and future printing activity with respect to an element.
  • the amount of printing activity data, and thus the requisite memory capacity, necessary to provide a meaningful basis for determining the driving signal is reduced as a consequence of the data compression.
  • the method increases the effective historical and/or spatial basis upon . which such a determination can be made.
  • a lossy data compression approach permits the memory to be utilized to store only the most relevant activity data. Less relevant data is not stored in the memory and thus a portion of the memory is freed for additional printing activity data. The result is a. more effective and efficient utilization of the available memory in the printer.
  • an energization schedule for a selected SLT is produced for the selected print element. That is, a schedule is produced dictating whether the energization signal will be in an "ON" state or an "OFF" state for each segment of the SLT.
  • a look ⁇ up table technique is used to produce the energization schedule in response to various printing activity data.
  • data relating to the desired schedule for energizing the selected print element during the selected SLT is retrieved from a RAM-based memory containing previously stored data. Data is stored in a RAM-based memory.
  • the data stored in RAM consists of sequences of bits with each bit of data in the RAM representing the energization or lack of energization of the selected print element for a particular segment of the SLT with 32 bits of data defining the energization schedule of the print element for the entire SLT.
  • the data representing the energization schedule for the selected print element during a predetermined SLT will be referred to as energization schedule data.
  • Each set of 32 bits in each memory location corresponds to a specific pattern of the printing activity data, giving each set a unique identity. The specific pattern can thus be used as an address to identify its associated energization schedule data.
  • the energization schedule data for a particular element is "looked up" in the RAM-based memory based upon the address defined by the printing activity data.
  • the energization schedule data is combined with the strobe signal in a logical AND combination to drive the selected print element, allowing compensation based upon the particular printing schedule of the selected print element and upon system wide considerations, such as measured temperature.
  • the memory is RAM based, its contents may be varied based on various device parameters such as type of print medium used or the selected printing speed of the printer.
  • the energization schedule data in the RAM may be derived by the printer microprocessor by performing calculations using the value of printing speed of the printer in an established algorithm. Alternately, the energization schedule data may be loaded from a ROM data stored in a printer ROM, upon start-up or in response to a user's input.
  • the inventive method can be adapted for use with varying print parameters and conditions.
  • the printing activity data used to identify the location of the energization schedule data in the RAM is not limited to the printing schedule of the selected print element. Alternately, the printing activity data may include the activity of an entire array of print elements.
  • data in a multidimensional matrix describing the printing activity of the entire array can be compressed.
  • the inventive method is not limited to manipulating printing activity data.
  • Energization schedule data in the look-up table RAM may also be compressed to reduce the memory storage requirements associated with the printhead for adaptation based upon a given amount of printing history.
  • compression of the look-up table data in combination with compression of printing activity data can yield even further efficiency.
  • a modified run length encoding compression technique is employed.
  • Other data compression techniques are also within the scope of the invention.
  • Figure 1 is a top plan view of a portion of a conventional thermal printhead used with the present invention.
  • Figure 2 is a schematic diagram of a section of a controlling apparatus implementing the preferred embodiment of the invention.
  • Figure 3 is a schematic diagram of a printhead driver module of the controlling apparatus of Figure 2.
  • Figure 4a is a diagram of example strobe signals used in practicing the method of the invention.
  • Figure 4b is a diagram of example data signals used in practicing the method of the invention.
  • Figure 4c is the logical AND of the strobe and data signals of Figures 4a and 4b.
  • Figure 5a is diagrammatic representation of printing activity data corresponding to a print element and two adjacent print elements used with the invention.
  • Figure 5b is a diagrammatic representation of correspondence between the data of Figure 5a and compressed data.
  • Figure 6a is a diagrammatic representation of a example sequence and data fields associated with selected print elements used with the invention.
  • Figure 6b is a diagrammatic representation of printing activity data corresponding to a print element and adjacent print elements used with the invention.
  • Figure 6c is a diagrammatic representation of printing activity data corresponding to a print element, two adjacent print elements and two print elements neighboring the two adjacent print elements.
  • Figure 7 is a diagrammatic representation of a method of storing data using grouping according to the method of the invention.
  • Figure 8a is a diagrammatic representation of an energization schedule for a selected print element according to the method of the invention.
  • Figure 8b is a diagrammatic representation of the correspondence between the data of Figure 8a and compressed data.
  • the method according to the present invention is implemented in a printer having a conventional thermal printhead 40 such as shown in Figure 1.
  • the thermal printhead 40 has a substrate 44 with a print bead 42 formed by a continuous linear raised deposition of resistive material that protrudes outward beyond the general level of the adjacent upper surface of the printhead.
  • the resistive material heats when it receives electrical current.
  • the print bead 42 is deposited over and comes into electrical contact with a plurality of first conductive leads 46 and a plurality of second conductive leads 48.
  • the first and second conductive leads 46 and 48 are uniformly and alternately positioned under the print bead 42, and have a width of substantially less than the center-to-center spacing between adjacent leads.
  • An equal length segment 52 of the print bead 42 is thereby provided between each pair of adjacent leads.
  • the first conductive leads 46 serve as anode leads, and are held at a predetermined positive supply voltage through their connection to a conductor 50, upon which supply voltage is imposed.
  • the second conductive leads 48 serve as cathode leads, and are selectively grounded, as described below, to allow conduction through selected ones of the segments 52 of the print bead 42. If a particular second conductive lead 48, such as the lead marked with reference numeral 48a in Figure 1 is grounded, a conductive path is completed between the grounded second conductive lead 48a and the two adjacent first conductive leads 46, marked with reference numerals 46a and 46b, permitting the passage of electric current between these first conductive leads and through the two segments 52 of the print bead 42 marked with reference numerals 52a and 52b.
  • the resulting conducted current causes the segments 52a and 52b of print bead 42 surrounding the grounded second conductive lead 48a to heat, thereby creating a small rectangular resistive print element 54 with a length equaling the center-to-center separation between first conductive leads 46.
  • a thermally sensitive print medium such as a thermal paper
  • a black "dot" or pixel will be printed by the heated print element 54. If, on the other hand, the second conductive lead 48a is not grounded, the print element 54 will not heat and a black dot will not be printed.
  • a printhead controller 60 used to perform the inventive method is shown in Figure 2.
  • the printhead controller 60 contains a thermal controller 62 and a printhead module 64.
  • the thermal controller 62 includes a state machine 66, a history RAM 68 and a table RAM 70.
  • the printhead driver module 64 includes four registers 72, a latch 74 and AND gates 76, using one AND gate for each print element 54 in the thermal printhead 40.
  • the history RAM 68 and the table RAM 70 of the thermal controller 62 are connected to receive, store and transfer data under control of the state machine 66 .
  • the table RAM 70 is connected to the registers 72 by output lines 78 which enable transfer of data from the table RAM 70 to the registers 72.
  • a latch line 80 connects the state machine 66 to the latch 74.
  • a clock line 82 connects the state machine 66 to the registers 72.
  • External control lines 84 are connected to the state machine 66 and table RAM 70, permitting data transfer and selection of operating parameters from an external source (not shown) under control of the microprocessor 67, such as a user interface.
  • a strobe line 86 providing a strobe signal from the microprocessor 67 is connected to the AND gates 76. The outputs of the AND gates 76 are connected to the second conductor leads 48 of the printhead 40 to control the individual print elements 54 of the printhead.
  • the AND gates 76 combine the strobe signal and the energization schedule data received from the table RAM 70 through the registers 72 to produce current to drive the print elements 54.
  • a thermistor 88 is incorporated in the printhead driver module 64 with a thermistor line 90 providing coupling to the thermistor 88.
  • Figure 3 is a schematic drawing of the printhead driver module 64 of Figure 2.
  • the register 72 is comprised of registers 72 ⁇ to 724 which are connected by lines 91 ⁇ to 9I4, respectively, to the individual latches that comprise the latch 74.
  • the latch 74 is connected to the individual AND gates 76 ⁇ to 76 a that comprise the AND gates 76 by latch driver lines 92 _ to 92 a , respectively, where "a" represents the number of print elements 54 comprising the printhead 40.
  • the remaining input of each of the AND gates 76 is connected to the strobe line 86.
  • Each of the AND gates 76]_ to 76 a has its output connected to one of the individual resistive print elements 54 ] _ to 54 a , respectively, that comprise the print elements 54 via a corresponding one of the individual second conductive leads 8 ] _ to 48 n that comprise the second conductive leads 48.
  • each of the resistive print elements 54 is also connected to positive supply voltage conductor 50 via a corresponding one of the individual first conductive leads 6]_ to 46 a that comprise the first conductive leads 46.
  • Each print element 54 of the thermal printhead 40 is controlled by an energization signal generated by supplying a strobe signal and a data signal in the form of energization schedule, to the input of each of the AND gates 76 over the strobe line 86 and over the latch driver lines 92 ] _ to 92 a .
  • the strobe signal is used to compensate for such variables as ambient temperature, heat sink temperature, user-selected darkness, power supply voltage, and printhead average print element resistance.
  • the strobe signal is also used to reduce the thermal stress on each print element 54 by modulating the energization signals applied to the print elements during warm-up of the printhead 40.
  • the strobe signal is produced in the microprocessor 67.
  • the strobe signal may vary considerably in response to changes which occur over relatively long periods of time (typically in excess of 100 SLTs) .
  • Energization schedule data are provided, as described below, primarily to accommodate shorter term variations affecting the energization of the print elements 54. Selection and generation of the energization schedule data are described below.
  • the AND gates 76 perform a logical AND function, combining the strobe signal and the energization schedule data to provide an energization signal for the print elements 54.
  • Figure 4a depicts one SLT and shows four different strobe signals, each representing one of many possible strobe signals available for use during a given SLT.
  • the SLT is broken into 32 segments.
  • the strobe signal may change states multiple times within a segment.
  • Figure 4b shows four different possible 32-bit sequences that comprise four different sequences of energization schedule data which may occur during one SLT, with one bit of each data sequence corresponding to each segment of the SLT.
  • 32 X 2 32 different data sequence combinations are possible for use as the energization schedule data. If each possible data sequence combination comprising the energization schedule data is stored in memory, 32 x 2 32 memory locations having 32 bits each will be necessary. As will be discussed hereinafter, the present invention provides a reduction in the memory required.
  • the 32-bit data sequences corresponding to the energization schedule data are stored in the table RAM 70.
  • the 32-bit data sequence of the preferred embodiment is broken into four data subsequences of 8 bits each with each 8-bit data subsequence representing a portion of the energization schedule.
  • the segments are numbered 1 to 32, with the number of each segment being its segment count.
  • the binary representation of the segment count is then 00000 to 11111.
  • the two most significant binary bits of the segment count are then used as part of the memory address to indicate the particular 8-bit data subsequence.
  • the first 8-bit data subsequence stored is used.
  • the memory address of this first 8-bit data subsequence would be 00XX...X, where XX...X is the memory address derived as described hereinafter and 00 are the first two bits of the numbers 00000 to 00111 representing the SLT segment counts from 0 to 7.
  • the data sequences are predetermined in view of the printhead parameters, empirical practice and calculations and are loaded into the table RAM 70 from a device ROM 69 in the state machine 66 upon system startup or may be loaded in response to a user's input.
  • Data transferred from the table RAM 70 to the registers 72 and data transfers within the printhead controller 60 are controlled by the state machine 66.
  • the state machine 66 is a conventional programmable logic array.
  • the state machine 66 is programmed in a conventional manner to control transfers of data response to the system clock from the clock line 82 based upon the segment count and in response to comments from the microprocessor 67. The operation of the state machine 66 is described below.
  • Figure 4c shows the logical AND of the four example strobe signals and the four example energization schedule data signals of Figures 4a and 4b.
  • the energization signal actually received by, for example, the print element 54 n is thus regulated by both the signal produced in response to the energization schedule data signal on latch drive line 92 n and the strobe signal on strobe line 86.
  • RAM 70 reach the AND gates 76 through the registers 72 and the latch 74.
  • 8-bit data subsequences of the energization schedule data are retrieved from the table RAM 70 based partially upon the two most significant bits of the segment count, with the remainder of the address determined as described hereinafter.
  • the 8-bit data subsequences are transferred to corresponding ones of the four registers 72 and are then clocked into the latch 74 one bit at a time, such that the latch 74 contains one bit of energization schedule data for each of its associated AND gates 76 during a selected segment of the SLT.
  • the data in the latch 74 drives one input of each of the associated AND gates 76.
  • the strobe signal is applied to the remaining input of each of the AND gates 76.
  • the AND gates 76 provide print command signals to the print elements 54.
  • Figure 5a is a diagrammatic representation of a printing schedule of a selected one of the print elements 54 represented by reference numeral 54g, during a current scan line time SLT ⁇ (the SLT for which the energization schedule data will be determined) , a future scan line time SLTp (the SLT immediately following SLT ⁇ ) and N past scan line times SLT ⁇ to SLTjj (the N SLTs preceding SLT C ) . Additionally, the representation shows a portion of the printing schedule of the two immediately adjacent print elements 52 ⁇ and 54pR during the same periods of time.
  • the entries in the table of Figure 5a are shown as a two-dimensional matrix of printing activity data indexed with respect to time in one direction and lateral position in the second direction. It can be seen that the inventive method may be applied generally to matrices of dimension higher than 2 and matrices having differently designated indices. As an example of the latter, if a two-dimensional array of elements is used for area printing, the table of Figure 5a may be a two-dimensional matrix representing current activity of elements located throughout the two-dimensional array. If this example were extended to consider historical and future activity of the two-dimensional array, each SLT considered would produces a corresponding two-dimensional array of printing activity data. This would result in a three-dimensional data matrix with the third index being time.
  • the printing activity data in the table of Figure 5a must be stored in a memory location associated with the selected print element 54g corresponding to the current SLT ⁇ .
  • the selected print element during the current SLT ⁇ will be referred to as the current element 54 ⁇ .
  • a representation of the bits occupied in memory by the printing activity data is shown in the lower portion of Figure 5b.
  • Each of the characters F, FR, L, C, and P ⁇ _ to P j j is a logic level 1 or a logic level 0 representing the printing or nonprinting, respectively, of the selected print element 54g or adjacent print elements 54 j _, and 54p ⁇ during the SLT indicated in the table of Figure 5a.
  • N + 4 memory bits are required to store the printing activity data presented in the table, in the absence of any memory saving process.
  • the bit designated by the character "L" may be derived easily from memory associated with an adjacent bit, reducing the required number of bits in memory by one bit.
  • a bit history of N SLTs along with the current bit, one future bit and one printing activity data bit relating to each adjacent element can be stored according to conventional methods.
  • the storing of data into memory locations associated with the appropriate SLT is controlled by the state machine 66.
  • the appropriate referencing of each bit of print element data is performed by the aging of printing activity data at the completion of each SLT. For the printing activity data, this means that at the conclusion of a given scan line time each bit of printing activity data is shifted in the history RAM 68 to a memory location corresponding to its position relative to the upcoming SLT. For example, the printing activity data for the current scan line time (i.e., the scan line time just completed) is transferred to a memory location corresponding to the immediately preceding scan line time and printing activity data for next scan line time (i..e., the scan line time about to begin) is transferred to the memory location corresponding to the then current scan time line.
  • data for the most distant future scan line time being treated is loaded from the microprocessor 69 into the history RAM 68.
  • printing activity data for the fifth future scan line time i.e., moving it to a memory location corresponding to the fourth future scan line time
  • printing activity data is loaded by the microprocessor 69 into the memory location corresponding to the fifth future scan line time.
  • the state machine 66 ages the data signal discussed above for increments of the segment count so that data for each segment is transferred from the table RAM 70 to the appropriate shift register 72 in the appropriate sequence.
  • the preferred embodiment of inventive method increases the effective relevant history of the current element 54gc f° r a given amount of memory by compressing the printing activity data relating to the current element before storing it in memory.
  • the printing activity data is compressed using a modified run length compression technique.
  • Figure 6a shows a sequence of printing activity data corresponding to the selected print element 54g where a logic level 1 state represents printing during a given SLT and a logic level 0 state represents no printing during the SLT.
  • the SLTs are indicated by the letters a through p in Figure 6a and will be used below as subscripts ' to indicate particular SLTs.
  • the state of the current element during the future SLT, SLT a is also a logic level 1.
  • the state of the current element during the immediately preceding two SLTs, i.e., SLT C and SLT ⁇ was also a logic level 1.
  • the state of the current element was a logic level 0 and during the eighth through tenth preceding SLTs, i.e., the state of the current element was a logic level 1.
  • the printing activity data presented in Figure 6a would correspond to a memory address. In each address, corresponding energization schedule data would reside. The energization schedule data would be selected based upon the activity of the current element.
  • a meaningful indication of variations in the needed energization of the current element can be developed instead, based upon (a) the duration of time during which the current element (and possibly " the adjacent elements 54L and 54 FR ) has been in its current state (i.e., its state during the current SLT, SLT ) and (b) the length of time during which the element (or elements) was in its respective opposite states (i.e., the opposite logic state to the current state) .
  • the state of the current element, the state of the selected print element 54 s during the immediately preceding SLT, i.e., SLT C , and the number of SLTs during which the selected print element was in that state, and the number of SLTs during which the selected print element was in the opposite state are stored in memory, using five bits for the number of SLTs in the first preceding state and three bits for the number of SLTs in the second preceding state, the printing activity data represented in the lower portion of Figure 5b will map into memory as shown in the upper portion of Figure 5b.
  • the first four bits F, FR, L, and C map directly from the previously described memory structure to the modified memory of the lower portion of Figure 5b.
  • the state bit i.e., the bit representing the state of the current print element
  • S the state bit
  • the number of SLTs during which the selected element was in the state S is two (SLT C and SLT ⁇ ) . This is represented in the five bit data field (F ⁇ J T . as 00010.
  • the number of SLTs during which the selected element was in the opposite state S is four (SLTe-SLTj j ) • This is represented in the three bit data field (F2) ⁇ as 100.
  • printing activity data relating to fewer previous SLTs is retained than in an approach using non-compressed printing activity data. Such occasions may occur, for example, when pixels are turned ON and OFF in rapid succession.
  • the inventors have determined, however, that in such instances, the nature of the image being printed reduces the importance of a lengthy history of printing activity to optimally maintain print quality as compared to cases where the pixel state is kept the same for longer periods of time.
  • the inventive method thus retains the more relevant historical information while discarding less relevant information to free memory space.
  • the recognition of the relative relevance of these particular aspects of printing activity data is particularly advantageous in bar code printing where bar widths need to be controlled accurately and where heat accumulation in the print element is strongly dependent on the widths of the two immediately preceding lines (e.g., space/bar) of the bar code symbol but much less dependent on the widths of lines of the bar code symbols prior to the two succeeding elements.
  • the inventive method is particularly advantageous in enabling a lengthy history of the print element to be treated, therein permitting the selection of a word length for F (Li) sufficient to fully encode bar codes which might be expected to occur.
  • the printing activity data presented in Figures 5a and 5b are representative of data which are commonly used in short term or local compensation. Other combinations of printing activity data may be used for varying compensation techniques.
  • the compression technique described with respect to Figures 5a and 5b and Figures 6a and 6b may be generalized to include -printing activity data for more than three present elements.
  • data relating to five elements are utilized as represented by Figure 6c. While this embodiment uses printing activity data for five elements, as described below, the technique may be generalized to utilize data from any number of print elements.
  • the printing state of the selected print element 54g is represented during the current SLT by C.
  • the selected print element 54g during the current SLT is the current element.
  • Its printing state during the immediately succeeding SLT is represented by F.
  • PI and P2 represent the previous and second previous states of the selected print element.
  • LI is a binary representation of the number of SLTs during which the current print element was in the second preceding state and L2 is the number of SLTs during which the current print element was in the state opposite the second preceding state.
  • the left adjacent print element's future state is designated FL and the left adjacent print element's left neighbor's future state is designated FL2.
  • the future states of print elements to the right are numbered FR and FR2 according to the same convention.
  • the number of SLTs during which the elements corresponding to data FL2, FL, FR, and FR2 are in those states, respectively, are represented by the data sequences LL2, LL, LR, and LR2.
  • sequences LI, L2, LL2, LL, LR and LR2 are 5 bits, 3 bits, 2 bits, 3 bits, 3 bits and 2 bits, respectively.
  • Energization schedule data corresponding to each possible combination of these data can be developed, permitting compensation for printing activity relating to up to 7 SLTs, 3 SLTs and 32 SLTs for the adjacent elements, neighbors to the adjacent elements and the selected element, respectively, using 26 bits of memory storage.
  • the compression of printing activity data may be generalized to any number of neighboring print elements in a similar fashion. Compression of data relating to a greater number of print elements may allow compensation for the type of image being printed or may allow adjustment of the energization signal to compensate for specific image types, such as picket fence bar codes. For example, if compression permits sufficient data to be utilized, it may be possible to determine if a solid line or picket fence bar code is being printed. The energization schedule data of the individual print elements could then be adjusted accordingly, for example, to anticipate rapid changes in printing states or prolonged constant printing states. Further compression of data may be realized by compressing printing activity data using a grouping technique as shown diagrammatically in Figure 7.
  • printing activity data pertaining to the current print element can be broken down into two groupings.
  • the first group consists of the current and future printing states of the current print element and the selected states of the adjacent print elements together forming a sequence Gl.
  • the second group consists of the printing activity data representing the state of the selected print element during the immediately preceding SLT and the 5-bit and 3-bit data fields described above, forming a 9-bit data sequence G2.
  • the 9-bit data sequence G2 is used as an address in a grouping memory 94 with 2 9 or 512 memory locations, in the same manner as addresses are used in the description of the look-up table technique above.
  • a 5-bit sequence corresponding to 5 bits of a 9-bit memory address is stored in each of the memory locations.
  • the remaining 4 bits of the memory address are provided by the 4-bit sequence Gl corresponding to the current, future and adjacent printing states.
  • the 9-bit memory address is an address in the table RAM 70 in which the previously described data sequences are stored. This address is used in conjunction with the two most significant bits to retrieve data comprising sequences of energization schedule data for input to the registers as described previously.
  • the reduction in data addresses realized by the grouping method relies on the similarity in effect of distinct printing histories. If, for example, the selected print element 54 $ has been in an "ON" state (a logic level 1) for several preceding SLTs, it may be ass ⁇ med that a solid black bar is being printed.
  • the desired energization schedule in such an instance may not vary significantly for differing lengths of the preceding "OFF" state. Consequently, a common energization schedule is sometimes appropriate for several similar printing activities.
  • the inventive method allows compensation based on the current and future printing states of a selected print element, the current and future printing states of adjacent print elements and data relating to up to 38 previous SLTs of the selected print element while requiring only a 512 x 5 RAM and a 512 x 32-bit RAM.
  • Each of the above described steps of compression and grouping advantageously improves the data handling and storage requirement of a printhead 40 using data compensation for short-term printing activity.
  • the two techniques provide even further improvement.
  • the improved data handling and storage capability of the inventive method allow significantly longer printing histories to be utilized in implementing compensations for a given amount of memory.
  • energization schedule data in the table RAM 70 can be compressed by compressing energization schedule data in the table RAM 70.
  • a 32-bit energization schedule can be presented as five binary numbers representing three data fields, Fl, F2, and F3, and two state bits, SI, S2. From the three data fields and two state bits, a 32-segment energization schedule can be produced for a given SLT.
  • the first data field Fl presents the number of SLT segments during which the energization signal is to be in a logic level 0.
  • the first state bit SI presents the state of the energization signal during the time defined by the second data field F2.
  • the third data field F3 presents the number of SLT segments during which the energization signal is in the opposite state from SI.
  • the second state bit 52 presents the state of the energization signal during the remainder of the SLT segments not previously defined.
  • the first data field Fl has three bits
  • the second data field F2 has five bits
  • the third data field F3 has three bits.
  • the 32- segment SLT can be defined by a total of 13 bits.
  • FIG. 8b An example according to this method is shown in Figure 8b, with the energization schedule of Figure 8b used to produce a corresponding compressed data sequence as shown in the lower portion of the table of Figure 8a.
  • the energization schedule As defined by the data in field Fl, the energization schedule is in a logic level 0 for the first three segments, 0-2.
  • the energization schedule is in a logic level 1 as prescribed by the state bit SI during the subsequent 6 segments as defined by the second data field F2.
  • the signal is then in the opposite state, that is, a logic level 0, during the subsequent 5 segments as defined by the third data field F3.
  • the energization signal is in a logic level 1, as prescribed by the second state bit S2.
  • a table RAM of 512 x 32 is required. If the data in the table is compressed according to the method illustrated in Figure 8a, the required table RAM size is 512 x 13.

Abstract

A method of supplying an energization signal to a selected element in an array of print elements. Printing activity of the selected element and neighboring elements is determined, compressed and stored to memory. Based on the stored compressed printing activity data, an energization schedule for the selected element is determined using a look-up table technique. The data in the look-up table may also be compressed reducing the memory required by the energization data. Further reductions in memory are achieved by grouping portions of the printing activity data to identify common energization schedules for differing printing activities. The printing activity data may relate to temporal distributions and/or spatial distributions of printing activity of elements in the array. The method may be applied to linear or two-dimensional arrays of print elements.

Description

Description
METHOD OF CONTROLLING A THERMAL PRINTHEAD
Technical Field
The present invention relates to the field of thermal printheads driven by signals produced in response to monitored and anticipated device parameters and heating schedules.
Background of the Invention
Typical thermal printheads are comprised of linear arrays of small thermal print elements, each producing heat in response to an input signal. Individual print elements are often lengthwise segments of a resistive strip of thermal material to which input electrical currents are applied. As current passes through the segments associated with a print element, resistive heating occurs locally, producing the desired heat. Selected print elements heat a thermally sensitive paper or other thermally responsive print medium, causing it to darken locally and thereby produce printing.
In the printer, the print medium moves in a transverse direction with a stepped movement past the array of print elements. The print medium is in thermal contact with the print elements as it is stepped past the array. During each step, desired print elements are selectively heated and the portions of the print medium in thermal contact with the heated print elements are darkened from the heat transferred to them from the heated print elements. Each darkened portion is referred to as a pixel.
The time during which the array of print elements is aligned with a given row of print medium portions to print an associated line of pixels, before being stepped to the next row of print medium portions, is called a scan line time or SLT. The SLT may further be broken down timewise into segments, allowing -portions of the SLT to be treated separately. This is useful in cases such as when a heating schedule for a line of pixels is changed during an SLT. The SLT is inversely proportional to the printer speed for a given pixel line width.
In typical thermal printheads, a print command signal is input to each print element selected to print during a particular SLT. The signal is designed to raise the temperature of the print element to a prescribed temperature and to maintain the temperature level for a prescribed time. In a simplistic example, the print element is energized at a constant level during the entire SLT if printing is desired and is not energized at all if no printing is desired. In more sophisticated printheads, the print command signal is a logical AND combination of a data signal and a strobe signal. Because this signal from the logical AND of the data signal and the strobe signal controls whether or not the print elements are heated at any particular time, it will be referred to herein as the energization signal. In previous printheads, the strobe signal has been used to compensate for the long-term heat build-up in the printhead while the data signal has controlled the selection or non-selection of elements. The strobe signal is adapted, for example, when the printer first begins operation and the printhead temperature is below its nominal operating temperature, to allow a longer heating period to allow extra heating of the print elements. Such compensation allows the print elements to reach the desired temperature for printing during the SLT. If no compensation were incorporated, lines of pixels printed during warm-up would be lighter than desired due to insufficient heat being transferred to the print medium during the SLT. After the printhead has warmed up, the heating period can be reduced for nominal operation because of the effect of the residual heat each print element will retain as a result of its prior heatings.
Even after the printhead has warmed up, the strobe signal may be used to compensate for long-term temperature variations in the printhead as a whole which cause the printhead to be below or above its desired nominal operating temperature. Where, for instance, an element or group of print elements is subjected to a heavy printing schedule, the accumulated residual heat can raise the operating temperature of the printhead or a group of print elements above the nominal operating temperature. This can cause overdarkening of the corresponding pixels that are printed for that line. In actuality, the overheating causes the pixel size to be larger than desired, thus giving the appearance of an overly dark pixel. This results because the energization signal is generated with the assumption that the print element to which it is applied is at the nominal operating temperature. If the print element is hotter, the resultant pixel that is printed is too dark. Similarly, where the printing schedule is very light, such as where very little is being printed on the print medium, the printhead may cool to almost the ambient temperature, causing any pixels that are printed to be lighter than desired, much as described above for the warm-up period.
The strobe signal is used advantageously to compensate for such varying operating conditions by monitoring the printhead operation and adjusting the strobe signal to accommodate. Conditions other than the recent printing schedule of print elements also affect printing performance and the strobe signal is also used to compensate for these. For example, print speed, media type, ambient temperature, heat sink temperature, print element resistance, print darkness selections, and power supply voltage may cause variations in the printhead temperature, desired maximum temperature and other printing parameters.
Typically, the strobe signal is primarily useful in compensating for various printhead parameter variations only on a global basis. That is, the strobe signal is used to compensate over the entire print element array, but compensating for individual print element variations using the strobe signal is extremely difficult. For example, in an array of 256 print elements, transmission of 256 individual strobe signals to the closely spaced elements raises difficulties due to cross-talk between lines. The cross-talk problem worsens at higher frequencies. Thus, as printhead development permits faster print speeds, strobe signal cross-talk makes multiple strobe signals less desirable. Further, production of 256 adaptive strobe signals increases the complexity of the array-driving apparatus considerably.
Adaptive energization of heating elements in response to the conditions affecting each element individually has been attempted previously and one such successful attempt is described in U.S. Patent Application Serial No. 07/830,31, filed January 31, 1992. By monitoring and storing into memory data corresponding to the printing history of a selected print element corresponding to a target pixel and the current printing activity of adjacent print elements, compensation for short-term and/or local conditions can be effected. The stored printing activity data is used to evaluate short term or localized effects on the selected print element. Based on various local and/or temporally close print element activity, the data signal is adapted to improve printing performance of the selected print element. This is accomplished by supplying the energization signal only during certain, predetermined segments of the SLT. As a simple example of a beneficial adjustment in the energization signal based on recent heating history of the print elements, consider the case where, during several preceding SLTs a selected print element was "ON, " during the current SLT the selected print element is "ON, " and during the future SLTs the print element will be "OFF, " with "ON" and "OFF" referring to whether the print element is sufficiently heated to print a pixel or not. This situation corresponds to the printing of an edge of a bar code. Printing performance may be improved by stopping the energization signal to the selected print element prior to the end of the current SLT, such that the element will cool and printing of the bar will stop more precisely at the end of the current SLT.
Printing performance may be improved still further by providing the energization signal intermittently during early segments of the SLT such that printing occurs during the current SLT, but doing so in a manner to hold the selected print element at a temperature just slightly above the temperature at which it will print a pixel, allowing printing to stop more abruptly when the energization signal is removed and provide a sharper edge to the printed bar.
While the above described technique provides an improvement over previous methods, it can require storage and manipulation of a significant amount of printing activity data if a meaningful heating history is to be stored and utilized. This can limit the processing and printing speed of the thermal printhead. Where only a limited amount of memory space is allocated to the storage of such data, it is not possible to store and utilize the large quantity of data needed, thus requiring use of a less than desirable heating history.
The difficulty in storing and manipulating data becomes even more problematic where a wide range of possible energization signals is desired. A distinct energization signal may be desirable for each variation in factors such as desired print state, printing schedule of the selected print element, and printing schedule of adjacent print elements. Storing and manipulating the data associated with the possible energization signals then becomes increasingly burdensome as more information regarding printing schedules, and other factors is utilized. In the past, there has been no feasible approach to handling the increased quantity of data required to compensate for meaningful history and local conditions beyond temporally close SLTs.
Further, because of this limited information handling ability, there has been no way to permit consideration of the activity of print elements beyond those immediately adjacent to the selected print element. While the more spatially distant print elements may not be particularly relevant in terms of thermal effects on the selected print element, their printing history can provide valuable information. For example, in a bar code printer the activity of print elements is often correlated to whether a picket fence or drag line printing of a bar code is being performed. This information can be used to enable improved compensation for effects such as line discontinuities.
Summary of the Invention
The current invention provides an improved method of adaptively driving a thermal printhead in response to monitored historical data and anticipated heating schedules. The inventive method reduces the memory required for a given amount of historical and anticipated printing activity information required to be stored and manipulated in producing an adaptive driving signal for an array of print elements.
The method employs a data compression technique in combination with past and future printing activity of print elements to select desired energization signals. For convenience, data relating to the combination of past and future printing activity with respect to an element will be referred to as "printing activity data." The amount of printing activity data, and thus the requisite memory capacity, necessary to provide a meaningful basis for determining the driving signal is reduced as a consequence of the data compression. For a given amount of available memory, the method increases the effective historical and/or spatial basis upon . which such a determination can be made.
This increase in the nominal duration of printing history accommodated for a given amount of available memory is made possible by the recognition that certain of the printing activity data are more relevant than others in analyzing the performance of and obtaining a desired response from the print element. In the present invention, a lossy data compression approach permits the memory to be utilized to store only the most relevant activity data. Less relevant data is not stored in the memory and thus a portion of the memory is freed for additional printing activity data. The result is a. more effective and efficient utilization of the available memory in the printer.
Based on the stored compressed printing activity data, an energization schedule for a selected SLT is produced for the selected print element. That is, a schedule is produced dictating whether the energization signal will be in an "ON" state or an "OFF" state for each segment of the SLT. In the preferred embodiment, a look¬ up table technique is used to produce the energization schedule in response to various printing activity data. In the look-up table technique, data relating to the desired schedule for energizing the selected print element during the selected SLT is retrieved from a RAM-based memory containing previously stored data. Data is stored in a RAM-based memory. The data stored in RAM consists of sequences of bits with each bit of data in the RAM representing the energization or lack of energization of the selected print element for a particular segment of the SLT with 32 bits of data defining the energization schedule of the print element for the entire SLT. For convenience, the data representing the energization schedule for the selected print element during a predetermined SLT will be referred to as energization schedule data. Each set of 32 bits in each memory location corresponds to a specific pattern of the printing activity data, giving each set a unique identity. The specific pattern can thus be used as an address to identify its associated energization schedule data. Thus, for each particular printing schedule, the energization schedule data for a particular element is "looked up" in the RAM-based memory based upon the address defined by the printing activity data. The energization schedule data is combined with the strobe signal in a logical AND combination to drive the selected print element, allowing compensation based upon the particular printing schedule of the selected print element and upon system wide considerations, such as measured temperature.
Because the memory is RAM based, its contents may be varied based on various device parameters such as type of print medium used or the selected printing speed of the printer. The energization schedule data in the RAM may be derived by the printer microprocessor by performing calculations using the value of printing speed of the printer in an established algorithm. Alternately, the energization schedule data may be loaded from a ROM data stored in a printer ROM, upon start-up or in response to a user's input. Thus, the inventive method can be adapted for use with varying print parameters and conditions. The printing activity data used to identify the location of the energization schedule data in the RAM is not limited to the printing schedule of the selected print element. Alternately, the printing activity data may include the activity of an entire array of print elements. In such a case, data in a multidimensional matrix describing the printing activity of the entire array can be compressed. The inventive method is not limited to manipulating printing activity data. Energization schedule data in the look-up table RAM may also be compressed to reduce the memory storage requirements associated with the printhead for adaptation based upon a given amount of printing history. In fact, compression of the look-up table data in combination with compression of printing activity data can yield even further efficiency.
In the preferred embodiment of the inventive method, a modified run length encoding compression technique is employed. Other data compression techniques are also within the scope of the invention.
Brief Description of the Drawings Figure 1 is a top plan view of a portion of a conventional thermal printhead used with the present invention.
Figure 2 is a schematic diagram of a section of a controlling apparatus implementing the preferred embodiment of the invention.
Figure 3 is a schematic diagram of a printhead driver module of the controlling apparatus of Figure 2.
Figure 4a is a diagram of example strobe signals used in practicing the method of the invention. Figure 4b is a diagram of example data signals used in practicing the method of the invention.
Figure 4c is the logical AND of the strobe and data signals of Figures 4a and 4b.
Figure 5a is diagrammatic representation of printing activity data corresponding to a print element and two adjacent print elements used with the invention.
Figure 5b is a diagrammatic representation of correspondence between the data of Figure 5a and compressed data. Figure 6a is a diagrammatic representation of a example sequence and data fields associated with selected print elements used with the invention. Figure 6b is a diagrammatic representation of printing activity data corresponding to a print element and adjacent print elements used with the invention.
Figure 6c is a diagrammatic representation of printing activity data corresponding to a print element, two adjacent print elements and two print elements neighboring the two adjacent print elements.
Figure 7 is a diagrammatic representation of a method of storing data using grouping according to the method of the invention.
Figure 8a is a diagrammatic representation of an energization schedule for a selected print element according to the method of the invention.
Figure 8b is a diagrammatic representation of the correspondence between the data of Figure 8a and compressed data.
Detailed Description of the Invention
The method according to the present invention is implemented in a printer having a conventional thermal printhead 40 such as shown in Figure 1. The thermal printhead 40 has a substrate 44 with a print bead 42 formed by a continuous linear raised deposition of resistive material that protrudes outward beyond the general level of the adjacent upper surface of the printhead. The resistive material heats when it receives electrical current. The print bead 42 is deposited over and comes into electrical contact with a plurality of first conductive leads 46 and a plurality of second conductive leads 48. The first and second conductive leads 46 and 48 are uniformly and alternately positioned under the print bead 42, and have a width of substantially less than the center-to-center spacing between adjacent leads. An equal length segment 52 of the print bead 42 is thereby provided between each pair of adjacent leads.
The first conductive leads 46 serve as anode leads, and are held at a predetermined positive supply voltage through their connection to a conductor 50, upon which supply voltage is imposed. The second conductive leads 48 serve as cathode leads, and are selectively grounded, as described below, to allow conduction through selected ones of the segments 52 of the print bead 42. If a particular second conductive lead 48, such as the lead marked with reference numeral 48a in Figure 1 is grounded, a conductive path is completed between the grounded second conductive lead 48a and the two adjacent first conductive leads 46, marked with reference numerals 46a and 46b, permitting the passage of electric current between these first conductive leads and through the two segments 52 of the print bead 42 marked with reference numerals 52a and 52b. The resulting conducted current causes the segments 52a and 52b of print bead 42 surrounding the grounded second conductive lead 48a to heat, thereby creating a small rectangular resistive print element 54 with a length equaling the center-to-center separation between first conductive leads 46. When the print bead 42 is in thermal contact with a thermally sensitive print medium, such as a thermal paper, a black "dot" or pixel will be printed by the heated print element 54. If, on the other hand, the second conductive lead 48a is not grounded, the print element 54 will not heat and a black dot will not be printed. Each pair of print bead segments 52 about one of the second conductive beads 48 forms one resistive print element 54 which is selectively heatable to print a pixel by grounding of the associated second conductive lead 48. A printhead controller 60 used to perform the inventive method is shown in Figure 2. The printhead controller 60 contains a thermal controller 62 and a printhead module 64. The thermal controller 62 includes a state machine 66, a history RAM 68 and a table RAM 70. The printhead driver module 64 includes four registers 72, a latch 74 and AND gates 76, using one AND gate for each print element 54 in the thermal printhead 40. The history RAM 68 and the table RAM 70 of the thermal controller 62 are connected to receive, store and transfer data under control of the state machine 66 . The table RAM 70 is connected to the registers 72 by output lines 78 which enable transfer of data from the table RAM 70 to the registers 72. A latch line 80 connects the state machine 66 to the latch 74. A clock line 82 connects the state machine 66 to the registers 72. External control lines 84 are connected to the state machine 66 and table RAM 70, permitting data transfer and selection of operating parameters from an external source (not shown) under control of the microprocessor 67, such as a user interface. A strobe line 86 providing a strobe signal from the microprocessor 67 is connected to the AND gates 76. The outputs of the AND gates 76 are connected to the second conductor leads 48 of the printhead 40 to control the individual print elements 54 of the printhead. As will be explained below, the AND gates 76 combine the strobe signal and the energization schedule data received from the table RAM 70 through the registers 72 to produce current to drive the print elements 54. A thermistor 88 is incorporated in the printhead driver module 64 with a thermistor line 90 providing coupling to the thermistor 88. Figure 3 is a schematic drawing of the printhead driver module 64 of Figure 2. The register 72 is comprised of registers 72^ to 724 which are connected by lines 91^ to 9I4, respectively, to the individual latches that comprise the latch 74. The latch 74 is connected to the individual AND gates 76χ to 76a that comprise the AND gates 76 by latch driver lines 92 _ to 92a, respectively, where "a" represents the number of print elements 54 comprising the printhead 40. The remaining input of each of the AND gates 76 is connected to the strobe line 86. Each of the AND gates 76]_ to 76a has its output connected to one of the individual resistive print elements 54]_ to 54a, respectively, that comprise the print elements 54 via a corresponding one of the individual second conductive leads 8]_ to 48n that comprise the second conductive leads 48. As described above, each of the resistive print elements 54 is also connected to positive supply voltage conductor 50 via a corresponding one of the individual first conductive leads 6]_ to 46a that comprise the first conductive leads 46.
Each print element 54 of the thermal printhead 40 is controlled by an energization signal generated by supplying a strobe signal and a data signal in the form of energization schedule, to the input of each of the AND gates 76 over the strobe line 86 and over the latch driver lines 92]_ to 92a. The strobe signal is used to compensate for such variables as ambient temperature, heat sink temperature, user-selected darkness, power supply voltage, and printhead average print element resistance. The strobe signal is also used to reduce the thermal stress on each print element 54 by modulating the energization signals applied to the print elements during warm-up of the printhead 40. The strobe signal is produced in the microprocessor 67. As is conventional, the strobe signal may vary considerably in response to changes which occur over relatively long periods of time (typically in excess of 100 SLTs) . Energization schedule data are provided, as described below, primarily to accommodate shorter term variations affecting the energization of the print elements 54. Selection and generation of the energization schedule data are described below. The AND gates 76 perform a logical AND function, combining the strobe signal and the energization schedule data to provide an energization signal for the print elements 54.
Figure 4a depicts one SLT and shows four different strobe signals, each representing one of many possible strobe signals available for use during a given SLT. In the preferred embodiment, the SLT is broken into 32 segments. The strobe signal may change states multiple times within a segment. Figure 4b shows four different possible 32-bit sequences that comprise four different sequences of energization schedule data which may occur during one SLT, with one bit of each data sequence corresponding to each segment of the SLT. Thus, in the 32-segment SLT shown in Figure 4, 32 X 232 different data sequence combinations are possible for use as the energization schedule data. If each possible data sequence combination comprising the energization schedule data is stored in memory, 32 x 232 memory locations having 32 bits each will be necessary. As will be discussed hereinafter, the present invention provides a reduction in the memory required.
In the preferred embodiment, the 32-bit data sequences corresponding to the energization schedule data are stored in the table RAM 70. In practice, it is preferred to subdivide the data sequences into subsequences of lesser length to permit the data sequences to be stored in readily available, inexpensive 8-bit memory devices. For example, the 32-bit data sequence of the preferred embodiment is broken into four data subsequences of 8 bits each with each 8-bit data subsequence representing a portion of the energization schedule.
The segments are numbered 1 to 32, with the number of each segment being its segment count. The binary representation of the segment count is then 00000 to 11111. The two most significant binary bits of the segment count are then used as part of the memory address to indicate the particular 8-bit data subsequence. For the first eight segments of a particular SLT, the first 8- bit data subsequence stored is used. The memory address of this first 8-bit data subsequence would be 00XX...X, where XX...X is the memory address derived as described hereinafter and 00 are the first two bits of the numbers 00000 to 00111 representing the SLT segment counts from 0 to 7. The data sequences are predetermined in view of the printhead parameters, empirical practice and calculations and are loaded into the table RAM 70 from a device ROM 69 in the state machine 66 upon system startup or may be loaded in response to a user's input. Data transferred from the table RAM 70 to the registers 72 and data transfers within the printhead controller 60 are controlled by the state machine 66. The state machine 66 is a conventional programmable logic array. The state machine 66 is programmed in a conventional manner to control transfers of data response to the system clock from the clock line 82 based upon the segment count and in response to comments from the microprocessor 67. The operation of the state machine 66 is described below. While the preferred embodiment divides the SLT into 32 segments, it will be understood by one skilled in the art that other divisions of the SLT are within the scope of the invention. It will also be understood that while compensation for variations in printing speed is made by adjusting the duration of the scan line time. In the present invention a variation of the scan line time can be accomplished either by varying the number of segments in the SLT or by varying the duration of individual segments.
Figure 4c shows the logical AND of the four example strobe signals and the four example energization schedule data signals of Figures 4a and 4b. As can be seen from Figure 4c, the energization signal actually received by, for example, the print element 54n is thus regulated by both the signal produced in response to the energization schedule data signal on latch drive line 92n and the strobe signal on strobe line 86. The signals representing the energization schedule data from the table
RAM 70 reach the AND gates 76 through the registers 72 and the latch 74. As explained earlier, 8-bit data subsequences of the energization schedule data are retrieved from the table RAM 70 based partially upon the two most significant bits of the segment count, with the remainder of the address determined as described hereinafter. The 8-bit data subsequences are transferred to corresponding ones of the four registers 72 and are then clocked into the latch 74 one bit at a time, such that the latch 74 contains one bit of energization schedule data for each of its associated AND gates 76 during a selected segment of the SLT. During the selected segment, the data in the latch 74 drives one input of each of the associated AND gates 76. Simultaneously, the strobe signal is applied to the remaining input of each of the AND gates 76. In response, the AND gates 76 provide print command signals to the print elements 54.
The determination of the appropriate energization schedule data will now be described. Figure 5a is a diagrammatic representation of a printing schedule of a selected one of the print elements 54 represented by reference numeral 54g, during a current scan line time SLT^ (the SLT for which the energization schedule data will be determined) , a future scan line time SLTp (the SLT immediately following SLT^) and N past scan line times SLT^ to SLTjj (the N SLTs preceding SLTC) . Additionally, the representation shows a portion of the printing schedule of the two immediately adjacent print elements 52^ and 54pR during the same periods of time. For purposes of this description, only printing activity in one adjacent print element 54L during the current scan line time SLT , and printing activity for the remaining adjacent print element 54pR during the future scan line time SLTp are shown in the table of Figure 5a. Consideration of other print elements and operations during differing SLTs is also within the scope of the invention.
It will be appreciated that the data contained in the locations in table of Figure 5a described above represent the printing or non-printing of the selected print element 54g and adjacent print element print elements 54L and 54 ^ corresponding to a given SLT. This data has been defined earlier as the printing activity data. This is distinguished from the sequences of energization schedule data representing energization during segments of the SLT as described with respect to Figures 4a-4c.
The entries in the table of Figure 5a are shown as a two-dimensional matrix of printing activity data indexed with respect to time in one direction and lateral position in the second direction. It can be seen that the inventive method may be applied generally to matrices of dimension higher than 2 and matrices having differently designated indices. As an example of the latter, if a two-dimensional array of elements is used for area printing, the table of Figure 5a may be a two-dimensional matrix representing current activity of elements located throughout the two-dimensional array. If this example were extended to consider historical and future activity of the two-dimensional array, each SLT considered would produces a corresponding two-dimensional array of printing activity data. This would result in a three-dimensional data matrix with the third index being time. Most, or all, of the printing activity data in the table of Figure 5a must be stored in a memory location associated with the selected print element 54g corresponding to the current SLT^. For convenience, the selected print element during the current SLT^; will be referred to as the current element 54^. A representation of the bits occupied in memory by the printing activity data is shown in the lower portion of Figure 5b. Each of the characters F, FR, L, C, and Pτ_ to Pjj is a logic level 1 or a logic level 0 representing the printing or nonprinting, respectively, of the selected print element 54g or adjacent print elements 54j_, and 54p^ during the SLT indicated in the table of Figure 5a. It can be seen that N + 4 memory bits are required to store the printing activity data presented in the table, in the absence of any memory saving process. In actual practice, the bit designated by the character "L" may be derived easily from memory associated with an adjacent bit, reducing the required number of bits in memory by one bit. Thus, for N + 3 bits of memory, a bit history of N SLTs along with the current bit, one future bit and one printing activity data bit relating to each adjacent element can be stored according to conventional methods.
The storing of data into memory locations associated with the appropriate SLT is controlled by the state machine 66. The appropriate referencing of each bit of print element data is performed by the aging of printing activity data at the completion of each SLT. For the printing activity data, this means that at the conclusion of a given scan line time each bit of printing activity data is shifted in the history RAM 68 to a memory location corresponding to its position relative to the upcoming SLT. For example, the printing activity data for the current scan line time (i.e., the scan line time just completed) is transferred to a memory location corresponding to the immediately preceding scan line time and printing activity data for next scan line time (i..e., the scan line time about to begin) is transferred to the memory location corresponding to the then current scan time line. This also requires that data for the most distant future scan line time being treated is loaded from the microprocessor 69 into the history RAM 68. For example, if printing activity data for five future scan line times is used in the method according to the invention, after aging printing activity data for the fifth future scan line time (i.e., moving it to a memory location corresponding to the fourth future scan line time) printing activity data is loaded by the microprocessor 69 into the memory location corresponding to the fifth future scan line time. Similarly, the state machine 66 ages the data signal discussed above for increments of the segment count so that data for each segment is transferred from the table RAM 70 to the appropriate shift register 72 in the appropriate sequence. The preferred embodiment of inventive method increases the effective relevant history of the current element 54gc f°r a given amount of memory by compressing the printing activity data relating to the current element before storing it in memory. In the preferred embodiment, the printing activity data is compressed using a modified run length compression technique.
Two examples of the method described with respect to Figures 5a and 5b will now be presented with reference to Figures 6a and 6b. Figure 6a shows a sequence of printing activity data corresponding to the selected print element 54g where a logic level 1 state represents printing during a given SLT and a logic level 0 state represents no printing during the SLT. The SLTs are indicated by the letters a through p in Figure 6a and will be used below as subscripts' to indicate particular SLTs.
A sequence with the selected print element in a logic level 1 state during the current SLT, SLT}-, begins with a current . element 54^ as indicated by Cι_ in the table. The state of the current element during the future SLT, SLTa is also a logic level 1. The state of the current element during the immediately preceding two SLTs, i.e., SLTC and SLT^ was also a logic level 1. During the third through seventh preceding SLTs, i.e., SLTg-SLT^ the state of the current element was a logic level 0 and during the eighth through tenth preceding SLTs, i.e.,
Figure imgf000021_0001
the state of the current element was a logic level 1.
In a conventional method, the printing activity data presented in Figure 6a would correspond to a memory address. In each address, corresponding energization schedule data would reside. The energization schedule data would be selected based upon the activity of the current element. A meaningful indication of variations in the needed energization of the current element can be developed instead, based upon (a) the duration of time during which the current element (and possibly" the adjacent elements 54L and 54FR) has been in its current state (i.e., its state during the current SLT, SLT ) and (b) the length of time during which the element (or elements) was in its respective opposite states (i.e., the opposite logic state to the current state) . This permits the application of a lossy compression scheme to be applied to the printing activity data, increasing for a given amount of memory space the effective length of printing activity upon which the selection of an energization schedule may be based.
Using the sequence described with regard to the current element C^ of Figure 6a, an example of the technique is illustrative. Neglecting for purposes of the immediate discussion the bits stored in the locations designated by FR and L, the data in the memory shown in the lower portion of Figure 5b, each representing the logic level of the selected print during a given SLT, would be, F = 1, for the future SLT, SLTa, Cτ_ = 1, for the current SLT, SLT]-,; and Pη_ = 1, P2 = 1, P3 = 0, P4 = 0, P5 = 0, P6 = 0, P7 = 1, P8 = 1, P9 = 1, for the immediately preceding nine SLTs, SLTc-SLTj .
If instead of the above data format, the state of the current element, the state of the selected print element 54s during the immediately preceding SLT, i.e., SLTC, and the number of SLTs during which the selected print element was in that state, and the number of SLTs during which the selected print element was in the opposite state are stored in memory, using five bits for the number of SLTs in the first preceding state and three bits for the number of SLTs in the second preceding state, the printing activity data represented in the lower portion of Figure 5b will map into memory as shown in the upper portion of Figure 5b. The first four bits F, FR, L, and C map directly from the previously described memory structure to the modified memory of the lower portion of Figure 5b. For the sequence beginning at C__ described above for Figures 6a and 6b, the state bit (i.e., the bit representing the state of the current print element) , S, is 1. The number of SLTs during which the selected element was in the state S is two (SLTC and SLT^) . This is represented in the five bit data field (F^JT. as 00010. The number of SLTs during which the selected element was in the opposite state S is four (SLTe-SLTjj) • This is represented in the three bit data field (F2)ι as 100.
The same technique is applied for each SLT. A second example is shown in Figures 6a and 6b for a current SLT, SLT3 as indicated at C2. The printing activity data relating to the SLT, SLT3 is given in the corresponding line of Figure 6b.
Using the lossy modified run length compression scheme described above printing activity data relating to fewer previous SLTs is retained than in an approach using non-compressed printing activity data. Such occasions may occur, for example, when pixels are turned ON and OFF in rapid succession. The inventors have determined, however, that in such instances, the nature of the image being printed reduces the importance of a lengthy history of printing activity to optimally maintain print quality as compared to cases where the pixel state is kept the same for longer periods of time. The inventive method thus retains the more relevant historical information while discarding less relevant information to free memory space.
The recognition of the relative relevance of these particular aspects of printing activity data is particularly advantageous in bar code printing where bar widths need to be controlled accurately and where heat accumulation in the print element is strongly dependent on the widths of the two immediately preceding lines (e.g., space/bar) of the bar code symbol but much less dependent on the widths of lines of the bar code symbols prior to the two succeeding elements. The inventive method is particularly advantageous in enabling a lengthy history of the print element to be treated, therein permitting the selection of a word length for F (Li) sufficient to fully encode bar codes which might be expected to occur.
While the preceding examples demonstrate the application of the inventive method to a relatively small number of historical states, it can be seen that, using the 5-bit and 3-bit data fields described above, the compressed printing activity data may describe the history up to 38 previous SLTs. This occurs when (FT_)N = 11111 = 31 and (F2)N = 1:L1 = 7- This compares to 9 SLTs stored in memory in the prior technique using the same memory space.
The printing activity data presented in Figures 5a and 5b are representative of data which are commonly used in short term or local compensation. Other combinations of printing activity data may be used for varying compensation techniques.
The compression technique described with respect to Figures 5a and 5b and Figures 6a and 6b may be generalized to include -printing activity data for more than three present elements. In one alternative embodiment, data relating to five elements are utilized as represented by Figure 6c. While this embodiment uses printing activity data for five elements, as described below, the technique may be generalized to utilize data from any number of print elements.
As shown in Figure 6c, the printing state of the selected print element 54g is represented during the current SLT by C. As before, the selected print element 54g during the current SLT is the current element. Its printing state during the immediately succeeding SLT is represented by F. PI and P2 represent the previous and second previous states of the selected print element. LI is a binary representation of the number of SLTs during which the current print element was in the second preceding state and L2 is the number of SLTs during which the current print element was in the state opposite the second preceding state.
The left adjacent print element's future state is designated FL and the left adjacent print element's left neighbor's future state is designated FL2. The future states of print elements to the right are numbered FR and FR2 according to the same convention. The number of SLTs during which the elements corresponding to data FL2, FL, FR, and FR2 are in those states, respectively, are represented by the data sequences LL2, LL, LR, and LR2.
In this embodiment, the sequences LI, L2, LL2, LL, LR and LR2 are 5 bits, 3 bits, 2 bits, 3 bits, 3 bits and 2 bits, respectively. Energization schedule data corresponding to each possible combination of these data can be developed, permitting compensation for printing activity relating to up to 7 SLTs, 3 SLTs and 32 SLTs for the adjacent elements, neighbors to the adjacent elements and the selected element, respectively, using 26 bits of memory storage.
The compression of printing activity data may be generalized to any number of neighboring print elements in a similar fashion. Compression of data relating to a greater number of print elements may allow compensation for the type of image being printed or may allow adjustment of the energization signal to compensate for specific image types, such as picket fence bar codes. For example, if compression permits sufficient data to be utilized, it may be possible to determine if a solid line or picket fence bar code is being printed. The energization schedule data of the individual print elements could then be adjusted accordingly, for example, to anticipate rapid changes in printing states or prolonged constant printing states. Further compression of data may be realized by compressing printing activity data using a grouping technique as shown diagrammatically in Figure 7. Using the same data structure described with reference to Figures 5a and 5b and Figures 6a and 6b, printing activity data pertaining to the current print element can be broken down into two groupings. In the preferred embodiment, the first group consists of the current and future printing states of the current print element and the selected states of the adjacent print elements together forming a sequence Gl. The second group consists of the printing activity data representing the state of the selected print element during the immediately preceding SLT and the 5-bit and 3-bit data fields described above, forming a 9-bit data sequence G2. The 9-bit data sequence G2 is used as an address in a grouping memory 94 with 29 or 512 memory locations, in the same manner as addresses are used in the description of the look-up table technique above. A 5-bit sequence corresponding to 5 bits of a 9-bit memory address is stored in each of the memory locations. The remaining 4 bits of the memory address are provided by the 4-bit sequence Gl corresponding to the current, future and adjacent printing states. The 9-bit memory address is an address in the table RAM 70 in which the previously described data sequences are stored. This address is used in conjunction with the two most significant bits to retrieve data comprising sequences of energization schedule data for input to the registers as described previously.
The reduction in data addresses realized by the grouping method relies on the similarity in effect of distinct printing histories. If, for example, the selected print element 54$ has been in an "ON" state (a logic level 1) for several preceding SLTs, it may be assμmed that a solid black bar is being printed. The desired energization schedule in such an instance may not vary significantly for differing lengths of the preceding "OFF" state. Consequently, a common energization schedule is sometimes appropriate for several similar printing activities. By grouping the printing activity data into 32 different groups and designating an appropriate energization schedule for each group, it is possible to reduce the 9-bit data sequence G2 employed as an address in the grouping memory 94 to a 5-bit sequence comprising a portion of the 9-bit address sequence for the table RAM 70.
As can be seen by the example described above, the inventive method allows compensation based on the current and future printing states of a selected print element, the current and future printing states of adjacent print elements and data relating to up to 38 previous SLTs of the selected print element while requiring only a 512 x 5 RAM and a 512 x 32-bit RAM. Each of the above described steps of compression and grouping advantageously improves the data handling and storage requirement of a printhead 40 using data compensation for short-term printing activity. In combination, the two techniques provide even further improvement. The improved data handling and storage capability of the inventive method allow significantly longer printing histories to be utilized in implementing compensations for a given amount of memory.
Further efficiency in the use of data in a thermal printhead 40 can be achieved by compressing energization schedule data in the table RAM 70. As, shown in Figure 8a, a 32-bit energization schedule can be presented as five binary numbers representing three data fields, Fl, F2, and F3, and two state bits, SI, S2. From the three data fields and two state bits, a 32-segment energization schedule can be produced for a given SLT.
The first data field Fl presents the number of SLT segments during which the energization signal is to be in a logic level 0. The first state bit SI presents the state of the energization signal during the time defined by the second data field F2. The third data field F3 presents the number of SLT segments during which the energization signal is in the opposite state from SI. The second state bit 52 presents the state of the energization signal during the remainder of the SLT segments not previously defined.
In this embodiment, the first data field Fl has three bits, the second data field F2 has five bits, and the third data field F3 has three bits. Thus, the 32- segment SLT can be defined by a total of 13 bits.
An example according to this method is shown in Figure 8b, with the energization schedule of Figure 8b used to produce a corresponding compressed data sequence as shown in the lower portion of the table of Figure 8a. As defined by the data in field Fl, the energization schedule is in a logic level 0 for the first three segments, 0-2. The energization schedule is in a logic level 1 as prescribed by the state bit SI during the subsequent 6 segments as defined by the second data field F2. The signal is then in the opposite state, that is, a logic level 0, during the subsequent 5 segments as defined by the third data field F3. During the remainder of these segments, the energization signal is in a logic level 1, as prescribed by the second state bit S2.
As previously described, for a 32-segment SLT and a total of 9 bits of printing activity data, a table RAM of 512 x 32 is required. If the data in the table is compressed according to the method illustrated in Figure 8a, the required table RAM size is 512 x 13.
From the foregoing it will be appreciated that, although specific embodiments of the invention have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the invention. Accordingly, the invention is not limited except as by the appended claims.

Claims

Claims
1. A method of producing a desired response in a selected print element during a present activation time interval in a thermal printhead having an array of print elements, comprising: establishing a desired print state for the selected print element during the present activation time interval; determining a printing schedule of the selected print element; generating printing activity data representative of the printing schedule of the selected print element corresponding to the present activation time interval and at least one other activation time interval; compressing the printing activity data to form a compressed printing activity data sequence; storing the compressed printing activity data sequence in a memory at a memory location associated with the selected print element in a first memory; determining an energization schedule for the present activation time interval in response to the stored compressed printing activity data sequence and the desired print state of the selected print element; producing an energization signal representative of the energization schedule; and applying the energization signal to the selected print element.
2. The method of claim 1 wherein the step of determining an energization schedule for the present activation time interval comprises the steps of: deriving a memory address from the compressed printing activity data, the memory address representing a location in a second memory associated with the selected print element and containing stored energization schedule data, the stored energization schedule data representing the energization schedule; and retrieving the schedule data from the location in the second memory.
3. The method of claim 2 wherein the step of compressing the printing activity data comprises applying a run length compression technique to the printing activity data to produce the compressed printing activity data.
4. The method of claim 3, further comprising grouping a plurality of distinct compressed printing activity data sequences into a selected group such that the memory address derived from each one of the plurality of distinct printing activity data sequences in the selected group is identical.
5. The method of claim 1 wherein the step of determining the printing schedule includes determining the printing schedule with printing activity data for the selected print element corresponding to at least one interval following the present interval.
6. The method of claim 5, further comprising the step of deriving a second memory address from the compressed printing activity data sequence, the second memory address representing a memory location in a second memory associated with the selected print element containing stored energization schedule data representing the energization schedule.
7. The method of claim 6, further comprising the steps of: deriving a third memory address from the compressed printing activity data, the third memory address representing a third memory location in a third memory containing data representing a portion of the second memory address, the third memory address representing only printing prior to the present activation time interval; and retrieving the data representing the portion of the second memory address from the second memory location identified by the third memory address.
8. The method of claim 7 wherein the step of determining the energization schedule comprises retrieving the stored energization schedule data from the second memory location represented by the second memory address.
9. A method of producing a desired response in a selected print element during a present activation time interval in a thermal printhead having a two-dimensional array of print elements, comprising: establishing a desired print state for the selected print element during the present activation time interval; determining print states for a plurality of print elements in the array during the present activation time interval; generating printing activity data representative of the print states of the selected print element corresponding to the present activation time interval; compressing the printing activity data to form a compressed printing activity data sequence; storing the compressed printing activity data sequence in a first memory at a first memory location associated with the selected print element; determining an energization schedule for the present activation time interval in response to the stored compressed printing activity data sequence and the desired print state of the selected print element; producing an energization signal representative of the energization schedule; and applying the energization signal to the selected print element.
10. The method of claim 9 wherein the steps of determining an energization schedule for the present activation time interval comprises the steps of: deriving a second memory address from the compressed printing activity data sequence, the second memory address representing a second memory location in a second memory associated with the selected print element and containing energization schedule data, the energization schedule data representing the energization schedule; and retrieving the energization schedule data from the second memory location represented by the second memory address.
11. The method of claim 10, further comprising grouping a plurality of distinct compressed printing activity data sequences into a group such that the memory address derived from each one of the plurality of distinct printing activity data sequences in the group is identical.
12. The method of claim 9 wherein the printing activity data determined for the plurality of elements in the array include the print state of at least one element not directly longitudinal or transverse to the selected print element during the present activation time interval.
13. The method of claim 12, further comprising the step of deriving a second memory address from the compressed printing activity data, the second memory address representing a location in a second memory associated with the selected print element and containing energization schedule data, the energization schedule data representing the energization schedule.
14. The method of claim 13 wherein the step of deriving the second memory address comprises the steps of: deriving from the compressed printing activity data a third memory address representing a location in a third memory containing data representing a portion of the third memory address, the third memory address representing only print states of print elements longitudinally aligned with the first element during the present interval; retrieving from the third memory address the data representing the portion of the first memory address; and combining the retrieved portion of the first memory address and a portion of the compressed printing activity data to form the second memory address.
15. The method of claim 13 wherein the step of deriving the second memory address comprises the steps of: deriving from the compressed printing activity data a third memory address representing a location in a third memory containing data representing a portion of the third memory address, the third memory address representing only print states of print elements transversely aligned with the first element during the present interval; retrieving from the third memory address the data representing the portion of the first memory address; and combining the retrieved portion of the first memory address and a portion of the compressed printing activity data to form the second memory address.
16. A method of energizing a first print element in a thermal printhead having an array of print elements, comprising: selecting a plurality of print elements in the array; determining a possible printing schedule for each of the selected elements; establishing for each possible desired print state of the first element a table containing each of the possible printing schedules for selected print elements in the array; deriving a printing data sequence; generating energization schedule data representing a desired energization schedule of the first print element for each possible combination of the possible printing schedules of the selected print elements; compressing the energization schedule data; storing the compressed energization schedule data in locations in a memory associated with the array; determining an actual printing schedule of the selected print elements; determining an actual desired state of the first print element during a present activation time interval; retrieving the compressed energization schedule data in response to the actual printing schedule of the selected print elements and the actual desired print state of the first element; determining an energization signal in response to the retrieved compressed energization schedule data; producing the energization signal; and applying the energization signal to the first print element.
17. The method of claim 16 wherein the step of retrieving the energization schedule data comprises the steps of: determining a printing schedule of the first print element and at least one of the selected print elements adjacent to the first print element; generating printing activity data representative of the printing schedule of the first print element and at least one of the selected print elements adjacent to the first print element; compressing the printing activity data; deriving a memory address from the compressed printing activity data; and retrieving stored data from the derived address in the memory associated with the array, said retrieved data being the energization schedule data.
18. The method of claim 17 wherein the step of deriving the memory address comprises the steps of grouping the compressed printing activity data into subgroups; and deriving a portion of the memory address from a combination of the subgroups.
PCT/US1994/014869 1993-12-23 1994-12-23 Method of controlling a thermal printhead WO1995017308A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/172,859 US5548688A (en) 1993-12-23 1993-12-23 Method of data handling and activating thermal print elements in a thermal printhead
US08/172,859 1993-12-23

Publications (1)

Publication Number Publication Date
WO1995017308A1 true WO1995017308A1 (en) 1995-06-29

Family

ID=22629520

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1994/014869 WO1995017308A1 (en) 1993-12-23 1994-12-23 Method of controlling a thermal printhead

Country Status (2)

Country Link
US (1) US5548688A (en)
WO (1) WO1995017308A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0780789B1 (en) * 1995-12-21 2005-09-28 Canon Kabushiki Kaisha Apparatus and method for printing

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07290707A (en) * 1994-04-22 1995-11-07 Canon Inc Recording head, printer using the same and printing method
JP2857837B2 (en) * 1994-11-16 1999-02-17 日本電気エンジニアリング株式会社 Thermal head heat control device
US5946020A (en) * 1996-04-03 1999-08-31 Intermec Corporation Method and apparatus for the maximization of print quality in a multipass thermal printer ribbon
US6249299B1 (en) 1998-03-06 2001-06-19 Codonics, Inc. System for printhead pixel heat compensation
JP2002002011A (en) * 2000-06-26 2002-01-08 Alps Electric Co Ltd Line printer and its electrification control method
DE10036345B4 (en) * 2000-07-26 2005-07-07 Francotyp-Postalia Ag & Co. Kg Arrangement and method for data tracking for warm-up cycles of inkjet printheads
US6547356B2 (en) 2001-02-09 2003-04-15 Lexmark International, Inc. Latching serial data in an ink jet print head
US6788325B2 (en) 2002-02-06 2004-09-07 Brady Worldwide, Inc. Processing multiple thermal elements with a fast algorithm using dot history
US6570602B1 (en) 2002-02-06 2003-05-27 Brady Worldwide, Inc. Generating and storing supply specific printing parameters
JP4086579B2 (en) * 2002-07-29 2008-05-14 Necインフロンティア株式会社 Thermal history control device, thermal history control method, thermal history control program, and thermal printer for performing thermal history control
US7284185B2 (en) * 2004-10-08 2007-10-16 Telefonaktiebolaget Lm Ericsson (Publ) Puncturing/depuncturing using compressed differential puncturing pattern
US8283198B2 (en) 2010-05-10 2012-10-09 Micron Technology, Inc. Resistive memory and methods of processing resistive memory
WO2022046056A1 (en) * 2020-08-27 2022-03-03 Hewlett-Packard Development Company, L.P. Pen servicing determination

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57178776A (en) * 1981-04-25 1982-11-04 Toshiba Corp Two-dimensional thermal head
US4464669A (en) * 1981-06-19 1984-08-07 Tokyo Shibaura Denki Kabushiki Kaisha Thermal printer
JPS6064571A (en) * 1983-09-19 1985-04-13 Toppan Printing Co Ltd Interface for picture output
JPS63173660A (en) * 1987-01-14 1988-07-18 Sanyo Electric Co Ltd Driving circuit for thermal head
JPS63251253A (en) * 1987-04-09 1988-10-18 Oki Electric Ind Co Ltd Planar thermal head
JPH0222732A (en) * 1988-07-11 1990-01-25 Fujitsu Ltd Data compressing device
EP0405825A2 (en) * 1989-06-29 1991-01-02 Sony Corporation Thermal printing apparatus
EP0439162A2 (en) * 1990-01-26 1991-07-31 Mitsubishi Denki Kabushiki Kaisha Thermal printer
WO1993014935A1 (en) * 1992-01-31 1993-08-05 Intermec Corporation Method and apparatus for controlling a thermal printhead

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3975707A (en) * 1970-04-13 1976-08-17 Canon Kabushiki Kaisha Device for controlling the density of printing characters
US3909626A (en) * 1973-12-28 1975-09-30 Texas Instruments Inc Control of AxB matrix thermal printhead
JPS60139465A (en) * 1983-12-28 1985-07-24 Fuji Xerox Co Ltd Thermal head driving apparatus
US4590488A (en) * 1985-05-28 1986-05-20 Astro-Med, Inc. Circuit for controlling energization of thermal print head
FR2599672A1 (en) * 1986-06-05 1987-12-11 Sagem METHOD AND DEVICE FOR CONTROLLING THERMAL PRINTING HEAD
JP2729375B2 (en) * 1987-03-02 1998-03-18 キヤノン株式会社 Driving method of recording head
JP2630960B2 (en) * 1987-10-17 1997-07-16 グラフテック株式会社 Waveform recording device using thermal dot array
CA1338222C (en) * 1988-02-15 1996-04-02 Satoshi Iwata Method and apparatus for energizing thermal head of a thermal printer
US4937590A (en) * 1988-07-07 1990-06-26 Gould Electronique S.A. Thermal printing head and controller using past present and future print data to generate micropulse patterns
US5085529A (en) * 1988-10-17 1992-02-04 Insignia Systems, Inc. Thermal printing system with encoded sheet set
US5366307A (en) * 1988-10-17 1994-11-22 Mcgourty Thomas K Printing control system and method for scalably controlling print energy and cycle time
US5400058A (en) * 1989-02-03 1995-03-21 Monarch Marking Systems, Inc. Thermal print head control for printing serial bar codes
KR910007684A (en) * 1989-10-03 1991-05-30 야마무라 가쯔미 Drive control device of thermal printer
US5153605A (en) * 1989-12-27 1992-10-06 Victor Company Of Japan, Ltd. System of controlling energization to thermal head in thermal printer
US5349348A (en) * 1991-08-15 1994-09-20 International Business Machines Corporation Multi-mode data stream generator
US5357271A (en) * 1993-01-19 1994-10-18 Intermec Corporation Thermal printhead with enhanced laterla heat conduction

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57178776A (en) * 1981-04-25 1982-11-04 Toshiba Corp Two-dimensional thermal head
US4464669A (en) * 1981-06-19 1984-08-07 Tokyo Shibaura Denki Kabushiki Kaisha Thermal printer
JPS6064571A (en) * 1983-09-19 1985-04-13 Toppan Printing Co Ltd Interface for picture output
JPS63173660A (en) * 1987-01-14 1988-07-18 Sanyo Electric Co Ltd Driving circuit for thermal head
JPS63251253A (en) * 1987-04-09 1988-10-18 Oki Electric Ind Co Ltd Planar thermal head
JPH0222732A (en) * 1988-07-11 1990-01-25 Fujitsu Ltd Data compressing device
EP0405825A2 (en) * 1989-06-29 1991-01-02 Sony Corporation Thermal printing apparatus
EP0439162A2 (en) * 1990-01-26 1991-07-31 Mitsubishi Denki Kabushiki Kaisha Thermal printer
WO1993014935A1 (en) * 1992-01-31 1993-08-05 Intermec Corporation Method and apparatus for controlling a thermal printhead

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 007, no. 024 (M - 189) 29 January 1983 (1983-01-29) *
PATENT ABSTRACTS OF JAPAN vol. 009, no. 201 (E - 336) 17 August 1985 (1985-08-17) *
PATENT ABSTRACTS OF JAPAN vol. 012, no. 442 (M - 766) 21 November 1988 (1988-11-21) *
PATENT ABSTRACTS OF JAPAN vol. 013, no. 041 (M - 791) 30 January 1989 (1989-01-30) *
PATENT ABSTRACTS OF JAPAN vol. 014, no. 167 (P - 1031) 30 March 1990 (1990-03-30) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0780789B1 (en) * 1995-12-21 2005-09-28 Canon Kabushiki Kaisha Apparatus and method for printing

Also Published As

Publication number Publication date
US5548688A (en) 1996-08-20

Similar Documents

Publication Publication Date Title
US5548688A (en) Method of data handling and activating thermal print elements in a thermal printhead
EP0244441B1 (en) Apparatus and method for controlling a thermal printer apparatus
US6034705A (en) Thermal printer control system
JP2523188B2 (en) Printing control method of thermal printer
JPH07108572B2 (en) Printing control device for thermal printer
JP3327418B2 (en) Printhead modulator
US4814790A (en) Dual mode thermal printer
EP0138493A2 (en) Printer
US6788325B2 (en) Processing multiple thermal elements with a fast algorithm using dot history
CA1322887C (en) Thermal printer
EP0223979B1 (en) Method and apparatus for controlling print quality of a thermal printer
EP1266762A2 (en) Method and apparatus for controlling a heating element of a thermal head
US4701836A (en) Method and apparatus for controlling print quality of a thermal printer
EP0273738A2 (en) Printer with erasing function
EP0501707A2 (en) Drive control apparatus for thermal head
EP0530748A2 (en) Printer head modulation technique for thermal printers
US5581294A (en) Serial thermal printing method
US6570602B1 (en) Generating and storing supply specific printing parameters
JP2570741B2 (en) Head drive control device for thermal printer
US6375300B1 (en) Interleave pulse modulation for thermal printers
JP4110614B2 (en) Thermal head control system
JP2834019B2 (en) Line type thermal printer and printing method thereof
JPS6393272A (en) Gradation recording device
JPH03133663A (en) Thermal head driver
JPH08230218A (en) Color thermal recording apparatus

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase