Abstract:
A printer includes a print generator for generating a print signal at a predetermined constant rate according to a predetermined resolution, a data transducer for downloading raw data, a printhead for printing the raw data downloaded by the data transducer, an encoder for recording the relative position of the printhead, and a controller for receiving the print signal and for controlling the printhead to print the data corresponding to the print signal. When receiving a current print signal and the printhead has not completed printing the data corresponding to a previous print signal, the controller controls the printhead to print the data corresponding to the print signal after the data corresponding to the previous print signal is printed, and does not wait for the next print signal.

Description:
BACKGROUND OF INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The present invention relates to a printer, and more specifically, to a printer which is capable of controlling a data printing period.  
         [0003]     2. Description of the Prior Art  
         [0004]     With the rapid development of printing equipment, printers have become necessary peripheral devices. Inkjet printers, due to their cheap prices and excellent print quality, have become one of the most popular printing apparatuses.  
         [0005]     Please refer to  FIG. 1  and  FIG. 2 .  FIG. 1  is a block diagram of an inkjet printer  10  according to the prior art.  FIG. 2  shows a waveform of a phase signal produced by a phase encoder  11  shown in  FIG. 1 . The inkjet printer  10  comprises the phase encoder  11 , a print signal generator  12 , a data transducer  14 , a head driver  16  and a printhead  18 . The phase encoder  11  produces phase signals A and B for recording the position of the printhead  18  as the printhead  18  moves. The print signal generator  12  produces a print signal as the printhead  18  moves at a constant speed to a predetermined position. As can be seen in  FIG. 2 , the print signal generator  12  will generate a print signal whenever the printhead  18  moves to the position N, N+1, N+2, etc. (as the phase signal A or B changes), where the distance between N, N+1, N+2, etc. is fixed. After receiving a printing signal, the data transducer  14  will download the raw data, and ultimately, the head driver  16  will drive the printhead  18  to print the downloaded data.  
         [0006]     Please refer to  FIG. 3 .  FIG. 3  is a stable signal diagram, where the horizontal axis represents time, showing that the printed resolution at which the printer  10  prints is higher than the normal mode. Supposing that the normal mode of the printer  10  is 600 dpi (dots per inch), if the printer  10  works under the resolution of 600 dpi, the print signal generator  12  produces a print signal P 1  as the printer  18  reaches the position N, produces a print signal P 5  as the printer  18  reaches the position N+1, produces a print signal P 9  as the printer  18  reaches the position N+2, and so on. If the printer  10  is operated in high resolution mode, the print signal generator  12  will determine a predetermined inkjet distance based on the selected high resolution and generate a print signal at the predetermined inkjet distance. For instance, when the printer  10  for which the normal mode is 600 dpi works at the high resolution of 2400 dpi, the printer  10  controls the printhead  18  to eject three ink drops between an interval of every two drops originally printed in normal mode by using interpolation. In other words, the print signal generator  12  will divide the time in which the printhead  18  previously took to move from the position N−1 to the position N into three equal ejecting times based on the desired resolution, and produces a print signal P 2 , P 3 , P 4  at a constant rate. After receiving the print signal, the data transducer  14  will download the corresponding data in turns, and the head driver  16  will drive the printhead  18  to print the downloaded data. In this way, the printed resolution increases as the ejecting time in the unit length increases.  
         [0007]     In order to eject additional ink drops with adequate time, however, the printhead  18  needs to slow down in the process of printing at the high resolution.  
         [0008]     Please refer to  FIG. 4  in conjunction with  FIG. 3 .  FIG. 4  is an actual signal diagram showing that the printed resolution at which the printer  10  prints is higher than the normal mode. Even though the print signal generator  12  is capable of generating a print signal at each predetermined time according to the predetermined resolution, as previously mentioned, the printhead  18  must slow down in the process of printing at the high resolution. Nevertheless, the moves of the printhead  18  will be unstable at low speed due to mechanism used to move the printhead. As a result, even though the time which the print signal generator  12  generates a print signal is fixed, due to the unstable moving speed of the printhead  18 , ejecting ink drops may possibly fall on the incorrect predetermined positions. As shown in  FIG. 4 , when Data 8  has not yet been completely printed by the printhead  18 , and the next print signal P 9  is received by the transducer  14  and the raw data Data 9  is downloaded, at this moment, the printhead  18  is printing the previous data Data 8  with unstable velocity. Consequently, the print data generator  12  will ignore the print signal P 9 , and not inform the data transducer  14  to download the corresponding data Data 9 . When an upcoming print signal P 10  is generated, the data transducer  14  will download the raw data Data 9  instead, and the data transducer  14  will download the raw data Data 10  as the print signal P 11  is generated. Despite the total printed distance for each swath being predetermined, as well as the required times of the print signal for each swath, it is possible that after all required print signals for each swath are generated, some of the data still has not been downloaded and printed, causing a print error. As a result, downloading and printing the data corresponding to the print signals successfully is a problem desired to be solved.  
       SUMMARY OF INVENTION  
       [0009]     It is therefore a primary objective of the claimed invention to provide a printer that is capable of controlling print signals and capable of controlling the number of times for printing data corresponding to the print signals in order to solve the above-mentioned problem.  
         [0010]     According to the claimed invention, a printer comprises a print generator for generating a print signal at a predetermined constant rate according to a predetermined resolution, a data transducer for downloading raw data, a printhead for printing the raw data downloaded by the data transducer, an encoder for recording the relative position of the printhead, and a controller for receiving the print signal and for controlling the printhead to print the data corresponding to the print signal. When receiving a current print signal and the printhead has not completed printing the data corresponding to a previous print signal, the controller controls the printhead to print the data corresponding to the current print signal after the data corresponding to the previous print signal is printed, and does not wait for the next print signal. 
     
    
     BRIEF DESCRIPTION OF DRAWINGS  
       [0011]      FIG. 1  is a block diagram of an inkjet printer according to the prior art.  
         [0012]      FIG. 2  shows a waveform of a phase signal produced by a phase encoder shown in  FIG. 1 .  
         [0013]      FIG. 3  is a stable signal diagram showing that the printed resolution at which the printer prints is higher than the normal mode.  
         [0014]      FIG. 4  is an actual signal diagram showing that the printed resolution at which the printer prints is higher than the normal mode.  
         [0015]      FIG. 5  is a functional block diagram of a printer according to the present invention.  
         [0016]      FIG. 6  is a diagram of generation time of each associated signal with respect to position for each swath as the printer prints at high resolution.  
         [0017]      FIG. 7  is a detailed functional block diagram of the controller depicted in  FIG. 5 .  
         [0018]      FIG. 8  is a flow chart of the present invention method.  
         [0019]      FIG. 9  is a detailed flow chart of determining if raw data have not been downloaded and providing a way to clean the raw data that have not been downloaded. 
     
    
     DETAILED DESCRIPTION  
       [0020]     Please refer to  FIG. 5 .  FIG. 5  is a functional block diagram of a printer  30  according to the present invention. The printer  30  comprises an encoder  11 , a print signal generator  12 , a data transducer  34 , a printhead driver  16 , a printhead  18  and a controller  32 . For simplicity, elements in  FIG. 5  that have the same function as that illustrated in  FIG. 1  are provided with the same item numbers as those used in  FIG. 1 . The print signal generator  12  is used to generate a monostable print signal at a predetermined constant speed according to a predetermined resolution. After receiving the print signal, the controller  32  will generate a corresponding control signal. And after receiving the control signal, the data transducer  34  will download the raw data. Eventually, the printhead driver  16  will drive the printhead  18  to print the downloaded raw data, and the encoder  11  will record moving traces of the printhead  18 .  
         [0021]     Please refer to  FIG. 5  and  FIG. 6 .  FIG. 6  is a diagram of generation time of each associated signal with respect to position for each swath as the printer  30  prints at high resolution. Suppose that the standard normal mode of the printer  30  of the present invention is 600 dpi. If a high resolution of 2400 dpi is desired, the print signal generator  12  will produce print signals P 6 , P 7 , P 8  after ever period equaling one-third of the time in which the printhead  18  moves from the position N to the position N+1. Because the printhead  18  will move in an unstable speed, ejecting ink drops (i.e. the generation time of associated signal) may possibly fall on the incorrect predetermined positions as shown in  FIG. 6 . The print signal generator  12  will generate print signal P 9  and then produce the print signal P 10 , P 11 , P 12  after a period equaling every one-third of the print time in which the printhead  18  moves from the position N+1 to the position N+2.  
         [0022]     Please refer to  FIG. 6  and  FIG. 7 .  FIG. 7  is a detailed functional block diagram of the controller  32  depicted in  FIG. 5 . The controller  32  comprises a control signal generator  42 , a counter  44 , process logic  46 , a multiplexer  48  and an OR gate  50 . The control signal generator  42  can be a D-flip flop. After the control signal generator  42  receives the print signal P 5 , the control signal generator  42  will output a control signal, and the data transducer  34  will begin to download the corresponding raw data Data 5  after receiving the control signal through the multiplexer  48 . If the printhead  18  does not execute the printing at this moment, the head driver  16  will drive the printhead  18  to print the raw data Data 5 , and the data transducer  34  will deliver a reset signal to a reset end of the control signal generator  42 . As shown in  FIG. 6 , the control signal generator  42  will reset the control signal after receiving the reset signal. The above-mentioned procedure is repeated as the next print signal P 6  is generated. Provided that the control signal generator  42  receives the print signal P 8  and generates a control signal, the data transducer  34  will download the raw data Data 8  and make the printhead  18  print data after receiving the control signal. If the control signal generator  42  receives the print signal P 9  and generates a corresponding control signal while the printhead  18  is printing the data Data 8 , the data transducer  34  will examine if the printhead  18  is being printed before receiving the control signal corresponding to the print signal P 9 . The printhead  18  is still in the condition of printing whilst the data transducer  34  is receiving the control signal. As a result, the data transducer  34  will not download the raw data Data 9  corresponding to the print signal P 9  and will not send a reset signal to a reset end of the control signal generator  42  until the printhead  18  completes printing the raw data Data 8 . After receiving the reset signal, the control signal generator  42  will reset a control signal. The data transducer  34  will deliver the raw data Data 9  that was just downloaded to the printhead driver  16  as well drive the printhead  18  to download the raw data Data 9 . The above mentioned steps are repeated later when a next print signal P 10  is generated.  
         [0023]     Note that the data transducer  34  will drive the printhead  18  to print the downloaded data immediately or for an interval after downloading data.  
         [0024]     Before a printer  30  executes a swath of printing, because the normal print distance of each swath is consistent, the number of ejecting times of each swath can be determined based on a predetermined resolution by the printhead  18  in advance. In the condition that the mode of the printer is 600 dpi, the printhead  18  needs to print n times in each swath. That is, the print signal generator  12  needs to generate print signals for n times. If the mode of the printer  30  is changed to 2400 dpi, the printhead  18  needs to print 4*n times in each swath, that is, the print signal generator  12  needs to generate print signals for 4*n times. Please refer to  FIG. 6  and  FIG. 7  again. When the resolution is determined, the total number of ejecting times will be stored in a counter  44 . Suppose that the number of ejecting times in each swath is H in this embodiment. The counter  44  will add up the number N of received print signals by receiving print signals through an OR gate  50 . Once the printhead  18  moves to the end of a swath, when the printhead  18  supposed to finish up the printing in the swath, at this moment, the counter  44  will compare the added-up number N with the predetermined print number H. If the added-up number N is consistent with the predetermined print number H, it means the task of printing all data in the swath has been completed successfully. If the added-up number N does not match with the predetermined print number H, it means all data supposed to print have not been downloaded and printed yet, and the counter  44  will generate a clean signal to process logic  46  at this time. For instance, suppose that there are ten raw data not to be downloaded and processed by the data transducer  34  after the printing work is finished. At this moment, the process logic  46  will send control signals for an interval after receiving the clean signal. And the data transducer  34  will download the ten data, but the printhead  18  will not print the ten data when the data transducer  34  receives the control signal from the process logic  46 . Meanwhile, the counter  44  will add up the number of the control signals sent from the OR gate  50  with the previous print signal number N until the added-up print signal number N matches with the predetermined print number H. If the added-up print signal number N matches with the predetermined print number H, the clean signal will be eliminated, so that the process logic  46  will not output control signals.  
         [0025]     In conclusion, the counter  44  will count a number of the print signals and compare the number of the print signals with the required number of print times in each swath after the printhead  18  arrives the end of each swath for determining if the raw data of each swath have all been downloaded and printed by the printhead  18 . If there are still some data not to be printed, the counter  44  will inform the process logic  46  to generate a control signal so as to notify the data transducer  34  to download the rest of raw data. But such data will not to be printed so as to avoid print errors.  
         [0026]     In order to demonstrate the process of the method of the present invention briefly, please refer to  FIG. 8 .  FIG. 8  is a flow chart of the present invention method.  
         [0027]     Step  100 : Start.  
         [0028]     Step  102 : The control signal generator  42  of the controller  32  generates a control signal after receiving the print signal generated by the print signal generator.  
         [0029]     Step  104 : Determine if the printhead  18  is printing the raw data corresponding to the preceding print signal, if it is, go to step  106 ; if not, go to step  108 .  
         [0030]     Step  106 : Latch the control signal until the raw data corresponding to the preceding print signal is finished being printed.  
         [0031]     Step  108 : The data transducer  34  downloads the corresponding print data while receiving the print signal (in fact, what the data transducer  34  has received is the control signal corresponding to the received print signal.)  
         [0032]     Step  110 : Inform the control signal generator  42  to reset the control signal.  
         [0033]     Step  112 : Determine if the printing in each swath has been done, in other words, determine if the printhead  18  has arrived at the predetermined print end of each swath, if it has, go to step  114 . If not, go back to step  102 .  
         [0034]     Step  114 : Determine if there are still data that have not been downloaded, if there are, go to step  116 ; if not, go to step  118 .  
         [0035]     Step  116 : Clean up the data that have not been downloaded.  
         [0036]     Step  118 : End.  
         [0037]     To determine if there are still some raw data that have not been downloaded in step  114  in  FIG. 8  and to provide a way to clean the raw data have not been downloaded, the present invention provides the following steps as further procedures. Please refer to  FIG. 9 .  FIG. 9  is a detailed flow chart of determining if there are still some raw data have not been downloaded and providing a way to clean the raw data that have not been downloaded.  
         [0038]     Step  200 : Start.  
         [0039]     Step  202 : Accumulate the number N of received print signals, where N represents the number of times print signals have been received.  
         [0040]     Step  204 : Determine if the printhead  18  has reached the predetermined print end for each swath, if it has, go to step  206 , if not, go to step  202 .  
         [0041]     Step  206 : Determine if the accumulated time N conforms to the number of predetermined print times for each swath, if it does, go to step  212 , if not, go to step  208 .  
         [0042]     Step  208 : Generate control signals and accumulate the control signals.  
         [0043]     Step  210 : The data transducer  34  will download the raw data, but will not drive the printhead  18  to print the downloaded data while receiving the control signals.  
         [0044]     Step  212 : End.  
         [0045]     It should be noted that the execution of step  204  in  FIG. 9  is equal to the execution of step  112  in  FIG. 8 . In other words, when the printhead  18  reaches the predetermined print end of each swath, the printhead  18  has completed a swath of printing as well. Moreover, the execution of step  204  in  FIG. 9  is equal to the execution of step  112  in  FIG. 8 . In other words, when the added-up print signal time N does not match with the predetermined print time in each swath, this indicates that there are still data that have not been downloaded need to be cleaned. As a result, step  210  in  FIG. 9  is performed to download the rest of the raw data, but not to print them. In another aspect, cleaning the raw data not downloaded in step  210  is equal to the execution of step  116  in  FIG. 8 .  
         [0046]     Compared with the prior art, the present invention printer is capable of controlling the printhead to print the data corresponding to a print signal after the data corresponding to the previous print signal is printed and not waiting for the next print signal when receiving the print signal and the printhead has not completed printing the data corresponding to a previous print signal. Besides that, the controller will also determine whether the number of print signals matches the number of predetermined print times for each swath or not, to ensure that all the raw data for each swath are downloaded. If part of data is not downloaded, such data will be downloaded, but not printed, so as to prevent from printing errors.  
         [0047]     Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.