Line thermal head

Abstract: It is an object to allow driving of a line thermal head to be performed with a small current through control of the printing data transfer thereof. A line thermal head has a linear array of heating elements 3 divided into a plurality of physical blocks, and has a head main body portion 1 which can perform printing drive on a physical block basis and a head control portion 2 which performs a printing data transfer process and control of the printing drive for the head main body portion 1. The head control portion 2 has a transfer means 4 for performing a time division transfer process on the printing data in accordance with division units obtained by further dividing the printing data assigned to each physical block, and a driving means 5 for performing printing drive for each physical block in accordance with the time division transfer process. With such a configuration, it is possible to set the maximum number of the heating elements (3) energized in one driving process to a value which is smaller than the number of the heating elements (3) included in a physical block, reducing the current capacity of a power source used.

Description: BACKGROUND OF THE INVENTION The present invention relates to a line thermal head and more particularly to a method of transferring printing data for a line thermal head main body. A line thermal head has a heating array wherein a plurality of heating elements each comprising a resistor are arranged in a line. It performs printing of a line by selectively applying a driving current of several tens mA to the resistor of each heating element to cause it to heat up, thereby causing color development on a thermosensible paper, or by melting the ink on a thermal-transfer ribbon to be transferred onto a plain paper. Since the number of the heating elements included in the heating array of a line thermal head, i.e., the number of dots per line is extremely large, if the structure is such that all heating elements are driven at a time, a power source having a heavy current capacity must be prepared. To avoid this, in a normal line thermal head, a heating array constituting one line is divided into a plurality of physical blocks, and time division driving is performed on a block basis. This allows the quantity of the current consumed in one time division driving operation to be reduced and, therefore, the capacity of the power source can be reduced to some extent. If there are too many divisions, however, the writing between a head main body portion and a head control portion becomes complicated, resulting in an increase in the number of signal lines. For this reason, the linear heating array is conventionally divided into only a few blocks. As a result, the number of dots per one physical block is still considerably large in practice. A brief description will now be made one a method of transferring printing data on a line basis to a line thermal head main body portion having such divided physical blocks. First, an exponent n is set to 0 at step S1 as shown in the flow chart in Fig. 5. The exponent n indicate a number assigned to each physical block. Next, a head data counter is cleared at step S2. This counter is for counting the number of dots to be printed. Then, the number of the bytes (_HBYTE_RBL[n]) of printing data to be transferred to the nth physical block specified is loaded at step S3. Further, printing data for _HBYTE_RBL[n] bytes is transferred to the beat main body at step S4. At step S5, the value counted by the head data counter or a dot counter is stored in a specified area HDOT_BL[n] of the control portion. Thus, when the printing data is transferred to the specified nth physical block, the number of dots to be printed is recorded as the same time. Next, the exponent n is updated to n+1 at step S6. Thereafter, the process returns to step S2 to transfer printing data for the (n+1)th physical block and record the number of dots to be printed. Thus, transfer of printing data is sequentially performed for each physical block. A conventional method of driving a line thermal head will now be briefly described with reference to the flow chart in Fig. 6. First, printing data is transferred to a head main body portion at step S1. This transfer method is as shown in the flow chart in Fig. 5. Next, a driving pattern of the line thermal head is decided at step S2. The driving pattern means the timing for the application of a current to each physical block. Specifically, the timing for the application of a current to each physical block is set in accordance with the number of dots to be printed recorded at step S5 in the flow chart shown in Fig. 5. When the total number of dots to be printed, i.e., the total number of the heating elements to which a current is to be supplied is large, each physical block is driven on a time division basis and, conversely, when the number is small they are driven at a time. At step S3, the line thermal head is driven to perform printing in accordance with the driving pattern thus set. As described above, in the conventional method of transferring printing data, printing data for one line is simply supplied to the head main body portion for every transfer process in order to perform high speed printing using simple transfer control. Therefore, when line printing is performed in accordance with the printing data which has been transferred, even if the time division driving is sequentially performed for each physical block, the maximum number of dots printed in one driving process is equal to the number of heating elements included in a physical block. That is to say that the conventional method does not allow the maximum number of dots printed in one driving process to be set to a value which is smaller than the number of heating elements included in a physical block (the largest physical block when the physical blocks vary in size). BRIEF SUMMARY OF INVENTION When a line thermal head is driven in accordance with the conventional method as described above, the capacity of the current to be supplied by a power source used will be (the number of heating elements included in the largest physical block) X (the value of the current consumed by one heating element). Accordingly, the conventional method still requires a driving power source requiring a large current capacity. In other words, the maximum number of dots printed which is allowed in one driving process can not be set to a value which is smaller than the number of heating elements included the largest physical block. Therefore, in spite of the fact that the percentage printed, i.e., the percentage the number of dots printed occupies in the total number of dots is not so high in printing of common characters and the like, it is necessary to prepare power source having a current capacity which is sufficient for driving at least each individual physical block taking the case wherein all dots are energized into consideration. This has resulted in a problem that a large power source must be used in spite of the fact that a thermal head itself can be made compact. In order to solve the above-mentioned problem in the prior art, a line thermal head according to the present invention has a configuration as described below. It basically has a head main body portion which has a liner array of heating elements divided into a plurality of physical blocks and which can re driven to perform a printing process on a physical block basis, and a head control portion (e g., a one-chip CPU) which performs a printing data transfer process and printing drive control for the head main body portion. It is to be noted that GB-A-2 087 116 discloses a line thermal printer which also uses a division of a linear array of heating elements into a plurality of physical blocks and which can be selectively driven to perform a printing process on a physical block basis, i. e. that data signals representing selective energization of the heating elements in the line thermal head are stored, and selectively read out to energize a group of heating elements in each block, sequentially by block. However, in GB-A-2 087 116 such an arrangement is intended to serve the purpose of minimizing thermal interference between adjacently spaced heating elements and results in a uniform temperature distribution within the heating elements. Furthermore, in contrast to the present invention which makes use of a software control (as will be explained in further detail further below) the thermal printer according to GB-A-2 087 116 drives a small unit of each block by a time division method implemented by the structure of a circuit of hardware. In order to do so the thermal printer according to GB-A 2 087 116 requires at least a shift register for driving the division and a counter. Therefore, although the present invention and GB-A-2 087 116 have the same printing movement, the present invention is characterized in that the software performs appropriate drive control in accordance with the capacity of a power source. On the other hand, the invention of GB-A-2 087 116 does not disclose such a software a control but the drive control is executed through the hardware having the structure of a circuit. The head control portion of a line thermal head according to the present invention is characterized in that it has a transfer means for performing a time division transfer process on the printing data in accordance with division units obtained by further dividing the printing data assigned to each physical block, and a driving means for performing printing drive for each physical block in accordance with the time division transfer process. Preferably, the said head control portion has a setting means for properly setting the size of the division units in accordance with the capacity specification of an external power source used for the driving of the line thermal head. More preferably, the said head control portion is equipped with a counting means for counting the total number of the heating elements energized at each printing drive operation, and the said driving means includes a means for performing control so that the timing of the driving of each physical block is optimized in accordance with the results of the counting. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a typical block diagram showing a basic configuration of a line thermal head according to the present invention consisting of Fig. 1 A and Fig. 1 B. Fig. 2 is a flow chart for explaining a printing data transfer operation of the line thermal head shown in Fig. 1. Fig. 3 is a flow chart for explaining a printing operation of the line thermal head shown in Fig. 1. Fig. 4 is a flow chart for explaining a driving pattern optimizing operation of the line thermal head shown in Fig. 1. Fig. 5 is a flow chart for explaining a printing data transfer method of a conventional line thermal head. Fig. 6 is a flow chart for explaining a driving method of a conventional line thermal head. DETAILED DESCRIPTION OF THE INVENTION An embodiment of the present invention will now be described in detail with reference to the drawings. Fig. 1 is a typical circuit block diagram illustrating the overall configuration of a line thermal head according to the present invention. As shown, the line thermal head comprises a head main body portion 1 and a head control portion 2. The head control portion 2 is constituted, for example, by a one-chip CPU and connected to the head main body portion via various signal lines. The head main body portion 1 includes a multiplicity of heating elements 3. The heating elements 3 are arranged on a straight line on a substrate of the head main body portion 1 to constitute a linear array. This array is divided into a plurality of physical blocks. In the present embodiment, it is divided into three parts and has no. 0 physical block, no. 1 physical block and no. 2 physical block. No. 0 physical block includes 128 pieces of heating elements 3 which are numbered 1 - 127, respectively. No. 1 physical block also includes 128 pieces of heating elements. No. 2 physical block includes 192 pieces of physical blocks. The above three physical blocks can be individually driven for printing. The head control portion 2 performs a printing data transfer process and control of printing drive for the head main body portion 1. The head control portion 2 is equipped with a transfer means 4 which performs a time division transfer process on printing data in accordance with division units obtained by further dividing the printing data assigned to each physical block. In the present embodiment, a division unit is set to 64. This is to say that a printing data transfer process is performed taking 64 bits or 8 bytes as one unit. The transfer of printing data is performed byte by byte in synchronism with a clock signal CLK via a signal line DATA. The head control portion 2 further incorporates a driving means 5 which performs printing drive for each physical block in accordance with the above-mentioned time division transfer process on each physical block. In the present embodiment, the control of the driving of no. 0 physical block is performed by a strobe signal STRB1; the control of the driving of no. 1 physical block is performed by a strobe signal STRB2; and the control of the driving of no. 2 physical block is performed in accordance with a strobe signal STRB3. The head control portion 2 is further equipped with a setting means 6 for setting the size of the division units in accordance with the capacity specification of an external power source used for driving the line thermal head. In the present embodiment, the number of the heating elements 3 included in one division unit is 64 as previously described. However, the present invention is not limited thereto, and the division units may take a smaller value, e.g., 32. The capacity specification of the power source used may be thus reduced further. HDVP in the drawing represents a power source line. The head control portion 2 is added with a counting means 7 which counts the total number of heating elements energized in each printing drive operation. The counting means 7 is constituted by an 8-bit counter, for example, and normally referred to as a dot counter. An optimizing means 8 is connected to the counting means 7, the optimizing means 8 generating a driving pattern for controlling so that the timing for driving of each physical block is optimized in accordance with results D0 - D7 of the counting. In accordance with this driving pattern, the driving means 5 actually controls the energization of each physical block. The counting means 7 or dot counter is appropriately cleared in accordance with a clear signal CLR. Returning now to the head main body portion 1 for detailed description, the head main body portion 1 incorporates a plurality of shift registers corresponding to the division units each including 64 pieces of heating elements 3. Specifically, no. 0 physical block includes an A shift register 9 and a B shift register 10; no. 1 physical block includes an A shift register 11 and a B shift register 12; and no. 2 physical block includes an A shift register 13, a B shift register 14 and a C shift register 15. Printing data DATA transferred from the head control portion 2 is sequantially forwarded to the series of shift registers 9 - 15 in synchronism with the clock signal CLK. Corresponding latches 16 are connected to each individual shift registers 9 - 15. The latches 16 are for temporarily retaining printing data stored in the respective shift registers on a division unit basis. They are controlled by a latch signal LATCH, read printing data stored in the shift registers in a period of high level, and exhibit no change in their outputs even if there is a change in the contents of the shift registers in a period of low level. The outputs of the latches are connected to a driver stage 17 comprising a plurality of AND gates and ORed with the respective strobe signals for each physical block. For example, when the strobe signal STRB1 is switched on, the heating elements included in no. 0 physical block selectitvely driven so that the heating resistors cause color development on a thermosensible paper or melt a thermal-transfer ribbon so as to transfer it onto a plain paper, preforming line printing. In the line thermal head having the configuration as described above, the transfer means for provided on the head control portion 2 performs a time division transfer process on printing data in accordance with the division units which have been preset as previously mentioned. In the present embodiment, for example, printing data for a division unit is sequentially progressively transferred to the A shift register 9 of no. 0 physical block, the A shift register 11 of no. 1 physical block, and the A shift register 13 of no. 2 physical block in the first transfer process. In the second transfer process, printing data for a division unit is sequentially progressively transferred to the B shift register 10 of no. 0 physical block, the B shift register 12 of no. 1 physical block, and the B shift register 14 of no. 2 physical block. Finally, printing data for one division unit is stored in the remaining C shift register 15 of no. 2 physical block in the third transfer process. On the other hand, the driving means 5 incorporated in the head control portion 2 performs printing driving of each physical block in accordance with the time division transfer process as previously mentioned. In the present embodiment, for example, at a point in time when the first transfer process is complete, the strobe signal STRB1 is switched on to drive no. 0 physical block. In this state, since printing data is stored only in the A shift register 9 of no. 0 physical block, only 64 pieces of heating elements 3 are energized even if full dot printing is performed. In other words, only half of the 128 pieces of heating elements included in no. 0 physical block are energized. Therefore, it is possible to halve the capacity specification of the power source used as compared to the prior art. Next, no. 1 physical block is driven by switching the strobe signal STRB2 on. Since printing data is stored only in the A shift register 11 at a point in time when the first transfer process is complete, only 64 pieces of heating elements 3 are energized even if full dot printing is performed. Finally, the strobe signal STRB3 is switched on to energize only the heating elements 3 of no. 2 physical block corresponding to the A shift register 13. In the above-described case, the sequential energizing process is performed for each physical block. However, depending on the results of the counting performed by the counting means 7, there may be cases wherein the percentage printed is low and the total number of dots energized is small such as to case of the ordinary character printing. In such cases, it is possible to drive no. 0, no. 1 and no. 2 physical blocks at a time in accordance the driving pattern obtained by the optimizing means 8. In other words, the strobe signals STRB1, STRB2 and STRB3 can be switched on at a time. This optimizing process is performed for every transfer process. Finally, the operation of the line thermal head shown in Fig. 1 will be described with reference to Fig. 2 - Fig. 4. Fig. 2 is a flow chart for explaining a time division transfer process in accordance with the division units of printing data or a software dynamic split transfer process. An exponent n is first set to 0 at step S1. The exponent n represents a number given to each physical block. At step S2, the number of bytes (_LEFTSP) of a non-printing portion at the left-hand side (left margin) is loaded. At step S3, if _LEFTSP is 0, a jump to step S5 to be described later takes place. That is to say that no margin is specified. On the other hand, if _LEFTSP is not 0, the process proceeds to step S4 wherein space data for _LEFTSP is transferred. Specifically, printing data 00H is transferred. At step S5 the head data counter or dot counter 7 is cleared. At step S6, the number of the bytes of the printing data assigned to the specified nth physical block (_HBYT_RBL[n]) is loaded. At step S7, it is determined whether the _HBYT_RBL[n] loaded is 0. If so, a jump to step S17 to be described later takes place. That is, a physical block other than no. 0 - no.2 blocks is specified. Since such a physical block does not exist in the present embodiment, the number of the bytes of the said physical block is preset to 00H. On the other hand, if the _HBYT_RBL[n] is not 0, the process proceeds to step S8 wherein the starting point for the printing data transfer to the specified physical (SDIV_PTR) is loaded. For example, when printing data for a division unit is stored in the A shift register 9 in no. 0 physical block, the SDIV_PTR is set to 0. On the other hand, when printing data for a division unit is stored in the B shift register 10 in the same no. 0 physical block, the SDIV_PTR is set to 64. At step S9, it is determined whether the SDIV_PTR loaded is 0. If so, a jump to step S11 later takes place. On the other hand, if it is not 0, the process proceeds to step S10 wherein the printing data 00H is stored in a register before the starting point for the data transfer SDIV_PTR. For example, the actual printing data is stored in the B shift register 10 in no. 0 physical block with the A shift register 9 blanked. Next, the number of the bytes of printing data included in a division unit (SDIV_BYTE) is loaded at step S11. That is, the size of a division unit is set to be appropriate for the capacity specification of the power source used. In the present embodiment, one division unit includes 64 bits, i.e., bytes. At step S12, printing data for the SDIV_BYTE i.e., 8 bytes starting from the starting point for the data transfer SDIV_PTR is transferred to a specified shift register of a specified physical block. At step S13, the printing data 00H is transferred to the specified physical block in a quantity corresponding to the number of bytes that remain in the said physical block after the number of bytes _HBYT_RBL[n] is assigned. For example, when the actual printing data is stored in the A register 9 of no. 0 physical block, the blank printing data 00H is stored in the remaining B shift register 10. At step S14, a value counted by the dot counter 7 is stored in an area _HDOT_BL[n] which has been specified. This terminates the printing data transfer for one division block for a specified physical block. Thereafter, the exponent n is updated and set to n+1 at step S15. That is, the above procedures are repeated for the next physical block. At a point in time when the printing data transfer for one division block is finished for the last no. 3 physical block, the process jumps from step S7 to step S17 as previously mentioned. At step S17, the number of the bytes (_RIGHTSP) of a non-printing portion at the right-hand side (right margin) is loaded. At step S18, it is determined whether the number of the bytes of the right margin is 0. If so, a jump to step S20 takes place. On the other hand, if it is not 0, the blank printing data 00H is transferred to the head main body portion 1 in a quantity corresponding to the _RIGHTSP because there is a right margin. Finally, at step S20, if the entire area HDOT_BL[n] wherein values counted by the dot counter are stored on a physical block basis, is 0, a ZERO flag is set. This is a case wherein no heating element to be energized exists. The above procedure terminates one time division transfer operation on printing data in accordance with the division units or a software dynamic split transfer operation. A detailed description will now be made with reference to Fig. 3 on a method of driving the line thermal head at a point in time when one time division transfer operation is complete. First, at step S1, a starting point of printing data transfer or a printing data transfer starting pointer SDIV_PTR is set to 0 as previously mentioned. Next, the time division transfer of printing data in accordance with the division units is performed once for each physical block at step S2. This time division transfer is performed in accordance with the procedures represented by the flow chart shown in Fig. 2. Then, it is determined whether the entire printing data which has been time-devision-transferred this time, is 0 at step S3. If not, a jump to step S6 to be described later takes place. On the other hand, if it is determined that the entire data is 0, the process proceeds to step S4. At this step S4, the current data transfer starting pointer SDIV_PTR is added with the number of bytes SDIV_BYTE of printing data included in the division unit, the result thereof being stored in the SDIV_PTR again. Next, the process proceeds to step S5 wherein determination is made on whether the SDIV_PTR is smaller than the maximum number of bytes of a physical block (HMAX). If so, a jump to step S2 takes place because the time division transfer of printing data for the physical block has not been finished. On the other hand, if the SDIV_PTR is not smaller than the maximum number of bytes of a physical block HMAX, the data transfer for the physical block has been finished, and the process then proceeds to step S6. At step S6, the driving pattern for the line thermal head or the timing for the energization of each physical block is decided. The specification of the driving pattern is illustrated in the flow chart in Fig. 4 to be described later . At step S7, line printing is preformed by driving the head main body portion 1 in accordance with the driving pattern specified at step S7, and a paper feed operation is performed as required. The driving of the head may be performed in two manners i.e., a manner wherein each physical blocks are sequentially selected and a manner wherein they are selected at a time. At step S8, the printing data transfer staring pointer SDIV_PTR is added with the number of bytes SDIV_BYTE of printing data included in the division unit, and the said pointer is thus updated. Finally, at step S9 it is determined whether the pointer SDIV_PTR updated at step S9 is smaller than the maximum number of bytes of the printing data assigned to a physical block (HMAX). If so, a jump to step S2 takes place because the transfer of the entire printing data has not been finished. On the other hand, if the pointer SDIV_PTR is not smaller than the maximum number of bytes HMAX, return takes place. Finally, a method of deciding a driving pattern for the head will be described with reference to Fig. 4. At step S1, initialization is carried out by setting given exponents n and m to 0. Then, the entire area (HTIM_BL) for registering a physical block to be driven is cleared and initialized at step S2. Then, at step S3, register for calculation Areg is set to 0. At step S4, the register for calculation Areg is added with the number of dots to be printed HDOT_BL[n] included in the specified nth physical block. The exponent n is updated at step S5. At step S6, the numerical value in the register for calculation Areg is compared with a preset maximum allowable number for dots printed (HLIMIT). If the numerical value in the register Areg is larger than the maximum allowable number for dots printed HLIMIT, a jump to step 8 takes place. On the other hand, if it is smaller, the process proceeds to step 7 wherein the n bit of the above-described registration area (HTIM_BL[m]) of the physical blocks to be driven, is set. The n bit corresponds to the physical block to be driven. Then, the process returns to step S4. At step S8, it is determine whether the entire HDOT_BL has been processed. If so, return takes place. On the other had, if not, the exponent m is updated at step S9. Then, a jump to step 3 takes place. The driving pattern for the head is thus decided. That is, a plurality of physical blocks are energized simultaneously as long as the maximum allowable number of dots printed is not exceeded, whereby the speed of printing is increased. Since the percentage printed is low in the case of printing of characters and the like in general, it is normally possible to drive all physical blocks at a time within a range smaller than the maximum allowable number of dots printed. On the other hand, when full dot printing for one line is performed, it is inevitable to perform driving on a time series basis for each physical block. As described above, by employing the method of controlling printing data in accordance with division units according to the present invention, it is possible to carry out the setting of the maximum allowable number of dots printed to a value smaller than the number of heating elements included in the largest physical block. This provides an advantage that a power source used can be selected more freely and a power source having a current capacity smaller than that in the prior art can be used. Though the size of a power source has been an obstacle to efforts at making a thermal printer smaller, the control method according to the present invention overcomes this. In addition, since the average percentage printed per line is low in normal character printing, there is an advantage that printing can be performed at an operation speed which is not so lower than that in the prior art even if the time division transfer in accordance with the division units is performed.

Claims: A line thermal head comprising a head main body portion (1) which has a linear array of heating elements (3) divided into a plurality of physical blocks (No. 0, No. 1, No. 2) and which can be driven to perform printing on a physical block basis, and a head control portion (2) which performs a printing data transfer process and printing drive control for the head main body portion, characterized in that said head control portion (2) has transfer means (4) for performing a time division transfer process on the printing data in accordance with division units obtained by further dividing the printing data assigned to each physical block, a setting means (6) for setting the size of the division units in accordance with the capacity specification of an external power source used for the driving of the line thermal head (1), and a driving means (5) for performing printing drive for each physical block in accordance with the time division transfer process. A line thermal head as defined in claim 1, characterized in that said head control portion (2) is equipped with a counting means (7) for counting the total number of the heating elements (3) energized at each printing drive operation, and includes an optimizing means (8) for performing control so that the timing of the driving of each physical block is optimized in accordance with the results of the counting.

Inventors: AKIYAMA TAKAO, AKIYAMA, TAKAO, Akiyama, Takao, c/o Seiko Instruments Inc.
Applicants: SEIKO INSTR INC, SEIKO INSTRUMENTS INC.
Application year: 1992
Main classification: B41J2
IPC codes: B41J29, B41J2