This invention relates to a method of data transmission and in particular to a method of outputting data signals to a printing device.
Printing devices capable of selectively printing dots in a row are used to print characters or a graphic pattern by repeatedly operating the printhead in a succession of print cycles to print selected dots in a succession of rows on a print receiving medium. An example of such a printing device is a thermal dot printhead. Thermal dot printheads comprise a row of resistive print elements through which electric current is passed selectively to heat selected elements. The heated elements of the printhead cause an impression to be printed on a medium either by an ink transfer process in which ink carried by a backing layer is caused to be removed from the backing layer and deposited on the print receiving medium or by direct thermal activation of a heat sensitized medium. Each print element is capable of printing a dot on the medium in a line aligned with the row of print elements. Printing of characters or graphic patterns is effected by relative movement between the printhead and the medium in a direction transverse to the row of print elements during which the print elements are selectively heated to build up the required impression line by line. Energization of the print elements is controlled by means of a register having a plurality of stages corresponding in number to the number of print elements. Each stage of the register is associated with a different one of the print elements respectively. For each line of printing, the stages of the register are loaded with a binary digit representing energization or non-energization of the corresponding print element. For example print elements associated with stages loaded with binary one will be energized while print elements associated with stages loaded with binary zero will not be energized.
It has been proposed to use thermal printheads in postage franking machines to effect printing of a franking impression on items of mail. A printhead for such use is proposed to provide a resolution of 8 dots/mm and to have a printing width of 30 mm. Consequently such a head is provided with 240 energizable print elements and requires a register having 240 stages into which a corresponding number of print data bits must be loaded for each line of dots to be printed. For any given print speed, i.e. rate of printing line by line, there is a maximum time interval for the loading of the print data. While parallel loading of the register enables the print data to be loaded in the duration of this time interval even for relatively high speeds of printing, generally, commercially available thermal print heads are designed for serial loading of the print data. Furthermore parallel loading of the data requires complex and costly electronic circuits and if error checking of the print data is required it is more convenient and less costly if only a single serial data line needs to be checked. Accordingly it is desirable to load the print data into the register serially bit by bit for each line of printing. However it is desired to be able to print lines of dots at a rate for which the load time interval is only 2 ms for a line of 240 data bits and hence the load time is only 8.3 us per bit of print data. In practice a safety margin is required and for this printing speed the load time for each bit would need to be reduced to approximately 6 to 7 us. Usually electronic circuits of a franking machine include a micro-processor which carries out accounting and control functions of the machine and the operation of the microprocessor imposes limitations on the rate at which print data for controlling energization of the print elements of the printhead can be output. Print data is usually stored as a bit map in which each possible dot position of an impression to be printed is represented by a binary data bit in a bit map. This requires the provision of a substantial number of storage locations in memory. Conventionally the microprocessor is required to output information for each bit of print data sent to the printhead. Typically six instructions are required to be executed by the microprocessor for the output of each bit of print data. Thus for a printhead with 240 print elements, output of print data defining a line of print the microprocessor is required to execute 1440 instructions.