EP1491347A1 - Method and system to reduce printing errors in a mail processing device - Google Patents

Method and system to reduce printing errors in a mail processing device Download PDF

Info

Publication number
EP1491347A1
EP1491347A1 EP03090193A EP03090193A EP1491347A1 EP 1491347 A1 EP1491347 A1 EP 1491347A1 EP 03090193 A EP03090193 A EP 03090193A EP 03090193 A EP03090193 A EP 03090193A EP 1491347 A1 EP1491347 A1 EP 1491347A1
Authority
EP
European Patent Office
Prior art keywords
encoder
print
signal
value
dma
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
EP03090193A
Other languages
German (de)
French (fr)
Other versions
EP1491347B1 (en
Inventor
Joachim Jauert
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Francotyp Postalia GmbH
Original Assignee
Francotyp Postalia GmbH
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 Francotyp Postalia GmbH filed Critical Francotyp Postalia GmbH
Priority to DK03090193T priority Critical patent/DK1491347T3/en
Priority to DE50301430T priority patent/DE50301430D1/en
Priority to EP03090193A priority patent/EP1491347B1/en
Priority to AT03090193T priority patent/ATE307032T1/en
Publication of EP1491347A1 publication Critical patent/EP1491347A1/en
Application granted granted Critical
Publication of EP1491347B1 publication Critical patent/EP1491347B1/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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
    • B41J11/00Devices or arrangements  of selective printing mechanisms, e.g. ink-jet printers or thermal printers, for supporting or handling copy material in sheet or web form
    • B41J11/36Blanking or long feeds; Feeding to a particular line, e.g. by rotation of platen or feed roller
    • B41J11/42Controlling printing material conveyance for accurate alignment of the printing material with the printhead; Print registering
    • 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
    • B41J19/00Character- or line-spacing mechanisms
    • B41J19/18Character-spacing or back-spacing mechanisms; Carriage return or release devices therefor
    • B41J19/20Positive-feed character-spacing mechanisms
    • B41J19/202Drive control means for carriage movement
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B17/00Franking apparatus
    • G07B17/00459Details relating to mailpieces in a franking system
    • G07B17/00508Printing or attaching on mailpieces
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B17/00Franking apparatus
    • G07B17/00185Details internally of apparatus in a franking system, e.g. franking machine at customer or apparatus at post office
    • G07B17/00314Communication within apparatus, personal computer [PC] system, or server, e.g. between printhead and central unit in a franking machine
    • G07B2017/00338Error detection or handling
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B17/00Franking apparatus
    • G07B17/00459Details relating to mailpieces in a franking system
    • G07B17/00508Printing or attaching on mailpieces
    • G07B2017/00516Details of printing apparatus
    • G07B2017/00556Ensuring quality of print
    • G07B2017/00564Ensuring correct position of print on mailpiece
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B17/00Franking apparatus
    • G07B17/00459Details relating to mailpieces in a franking system
    • G07B17/00508Printing or attaching on mailpieces
    • G07B2017/00637Special printing techniques, e.g. interlacing

Definitions

  • the invention relates to a method for reducing printer errors during printing in a mailing machine, according to the preamble of claim 1 and an arrangement according to the preamble of claim 4.
  • the invention is used in franking machines, addressing machines and other printing mail processing equipment.
  • the invention is related to unpublished German patent applications 10230678.8 entitled “Arrangement for Controlling Printing in a Mailing Machine” and 10230679.6 entitled “Method for Controlling Printing in a Mailing Machine”.
  • variable print image share In the field of digital printing, the variable print image share is becoming more extensive and the print resolution is getting higher and higher.
  • variable printed image portion should be flexible for different postal requirements and is changed from impression to impression.
  • the controller is burdened with other tasks.
  • a microprocessor it has proven to be advantageous, belonging to a print image column To arrange pixel data in the pixel memory so that variable pixels can be changed by the microprocessor in the available time.
  • the responsible for the control of the printing mail processing device or system microprocessor is relieved by a pressure data control in the control of printing.
  • the printing requires a relative movement between a print head and a print carrier, for example a sheet-like object, letter, postcard, packet, franking strip, address label or label.
  • US Pat. No. 6,457,901 proposes a device for printing on a print carrier, which is used in a mail processing device, such as preferably in the franking machine horril® of the patent owner Francotyp Postalia AG & Co.KG.
  • the print carriers for example letter envelopes, franking strips or comparable items to be franked, are transported downstream in the transport direction by means of a driven transport drum, with a non-driven counterpressure device pressing the print carrier against the transport drum in the pressing direction orthogonally to the transport direction.
  • the two ink cartridges partially protrude into the transport drum and carry two inkjet printheads, which perform the printing on the moving print carrier without contact.
  • Both printheads are arranged orthogonal to the transport direction and orthogonal to the pressure direction and with their nozzles close to the edge of the transport drum, wherein the nozzles can produce a complete impression during a passage of the print carrier through the machine.
  • markings are applied close to the circumference, which are distributed over the circumference of the transport drum.
  • the markings are, for example, reflective lines, which are detected by a reflected light beam or transmitted light barrier of an encoder and converted by the microprocessor of a controller into pressure pulses in the ratio 1: 1. Gradual slow fluctuations in the transport speed thus have no influence on a generated print image if the print cycle is changed accordingly in its duration.
  • a print cycle should last as much as 90% of the time between two positive encoder edges.
  • the time between the encoder edges can be measured and the pressure cycle time adjusted accordingly.
  • the set value for the print cycle duration becomes effective only after its determination with a delay of at least two encoder clock cycles. Changes in the letter thickness and mechanical vibrations of the encoder scanning system can cause sudden changes in the transport speed. However, the sudden variations in transport speed have a negative impact on a generated print image, i. despite a subsequent adjustment of the print cycle time to the distances between the encoder edges, printer errors must be expected due to insufficient distances between the encoder pulses.
  • the object of the invention is to provide a method and an arrangement for reducing printer errors during printing on a moving mail in a mailing machine, wherein the printer errors caused by encoder pulses with too short a time interval.
  • a cost-effective solution is to ensure a high print quality even under unfavorable conditions.
  • encoder pulses are generated and fed to a print data controller in accordance with the relative movement between the printer and a print carrier, with correct encoder pulses at each encoder pulse edge, one cycle of a sequence of DMA cycles and one print cycle are started without printer errors.
  • the print data controller generates print data for portions of each print column from the pixel data and triggers a print cycle for the latter. This relieves the microprocessor of controlling the printing.
  • binary pixel data of a data string for pressure data control is transmitted from the pixel memory, which binary data depends on the connected printhead type for a print cycle.
  • the invention is therefore based on the consideration that it would be unfavorable for the evaluation of printed security-relevant postal data, if complete print cycles, ie whole print columns missing or printed pixels belonging to a print column are printed offset over several print columns, because the encoder pulses precede the print cycles. This can be lessened by following complete print cycles immediately. It has been found that the failure of only a few pixels from individual printing gaps does not represent a decisive obstacle to the evaluation of security prints with a print image resolution of> 300 dpi, if the failing pixels are distributed over the gaps, ie not immediately after one another.
  • a print cycle is aborted if there are several successive encoder pulses too short a time interval, provided that the encoder period is greater than a period of time with DMA cycles.
  • the print data control is connected on the one hand via a bus with the microprocessor and with a pixel memory for the transmission of the print data and on the other hand with an encoder which detects the movement of the print carrier.
  • At least one print head is connected to the print data controller in a manner known per se via a driver circuit.
  • the print data controller in a printhead-type dependent sequence, provides the required data to the respective drive circuitry of an associated printhead.
  • the print data controller has an evaluation unit and a logic for error reduction of printer errors, which encoder pulses are supplied and which contains a resettable encoder clock counter whose count is incremented within a count range smaller than or equal to an upper limit with each leading edge of an encoder pulse whose count is decremented with each print cycle start and the output side outputs a digital count, the latter is evaluated by the evaluation unit with respect to exceeding a set within the count range target value, when not exceeding the aforementioned target value, each pressure cycle completely executed and a running pressure cycle when exceeding the aforementioned target value the condition is aborted that all direct memory accesses (DMA cycles) to the pixel memory are prepared, which prepare the next print cycle ,
  • DMA cycles direct memory accesses
  • the print data control consists, for example, of at least one pixel data processing unit, a DMA controller, an address generator and a printer controller.
  • the pixel data for each current print cycle is alternately stored in one of two buffers of the pixel data preparation unit.
  • the pixel data for the next print cycle are loaded via DMA into a second buffer of the pixel data processing unit, while the pixel data for the current print cycle are transmitted to the respective driver circuit of the associated print head.
  • the address generator provides for this purpose read addresses for pixel data of the pixel data processing unit and the printer controller organizes the serial output of the pixel data to the respective driver circuit in a print cycle in dependence on the encoder pulses.
  • the printer controller has a logic for error reduction of printer errors, which are caused by encoder pulses too short a time interval.
  • the aforesaid logic includes a resettable encoder clock counter whose count is incremented within a count range less than the upper limit of each leading edge of an encoder pulse, the count of which is decremented at each print cycle start, and whose outputs are coupled to first and second comparators, the first comparator being reached of the zero count prevents decrement and the second comparator checks to reach the upper limit.
  • the encoder clock counter provides the output side of the aforementioned count and is operatively connected to the address generator, the latter aborts the current print cycle when all pixel data for the next print cycle via DMA have already been loaded into the buffer of the pixel data processing unit and the counter value in the count range of the encoder clock counter a predetermined Setpoint has exceeded.
  • FIG. 1a shows a pulse / time diagram for correct encoder pulses without error reduction.
  • a print cycle and a DMA period are started with DMA cycles when previously a previous print cycle has been completed. The latter is the case with correct encoder pulses.
  • a mail piece When printing in a mailing machine, for example, a postage meter, a mail piece is moved in the transport direction under or on at least one print head along.
  • the print image is generated from columns in a vertical arrangement to the transport direction, each print head with a time-offset printing an associated part of the same column.
  • the time offset in the control of both printheads in order to print one and the same column results, on the one hand, from the distance between the two printheads in the transport direction and, on the other hand, from the transport speed of the print carrier in the transport direction.
  • each printhead Since the two print heads are arranged offset in the transport direction to each other and each printhead has at least 300 nozzles, which are also arranged in two spaced in the transport direction nozzle rows, pixels are printed in four spaced pressure columns at the same time driving both printheads at any time.
  • the control of all 300 nozzles of each printhead takes place within a printing cycle in which 22 groups of 14 pixel data are successively transferred to the printhead and printed.
  • the letter movement is detected by an encoder. After each positive edge of the encoder signal, a print cycle is started, provided that before the occurrence of this encoder edge of the triggered by the previous edge print cycle is completed ( Figure 1a). The latter is not the case, however, if a sequence of encoder pulses occurs at too short a time interval because of too short a pulse width or pause (FIG. 1b).
  • FIG. 1c shows a pulse / time diagram for encoder pulses without error reduction, wherein due to too short a pulse width and / or pause, the second to seventh encoder pulses have too short a time interval, so that over a longer period of time, only each one second print cycle and time period is triggered with DMA cycles.
  • DMA cycles For printing, in particular a 2D barcode, printed image errors can be very annoying if the authenticity of a franking imprint is to be detected therewith.
  • FIG. 1 d shows a pulse / time diagram for correct encoder pulses with error reduction.
  • the time between the encoder edges is determined by the microprocessor, which then adjusts the print cycle time according to the specifications of the printhead manufacturer, which is effective with a delay of at least two encoder clocks. According to the printhead manufacturer, a print cycle should last as much as 90% of the time between two positive encoder edges.
  • a counter for encoder pulses with insufficient time interval is used according to the invention.
  • the encoder clock counter is used for error reduction. It is reset to the value 'zero' at the beginning of each print cycle and incremented at each encoder pulse, i.
  • the encoder clock counter is decremented, i. set here to the value 'zero'.
  • FIG. 1e shows a pulse / time diagram for encoder pulses with too short a time interval and with error reduction.
  • the time interval between the first two encoder pulses is greater than one print cycle. From the second to the sixth encoder pulse, however, the time interval between adjacent encoder pulses is significantly smaller than a printing cycle. From the sixth encoder pulse, the time interval between adjacent encoder pulses increases again and is greater than one print cycle.
  • the distance of the printing cycles from each other is reduced in dependence on the reduced time interval from a number of encoder pulses until the subsequent printing cycle for printing binary pixel data of a subsequent data string directly follows a completely executed printing cycle for printing out binary pixel data of a previous data string wherein the decreasing occurs as the encoder pulses precede the printing cycles.
  • FIG. 1f shows a pulse / time diagram for encoder pulses with error reduction, wherein the encoder pulses have too short a pulse width and / or pause over a relatively long period of time.
  • Figure 2 shows the block diagram of the preferred pixel data conditioning circuitry by a print data controller.
  • a first and a second printhead 1 and 2 are each connected via a driver unit (pen driver board) 11 and 12 to a print data controller 4, which at the input side receives 16 bits of parallel binary print image data from a bus 5 on the input side and serial on the output side binary print image data to the driver units 11 and 12 outputs.
  • At least one microprocessor 6, a pixel memory 7, a nonvolatile memory 8 and a read-only memory 9 are connected in terms of address, data and control via the BUS 5.
  • An encoder 3 is connected to the print data controller 4 to trigger the buffering of the binary pixel data and the printing of the print image columns, each printhead having a clock frequency of max.
  • the print data controller 4 has a first and second pixel data processing unit 41 and 42 and the associated controls, such as DMA controller 43, address generator 44 and printer controller 45.
  • the controllers include an evaluation unit 453 and a logic 452, which supplied the encoder pulses e for error reduction of printer errors become. It is provided that a printer controller 45 is connected to at least the DMA controller 43 and the address generator 44 and that the address generator 44 is connected to the pixel data processing unit 41, 42 in terms of control.
  • the printer controller 45 is connected directly to the microprocessor 6 via the bus 5 and via an interrupt signal control line I.
  • the DMA controller 43 is connected to the microprocessor 6 via a control line for DMA control signals DMA ACK , DMA REQ .
  • FIG. 3 shows a section of the circuit arrangement according to FIG. 2 with the pixel data processing unit 42 for the second print head, with the DMA controller 43 for a direct memory access (DMA) as well as with the address generator 44 and the printer controller 45.
  • the encoder 3 supplies a signal e and is connected to the inventive logic 452 of the printer controller 45.
  • the latter is connected to the DMA controller 43 directly via control lines 46 for first DMA control signals (DMA start and DMA busy), the DMA controller 43 being supplied with the DMA start signal by the printer controller 45, and with the DMA Control 43 outputs the DMA busy signal with the value 'zero' to the printer controller 45 to signal that the DMA cycles have ended.
  • the DMA controller 43 is also connected to the address generator 44 via a DMA busy signal control line 50.
  • the printer controller 45 is connected to the microprocessor 6 via the bus 5 and via an interrupt signal control line 47, to the address generator 44 via a control line for supplying an address generator start signal AG-start and to the DMA controller 43 via a switching line 49 for a switching signal SO connected.
  • At least the microprocessor 6, the pixel memory 7, the nonvolatile memory 8 and the read-only memory 9 are connected in terms of address, data and control via the bus 5. It is provided that the printer controller 45 has means for generating and outputting a switching signal SO in order to drive the pixel data processing unit 42 thereby selecting the pixel data from the respectively first or the respective second of the two latches 412 and 422 for transmission to the driver unit 12 become.
  • the DMA controller 43 outputs the DMA-busy signal with the value 'Zero' to the printer controller 45 to signal that all direct memory accesses have occurred, i. the period is completed with DMA cycles.
  • the printer controller 45 is connected to the address generator 44 via at least one control line for supplying a start signal (AG start).
  • the address generator 44 has - in a manner not shown here - a unit for generating read addresses and means for forming an address read signal AR. If a number of address read signals AR has been generated for an address group A, the address generator 44 outputs a print start signal PS via the control line 48 to the printer controller 45.
  • the printer controller 45 is connected to the microprocessor 6 via a control line 47 for an interrupt signal I and via the bus 5. At least the microprocessor 6, the pixel memory 7, the non-volatile memory 8 and read-only memory 9 are connected in terms of address, data and control via the BUS 5.
  • the printer controller 45 has means for generating and outputting a switching signal SO and is connected via a control line to the DMA controller 43 and to the pixel data processing unit 42. The latter is driven to by means of Switching signal SO one of the latches 412, 422 for a transmission of pixel data to the driver unit 12 to select. The latter can thereby be supplied in groups to the binary pixel data of an already stored data string.
  • the switching signal SO is supplied to the DMA controller 43 to select the other one of the latches 412 and 422 for pixel data loading.
  • the DMA controller 43 has means for generating and outputting selection signals Sel_2.1, Sel_2.2 as a function of the switching state of the switching signal SO in order to buffer the binary pixel data into the respectively first or the respective second of the two latches 421 or 422, wherein in a transfer of pixel data from the respective one of the two latches to the driver unit 12, the respective other latches for buffering a data string are successively selected by the selection signals.
  • the two pixel data processing units are each connected on the input side to the bus 5, but there only to the low-order 16 bits of the data bus.
  • data word and “wordwise” should always be understood to mean a 16-bit wide data word if the data word width is not expressly specified additionally.
  • the pixel data for a 1 ⁇ 2 inch printhead requires only half the space (at most 320 bits from each data string) in the pixel memory 7, from which this pixel data is provided to the pixel data conditioning unit 42.
  • a data string for both printheads therefore requires that buffering of 20 * 16 bit data words each time be performed twice, for example in the respective first buffer.
  • the first and second latches 421 and 422 are alternately selected by the selection signals Sel-2.1 and Sel-2.2.
  • the DMA controller 43 is control connected to the microprocessor 6 and to the latches 421 and 422, that the DMA controller 43 comprises means for generating and outputting address write signals AW, which in a DMA access to the in Pixel memory 7 stored binary pixel data whose writing into the latches 421, 422 of the pixel data processing unit 42nd allow.
  • the DMA controller 43 supplies a 5-bit address write signal AW for wordwise addressing. The latter is in each case at a separate address input of the first and second buffer memories 421 and 422 for pixel data for the second print head.
  • the DMA controller 43 provides a first select signal Sel_2.1 for pixel data for the second printhead and asserts a separate control input of the first pixel data for the second printhead 421.
  • the DMA controller 43 provides a second select signal Sel_2.2 for pixel data for the second printhead and asserts a separate control input of the second pixel data latch 422 for the second printhead.
  • the address generator 44 has at least means for generating and outputting address signals AR, AP and control signals WR, LD, PS, and wherein the address signals AR, AP and control signals WR, LD of the pixel data processing unit 41, 42 for selecting the cached binary pixel data and their grouping in a predetermined order.
  • Each pixel data processing unit has two latches, a selector for selecting the binary pixel data, and a shift register for parallel / serial conversion of the binary pixel data provided in a new order.
  • the address read signals AR generated by the address generator 44 are supplied to the latches and the selector of the pixel data processing unit.
  • the primitive address signals AP and the write control signal WR generated by the address generator 44 are supplied to the selector, and a load signal LD is supplied to the shift register. From the printer controller 45, a start signal AG-start is supplied to the address generator 44.
  • the address generator 44 now provides an address read signal AR for selecting the data word with the pixel data destined for the second printhead.
  • the higher-order bits of the address read signal AR are applied to a separate address input of the first and second buffer memories 421 and 422.
  • the four least significant bits of the address read signal AR are applied to an address input of a second selector 423 and allow addressing within the 16-bit data word.
  • the parallel data outputs of the first and second pixel data for the second printhead 421 and 422 are applied to a first and second input of the selector 423, controlled by the address generator 44 at its output a 14 bit parallel data signal to the parallel data input of a shift register 424 for Pixel data for the second printhead.
  • the shift register 424 is controlled by a shift clock signal SCL of the printer controller 45, and outputs a serial data output signal SERIAL DATA OUT 2.
  • the address generator 44 also generates a primitive address AP for controlling the selector 423 and a write signal WR.
  • the address generator 44 outputs a load signal LD to the shift register 424 and a print start signal PS to the printer controller 45.
  • the latter outputs the Latch and Print2 signals for the control of the Pen Driver Board 12.
  • the printer controller 45 is connected via a control line for the output of the switching signal SO to a corresponding control input of the DMA controller 43 and to the selector 423 of the pixel data processing unit 42.
  • the printer controller 45 has evaluation means for evaluating the address and control signals transmitted via BUS 5, which are evaluated with regard to the occurrence of a print command.
  • the printer controller 45 generates at least the DMA start, AG start and SO signals, stores the latter in registers, and communicates with the DMA controller 43 via DMA start, DMA busy, and SO signal control lines.
  • the SO signal is generated only upon receipt of a print command and triggered by the print command is output from the printer controller 45, a first control signal DMA start to the DMA controller 43, the latter then generates a request signal DMA REQ and sends to the microprocessor 6.
  • the microprocessor has an internal DMA controller (not shown) which, in the case of a direct memory access, applies a specific address to the pixel memory (RAM) 7, thereby enabling word-wise transmission of binary pixel data via BUS 5 to the latches.
  • An address write signal AW is supplied to the latches by the DMA controller 43 for this purpose.
  • the microprocessor 6 can, for example, via DMA from the pixel memory 7 read out a 16-bit wide data word with pixel data and transmit it to the print data control unit.
  • the microprocessor 6 sends an acknowledgment signal DMA ACK to the DMA controller 43 to synchronize the generation of the address write signal AW in the DMA controller 43 with the DMA cycle of the microprocessor 6.
  • a 16-bit wide data word with binary pixel data enters a buffer.
  • Each of the four latches can provide a total of 320 bits for further data conditioning after each 20 DMA cycles.
  • DMA controller 43 supplies first and second select signals Sel_2.1 or Sel_2.2 alternately for word-wise storing pixel data for the second printhead.
  • the DMA controller 43 supplies a first selection signal Sel_2.1 and an address write signal AW for the alternate and wordwise storage of pixel data for the second print head.
  • the number of pixels desired for each print image column requires a maximum of 40 data words to buffer 16 bits in two out of four latches.
  • circuit means are provided for outputting the second control signal DMA-busy and for realizing at least one cycle counter for a predetermined number of 16-bit data words.
  • the binary pixel data for the first printhead is word-delivered via BUS 5 and applied to a corresponding data input of the first and second latches 411 and 412 for pixel data for the first printhead.
  • the first pixel data processing unit 41 for the first printhead-not shown in detail- also includes first and second latches 411 and 412, which are each connected on the input side to the low-order 16 bits of the data bus of the bus 5.
  • the address write signal supplied from the DMA controller 43 AW is also applied to each of a separate address input of the first and second latches 411 and 412 for pixel data for the first printhead.
  • the DMA controller 43 supplies a first select signal Sel_1.1 for pixel data for the first printhead and asserts a separate control input of the first pixel data stager 411 for the first printhead.
  • the DMA controller 43 provides a second select signal Sel_1.2 for pixel data for the first printhead and asserts a separate control input of the second pixel data for the first printhead.
  • the address read signal AR provided by the address generator 44 is also applied again to a separate address input of the first and second buffer memories 411 and 412 for pixel data for the first print head and to a first selector 413.
  • the parallel data outputs of the first and second pixel pixel data latches 411 and 412 are applied to first and second inputs of the selector 413, controlled by the address generator 44 at its output, a 14 bit parallel data signal to the parallel data input of a shift register 414 for Provides pixel data for the first printhead.
  • the shift register 414 is controlled by the shift clock signal SCL of the printer controller 45 and outputs a serial data output signal Serial data out 1.
  • the printer controller 45 outputs a shift clock SCL to the pixel data for the first printhead shift register 414 and signals Latch and Print1 for the control of the pen driver board 11.
  • the printer controller 45 is connected to a corresponding control input of the DMA controller 43 and to the pixel data processing unit 41 via a control line for outputting the signal SO.
  • the cycle counter of the DMA controller 43 is a word counter for a predetermined number of 16-bit data words, which is started by a DMA start signal.
  • the DMA controller is for example part of an application specific circuit (ASIC), wherein the cycle counter is connected on the one hand to the aforementioned means for generating and output of address write signals AW and on the other hand with means for generating and outputting selection signals, the latter - In a manner not shown - have at least one output means and comparison means.
  • a first comparison means controls the output means as a function of the SO signal in order to reach a first predetermined number of 16-bit data words for the first pixel data processing unit 41 specific selection signal Sel_1.1 or Sel_1.2 and after reaching the first predetermined number of 16-bit data words to output a for the second pixel data processing unit 42 specific selection signal Sel_2.1 or Sel_2.2.
  • the first or second comparing means receives a signal which is applied to the cycle counter to terminate the counting of DMA cycles. From the signal, a DMA-busy signal with the value 'zero' is generated and output via a register.
  • binary pixel data can be stored in the pixel memory in an optimal order, which relieves the microprocessor in the printed image change.
  • Data transfer via DMA also relieves the load on the microprocessor.
  • the error-reducing encoder pulses logic 542 is a component of the printer controller 45 and the associated evaluation unit (not shown) forms part of the address generator 44.
  • the logic 542 then transmits a more than two-bit wide digital count signal ENC to the address generator 44 on the output side Comparator contains.
  • a data string counter is further realized (not shown in detail), wherein each data string has a maximum of the above-mentioned number of 40 * 16-bit data words. After the binary pixel data taken from a data string has been printed, the data string counter is incremented when the LH edge of the encoder clock occurs. When a predetermined setpoint U on data strings is reached, printing of the print image is ended.
  • the entire print data control can preferably be realized with an application specific circuit (ASIC) or programmable logic, such as Spartan II 2.5V FPGA from XILINX ( www.xilinx.com ).
  • ASIC application specific circuit
  • Spartan II 2.5V FPGA from XILINX ( www.xilinx.com ).
  • FIG 4 shows a block diagram of the printer controller 45, which has a logic 542 for error reduction, which will be explained below with reference to FIG 6 in more detail.
  • the aforementioned logic 542 is operatively connected to a sequencer and processing unit 451 to which a printer control logic 450 and an input / output unit 454 are connected.
  • the first block 451 with the sequence control and processing unit are - not shown - an encoder filter and an encoder controller included, which provides a start signal for printing a column, an interrupt request with each rising edge of the encoder triggers and the correct time Transmission of print data within a print column supported.
  • the encoder filter suppresses spikes on the encoder signals.
  • the first block 451 - in a manner not shown - yet another counter and further evaluation circuits included, wherein the counter is a system clock for determining the period of encoder pulses is supplied.
  • the e-input BUS-I / O and other registers of the I / O unit 454 communicate with the microprocessor.
  • a microprocessor-controlled control of the pressure cycle duration causes - in a manner not shown - an adjustment of the printing cycle to a predetermined period of time, preferably about 90% of the time between two positive encoder edges.
  • the input / output unit 454 also has a number of blocks - not shown in detail - but at least the following blocks, a BUS input / output unit 4541, an input signal 4542 for the encoder signal e, an input 4543 for the DMA busy signal, a DMA start signal register 4544, an AG busy signal input 4545, an AG start signal register 4546, a switching signal SO register 4547, a PS signal input 4550; Output 4551 for the I signal, an output 4553 for the shift-clock signal, an output 4554 for the latch pulse signal, a Print1 pulse output 4555 and a Print2 pulse output 455x.
  • the input / output unit 454 has an ENC output 4560.
  • the evaluation unit 453 shown in dashed lines is likewise a component of the printer controller 45, then the output signal of the evaluation unit 453 is likewise transmitted to the address generator 44, but only as a bit-wide binary abort signal that is present at the output 4560 is provided.
  • the printer controller 45 can also be realized in the already explained or in an alternative embodiment, wherein each printer controller 45 - independent of the embodiment - has a data string counter 4503 and is connected to the encoder 3. After each printed data string, the value V of the data string counter is incremented when the encoder clock occurs, whereby the printing of the print image is terminated when a predetermined setpoint U of the data string counter is reached.
  • FIG. 5 shows a flowchart for the flow control of the printer controller.
  • a step 102 is reached and in the routine 100 of the sequence control, the signals reduction signal DEC_ENC, reset signal Encoderfarer_Reset and selection signals Sel_1.1, Sel_1.2, Sel_2.1, Sel_2.2 set to the value 'zero'.
  • a data word transmitted via the bus is evaluated with regard to the occurrence of a command for printing start. If the latter has not yet been issued, then it branches into a waiting loop.
  • the column count value V is set to the value 'zero'.
  • the switching signal SO is set to the value 'one' and output.
  • a second interrogation step 105 the encoder signal e is now evaluated with regard to the occurrence of an LH edge. If the latter has not yet occurred, a branch is made to a waiting loop.
  • a signal DMA start is output and a subroutine 300 is started which sets certain selection signals Sel_1.1, Sel_1.2, Sel_2.1 or Sel_2.2 to the value 'one' in order to convert the binary pixel data into the Latch the pixel data processing units 41 and 42 to take over what will be explained in more detail later with reference to FIG.
  • the encoder clock counter is incremented and the digital output signal ENC now becomes unlike the value 'zero'.
  • a branch is thus made from the fourth interrogation step 109 in a step 110, in which the switching signal SO is logically negated and then output.
  • step 111 the address generator is activated and a subroutine 400 is started, which generates for the pixel data processing units 41 and 42 specific read addresses AR and control signals such as the switching signal SO, the primitive address AP, the write signal WR and a load signal LD.
  • step 112 a DMA start signal is output and DMA control is enabled to restart the aforementioned subroutine 300. Both subroutines 300 and 400 are in parallel with each other.
  • the print cycle start is signalized by generating a short pulse or by setting the signal DEC_ENC to the value 'one' in a first substep 113a and the signal DEC_ENC to the value 'zero' in a second substep 113b.
  • a fifth interrogation step 114 it is evaluated whether the address generator has finished its subroutine 400 and whether the DMA busy signal has been set to the value 'zero'. If the former or the latter is still not the case, then a branch is made in a waiting loop. However, if the address generator has completed its subroutine 400 and the DMA busy signal has been set to the value 'zero', then a step 115 is reached.
  • a sixth interrogation step 116 it is evaluated whether the column count value V has reached a limit value U. If this is not the case, then the fourth query step 109 is branched back. Otherwise, the system branches back to the first interrogation step 103 via a step 117, and the routine restarts when a print start command is detected in the first interrogation step 103.
  • a reset signal Encoderschreiber_Reset: 0 is generated and reset the encoder counter to the value 'zero'.
  • FIG. 4 there is a separate second block 452 which is connected to the flow control and processing unit contained first block 451 of the printer controller 45 is operatively connected.
  • the aforementioned block 452 contains the logic for printer error reduction and is part of the printer controller 45.
  • the connection comprises a plurality of - not shown - lines for analog and / or digital electrical signals.
  • the connection of the second block 452 to the ENC output of the I / O unit 454 is also via the first block 451 of the printer controller 45.
  • the block 451 is connected to the I / O unit 454 of the printer controller 45. After powering up, the processing unit of the first block 451 sets the decrease signal DEC_ENC and the reset signal Encoder_counter_Reset to the value 'zero'.
  • the printer controller 45 includes a third block 450 with the printer control logic. The latter has parameter Y in parameter memory 4505 as an upper limit for the printer error reduction logic.
  • a separate second block may be omitted (not shown) if the printer error reduction logic is part of the first block 451 of the printer controller 45.
  • FIG. 6 shows a block diagram of the logic for reducing printer errors.
  • First and second AND gates 4521, 4522 are connected in output to the inputs of an encoder clock counter 4523, which has a first input CLK_down, a second input CLK_up, and a third input ENC_RESET for the reset signal Encoder Counter_Reset.
  • the decrease signal DEC-ENC is supplied via a first input of the first AND gate 4521.
  • the output K of a first digital comparator 4524 is connected.
  • the first digital comparator 4524 used is an OR gate which combines the digital output signal ENC of the encoder clock counter 4523 and outputs a logic signal 'one' on the output side at ENC ⁇ 0.
  • the filtered encoder signal e is supplied in series via a first input of the second AND gate 4522, to whose second input the output L of a second digital comparator 4525 is connected.
  • the encoder clock counter 4523 is shown in the embodiment as a 4-bit counter, but should not be limited to this alone. Rather, embodiments other than n-bit counters are possible.
  • both digital comparators are the same.
  • n Exclusive OR gates are linked together on the output side via an OR gate, wherein each Exclusive OR gate compares one digit of the n-bit number with a corresponding position of the n-bit comparison number.
  • the first digital comparator 4524 At the respective second inputs of the first digital comparator 4524 is an n-bit wide digital data signal with the binary value 'zero'. At the respective second inputs of the second digital comparator 4525 is an n-bit wide digital data signal with the corresponding binary values for an upper limit 'Y', which is supplied via the first block 451 of the printer controller 45.
  • the first block 451 of the printer controller 45 also provides the encoder count_reset signal and the DEC ENC signal.
  • the first digital comparator 4524 operates in a manner known per se and outputs a logic signal, for example TTL. For example, a binary value 'one' at the output K indicates that the condition ENC ⁇ 0 is fulfilled.
  • the DEC-ENC signal supplied via a first input of the first AND gate 4521 is consequently switched through to the first input CLK_down of the encoder clock counter 4523 in order to decrement the count value.
  • the second digital comparator 4525 outputs a logic signal having the binary value 'one' at the output L when the condition ENC ⁇ Y is satisfied.
  • the filtered encoder signal e supplied via a first input of the second AND gate 4522 is then turned on to the second input CLK_up of the encoder clock counter 4523 to increment the count value.
  • the first and second digital comparators 4524 and 4525 respectively provide a TTL signal with the Value 'zero' if the above condition is not met. In this case, the AND gates 4521 and 4522 are disabled.
  • FIG. 7 a shows a flowchart for reducing printer errors.
  • the routine 700 is started in step 701. After the start, first in step 702 the count is reset to the value 'zero'. In the following interrogation step 703, in the expectation of an activation by means of a reset signal encoder counter reset with the value 'one', the process is continuously branched back to step 702.
  • the reset signal encoder counter reset is set to the value 'one' after a first DMA cycle by the processing unit of the block 451 shown in FIG. 4, as can be seen from step 108 of FIG.
  • the aforesaid reset signal is applied to the third input ENC_RESET of the encoder clock count 4523 shown in FIG. If an encoder count reset signal of value 'one' is detected in query step 703, then a second interrogation step 704 is reached in which it is determined whether an encoder LH edge is applied to the second AND gate 4522 via a first input while the second comparator 4525 outputs on the output side a value 'one', with which the latter signals that the condition ENC ⁇ Y is fulfilled.
  • the second query step 704 branches to the third query step 706.
  • the first comparator 4524 determines that the count ENC is not equal to the count value 'zero'. In this case, a branch is made to the fourth interrogation step 707. Otherwise it becomes the first query step 703 branches back.
  • FIG. 7b shows a pulse / time diagram for the printer error reduction.
  • the reset signal Encoder_outheastern_Reset and the decrease signal DEC_ENC are set to the value 'zero'.
  • Several encoder pulses occur in too short a time interval over a longer period of time. In the pulse / time diagram of Figure 7b, however, the aforementioned period is longer than in the pulse / time diagram of Figure 1f.
  • a first period begins at time t 0 to load the pixel data for the first print cycle into the latches via DMA cycles.
  • a second encoder pulse occurs and the aforementioned encoder clock counter is incremented and now has the count value 'one'.
  • the output K of the first comparator 4524 (FIG. 6) then outputs the binary value 'one' which is applied to the input of the first AND gate 4521.
  • the output Q1 or K remain set to the binary value 'one' until the time t 3 .
  • the incrementing is continued as long as a predetermined upper limit value Y is not reached, or the count value can be decremented upon the occurrence of a printing cycle.
  • a second period is started with DMA cycles and a first print cycle for the pixel data of a data string loaded in the preceding first DMA period with DMA cycles.
  • a pulse-shaped decrease signal DEC_ENC generated by the printer controller 45 is output to the logic 452, resulting in decrementing and the result that the count value again has the value 'zero'.
  • the first-mentioned buffer of the print data controller 4 is read out for printing a data string.
  • the pixel data for a second print cycle are loaded by DMA into the respective other buffer of the print data controller 4.
  • a third encoder pulse already occurs before a third print cycle can be started.
  • the outputs Q1 and K remain set to the binary value 'one' until time t 5 .
  • a second print cycle and a third DMA period are started.
  • the time interval of the subsequent times t 6 and t 7 , t 8 and t 9 and t 10 and t 11 increases to the extent that at time t 11 of the seventh encoder pulse before the sixth DMA period is effective.
  • the encoder clock counter is no longer decremented to the same extent as it is incremented. As a result, the count increases.
  • the first comparator 4524 checks the aforementioned logic 452 as to whether the counter contents are nonzero. If this is the case, it is waited for a reduction signal DEC_ENC.
  • the printer controller outputs a decrease signal DEC_ENC.
  • the encoder clock counter is still incremented before decrementing.
  • the outputs Q1 and K remain set to the binary value 'one' from time t 10 to time t 11 and then change to the value 'zero'.
  • the output Q2 changes to the binary value 'one', ie the counter content has risen to the count value 'two' at time t 11 .
  • This counter state stops only until the time t 12 , since at the time t 11 , a reduction signal DEC_ENC with the value 'one' to the encoder clock counter was delivered.
  • Output Q2 returns to binary 'zero' and output Q1 returns to binary 'one' according to the decremented 'one' count.
  • the eighth encoder pulse is output and there are comparable conditions as at time t 2 with the exception that the encoder clock count before incrementing is now at the aforementioned value 'one'.
  • the eighth encoder pulse at time t 13 is effective before the seventh DMA period with DMA cycles.
  • Output Q2 returns to binary 'one' and output Q1 returns to binary 'zero' according to the incremented count 'two'.
  • This counter state stops only until the time t 14 , since at the time t 13 also a decrementing signal DEC_ENC with the value 'one' was delivered to the encoder clock counter.
  • FIG. 8 shows a block diagram of an embodiment of the address generator.
  • the address generator 44 has an input / output logic 444, an evaluation unit 442 and a read address generation unit 441, the latter having a first counter 4410 for the primitive address and an associated first comparator 4411 for comparing a count value P of the primitive address with a first setpoint supplied by a first setpoint register 4412.
  • the unit 441 comprises a second counter 4413 for an address group and an associated second comparator 4414 for comparing a count A of the address group with a second set value supplied by a second setpoint register 4415 and a scheduler 4401.
  • the latter works in conjunction with a calculation unit 4402 for the parameter C, a WR signal generator 4403, an LD signal generator 4404, a PS signal generator 4405, with the aforementioned counters 4410 and 4413, with the comparators 4411, 4414, 4418, with the registers 4412, 4415 4417 and with a AGbusy signaling device 4416.
  • the evaluation unit 442 includes an inverter 4420 for the DMA busy signal, an AND gate 4423, a register 4422 for at least a third setpoint value Z and a third comparator 4421, the count value the encoder clock counter for comparison with at least one third setpoint Z is supplied.
  • the third comparator 4421 may be simply constructed by checking that neither ENC values are 'zero' nor 'one'. occur.
  • the logic signals output at the Q outputs of the encoder clock counter are linked via an OR gate and on the other hand n Exclusive OR gates on the output side via a second OR gate, whereby each Exclusive OR gate in each case has one position of the n-gate.
  • the AND gate 4423 outputs an abort signal BO having the value 'one' on the output side when the negated DMA busy signal and the output signal of the third comparator 4421 have the value 'one'.
  • the input / output logic 444 of the address generator 44 has an input 4450 for the DMA busy signal, an input 4451 for the ENC signal, an input 4444 for receiving the address generator start signal and a register 4445 for the signal to be sent Addressgeneratorbusysignal comprises.
  • the printer controller may already include the above-mentioned comparison of the ENC signal with the setpoint value Z, in order to generate an abort signal BO as a result of the comparison.
  • the I / O unit 454 of the printer controller 45 then includes a BO output instead of the ENC output 4560.
  • the input / output logic 444 of the address generator 44 need only contain a BO input instead of the ENC input 4451 which has the abort signal BO instead of the count ENC is supplied. This eliminates the control line 50, the DMA busy input 4450 and the evaluation 442 in the address generator 44.
  • a corresponding evaluation unit 453 is instead realized in the printer controller 45 to perform the above comparison of the ENC signal with the setpoint Z and the result the comparison to generate an abort signal for the printing cycle that is supplied to the address generator 44.
  • the address generator 44 After a formation of the address read signal AR and after an incrementation of a count value P for the primitive address by the value 'one', the comparison is made in the first comparator 4411, wherein after successively generates a number of read addresses, exceeding the first setpoint or an overflow of the Counter 4410 for the primitive address is triggered, a load signal LD is output and a subroutine for output is started, the counter 4413 for an address group is incremented by the value 'one', wherein falling below the second setpoint in the comparison in the second comparator 4414, a reset of the count value P of the primitive address to the value 'one' and generating a subsequent read address associated with a further address group and wherein upon the occurrence of a predetermined condition, a running print cycle is aborted prematurely.
  • the process controller 4401 is provided with a parameter C calculating unit 4402 having a signal generator 4403 for generating a write signal WR, a signal generator 4404 for generating a load signal LD, and another signal generator 4405 for generating a print start signal PS for causing the pixel data to be printed out Data string and connected to the Busy signal generator 4416.
  • the input / output logic 444 also has a register 4446 for the delivery of the primitive address AP, a register 4447 for the write signal WR, a register 4448 for the load signal LD, a register 4449 for the output of the address read signal AR and a register 4440 for the output of the Pressure start signal PS on.
  • FIG. 9 shows a block diagram of a DMA controller.
  • the DMA controller 43 has at least one scheduler 4301, a word counter 4302, a setpoint register 4303, an input / output logic 4304, a memory 4305, a comparator 4306, and a shift register 4307, which are interconnected to perform DMA cycles.
  • Integrated into the flow control 4301 is a further processing unit to which the aforementioned blocks 4302 to 4307 are connected in circuit and which has further comparators (not shown).
  • the input / output logic 4304 at least one input 43042 for the received DMA start signal and Registers 43043 to 43046 for the select signals to be transmitted, a DMA busy signal register 43047, a request signal DMA REQ register 43048, an input acknowledgment signal DMA ACK input 43049, an input 43050 for the switching signal (SO) and register 43051 for the address write signal AW.
  • FIG. 10 shows a flowchart for DMA control.
  • a subroutine 300 is called when a DMA start signal is output from the printer controller 45 to the DMA controller 43 (step 301).
  • a word count W is set to the value 'zero'.
  • a DMA-busy signal is set to the value 'one' and transmitted to the printer controller 45.
  • a DMA request signal DMA REQ having a value 'zero' is transmitted to the microprocessor 6. The latter transmits an acknowledgment signal DMA ACK to the DMA controller 43.
  • a non-receipt of the acknowledgment signal DMA ACK branches to a waiting loop with a value 'zero'.
  • a second interrogation step 305 is skipped, wherein the state of the switching signal SO is determined. If the switching signal SO has the state equal to one, then a branch is made to a third interrogation step 306. Otherwise, the switching signal SO has the state equal to 'zero' and a branch is made to a fourth interrogation step 309.
  • step 306 it is checked whether the word counter has a value W smaller than twenty. For this case (W ⁇ 20), a branch is made to a step 307.
  • step 307 the first selection signal for the first print head Sel_1.1. switched to the value 'one' and the address write signal AW receives the current value W of the word counter.
  • step 312 the pixel data are transferred to the latches of the pixel data modification units 41, 42.
  • step 313 all selection signals are switched to the value 'zero' and a DMA request signal DMA REQ with a value 'one' is transmitted to the microprocessor 6.
  • step 314 the word count W is incremented with the value 'one'.
  • a subsequent query step 315 it is checked whether the word counter has a value W less than forty. For this case, in which the word counter has such a value W ⁇ 40, a branch back to a step 303. Otherwise, a branch is made to a step 316 to output a signal DMA busy having the value 'zero' before the end (step 317) of the subroutine 300 is reached. Otherwise, if it is determined in the third query step 306 that the word count W is not less than twenty, then a branch is made to a step 308 in which the first selection signal for the second print head Sel_2.1. is switched to the value 'one' and the address write signal AW is replaced by the value 'twenty' reduced current value W of the word counter. In the subsequent step 312, the pixel data are taken back into the buffer.
  • step 309 it is also checked whether the word counter has the predetermined value W ⁇ 20, it being previously determined in the interrogation step 305 that the binary switching signal SO does not have the value equal to one. If the word counter has the predetermined value W ⁇ 20, then in step 310, the second selection signal for the first printhead Sel_1.2. switched to the value 'one' and the address write signal AW receives the current value W of the word counter. In the subsequent step 312, the pixel data are taken back into the buffer.
  • the fourth interrogation step 309 branches to a step 311 in which the second selection signal for the second printhead Sel_2.2 is switched to the value 'one' and the address write signal AW the by the value 'Twenty' reduced actual value W of the word counter receives.
  • the pixel data are taken back into the buffer.
  • FIG. 11 shows a flowchart for address generation.
  • the addresses of stored binary pixel data begin at both printheads with the start address zero, which is generated in the following manner for the address read signal AR.
  • the first query step 403 it is asked if the numerical value P of the counter of the primitive address is equal to the value one. If so, the second query step 404 is reached. Here it is determined whether the counter A has reached the value 8 or 9 or 15 or 16.
  • step 406 is executed and the numerical value C is subtracted from the numerical value C of the counter of the address read signal AR.
  • the numerical value C of the counter of the address read signal AR is greater than or equal to the value zero and then branches to step 419 for the output of the address read signal AR. Otherwise, a branch is made to step 420 in order to add a numerical value 512 to the negative numerical value. After steps 419 and 420, steps 425, 426 and 427 are traversed.
  • step 425 the numerical value for the counter of the primitive address AP is output.
  • step 426 a write signal WR for the binary pixel data entry is output to a collection register.
  • step 427 the numerical value for the numerator of the primitive address AP is incremented by the value one.
  • a fourth interrogation step 428 is reached and it is determined that the numerical value P of the counter of the primitive address AP has not yet reached the limit value 15. Subsequently, branching back to the first query step 403.
  • the program branches to the sixth query step 408, in which it is checked whether the counter of the address group has the value 8 or 15. If this is the case, then a branch is made to a step 409 and the numerical value 3 is added to the numerical value C of the counter of the address read signal AR. Otherwise, branching is made from the sixth interrogation step 408 to a step 410, and the numerical value 47 is added to the numerical value C of the counter of the address read signal AR.
  • the fifth query step 407 branches to the seventh query step 415, in which it is checked whether the counter of the address group has the value 8 or 15. If this is the case, then a branch is made to a step 416 and the numerical value 41 is added to the numerical value C of the counter of the address read signal AR. Otherwise, a branch is made from the seventh interrogation step 415 to a step 417 and the numerical value C is subtracted from the numerical value C of the counter of the address read signal AR.
  • the third interrogation step 418 is reached again and it is determined whether the numerical value C of the counter of the address read signal AR is greater than or equal to the value zero.
  • steps 419 and 420 steps 425, 426 and 427 are again run until the fourth interrogation step 428 is reached, in which it is determined whether the numerical value P of the counter of the primitive address AP has already reached the limit value 15. If this is the case, then a branch is made to a step 429 and a charging signal for loading the shift register is output.
  • a subroutine 500 is started in step 430, in which inter alia a shift clock signal SCL is applied the shift register is applied to serially output the pixel data from the latter.
  • step 431 the value of the counter of the address group is incremented by the value one.
  • FIG. 12 shows a table for generating addresses, whose address read signals AR for 22 address groups are generated by the aforementioned routine 400.
  • the address generator 44 preferably generates the address values as a binary number and applies them to the pixel data processing units 41, 42.
  • a binary number may be represented as a hexadecimal number or a decimal number, which requires less space. Only for this reason and for better understanding are decimal numbers entered in the table.
  • the address read signal AR (address read) is thus generated for 14 binary numbers per address group. One after the other corresponding binary numbers are generated as address read signal AR for 22 address groups.
  • Each address read signal AR is accessed in the buffer memory for a binary pixel
  • the address values greater than 500 must therefore not be able to be generated completely as a binary number.
  • all address values greater than 299 are generated but also not needed for printing.
  • Routine 400 is executed until all print image columns have been printed or aborted. It has already been explained that the rows of nozzles of a printhead become active alternately for printing image columns. While one of the latches is being loaded with binary pixel data via direct memory access, the other latches are read out to transfer rendered groups of binary pixel data to the driver units. The mutual repetition of the routine 400 and further subsequent steps are caused by the printer controller 45, which under the control of a signal e of the encoder 3 also generates the print signals Print 1 or Print 2.
  • FIG. 13 shows a flowchart of the output routine 500.
  • the address generator 44 outputs a print start signal PS to the printer controller 45.
  • the issue routine is called twenty-two times as a subroutine in the course of subroutine 400 to drive the shift registers in the print data controller 41, 42 and around the driver units 11, 12.
  • a step 502 is reached and a shift clock SCL is generated in order to shift the pixel data loaded in the shift register via the serial data output to the respective drive unit 11, 12.
  • step 503 a latch signal is generated and output to the driver units 11, 12.
  • the print signals Print1, Print2 are generated and output to the driver units 11, 12 and in step 505 the subroutine 500 is stopped.
  • each data string exists a first and second number of data words, respectively, containing binary pixel data for a first and a second inkjet printhead 1, 2, respectively.
  • Each inkjet printhead 1, 2 prints one-half of each print image column, with odd-numbered pixels on at least one half of a first print image column and even-numbered pixels on at least one half through the first and second nozzle rows of each inkjet printhead a second printed image column to be printed.
  • the first or second number of data words in the data string respectively contain the binary pixel data for both nozzle rows of the first and second inkjet printhead, wherein in each data word of each data string only the first and second pixel data are contained for printing a first or further print image column, so that one of the print image columns is completely printed only after printing out the pixel data, for example, three data strings or at least one further data string.
  • the row of nozzles respectively in the transport direction in the first direction is supplied with the binary pixel data for the odd-numbered pixels of the first print image column, while the nozzle row in the transport direction in the second direction is already supplied with the binary pixel data for the even-numbered pixels the subsequent further print image column is supplied.
  • Each print image column half is printed by the first and second nozzle rows of each ink jet print head, each print image column half being completed in time after printing with the second nozzle row by printing with the respective first nozzle row.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Dot-Matrix Printers And Others (AREA)
  • Electronic Switches (AREA)
  • Handling Of Sheets (AREA)
  • Sorting Of Articles (AREA)
  • Devices For Checking Fares Or Tickets At Control Points (AREA)

Abstract

Method for reducing printing errors during printing of mail items has the following steps: generation of encoder impulses corresponding to the relative movement between print and print medium; up and down counting to determine a state with reduced time interval between encoder impulses; execution of direct memory access (DMA) for accessing binary pixel data and; implementation of a print cycle for the data string with subsequent DMA access to the data string during subsequent print cycles. An independent claim is made for an arrangement for reducing printing errors during printing of moving mail items with a moving print head.

Description

Die Erfindung betrifft ein Verfahren zur Reduzierung von Druckerfehlern während des Druckens in einem Postbearbeitungsgerät, gemäß des Oberbegriffs des Anspruchs 1 und eine Anordnung gemäß des Oberbegriffs des Anspruchs 4. Die Erfindung kommt in Frankiermaschinen, Adressiermaschinen und anderen druckenden Postverarbeitungsgeräten zum Einsatz.The invention relates to a method for reducing printer errors during printing in a mailing machine, according to the preamble of claim 1 and an arrangement according to the preamble of claim 4. The invention is used in franking machines, addressing machines and other printing mail processing equipment.

Die Erfindung steht in Zusammenhang mit den nicht vorveröffentlichten deutschen Patentanmeldungen 10230678.8 mit dem Titel: "Anordnung zum Steuern des Druckens in einem Postverarbeitungsgerät" und 10230679.6 mit dem Titel: "Verfahren zum Steuern des Druckens in einem Postverarbeitungsgerät".The invention is related to unpublished German patent applications 10230678.8 entitled "Arrangement for Controlling Printing in a Mailing Machine" and 10230679.6 entitled "Method for Controlling Printing in a Mailing Machine".

Auf dem Gebiet des digitalen Druckens wird der variable Druckbildanteil immer umfangreicher und die Druckauflösung immer höher. Beispielsweise soll der variable Druckbildanteil für unterschiedliche postalische Anforderungen flexibel sein und wird von Abdruck zu Abdruck geändert. Gleichzeitig wird die Steuerung mit umfangreichen anderen Aufgaben belastet. Zur Entlastung der Steuerung durch einen Mikroprozessor, hat es sich als vorteilhaft erwiesen, die zu einer Druckbildspalte gehörenden Pixeldaten im Pixelspeicher so anzuordnen, dass variable Bildelemente durch den Mikroprozessor in der verfügbaren Zeit geändert werden können. Weiterhin hat es sich als vorteilhaft erwiesen, wenn der für die Steuerung des druckenden Postbearbeitungsgerätes bzw. -Systems zuständige Mikroprozessor durch eine Druckdatensteuerung bei der Steuerung des Druckens entlastet wird. Das Drucken erfordert eine Relativbewegung zwischen einem Druckkopf und einem Druckträger, beispielsweise einem blattförmigen Gegenstand, Brief, Postkarte, Päckchen, Frankierstreifen, Adressenaufkleber bzw. Etikett.In the field of digital printing, the variable print image share is becoming more extensive and the print resolution is getting higher and higher. For example, the variable printed image portion should be flexible for different postal requirements and is changed from impression to impression. At the same time, the controller is burdened with other tasks. To relieve the control by a microprocessor, it has proven to be advantageous, belonging to a print image column To arrange pixel data in the pixel memory so that variable pixels can be changed by the microprocessor in the available time. Furthermore, it has proven to be advantageous if the responsible for the control of the printing mail processing device or system microprocessor is relieved by a pressure data control in the control of printing. The printing requires a relative movement between a print head and a print carrier, for example a sheet-like object, letter, postcard, packet, franking strip, address label or label.

Im US 6.457.901 (DE 10032855 A1) wird eine Vorrichtung zum Bedrucken eines Druckträgers vorgeschlagen, die in einem Postverarbeitungsgerät, wie vorzugsweise in der Frankiermaschine ultimail® der Patentinhaberin Francotyp Postalia AG & Co.KG zum Einsatz kommt. Die Druckträger, beispielsweise Briefkuverts, Frankierstreifen oder vergleichbares Frankiergut, werden mittels einer angetriebenen Transporttrommel poststromabwärts in Transportrichtung transportiert, wobei eine nicht angetriebene Gegendruckvorrichtung den Druckträger gegen die Transporttrommel in Andruckrichtung orthogonal zur Transportrichtung andrückt. Die zwei Tintenkartuschen ragen teilweise in die Transporttrommel hinein und tragen zwei Inkjet-Druckköpfe, welche das Drucken auf den bewegten Druckträger berührungslos vornehmen. Beide Druckköpfe sind orthogonal zur Transportrichtung und orthogonal zur Andruckrichtung sowie mit ihren Düsen nahe am Rand der Transporttrommel angeordnet, wobei die Düsen bei einem Durchlauf des Druckträgers durch die Maschine einen kompletten Abdruck erzeugen können. Auf der Stirnseite der Transporttrommel sind nahe zum Umfang Markierungen aufgebracht, die über den Umfang der Transporttrommel verteilt sind. Die Markierungen sind beispielsweise reflektierende Striche, die von einer Reflexlichtschanke oder Durchlichtschranke eines Encoders erfasst und vom Mikroprozessor einer Steuerung in Druckimpulse im Verhältnis 1:1 umgesetzt werden. Allmähliche langsame Schwankungen in der Transportgeschwindigkeit haben somit keinen Einfluss auf ein erzeugtes Druckbild, wenn der Druckzyklus entsprechend in seiner Dauer geändert wird.US Pat. No. 6,457,901 (DE 10032855 A1) proposes a device for printing on a print carrier, which is used in a mail processing device, such as preferably in the franking machine ultimail® of the patent owner Francotyp Postalia AG & Co.KG. The print carriers, for example letter envelopes, franking strips or comparable items to be franked, are transported downstream in the transport direction by means of a driven transport drum, with a non-driven counterpressure device pressing the print carrier against the transport drum in the pressing direction orthogonally to the transport direction. The two ink cartridges partially protrude into the transport drum and carry two inkjet printheads, which perform the printing on the moving print carrier without contact. Both printheads are arranged orthogonal to the transport direction and orthogonal to the pressure direction and with their nozzles close to the edge of the transport drum, wherein the nozzles can produce a complete impression during a passage of the print carrier through the machine. On the front side of the transport drum markings are applied close to the circumference, which are distributed over the circumference of the transport drum. The markings are, for example, reflective lines, which are detected by a reflected light beam or transmitted light barrier of an encoder and converted by the microprocessor of a controller into pressure pulses in the ratio 1: 1. Gradual slow fluctuations in the transport speed thus have no influence on a generated print image if the print cycle is changed accordingly in its duration.

Laut Druckkopfhersteller soll ein Druckzyklus möglichst 90% der Zeit zwischen zwei positiven Encoderflanken dauern. Die Zeit zwischen den Encoderflanken kann gemessen und die Druckzyklusdauer entsprechend einstellt werden. Der Einstellwert für die Druckzyklusdauer wird aber erst nach seiner Ermittelung mit einer Verzögerung von mindestens zwei Encodertakten wirksam. Durch Änderungen der Briefdicke und mechanische Schwingungen des Encoderabtastsytems können sprunghafte Änderung in der Transportgeschwindigkeit hervorgerufen werden. Die plötzlichen Schwankungen in der Transportgeschwindigkeit haben jedoch einen negativen Einfluss auf ein erzeugtes Druckbild, d.h. trotz einer nachträglichen Anpassung der Druckzyklusdauer an die Abstände zwischen den Encoderflanken muss mit Druckerfehlern durch zu geringe Abstände zwischen den Encoderimpulsen gerechnet werden.According to the printhead manufacturer, a print cycle should last as much as 90% of the time between two positive encoder edges. The time between the encoder edges can be measured and the pressure cycle time adjusted accordingly. The set value for the print cycle duration, however, becomes effective only after its determination with a delay of at least two encoder clock cycles. Changes in the letter thickness and mechanical vibrations of the encoder scanning system can cause sudden changes in the transport speed. However, the sudden variations in transport speed have a negative impact on a generated print image, i. despite a subsequent adjustment of the print cycle time to the distances between the encoder edges, printer errors must be expected due to insufficient distances between the encoder pulses.

Die Aufgabe der Erfindung besteht darin, ein Verfahren und eine Anordnung zur Reduzierung von Druckerfehlern während des Druckens auf ein bewegtes Postgut in einem Postbearbeitungsgerät zu schaffen, wobei die Druckerfehler durch Encoderimpulse mit zu kurzem zeitlichen Abstand hervorgerufen werden. Durch eine kostengünstige Lösung soll auch unter ungünstigen Bedingungen eine hohe Druckqualität sichergestellt werden.The object of the invention is to provide a method and an arrangement for reducing printer errors during printing on a moving mail in a mailing machine, wherein the printer errors caused by encoder pulses with too short a time interval. A cost-effective solution is to ensure a high print quality even under unfavorable conditions.

Die Aufgabe wird mit den Merkmalen des Verfahrens nach dem Anspruch 1 bzw. mit den Merkmalen der Anordnung nach dem Anspruch 4 gelöst.The object is achieved with the features of the method according to claim 1 or with the features of the arrangement according to claim 4.

Davon ausgehend, dass Encoderimpulse entsprechend der Relativbewegung zwischen dem Drucker und einem Druckträger generiert und einer Druckdatensteuerung zugeführt werden, werden bei korrekten Encoderimpulsen bei jeder Encoderimpulsflanke eine Periode mit einer Folge von DMA-Zyklen und ein Druckzyklus gestartet, ohne dass Druckerfehler auftreten. Die Druckdatensteuerung generiert aus den Pixeldaten Druckdaten für Teile einer jeden Druckspalte und löst für letztere einen Druckzyklus aus. Dadurch wird der Mikroprozessor bei der Steuerung des Druckens entlastet. Während jeder DMA-Periode werden aus dem Pixelspeicher binäre Pixeldaten eines Datenstrings zur Druckdatensteuerung übermittelt, welche die binären Pixeldaten abhängig vom angeschlossenen Druckkopftyp für einen Druckzyklus zusammenstellt. Die Erfindung geht deshalb von der Überlegung aus, dass es für die Auswertung gedruckter sicherheitsrelevanter postalischer Daten ungünstig wäre, wenn komplette Druckzyklen, d.h. ganze Druckspalten fehlen oder die zu einer Druckspalte gehörenden Pixel über mehrere Druckspalten versetzt gedruckt werden, weil die Encoderimpule den Druckzyklen vorauseilen. Das kann vermindert werden, indem vollständige Druckzyklen unmittelbar aufeinanderfolgen. Es wurde gefunden, dass der Ausfall nur weniger Pixel von einzelnen Druckspalten kein entscheidendes Hindernis für die Auswertung von Sicherheitsabdrucken mit einer Druckbildauflösung von > 300 dpi darstellt, wenn die ausfallenden Pixel über die Spalte verteilt, d.h. nicht unmittelbar hintereinander auftreten. Davon ausgehend, dass eine Reduzierung der Encoderperiode nur zeitweise auftritt, wird bei mehreren aufeinanderfolgenden Encoderimpulsen mit zu kurzem zeitlichen Abstand ein Druckzyklus abgebrochen, sofern die Encoderperiode größer als ein Zeitabschnitt mit DMA-Zyklen ist. Durch nachträgliche Anpassung der Druckzyklusdauer an die Abstände der Encoderflanken wird außerdem sichergestellt, dass dieser Fall eine nur zeitweise auftretende Ausnahme bleibt.Assuming that encoder pulses are generated and fed to a print data controller in accordance with the relative movement between the printer and a print carrier, with correct encoder pulses at each encoder pulse edge, one cycle of a sequence of DMA cycles and one print cycle are started without printer errors. The print data controller generates print data for portions of each print column from the pixel data and triggers a print cycle for the latter. This relieves the microprocessor of controlling the printing. During each DMA period, binary pixel data of a data string for pressure data control is transmitted from the pixel memory, which binary data depends on the connected printhead type for a print cycle. The invention is therefore based on the consideration that it would be unfavorable for the evaluation of printed security-relevant postal data, if complete print cycles, ie whole print columns missing or printed pixels belonging to a print column are printed offset over several print columns, because the encoder pulses precede the print cycles. This can be lessened by following complete print cycles immediately. It has been found that the failure of only a few pixels from individual printing gaps does not represent a decisive obstacle to the evaluation of security prints with a print image resolution of> 300 dpi, if the failing pixels are distributed over the gaps, ie not immediately after one another. Assuming that a reduction of the encoder period only occurs intermittently, a print cycle is aborted if there are several successive encoder pulses too short a time interval, provided that the encoder period is greater than a period of time with DMA cycles. By subsequently adapting the print cycle duration to the distances between the encoder edges, it is also ensured that this case remains a temporary exception.

Das Verfahren zur Reduzierung von Druckerfehlern während des Druckens in einem Postbearbeitungsgerät umfasst die folgenden Schritte:

  • a) Erzeugen von Encoderimpulsen entsprechend der Relativbewegung zwischen Drucker und Druckträger,
  • b) Vorwärts- und Rückwärtszählen zur Auswertung eines Zustandes mit verringerten zeitlichen Abstandes benachbarter Encoderimpulse,
  • c) Durchführung von direkten Speicherzugriffen (DMA) für einen Datenstring von binären Pixeldaten und
  • d) Durchführung eines Druckzyklusses für den vorgenannten Datenstring, wobei während des Druckzyklusses weitere direkte Speicherzugriffe (DMA) für einen nächsten Datenstring erfolgen und wobei nach der Durchführung der direkten Speicherzugriffe (DMA) für den nächsten Datenstring und in Abhängigkeit vom zeitlichen Abstand der Encoderimpulse einer Anzahl von aufeinanderfolgenden Encoderimpulsen der Druckzyklus vollständig ausgeführt wird, solange der Mittelwert der Encoderperiode die eingestellte Dauer eines Druckzyklusses nicht unterschreitet oder wobei bei verringertem zeitlichen Abstand der Encoderimpulse der Anzahl von Encoderimpulsen die Durchführung des Druckzyklusses zum Ausdrucken von binären Pixeldaten eines vorherigen Datenstrings vorzeitig abgebrochen wird.
The procedure for reducing printer errors during printing in a mailing machine includes the following steps:
  • a) generating encoder pulses according to the relative movement between the printer and the print carrier,
  • b) forward and backward counting for evaluation of a state with reduced time interval of adjacent encoder pulses,
  • c) Performing direct memory accesses (DMA) for a data string of binary pixel data and
  • d) carrying out a printing cycle for the aforementioned data string, wherein during the printing cycle further direct memory accesses (DMA) are carried out for a next data string and wherein after carrying out the direct memory accesses (DMA) for the next data string and depending on the time interval of the encoder pulses of a number of successive encoder pulses, the printing cycle is carried out completely, as long as the mean value of the encoder period does not fall below the set duration of a printing cycle, or wherein at a reduced temporal Distance of the encoder pulses of the number of encoder pulses the execution of the print cycle for printing out binary pixel data of a previous data string is aborted prematurely.

Die Druckdatensteuerung ist einerseits über einen Bus mit dem Mikroprozessor und mit einem Pixelspeicher zur Übermittlung der Druckdaten und andererseits mit einem Encoder verbunden, der die Bewegung des Druckträgers erfasst. An die Druckdatensteuerung ist in an sich bekannter Weise über eine Treiberschaltung mindestens ein Druckkopf angeschlossen. Die Druckdatensteuerung liefert in einer vom Druckkopftyp abhängigen Sequenz die erforderlichen Daten zur jeweiligen Treiberschaltung eines zugehörigen Druckkopfes. Es ist vorgesehen, dass die Druckdatensteuerung eine Auswerteeinheit und eine Logik zur Fehlerreduzierung von Druckerfehlern aufweist, welcher Encoderimpulse zugeführt werden und die einen rücksetzbaren Encodertaktzähler enthält, dessen Zählwert innerhalb eines Zählbereiches kleiner bis gleich einem oberen Grenzwert mit jeder Vorderflanke eines Encoderimpulses inkrementiert wird, dessen Zählwert mit jedem Druckzyklusstart dekrementiert wird und der ausgangsseitig einen digitalen Zählwert abgibt, wobei letzterer von der Auswerteeinheit hinsichtlich der Überschreitung eines innerhalb des Zählbereiches liegenden Sollwertes ausgewertet wird, wobei bei Nichtüberschreitung des vorgenannten Sollwertes jeder Druckzyklus vollständig ausgeführt und ein laufender Druckzyklus bei Überschreitung des vorgenannten Sollwertes unter der Bedingung abgebrochen wird, dass alle direkten Speicherzugriffe (DMA-Zyklen) auf den Pixelspeicher beendet sind, die den nächsten Druckzyklus vorbereiten.The print data control is connected on the one hand via a bus with the microprocessor and with a pixel memory for the transmission of the print data and on the other hand with an encoder which detects the movement of the print carrier. At least one print head is connected to the print data controller in a manner known per se via a driver circuit. The print data controller, in a printhead-type dependent sequence, provides the required data to the respective drive circuitry of an associated printhead. It is envisaged that the print data controller has an evaluation unit and a logic for error reduction of printer errors, which encoder pulses are supplied and which contains a resettable encoder clock counter whose count is incremented within a count range smaller than or equal to an upper limit with each leading edge of an encoder pulse whose count is decremented with each print cycle start and the output side outputs a digital count, the latter is evaluated by the evaluation unit with respect to exceeding a set within the count range target value, when not exceeding the aforementioned target value, each pressure cycle completely executed and a running pressure cycle when exceeding the aforementioned target value the condition is aborted that all direct memory accesses (DMA cycles) to the pixel memory are prepared, which prepare the next print cycle ,

Die Druckdatensteuerung besteht beispielsweise aus mindestens einer Pixeldatenaufbereitungseinheit, einer DMA-Steuerung, einem Adressengenerator und einer Druckersteuerung. Die Pixeldaten für den jeweils aktuellen Druckzyklus werden abwechselnd in einem von zwei Zwischenspeichern der Pixeldatenaufbereitungseinheit gespeichert. Die Pixeldaten für den nächsten Druckzyklus werden via DMA in einen zweiten Zwischenspeicher der Pixeldatenaufbereitungseinheit geladen, während die Pixeldaten für den aktuellen Druckzyklus zur jeweiligen Treiberschaltung des zugehörigen Druckkopfes übermittelt werden. Der Adressengenerator stellt zu diesem Zweck Leseadressen für Pixeldaten der Pixeldatenaufbereitungseinheit zur Verfügung und die Druckersteuerung organisiert die serielle Ausgabe der Pixeldaten zur jeweiligen Treiberschaltung in einem Druckzyklus in Abhängigkeit von den Encoderimpulsen. Die Druckersteuerung weist erfindungsgemäß eine Logik zur Fehlerreduzierung von Druckerfehlern auf, die durch Encoderimpulse mit zu kurzem zeitlichen Abstand hervorgerufen werden. Die vorgenannte Logik enthält einen rücksetzbaren Encodertaktzähler, dessen Zählwert innerhalb eines Zählbereiches kleiner dem oberen Grenzwert mit jeder Vorderflanke eines Encoderimpulses inkrementiert wird, dessen Zählwert mit jedem Druckzyklusstart dekrementiert wird und dessen Ausgänge mit einem ersten und zweiten Vergleicher verbunden sind, wobei der erste Vergleicher beim Erreichen des Null-Zählwertes ein Dekrementieren verhindert und der zweite Vergleicher das Erreichen des oberen Grenzwertes überprüft. Der Encodertaktzähler liefert ausgangsseitig den vorgenannten Zählwert und steht mit dem Adressengenerator in betriebsmäßiger Verbindung, wobei letzterer den laufenden Druckzyklus abbricht, wenn alle Pixeldaten für den nächsten Druckzyklus via DMA bereits in den Zwischenspeicher der Pixeldatenaufbereitungseinheit geladen wurden und der im Zählbereich liegende Zählwert des Encodertaktzählers einen vorbestimmten Sollwert überschritten hat.The print data control consists, for example, of at least one pixel data processing unit, a DMA controller, an address generator and a printer controller. The pixel data for each current print cycle is alternately stored in one of two buffers of the pixel data preparation unit. The pixel data for the next print cycle are loaded via DMA into a second buffer of the pixel data processing unit, while the pixel data for the current print cycle are transmitted to the respective driver circuit of the associated print head. The address generator provides for this purpose read addresses for pixel data of the pixel data processing unit and the printer controller organizes the serial output of the pixel data to the respective driver circuit in a print cycle in dependence on the encoder pulses. The printer controller according to the invention has a logic for error reduction of printer errors, which are caused by encoder pulses too short a time interval. The aforesaid logic includes a resettable encoder clock counter whose count is incremented within a count range less than the upper limit of each leading edge of an encoder pulse, the count of which is decremented at each print cycle start, and whose outputs are coupled to first and second comparators, the first comparator being reached of the zero count prevents decrement and the second comparator checks to reach the upper limit. The encoder clock counter provides the output side of the aforementioned count and is operatively connected to the address generator, the latter aborts the current print cycle when all pixel data for the next print cycle via DMA have already been loaded into the buffer of the pixel data processing unit and the counter value in the count range of the encoder clock counter a predetermined Setpoint has exceeded.

Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet bzw. werden nachstehend zusammen mit der Beschreibung der bevorzugten Ausführung der Erfindung anhand der Figuren näher dargestellt. Es zeigen:

Figur 1a,
Impuls/Zeit-Diagramm für korrekte Encoderimpulse ohne eine Fehlerreduzierung,
Figur 1b,
Impuls/Zeit-Diagramm für Encoderimpulse, wobei die Encoderimpulse in einem zu geringen zeitlichen Abstand auftreten, und ohne Fehlerreduzierung,
Figur 1c,
Impuls/Zeit-Diagramm für Encoderimpulse ohne Fehlerreduzierung, wobei die Encoderimpulse im zu geringen zeitlichen Abstand über einen längeren Zeitabschnitt auftreten,
Figur 1d,
Impuls/Zeit-Diagramm für korrekte Encoderimpulse mit Fehlerreduzierung,
Figur 1e,
Impuls/Zeit-Diagramm für Encoderimpulse mit einem zu geringen zeitlichen Abstand und mit Fehlerreduzierung,
Figur 1f,
Impuls/Zeit-Diagramm für Encoderimpulse mit Fehlerreduzierung, wobei die Encoderimpulse einen zu geringen zeitlichen Abstand über einen längeren Zeitabschnitt aufweisen,
Figur 2,
Blockschaltbild für die Pixeldatenaufbereitung durch eine Druckdatensteuerung,
Figur 3,
Ausschnitt aus der Schaltungsanordnung nach Fig.2 mit einer Pixeldatenaufbereitungseinheit für den zweiten Druckkopf,
Figur 4,
Druckersteuerung,
Figur 5,
Flussplan zur Ablaufsteuerung der Druckersteuerung,
Figur 6,
Logik zur Druckerfehlerreduzierung,
Figur 7a,
Flussplan zur Druckerfehlerreduzierung,
Figur 7b,
Impuls/Zeit-Diagramm für Druckerfehlerreduzierung,
Figur 8,
Blockschaltbild eines Adressengenerators,
Figur 9,
Blockschaltbild einer DMA-Steuerung,
Figur 10,
Flussplan zur DMA-Steuerung,
Figur 11,
Flussplan zur Adressengenerierung,
Figur 12,
Tabelle zur Adressengenerierung,
Figur 13,
Flussplan der Ausgaberoutine.
Advantageous developments of the invention are characterized in the subclaims or are presented in more detail below together with the description of the preferred embodiment of the invention with reference to FIGS. Show it:
FIG. 1a,
Pulse / time diagram for correct encoder pulses without error reduction,
FIG. 1b,
Pulse / time diagram for encoder pulses, where the encoder pulses occur too short a time interval, and without error reduction,
FIG. 1c,
Pulse / time diagram for encoder pulses without error reduction, wherein the encoder pulses occur in too short a time interval over a longer period of time,
FIG. 1d,
Pulse / time diagram for correct encoder pulses with error reduction,
FIG. 1e,
Pulse / time diagram for encoder pulses with too short a time interval and with error reduction,
FIG. 1f
Pulse / time diagram for encoder pulses with error reduction, wherein the encoder pulses have too short a time interval over a longer period of time,
FIG. 2,
Block diagram for the pixel data processing by a pressure data control,
FIG. 3,
2 shows a section of the circuit arrangement according to FIG. 2 with a pixel data processing unit for the second printhead, FIG.
FIG. 4,
Printer control,
FIG. 5,
Flowchart for the flow control of the printer control,
FIG. 6,
Logic for printer error reduction,
FIG. 7a,
Flowchart for printer error reduction,
FIG. 7b,
Pulse / time diagram for printer error reduction,
FIG. 8,
Block diagram of an address generator,
FIG. 9,
Block diagram of a DMA controller,
FIG. 10,
Flow plan for DMA control,
FIG. 11,
Flowchart for address generation,
FIG. 12,
Table for address generation,
FIG. 13,
Flowchart of the output routine.

Die Figur 1a zeigt ein Impuls/Zeit-Diagramm für korrekte Encoderimpulse ohne Fehlerreduzierung. Beim Auftreten jeder Encoder-Impuls-Flanke wird ein Druckzyklus und eine DMA-Periode mit DMA-Zyklen gestartet, wenn zuvor ein vorangehender Druckzykuls beendet worden ist. Letzteres ist bei korrekten Encoderimpulsen der Fall.FIG. 1a shows a pulse / time diagram for correct encoder pulses without error reduction. Upon the occurrence of each encoder pulse edge, a print cycle and a DMA period are started with DMA cycles when previously a previous print cycle has been completed. The latter is the case with correct encoder pulses.

Beim Druckens in einem Postbearbeitungsgerät, beispielsweise einer Frankiermaschine, wird ein Poststück in Transportrichtung unter bzw. an mindestens einem Druckkopf entlang bewegt. Dabei wird das Druckbild aus Spalten in senkrechter Anordnung zur Transportrichtung erzeugt, wobei jeder Druckkopf zeitversetzt einen zugeordneten Teil einundderselben Spalte druckt. Der Zeitversatz in der Ansteuerung beider Druckköpfe zwecks Druckens einundderselben Spalte resultiert einerseits aus dem Abstand zwischen den beiden Druckköpfen in Transportrichtung und andererseits aus der Transportgeschwindingkeit des Druckträgers in Transportrichtung. Da die beiden Druckköpfe in Transportrichtung zueinander versetzt angeordnet sind und jeder Druckkopf über mindestens 300 Düsen verfügt, die darüber hinaus in zwei in Transportrichtung beabstandeten Düsenreihen angeordnet sind, werden bei einer zeitgleichen Ansteuerung beider Druckköpfe zu jedem Zeitpunkt Pixel in vier voneinander beabstandeten Druckspalten gedruckt. Die Ansteuerung aller 300 Düsen jedes Druckkopfes erfolgt innerhalb eines Druckzyklusses bei dem nacheinander 22 Gruppen mit je 14 Pixeldaten zum Druckkopf übertragen und gedruckt werden.When printing in a mailing machine, for example, a postage meter, a mail piece is moved in the transport direction under or on at least one print head along. In this case, the print image is generated from columns in a vertical arrangement to the transport direction, each print head with a time-offset printing an associated part of the same column. The time offset in the control of both printheads in order to print one and the same column results, on the one hand, from the distance between the two printheads in the transport direction and, on the other hand, from the transport speed of the print carrier in the transport direction. Since the two print heads are arranged offset in the transport direction to each other and each printhead has at least 300 nozzles, which are also arranged in two spaced in the transport direction nozzle rows, pixels are printed in four spaced pressure columns at the same time driving both printheads at any time. The control of all 300 nozzles of each printhead takes place within a printing cycle in which 22 groups of 14 pixel data are successively transferred to the printhead and printed.

Die Briefbewegung wird durch einen Encoder erfasst. Nach jeder positiven Flanke des Encodersignals wird ein Druckzyklus gestartet, sofern vor dem Auftreten dieser Encoderflanke der durch die vorangehenden Flanke ausgelöste Druckzyklus beendet ist (Figur 1a). Letzteres ist aber nicht der Fall, falls eine Folge von Encoderimpulsen mit zu geringem zeitlichen Abstand, aufgrund zu kurzer Impulsbreite oder ―pause, auftritt (Fig. 1b).The letter movement is detected by an encoder. After each positive edge of the encoder signal, a print cycle is started, provided that before the occurrence of this encoder edge of the triggered by the previous edge print cycle is completed (Figure 1a). The latter is not the case, however, if a sequence of encoder pulses occurs at too short a time interval because of too short a pulse width or pause (FIG. 1b).

Die Figur 1b zeigt ein Impuls/Zeit-Diagramm für Encoderimpulse, wobei die dritten bis sechsten Encoderimpulse in einem zu geringen zeitlichen Abstand auftreten. Also löst nicht jeder Encoderimpuls einen Druckzyklus aus. Das führt dazu, dass einige Encoderimpulse, insbesondere der dritte und fünfte Encoderimpuls, nun keinen Druckzyklus und keine DMA-Periode auslösen, da die Zeit zwischen den zweiten bis sechsten Encoderimpulsen zu kurz ist. Die Ursachen dafür sind unterschiedlich. Die zum Einsatz kommende Encoderscheibe kann einen Fehler von bis zu 10% aufweisen. Auch muss von zusätzlichen Fehlern wie zum Beispiel einer sprunghaften Änderung der Transportgeschwindigkeit ausgegangen werden, die durch Änderungen der Briefdicke, Stöße und mechanische Schwingungen zwischen Encoderscheibe und Encoderabtastsystem hervorgerufen werden. Trotz einer Anpassung der Druckzyklusdauer an die Abstände zwischen den Encoderflanken muss deshalb mit Druckfehlern durch zu geringe Abstände zwischen den Encoderimpulsen gerechnet werden, wenn keine Maßnahmen zur Fehlerreduzierung vorgesehen sind.FIG. 1b shows a pulse / time diagram for encoder pulses, where the third to sixth encoder pulses occur in too short a time interval. So not every encoder pulse will trigger a print cycle out. This means that some encoder pulses, especially the third and fifth encoder pulse, now trigger no print cycle and no DMA period, since the time between the second to sixth encoder pulses is too short. The causes are different. The encoder disk used may have an error of up to 10%. It is also necessary to assume additional errors such as a sudden change in the transport speed, which is caused by changes in letter thickness, impacts and mechanical vibrations between the encoder disk and the encoder scanning system. Despite an adjustment of the printing cycle time to the distances between the encoder edges must therefore be expected with printing errors due to insufficient distances between the encoder pulses, if no measures to reduce the error are provided.

Die Figur 1c zeigt ein Impuls/Zeit-Diagramm für Encoderimpulse ohne Fehlerreduzierung, wobei aufgrund einer zu kurzen Impulsbreite und/oder -pause die 2. bis 7. Encoderimpulse einen zu geringen zeitlichen Abstand, aufweisen, so dass über einen längeren Zeitabschnitt, nur jeder zweite Druckzyklus und Zeitabschnitt mit DMA-Zyklen ausgelöst wird. Für das Drucken, insbesondere eines 2D-Barcodes, können Druckbildfehler sehr störend sein, wenn damit die Echtheit eines Frankierabdruckes nachgewiesen werden soll.FIG. 1c shows a pulse / time diagram for encoder pulses without error reduction, wherein due to too short a pulse width and / or pause, the second to seventh encoder pulses have too short a time interval, so that over a longer period of time, only each one second print cycle and time period is triggered with DMA cycles. For printing, in particular a 2D barcode, printed image errors can be very annoying if the authenticity of a franking imprint is to be detected therewith.

Im Falle des Auftretens von Encoderimpulsen in einem zu geringen zeitlichen Abstand löst erst der nächstfolgende Encoderimpuls einen Druckzyklus aus, d.h. in Figur 1b der vierte und sechste Encoderimpuls und in Figur 1c der vierte, sechste und achte Encoderimpuls. Dadurch wird der Abstand zwischen den gedruckten Dots in Transportrichtung ca. doppelt so groß als vorgesehen. Auch werden die zu einer Druckspalte gehörenden Pixel über mehrer Druckspalten versetzt als Dots gedruckt. Die Druckqualitiät verschlechtert sich in dem Maße wie Encoderpulse in zu geringen zeitlichen Abstand auftreten.In the case of the occurrence of encoder pulses in too short a time interval only the next following encoder pulse triggers a print cycle, ie in Figure 1b, the fourth and sixth encoder pulse and in Figure 1c, the fourth, sixth and eighth encoder pulse. Thus, the distance between the printed dots in the transport direction is about twice as large as intended. Also, the pixels belonging to a print column are offset over several print columns offset as dots. The print quality deteriorates to the extent that encoder pulses occur in too short a time interval.

Die Figur 1 d zeigt ein Impuls/Zeit-Diagramm für korrekte Encoderimpulse mit Fehlerreduzierung. Die Zeit zwischen den Encoderflanken wird vom Mikroprozessor ermittelt, der dann die Druckzyklusdauer den Angaben des Druckkopfherstellers entsprechend einstellt, welche mit einer Verzögerung von mindestens zwei Encodertakten wirksam wird. Laut Druckkopfhersteller soll ein Druckzyklus möglichst 90% der Zeit zwischen zwei positiven Encoderflanken dauern. Zusammen mit der vorgenannten Regelung der Druckzyklusdauer, welche für Encoderimpulse mit großem zeitlichen Abstand wirksam ist, wird erfindungsgemäß ein Zähler für Encoderimpulse mit zu geringen zeitlichen Abstand eingesetzt. Der Encodertaktzähler dient zur Fehlerreduzierung. Er wird am Beginn jedes Druckzyklusses auf den Wert 'Null' zurückgesetzt und bei jedem Encoderimpuls inkrementiert, d.h. hier auf den Wert 'Eins' gesetzt. Nach dem Start der DMA-Steuerung und des Adressengenerators, wobei letzterer den Druckzyklus für die Pixeldaten eines Datenstring auslöst, wird der Encodertaktzähler dekrementiert, d.h. hier auf den Wert 'Null' gesetzt.FIG. 1 d shows a pulse / time diagram for correct encoder pulses with error reduction. The time between the encoder edges is determined by the microprocessor, which then adjusts the print cycle time according to the specifications of the printhead manufacturer, which is effective with a delay of at least two encoder clocks. According to the printhead manufacturer, a print cycle should last as much as 90% of the time between two positive encoder edges. Together with the aforementioned control of the printing cycle duration, which is effective for encoder pulses with a long time interval, a counter for encoder pulses with insufficient time interval is used according to the invention. The encoder clock counter is used for error reduction. It is reset to the value 'zero' at the beginning of each print cycle and incremented at each encoder pulse, i. set here to the value 'one'. After the start of the DMA control and the address generator, the latter initiating the print cycle for the pixel data of a data string, the encoder clock counter is decremented, i. set here to the value 'zero'.

Die Figur 1e zeigt ein Impuls/Zeit-Diagramm für Encoderimpulse mit einem zu geringen zeitlichen Abstand und mit Fehlerreduzierung. Der zeitliche Abstand zwischen den ersten beiden Encoderimpulsen ist größer als ein Druckzyklus. Ab dem zweiten bis zum sechsten Encoderimpuls ist der zeitliche Abstand zwischen benachbarten Encoderimpulsen jedoch deutlich kleiner als ein Druckzyklus. Ab dem sechsten Encoderimpuls wird der zeitliche Abstand zwischen benachbarten Encoderimpulsen wieder größer und ist größer als ein Druckzyklus. Erfindungsgemäß ist vorgesehen, dass in Abhängigkeit vom verringerten zeitlichen Abstand aus einer Anzahl von Encoderimpulsen der Abstand der Druckzyklen voreinander verringert wird bis der nachfolgende Druckzyklus zum Ausdrucken von binären Pixeldaten eines nachfolgenden Datenstrings unmittelbar an einen vollständig ausgeführten Druckzyklus zum Ausdrucken von binären Pixeldaten eines vorherigen Datenstrings anschließt, wobei das Verringern in dem Maße erfolgt, wie die Encoderimpulse den Druckzyklen vorauseilen.FIG. 1e shows a pulse / time diagram for encoder pulses with too short a time interval and with error reduction. The time interval between the first two encoder pulses is greater than one print cycle. From the second to the sixth encoder pulse, however, the time interval between adjacent encoder pulses is significantly smaller than a printing cycle. From the sixth encoder pulse, the time interval between adjacent encoder pulses increases again and is greater than one print cycle. According to the invention, the distance of the printing cycles from each other is reduced in dependence on the reduced time interval from a number of encoder pulses until the subsequent printing cycle for printing binary pixel data of a subsequent data string directly follows a completely executed printing cycle for printing out binary pixel data of a previous data string wherein the decreasing occurs as the encoder pulses precede the printing cycles.

Die Figur 1f zeigt ein Impuls/Zeit-Diagramm für Encoderimpulse mit Fehlerreduzierung, wobei die Encoderimpulse eine zu kurze Impulsbreite und/oder ―pause über einen längeren Zeitabschnitt aufweisen. In der Figur 1f führt ein Zählwert 2, der einen Sollwert Z = 1 übersteigt, beim siebenten Encoderimpuls dazu, dass der laufende Druckzyklus um den schraffiert dargestellten Bereich vorzeitig abgebrochen wird und ein neuer Druckzyklus beginnt.FIG. 1f shows a pulse / time diagram for encoder pulses with error reduction, wherein the encoder pulses have too short a pulse width and / or pause over a relatively long period of time. In FIG. 1f, a count value 2 which exceeds a set value Z = 1 results in the seventh encoder pulse in that the current print cycle is aborted prematurely by the region shown hatched and a new print cycle begins.

Die Figur 2 zeigt das Blockschaltbild der bevorzugten Schaltungsanordnung für die Pixeldatenaufbereitung durch eine Druckdatensteuerung. Ein erster und ein zweiter Druckkopf 1 und 2 sind jeweils über eine Treibereinheit (Pen-Driver-Board) 11 und 12 mit einer Druckdatensteuerung 4 verbunden, welche bei einem direkten Speicherzugriff eingangsseitig 16 bit parallel anliegende binäre Druckbilddaten von einem BUS 5 annimmt und ausgangsseitig seriell binäre Druckbilddaten an die Treibereinheiten 11 und 12 abgibt. Über den BUS 5 sind mindestens ein Mikroprozessor 6, ein Pixelspeicher 7, ein nichtflüchtiger Speicher 8 und ein Festwertspeicher 9 adress-, daten- und steuerungsmäßig verbunden. Ein Encoder 3 ist mit der Druckdatensteuerung 4 verbunden, um das Zwischenspeichern der binären Pixeldaten und das Drucken der Druckbildspalten auszulösen, wobei jeder Druckkopf mit einer Taktfrequenz von max. 6,5 KHz betrieben wird. Ein für einen Frankierabdruck postalisch gesicherter und über eine zugehörige Teibereinheit (Pen Driver Board) ansteuerbarer Tintenstrahldruckkopf, der in einer Tintenkartusche vom Typ HP 51645A der Firma Hewlett Packard angeordnet ist, wird in der europäischen Patentanmeldung EP 1 176 016 A2 näher erläutert, welche den Titel trägt: Anordnung und Verfahren zur Datennachführung für Aufwärmzyklen von Tintenstrahldruckköpfen. Die Druckdatensteuerung 4 weist eine erste und zweite Pixeldatenaufbereitungseinheit 41 und 42 sowie die zugehörigen Steuerungen auf, wie DMA-Steuerung 43, Adressengenerator 44 und Druckersteuerung 45. Die Steuerungen enthalten zur Fehlerreduzierung von Druckerfehlern eine Auswerteeinheit 453 und eine Logik 452, welcher die Encoderimpulse e zugeführt werden. Es ist vorgesehen, dass eine Druckersteuerung 45 mindestens mit der DMA-Steuerung 43 und mit dem Adressengenerator 44 sowie dass der Adressengenerator 44 mit der Pixeldatenaufbereitungseinheit 41, 42 steuerungsmäßig verbunden ist.Figure 2 shows the block diagram of the preferred pixel data conditioning circuitry by a print data controller. A first and a second printhead 1 and 2 are each connected via a driver unit (pen driver board) 11 and 12 to a print data controller 4, which at the input side receives 16 bits of parallel binary print image data from a bus 5 on the input side and serial on the output side binary print image data to the driver units 11 and 12 outputs. At least one microprocessor 6, a pixel memory 7, a nonvolatile memory 8 and a read-only memory 9 are connected in terms of address, data and control via the BUS 5. An encoder 3 is connected to the print data controller 4 to trigger the buffering of the binary pixel data and the printing of the print image columns, each printhead having a clock frequency of max. 6.5 KHz is operated. An inkjet printhead which can be postally secured for a franking imprint and can be actuated via an associated pinning unit (pen driver board), which is arranged in an HP 51645A ink cartridge from Hewlett Packard, is described in detail in the European patent application EP 1 176 016 A2, which discloses the title carries: Arrangement and method for data tracking for warm-up cycles of inkjet printheads. The print data controller 4 has a first and second pixel data processing unit 41 and 42 and the associated controls, such as DMA controller 43, address generator 44 and printer controller 45. The controllers include an evaluation unit 453 and a logic 452, which supplied the encoder pulses e for error reduction of printer errors become. It is provided that a printer controller 45 is connected to at least the DMA controller 43 and the address generator 44 and that the address generator 44 is connected to the pixel data processing unit 41, 42 in terms of control.

Die Druckersteuerung 45 ist über den BUS 5 und über eine Steuerleitung für ein Interruptsignal I direkt mit dem Mikroprozessor 6 verbunden. Die DMA-Steuerung 43 ist über eine Steuerleitung für DMA-Steuersignale DMAACK, DMAREQ mit dem Mikroprozessor 6 verbunden.The printer controller 45 is connected directly to the microprocessor 6 via the bus 5 and via an interrupt signal control line I. The DMA controller 43 is connected to the microprocessor 6 via a control line for DMA control signals DMA ACK , DMA REQ .

Die Figur 3 zeigt einen Ausschnitt aus der Schaltungsanordnung nach Figur 2 mit der Pixeldatenaufbereitungseinheit 42 für den zweiten Druckkopf, mit der DMA-Steuerung 43 für einen direkten Speicherzugriff (DMA) sowie mit dem Adressengenerator 44 und der Druckersteuerung 45. Der Encoder 3 liefert ein Signal e und ist mit der erfindungsgemäßen Logik 452 der Druckersteuerung 45 verbunden. Die Letztere ist mit der DMA-Steuerung 43 direkt über Steuerleitungen 46 für erste DMA-Steuersignale (DMA-Start und DMA-busy) verbunden, wobei der DMA-Steuerung 43 von der Druckersteuerung 45 das DMA-Startsignal zugeführt wird und wobei die DMA-Steuerung 43 das DMA-busy-Signal mit dem Wert 'Null' an die Druckersteuerung 45 abgibt, um zu signalisieren, daß die DMA-Zyklen beendet sind. Die DMA-Steuerung 43 ist über eine Steuerleitung 50 für das DMA-busy-Signal auch mit dem Adressengenerator 44 verbunden.FIG. 3 shows a section of the circuit arrangement according to FIG. 2 with the pixel data processing unit 42 for the second print head, with the DMA controller 43 for a direct memory access (DMA) as well as with the address generator 44 and the printer controller 45. The encoder 3 supplies a signal e and is connected to the inventive logic 452 of the printer controller 45. The latter is connected to the DMA controller 43 directly via control lines 46 for first DMA control signals (DMA start and DMA busy), the DMA controller 43 being supplied with the DMA start signal by the printer controller 45, and with the DMA Control 43 outputs the DMA busy signal with the value 'zero' to the printer controller 45 to signal that the DMA cycles have ended. The DMA controller 43 is also connected to the address generator 44 via a DMA busy signal control line 50.

Die Druckersteuerung 45 ist mit dem Mikroprozessor 6 über den BUS 5 und über eine Steuerleitung 47 für ein Interruptsignal I, mit dem Adressengenerator 44 über eine Steuerleitung zur Zuführung eines Adressengeneratorstartsignals AG-start sowie mit der DMA-Steuerung 43 über eine Steuerleitung 49 für ein Umschaltsignal SO verbunden. Über den Bus 5 sind mindestens der Mikroprozessor 6, der Pixelspeicher 7, der nichtflüchtige Speicher 8 und der Festwertspeicher 9 adress-, daten- und steuerungsmäßig verbunden. Es ist vorgesehen, dass die Druckersteuerung 45 Mittel zur Generierung und Ausgabe eines Umschaltsignals SO aufweist, um damit die Pixeldatenaufbereitungseinheit 42 anzusteuern, wodurch die Pixeldaten von dem jeweils ersten oder dem jeweils zweiten der beiden Zwischenspeicher 412 und 422 für eine Übertragung zu der Treibereinheit 12 ausgewählt werden. Der Treibereinheit 12 können dadurch die binären Pixeldaten eines weiteren Datenstrings gruppenweise zugeführt werden. Der DMA-Steuerung 43 wird von der Druckersteuerung 45 das Umschaltsignal SO zugeführt. Die DMA-Steuerung 43 weist Mittel zur Generierung und Ausgabe von Auswahlsignalen Sel_2.1, Sel_2.2 in Abhängigkeit vom Schaltzustand des Umschaltsignals SO auf, um die binären Pixeldaten in den jeweils ersten oder den jeweils zweiten der beiden Zwischenspeicher 421 oder 422 zwischenzuspeichern, wobei bei einer Übertragung von Pixeldaten aus dem jeweils einen der beiden Zwischenspeicher zu der Treibereinheit 12, die jeweils anderen Zwischenspeicher zum Zwischenspeichern eines Datenstrings nacheinander durch die Auswahlsignale ausgewählt werden. Die binären Pixeldaten werden der Pixeldatenaufbereitungseinheit 42 in den DMA-Perioden jeweils datenstringweise zur Verfügung gestellt.The printer controller 45 is connected to the microprocessor 6 via the bus 5 and via an interrupt signal control line 47, to the address generator 44 via a control line for supplying an address generator start signal AG-start and to the DMA controller 43 via a switching line 49 for a switching signal SO connected. At least the microprocessor 6, the pixel memory 7, the nonvolatile memory 8 and the read-only memory 9 are connected in terms of address, data and control via the bus 5. It is provided that the printer controller 45 has means for generating and outputting a switching signal SO in order to drive the pixel data processing unit 42 thereby selecting the pixel data from the respectively first or the respective second of the two latches 412 and 422 for transmission to the driver unit 12 become. The driver unit 12 can thereby be supplied in groups to the binary pixel data of a further data string. The DMA controller 43 is supplied from the printer controller 45, the switching signal SO. The DMA controller 43 has means for generating and outputting selection signals Sel_2.1, Sel_2.2 as a function of the switching state of the switching signal SO in order to temporarily store the binary pixel data in the respectively first or the second of the two latches 421 or 422, wherein in a transmission of pixel data from the in each case one of the two latches to the driver unit 12, the respective other latches for latching a data string are successively selected by the selection signals. The binary pixel data is provided to the pixel data conditioning unit 42 in the DMA periods in a data string manner, respectively.

Die DMA-Steuerung 43 gibt das DMA-busy-Signal mit dem Wert 'Null' an die Druckersteuerung 45 ab, um zu signalisieren, daß alle direkten Speicherzugriffe erfolgt sind, d.h. die Periode mit DMA-Zyklen beendet ist. Die Druckersteuerung 45 ist mit dem Adressengenerator 44 über mindestens eine Steuerleitung zur Zuführung eines Startsignals (AG-Start) verbunden. Der Adressengenerator 44 weist - in hier nicht gezeigter Weise - eine Einheit zur Generierung von Leseadressen und Mittel zur Bildung eines Adressenlesesignals AR auf. Ist eine Anzahl an Adressenlesesignalen AR für eine Adressgruppe A generiert worden, gibt der Adressengenerator 44 ein Druckstartsignal PS via Steuerleitung 48 an die Druckersteuerung 45 ab.The DMA controller 43 outputs the DMA-busy signal with the value 'Zero' to the printer controller 45 to signal that all direct memory accesses have occurred, i. the period is completed with DMA cycles. The printer controller 45 is connected to the address generator 44 via at least one control line for supplying a start signal (AG start). The address generator 44 has - in a manner not shown here - a unit for generating read addresses and means for forming an address read signal AR. If a number of address read signals AR has been generated for an address group A, the address generator 44 outputs a print start signal PS via the control line 48 to the printer controller 45.

Nach Übermittlung einer 22. Datengruppe sind alle der 300 binären Pixeldaten übermittelt, welche ein ½ Zoll Tintenstrahldruckkopf zum Drucken je Druckzyklus benötigt. Die andere Hälfte des Druckbildes wird von dem ersten Druckkopf gedruckt. Die Pixeldatenaufbereitungseinheit für den ersten Druckkopf ist in gleichartiger Weise aufgebaut.After transmission of a 22nd data set all of the 300 binary pixel data are transmitted, which requires a ½ inch inkjet print head for printing per print cycle. The other half of the print image is printed by the first printhead. The pixel data processing unit for the first printhead is constructed in a similar manner.

Die Druckersteuerung 45 ist mit dem Mikroprozessor 6 über eine Steuerleitung 47 für ein Interruptsignal I und über den BUS 5 verbunden. Über den BUS 5 sind mindestens der Mikroprozessor 6, der Pixelspeicher 7, der nichtflüchtige Speicher 8 und Festwertspeicher 9 adress-, daten- und steuerungsmäßig verbunden. Die Druckersteuerung 45 weist Mittel zur Generierung und Ausgabe eines Umschaltsignals SO auf und ist über eine Steuerleitung mit der DMA-Steuerung 43 und mit der Pixeldatenaufbereitungseinheit 42 verbunden. Letztere wird angesteuert, um mittels Umschaltsignal SO einen der Zwischenspeicher 412, 422 für eine Übertragung von Pixeldaten zu der Treibereinheit 12 auszuwählen. Der letzteren können dadurch die binären Pixeldaten eines bereits gespeicherten Datenstrings gruppenweise zugeführt werden. Das Umschaltsignal SO wird der DMA-Steuerung 43 zugeführt, um den jeweis anderen der Zwischenspeicher 412 und 422 für ein Laden von Pixeldaten auszuwählen. Die DMA-Steuerung 43 weist Mittel zur Generierung und Ausgabe von Auswahlsignalen Sel_2.1, Sel_2.2 in Abhängigkeit vom Schaltzustand des Umschaltsignals SO auf, um die binären Pixeldaten in den jeweils ersten oder den jeweils zweiten der beiden Zwischenspeicher 421 oder 422 zwischenzuspeichern, wobei bei einer Übertragung von Pixeldaten aus dem jeweils einen der beiden Zwischenspeicher zu der Treibereinheit 12, die jeweils anderen Zwischenspeicher zum Zwischenspeichern eines Datenstrings nacheinander durch die Auswahlsignale ausgewählt werden.The printer controller 45 is connected to the microprocessor 6 via a control line 47 for an interrupt signal I and via the bus 5. At least the microprocessor 6, the pixel memory 7, the non-volatile memory 8 and read-only memory 9 are connected in terms of address, data and control via the BUS 5. The printer controller 45 has means for generating and outputting a switching signal SO and is connected via a control line to the DMA controller 43 and to the pixel data processing unit 42. The latter is driven to by means of Switching signal SO one of the latches 412, 422 for a transmission of pixel data to the driver unit 12 to select. The latter can thereby be supplied in groups to the binary pixel data of an already stored data string. The switching signal SO is supplied to the DMA controller 43 to select the other one of the latches 412 and 422 for pixel data loading. The DMA controller 43 has means for generating and outputting selection signals Sel_2.1, Sel_2.2 as a function of the switching state of the switching signal SO in order to buffer the binary pixel data into the respectively first or the respective second of the two latches 421 or 422, wherein in a transfer of pixel data from the respective one of the two latches to the driver unit 12, the respective other latches for buffering a data string are successively selected by the selection signals.

Die beiden Pixeldatenaufbereitungseinheiten sind jeweils eingangsseitig zwar am BUS 5 jedoch dort nur an die niederwertigen 16 Bit des Daten-Busses angeschlossen. In den nachfolgenden Ausfühungsbeispielen sollen unter den Begriffen wie "Datenwort" bzw. "wortweise" immer ein 16 Bit breites Datenwort verstanden werden, wenn nicht ausdrucklich die Datenwortbreite zusätzlich angegegeben wird. Die Pixeldaten für einen ½ Zoll-Druckkopf benötigen nur den halben Platz (max. 320 Bit aus jedem Datenstring) im Pixelspeicher 7, aus dem diese Pixeldaten der Pixeldatenaufbereitungseinheit 42 zur Verfügung gestellt werden. Ein Datenstring für beide Druckkopfe erfordert folglich, daß zweimal ein Zwischenspeichern von je 20 * 16 Bit Datenworten, beispielsweise in den jeweils ersten Zwischenspeicher vorgenommen wird. Für aufeinanderfolgende Datenstrings werden die ersten und zweiten Zwischenspeicher 421 und 422 durch die Auswahlsignale Sel-2.1 und Sel-2.2 abwechselnd ausgewählt.The two pixel data processing units are each connected on the input side to the bus 5, but there only to the low-order 16 bits of the data bus. In the following exemplary embodiments, the terms "data word" and "wordwise" should always be understood to mean a 16-bit wide data word if the data word width is not expressly specified additionally. The pixel data for a ½ inch printhead requires only half the space (at most 320 bits from each data string) in the pixel memory 7, from which this pixel data is provided to the pixel data conditioning unit 42. A data string for both printheads therefore requires that buffering of 20 * 16 bit data words each time be performed twice, for example in the respective first buffer. For successive data strings, the first and second latches 421 and 422 are alternately selected by the selection signals Sel-2.1 and Sel-2.2.

Es ist vorgesehen, dass die DMA-Steuerung 43 mit dem Mikroprozessor 6 und mit den Zwischenspeichern 421 und 422 steuerungsmäßig verbunden ist, dass die DMA-Steuerung 43 Mittel zur Generierung und Ausgabe von Adressenschreibsignalen AW aufweist, die bei einem DMA-Zugriff auf die im Pixelspeicher 7 gespeicherten binären Pixeldaten deren Einschreiben in die Zwischenspeicher 421, 422 der Pixeldatenaufbereitungseinheit 42 gestatten. Von der DMA-Steuerung 43 wird zur wortweisen Adressierung ein 5 Bit breites Adressenschreibsignal AW geliefert. Letzteres liegt jeweils an einem separaten Adresseneingang des ersten und zweiten Zwischenspeichers 421 und 422 für Pixeldaten für den zweiten Druckkopf an. Von der DMA-Steuerung 43 wird ein erstes Auswahlsignal Sel_2.1 für Pixeldaten für den zweiten Druckkopf geliefert und liegt an einem separaten Steuereingang des ersten Zwischenspeichers 421 für Pixeldaten für den zweiten Druckkopf an. Von der DMA-Steuerung 43 wird ein zweites Auswahlsignal Sel_2.2 für Pixeldaten für den zweiten Druckkopf geliefert und liegt an einem separaten Steuereingang des zweiten Zwischenspeichers 422 für Pixeldaten für den zweiten Druckkopf an.It is envisaged that the DMA controller 43 is control connected to the microprocessor 6 and to the latches 421 and 422, that the DMA controller 43 comprises means for generating and outputting address write signals AW, which in a DMA access to the in Pixel memory 7 stored binary pixel data whose writing into the latches 421, 422 of the pixel data processing unit 42nd allow. The DMA controller 43 supplies a 5-bit address write signal AW for wordwise addressing. The latter is in each case at a separate address input of the first and second buffer memories 421 and 422 for pixel data for the second print head. The DMA controller 43 provides a first select signal Sel_2.1 for pixel data for the second printhead and asserts a separate control input of the first pixel data for the second printhead 421. The DMA controller 43 provides a second select signal Sel_2.2 for pixel data for the second printhead and asserts a separate control input of the second pixel data latch 422 for the second printhead.

Es ist vorgesehen, dass der Adressengenerator 44 mindestens Mittel zur Generierung und Ausgabe von Adressensignalen AR, AP und von Steuersignalen WR, LD, PS aufweist, und wobei die Adressensignale AR, AP und Steuersignale WR, LD der Pixeldatenaufbereitungseinheit 41, 42 zur Auswahl der zwischengespeicherten binären Pixeldaten und deren Gruppierung in einer vorbestimmten Reihenfolge zugeführt werden.It is provided that the address generator 44 has at least means for generating and outputting address signals AR, AP and control signals WR, LD, PS, and wherein the address signals AR, AP and control signals WR, LD of the pixel data processing unit 41, 42 for selecting the cached binary pixel data and their grouping in a predetermined order.

Jede Pixeldatenaufbereitungseinheit weist zwei Zwischenspeicher, einen Selektor zur Auswahl der binären Pixeldaten und ein Schieberegister zur Parallel/Serienwandlung der in einer neuen Reihenfolge bereitgestellten binären Pixeldaten auf. Die vom Adressengenerator 44 generierten Adressenlesesignale AR werden den Zwischenspeichern und dem Selektor der Pixeldatenaufbereitungseinheit zugeführt. Die vom Adressengenerator 44 generierten Primitiv-Adressensignale AP und das Schreibsteuersignal WR werden dem Selektor und ein Ladesignal LD wird dem Schieberegister zugeführt. Von der Druckersteuerung 45 wird ein Startsignal AG-start dem Adressengenerator 44 zugeführt. Vom Adressengenerator 44 wird nun ein Adressenlesesignal AR zur Auswahl des Datenwortes mit den Pixeldaten geliefert, die für den zweiten Druckkopf bestimmt sind. Zur wortweisen Adressierung liegen die höherwertigen Bits des Adressenlesesignals AR an einem separaten Adresseneingang des ersten und zweiten Zwischenspeichers 421 und 422 an. Die vier niederwertigen Bits des Adressenlesesignals AR liegen an einem Adresseneingang eines zweiten Selektors 423 an und erlauben eine Adressierung innerhalb des 16 Bit breiten Datenwortes. Die parallelen Datenausgänge des ersten und zweiten Zwischenspeichers 421 und 422 für Pixeldaten für den zweiten Druckkopf liegen an einem ersten und zweiten Eingang des Selektors 423 an, der vom Adressengenerator 44 gesteuert an seinem Ausgang ein 14 Bit paralleles Datensignal an den parallelen Dateneingang eines Schieberegisters 424 für Pixeldaten für den zweiten Druckkopf liefert. Das Schieberegister 424 wird durch ein Schiebetaktsignal SCL der Druckersteuerung 45 gesteuert und gibt ein serielles Datenausgangssignal SERIAL DATA OUT 2 aus. Der Adressengenerator 44 erzeugt außerdem eine primitive Adresse AP zur Steuerung des Selektors 423 und ein Schreibsignal WR. Der Adressengenerator 44 gibt ein Ladesignal LD an das Schieberegister 424 und ein Druckstartsignal PS an die Druckersteuerung 45 aus. Die letztere gibt die Latch- und Print2-Signale für die Steuerung des Pen Driver Boards 12 aus. Die Druckersteuerung 45 ist über eine Steuerleitung für die Ausgabe des Umschaltsignals SO mit einem entsprechenden Steuereingang der DMA-Steuerung 43 und mit dem Selektor 423 der Pixeldatenaufbereitungseinheit 42 verbunden. Die Druckersteuerung 45 hat Auswertemittel zur Auswertung der via BUS 5 übermittelten Adress-und Steuerungssignale, die hinsichtlich des Vorkommens eines Druckbefehls ausgewertet werden. Die Druckersteuerung 45 generiert mindestens die Signale DMA-start, AG-start und SO, speichert letztere in Registern und steht mit der DMA-Steuerung 43 über Steuerleitungen für DMA-start, DMA-busy und SO-Signale in Verbindung. Das SO-Signale wird erst beim Empfangen eines Druckbefehls erzeugt und ausgelöst durch den Druckbefehl wird von der Druckersteuerung 45 ein erstes Steuersignal DMA-start an die DMA-Steuerung 43 abgegeben, wobei letztere daraufhin ein Anforderungssignal DMAREQ erzeugt und zum Mikroprozessor 6 sendet. Der Mikroprozessor verfügt über einen internen DMA-controller (nicht gezeigt), der bei einem direkten Speicherzugriff eine bestimmte Adresse an den Pixelspeicher (RAM) 7 anlegt, wodurch ein wortweises Übermitteln von binären Pixeldaten via BUS 5 an die Zwischenspeicher ermöglicht wird. Von der DMA-Steuerung 43 wird dazu ein Adressenschreibsignal AW an die Zwischenspeicher geliefert. Der Mikroprozessor 6 kann via DMA aus dem Pixelspeicher 7 beispielsweise ein 16 Bit breites Datenwort mit Pixeldaten auslesen und zur Druckdatensteuerungseinheit übermitteln. Der Mikroprozessor 6 sendet ein Bestätigungssignal DMAACK an die DMA-Steuerung 43, um die Generierung des Adressenschreibsignals AW in der DMA-Steuerung 43 mit dem DMA-Zyklus des Mikroprozessors 6 zu synchronisieren. Je DMA-Zyklus gelangt ein 16 Bit breites Datenwort mit binären Pixeldaten in einen Zwischenspeicher. Jeder der vier Zwischenspeicher kann nach je 20 DMA-Zyklen insgesamt 320 Bit zur weiteren Datenaufbereitung bereitstellen. Zur Erzielung einer Druckauflösung von 600 dpi werden je zwei der vier Zwischenspeicher für ein Einspeichern während der DMA-Zyklen benutzt. Beim wortweisen Einspeichern und Auslesen von Pixeldaten für den zweiten Druckkopf wechseln sich die beiden Zwischenspeicher 421 und 422 ab. Von der DMA-Steuerung 43 werden deshalb während der DMA-Zyklen ein erstes und ein zweites Auswahlsignal Sel_2.1 oder Sel_2.2 wechselweise zum wortweisen Einspeichern von Pixeldaten für den zweiten Druckkopf geliefert. Von der DMA-Steuerung 43 wird beispielsweise zum wechselweisen und wortweisen Einspeichern von Pixeldaten für den zweiten Druckkopf ein erstes Auswahlsignal Sel_2.1 und ein Adressenschreibsignal AW geliefert. Die für jede Druckbildspalte gewünschte Pixelanzahl erfordert maximal 40 Datenworte a 16 Bit in zwei von vier Zwischenspeichern zwischenzuspeichern. In der DMA-Steuerung 43 werden Schaltungsmittel zur Abgabe des zweiten Steuersignals DMA-busy und zur Realsierung mindestens eines Zyklenzählers für eine vorbestimmte Anzahl an 16 Bit-Datenwörtern vorgesehen.Each pixel data processing unit has two latches, a selector for selecting the binary pixel data, and a shift register for parallel / serial conversion of the binary pixel data provided in a new order. The address read signals AR generated by the address generator 44 are supplied to the latches and the selector of the pixel data processing unit. The primitive address signals AP and the write control signal WR generated by the address generator 44 are supplied to the selector, and a load signal LD is supplied to the shift register. From the printer controller 45, a start signal AG-start is supplied to the address generator 44. The address generator 44 now provides an address read signal AR for selecting the data word with the pixel data destined for the second printhead. For word-by-word addressing, the higher-order bits of the address read signal AR are applied to a separate address input of the first and second buffer memories 421 and 422. The four least significant bits of the address read signal AR are applied to an address input of a second selector 423 and allow addressing within the 16-bit data word. The parallel data outputs of the first and second pixel data for the second printhead 421 and 422 are applied to a first and second input of the selector 423, controlled by the address generator 44 at its output a 14 bit parallel data signal to the parallel data input of a shift register 424 for Pixel data for the second printhead. The shift register 424 is controlled by a shift clock signal SCL of the printer controller 45, and outputs a serial data output signal SERIAL DATA OUT 2. The address generator 44 also generates a primitive address AP for controlling the selector 423 and a write signal WR. The address generator 44 outputs a load signal LD to the shift register 424 and a print start signal PS to the printer controller 45. The latter outputs the Latch and Print2 signals for the control of the Pen Driver Board 12. The printer controller 45 is connected via a control line for the output of the switching signal SO to a corresponding control input of the DMA controller 43 and to the selector 423 of the pixel data processing unit 42. The printer controller 45 has evaluation means for evaluating the address and control signals transmitted via BUS 5, which are evaluated with regard to the occurrence of a print command. The printer controller 45 generates at least the DMA start, AG start and SO signals, stores the latter in registers, and communicates with the DMA controller 43 via DMA start, DMA busy, and SO signal control lines. The SO signal is generated only upon receipt of a print command and triggered by the print command is output from the printer controller 45, a first control signal DMA start to the DMA controller 43, the latter then generates a request signal DMA REQ and sends to the microprocessor 6. The microprocessor has an internal DMA controller (not shown) which, in the case of a direct memory access, applies a specific address to the pixel memory (RAM) 7, thereby enabling word-wise transmission of binary pixel data via BUS 5 to the latches. An address write signal AW is supplied to the latches by the DMA controller 43 for this purpose. The microprocessor 6 can, for example, via DMA from the pixel memory 7 read out a 16-bit wide data word with pixel data and transmit it to the print data control unit. The microprocessor 6 sends an acknowledgment signal DMA ACK to the DMA controller 43 to synchronize the generation of the address write signal AW in the DMA controller 43 with the DMA cycle of the microprocessor 6. For each DMA cycle, a 16-bit wide data word with binary pixel data enters a buffer. Each of the four latches can provide a total of 320 bits for further data conditioning after each 20 DMA cycles. To achieve a print resolution of 600 dpi, two of the four buffers each are used for storage during the DMA cycles. When wordwise storing and reading pixel data for the second printhead, the two latches 421 and 422 alternate. Therefore, during the DMA cycles, DMA controller 43 supplies first and second select signals Sel_2.1 or Sel_2.2 alternately for word-wise storing pixel data for the second printhead. By way of example, the DMA controller 43 supplies a first selection signal Sel_2.1 and an address write signal AW for the alternate and wordwise storage of pixel data for the second print head. The number of pixels desired for each print image column requires a maximum of 40 data words to buffer 16 bits in two out of four latches. In the DMA controller 43, circuit means are provided for outputting the second control signal DMA-busy and for realizing at least one cycle counter for a predetermined number of 16-bit data words.

Auf die gleiche ― jedoch nicht näher gezeigten - Weise werden wortweise die binären Pixeldaten für den ersten Druckkopf via BUS 5 geliefert und liegen an einem entsprechenden Dateneingang des ersten und zweiten Zwischenspeichers 411 und 412 für Pixeldaten für den ersten Druckkopf an. Die - nicht detailliert gezeigte - erste Pixeldatenaufbereitungseinheit 41 für den ersten Druckkopf umfasst ebenfalls einen ersten und zweiten Zwischenspeicher 411 und 412, welche jeweils eingangsseitig an die niederwertigen 16 Bit des Datenbusses des Busses 5 angeschlossen sind. Das von der DMA-Steuerung 43 gelieferte Adressenschreibsignal AW liegt ebenfalls jeweils an einem separaten Adresseneingang des ersten und zweiten Zwischenspeichers 411 und 412 für Pixeldaten für den ersten Druckkopf an. Von der DMA-Steuerung 43 wird ein erstes Auswahlsignal Sel_1.1 für Pixeldaten für den ersten Druckkopf geliefert und liegt an einem separaten Steuereingang des ersten Zwischenspeichers 411 für Pixeldaten für den ersten Druckkopf an. Von der DMA-Steuerung 43 wird ein zweites Auswahlsignal Sel_1.2 für Pixeldaten für den ersten Druckkopf geliefert und liegt an einem separaten Steuereingang des zweiten Zwischenspeichers 412 für Pixeldaten für den ersten Druckkopf an.In the same manner-but not shown in detail-the binary pixel data for the first printhead is word-delivered via BUS 5 and applied to a corresponding data input of the first and second latches 411 and 412 for pixel data for the first printhead. The first pixel data processing unit 41 for the first printhead-not shown in detail-also includes first and second latches 411 and 412, which are each connected on the input side to the low-order 16 bits of the data bus of the bus 5. The address write signal supplied from the DMA controller 43 AW is also applied to each of a separate address input of the first and second latches 411 and 412 for pixel data for the first printhead. The DMA controller 43 supplies a first select signal Sel_1.1 for pixel data for the first printhead and asserts a separate control input of the first pixel data stager 411 for the first printhead. The DMA controller 43 provides a second select signal Sel_1.2 for pixel data for the first printhead and asserts a separate control input of the second pixel data for the first printhead.

Das vom Adressengenerator 44 gelieferte Adressenlesesignal AR liegt ebenso wieder an einem separaten Adresseneingang des ersten und zweiten Zwischenspeichers 411 und 412 für Pixeldaten für den ersten Druckkopf und an einem ersten Selektor 413 an. Die parallelen Datenausgänge des ersten und zweiten Zwischenspeichers 411 und 412 für Pixeldaten für den ersten Druckkopf liegen an einem ersten und zweiten Eingang des Selektors 413 an, der vom Adressengenerator 44 gesteuert an seinem Ausgang ein 14 Bit paralleles Datensignal an den parallelen Dateneingang eines Schieberegisters 414 für Pixeldaten für den ersten Druckkopf liefert. Das Schieberegister 414 wird durch das Schiebetaktsignal SCL der Druckersteuerung 45 gesteuert und gibt ein serielles Datenausgangssignal Serial data out 1 aus.The address read signal AR provided by the address generator 44 is also applied again to a separate address input of the first and second buffer memories 411 and 412 for pixel data for the first print head and to a first selector 413. The parallel data outputs of the first and second pixel pixel data latches 411 and 412 are applied to first and second inputs of the selector 413, controlled by the address generator 44 at its output, a 14 bit parallel data signal to the parallel data input of a shift register 414 for Provides pixel data for the first printhead. The shift register 414 is controlled by the shift clock signal SCL of the printer controller 45 and outputs a serial data output signal Serial data out 1.

Die Druckersteuerung 45 gibt einen Schiebetakt SCL an das Schieberegister 414 für Pixeldaten für den ersten Druckkopf sowie Signale Latch und Print1 für die Steuerung des Pen Driver Boards 11 aus. Die Druckersteuerung 45 ist über eine Steuerleitung für die Ausgabe des Signals SO mit einem entsprechenden Steuereingang der DMA-Steuerung 43 und mit der Pixeldatenaufbereitungseinheit 41 verbunden.The printer controller 45 outputs a shift clock SCL to the pixel data for the first printhead shift register 414 and signals Latch and Print1 for the control of the pen driver board 11. The printer controller 45 is connected to a corresponding control input of the DMA controller 43 and to the pixel data processing unit 41 via a control line for outputting the signal SO.

Der Zyklenzähler der DMA-Steuerung 43 ist ein Wortzähler für eine vorbestimmte Anzahl an 16 Bit-Datenworten, der durch ein DMA-start-Signal gestartet wird. Die DMA-Steuerung ist beispielsweise Bestandteil einer anwendungsspezifischen Schaltung (ASIC), wobei der Zyklenzähler einerseits mit den vorgenannten Mitteln zur Generierung und Ausgabe von Adressenschreibsignalen AW und andererseits mit Mitteln zur Generierung und Ausgabe von Auswahlsignalen verbunden ist, wobei die letzteren - in nicht gezeigter Weise - mindestens ein Ausgabemittel und Vergleichsmittel aufweisen. Beispielsweise steuert ein erstes Vergleichsmittel die Ausgabemittel in Abhängigkeit vom SO-Signal an, um bis zum Erreichen einer ersten vorbestimmten Anzahl an 16 Bit-Datenworten ein für die erste Pixeldatenaufbereitungseinheit 41 bestimmtes Auswahlsignal Sel_1.1 oder Sel_1.2 und um nach dem Erreichen der ersten vorbestimmten Anzahl an 16 Bit-Datenworten ein für die zweite Pixeldatenaufbereitungseinheit 42 bestimmtes Auswahlsignal Sel_2.1 oder Sel_2.2 auszugeben. Nach dem Erreichen einer zweiten vorbestimmten Anzahl von 40 * 16 Bit-Datenworten wird von dem ersten oder einem zweiten Vergleichsmittel ein Signal, das am Zyklenzähler anliegt, um das Zählen von DMA-Zyklen zu beenden. Aus dem Signal wird ein DMA-busy-Signal mit dem Wert 'Null' erzeugt und über ein Register ausgegeben.The cycle counter of the DMA controller 43 is a word counter for a predetermined number of 16-bit data words, which is started by a DMA start signal. The DMA controller is for example part of an application specific circuit (ASIC), wherein the cycle counter is connected on the one hand to the aforementioned means for generating and output of address write signals AW and on the other hand with means for generating and outputting selection signals, the latter - In a manner not shown - have at least one output means and comparison means. For example, a first comparison means controls the output means as a function of the SO signal in order to reach a first predetermined number of 16-bit data words for the first pixel data processing unit 41 specific selection signal Sel_1.1 or Sel_1.2 and after reaching the first predetermined number of 16-bit data words to output a for the second pixel data processing unit 42 specific selection signal Sel_2.1 or Sel_2.2. Upon reaching a second predetermined number of 40 * 16-bit data words, the first or second comparing means receives a signal which is applied to the cycle counter to terminate the counting of DMA cycles. From the signal, a DMA-busy signal with the value 'zero' is generated and output via a register.

Während die Pixeldaten für einen Datenstring per direkten Speicherzugriff (DMA) in die jeweils ersten Zwischenspeicher 411 und 421 geladen und dort zwischen gespeichert werden, können die jeweils zweiten Zwischenspeicher 412 und 422 ausgelesen werden. Mittels des speziellen Adressengenerators 44 und den Selektoren 413, 423 werden die binären Pixeldaten aus diesen Zwischenspeichern in der von den Druckköpfen benötigten Reihenfolge ausgelesen, gruppenweise gesammelt und anschließend mittels Schieberegister 414, 424 seriell zu den beiden Druckköpfen übertragen. Mindestens eine halbe Druckbildspalte wird von dem ersten Druckkopf und mindestens eine andere halbe Druckbildspalte wird von dem zweiten Druckkopf gedruckt.While the pixel data for a data string is loaded by direct memory access (DMA) into the respective first latches 411 and 421 and stored therebetween, the respective second latches 412 and 422 can be read out. By means of the special address generator 44 and the selectors 413, 423, the binary pixel data are read from these latches in the order required by the printheads, collected in groups and then transferred by means of shift registers 414, 424 serially to the two printheads. At least one half of the print image column is printed by the first print head and at least one other half print image column is printed by the second print head.

Durch diese Lösung können binäre Pixeldaten im Pixelspeicher in einer optimalen Ordnung gespeichert vorliegen, die den Mikroprozessor bei der Druckbildänderung entlastet. Durch die Datenübertragung per DMA wird der Mikroprozessor ebenfalls entlastet.By this solution, binary pixel data can be stored in the pixel memory in an optimal order, which relieves the microprocessor in the printed image change. Data transfer via DMA also relieves the load on the microprocessor.

Die Logik 542 für Encoderimpulse mit Fehlerreduzierung ist ein Bestandteil der Druckersteuerung 45 und die zugehörige Auswerteeinheit (nicht gezeigt) ist ein Bestandteil des Adressengenerators 44. Die Logik 542 übermittelt dann ausgangsseitig ein mehr als zwei Bit breites digitales Zählwertsignal ENC zum Adressengenerator 44, der einen digitalen Vergleicher enthält.The error-reducing encoder pulses logic 542 is a component of the printer controller 45 and the associated evaluation unit (not shown) forms part of the address generator 44. The logic 542 then transmits a more than two-bit wide digital count signal ENC to the address generator 44 on the output side Comparator contains.

In der Druckersteuerung 45 ist weiterhin ein Datenstringzähler realisiert (nicht näher gezeigt), wobei jeder Datenstring maximal die oben genannte Anzahl von 40 * 16 Bit-Datenwörtern aufweist. Nachdem die aus einem Datenstring entnommenen und aufbereiteten binären Pixeldaten gedruckt worden sind, wird beim Auftreten der LH-Flanke des Encodertaktes der Datenstringzähler inkrementiert. Wenn ein vorgegebener Sollwert U an Datenstrings erreicht ist, wird das Drucken des Druckbildes beendet.In the printer controller 45, a data string counter is further realized (not shown in detail), wherein each data string has a maximum of the above-mentioned number of 40 * 16-bit data words. After the binary pixel data taken from a data string has been printed, the data string counter is incremented when the LH edge of the encoder clock occurs. When a predetermined setpoint U on data strings is reached, printing of the print image is ended.

Die gesamte Druckdatensteuerung kann vorzugsweise mit einer anwendungsspezifischen Schaltung (ASIC) bzw. programmierbaren Logik, wie beispielsweise Spartan-II 2,5V FPGA der Firma XILINX (www.xilinx.com) realisiert werden.The entire print data control can preferably be realized with an application specific circuit (ASIC) or programmable logic, such as Spartan II 2.5V FPGA from XILINX ( www.xilinx.com ).

Die Figur 4 zeigt ein Blockschaltbild der Druckersteuerung 45, die eine Logik 542 zur Fehlerreduzierung aufweist, welche weiter unten anhand der Figur 6 noch näher erläutert wird. Die vorgenannte Logik 542 ist mit einer Ablaufsteuerung und Verarbeitungseinheit 451 betriebsmäßig verbunden, an welche eine Druckersteuerungslogik 450 und eine Ein/Ausgabeeinheit 454 angeschlossen sind. Die Druckersteuerungslogik 450 umfaßt eine Anzahl an ― nicht näher gezeigten ― Blöcken, jedoch mindestens folgende Blöcke, wie einen Datenstring-Zähler 4503 für die beim Drucken erreichte Datenstring-Zahl V, ein Register 4504 für den Datenstring-Sollwert U, einen Vergleicher 4506 für U = V, ein Speicher 4505 für Y und andere Parameter, ein Shift-Impulsgenerator 4507, ein Latch-Impulsgenerator 4508, ein erster Print-Impulsgenerator 4509 und ein zweiter Print-Impulsgenerator 4510.4 shows a block diagram of the printer controller 45, which has a logic 542 for error reduction, which will be explained below with reference to FIG 6 in more detail. The aforementioned logic 542 is operatively connected to a sequencer and processing unit 451 to which a printer control logic 450 and an input / output unit 454 are connected. The printer control logic 450 comprises a number of blocks - not shown in detail - but at least the following blocks, such as a data string count V 4503 for the data string number V reached on printing, a register 4504 for the data string setpoint U, a comparator 4506 for U = V, a memory 4505 for Y and other parameters, a shift pulse generator 4507, a latch pulse generator 4508, a first print pulse generator 4509, and a second print pulse generator 4510.

Im ersten Block 451 mit der Ablaufsteuerung und Verarbeitungseinheit sind ― in nicht gezeigter Weise ― ein Encoder-Filter und ein Encoder-Controller enthalten, der ein Startsignal zum Drucken einer Spalte liefert, eine Interrupt-Anforderung mit jeder steigenden Encoder-Flanke auslöst und die zeitrichtige Übertragung der Druckdaten innerhalb einer Druckspalte unterstützt. Durch den Encoder-Filter werden Störungen (Spikes) auf den Encoder-Signalen unterdrückt. Im ersten Block 451 sind ― in nicht gezeigter Weise - noch ein weiterer Zähler und weitere Auswerteschaltungen enthalten, wobei dem Zähler ein Systemtakt zur Ermittlung der Periodendauer von Encoderimpulsen zugeführt wird. Über den e-Eingang BUS-E/A und weiteren Register der E/A-Einheit 454 erfolgt die Kommunikation mit dem Mikroprozessor. Eine mikroprozessor-gesteuerte Regelung der Druckzyklusdauer bewirkt - in nicht gezeigter Weise - eine Einstellung des Druckzyklusses auf eine vorbestimmte Zeitdauer, vorzugsweise ca. 90% der Zeit zwischen zwei positiven Encoderflanken.In the first block 451 with the sequence control and processing unit are - not shown - an encoder filter and an encoder controller included, which provides a start signal for printing a column, an interrupt request with each rising edge of the encoder triggers and the correct time Transmission of print data within a print column supported. The encoder filter suppresses spikes on the encoder signals. In the first block 451 - in a manner not shown - yet another counter and further evaluation circuits included, wherein the counter is a system clock for determining the period of encoder pulses is supplied. The e-input BUS-I / O and other registers of the I / O unit 454 communicate with the microprocessor. A microprocessor-controlled control of the pressure cycle duration causes - in a manner not shown - an adjustment of the printing cycle to a predetermined period of time, preferably about 90% of the time between two positive encoder edges.

Die Ein/Ausgabeeinheit 454 weist ebenfalls eine Anzahl an ― nicht näher gezeigten ― Blöcken, jedoch mindestens folgende Blöcke auf, eine BUS-Ein/Ausgabeeinheit 4541, ein Eingang 4542 für das Encodersignal e, einen Eingang 4543 für das DMA-busy-Signal, ein Register 4544 für das DMA-start-Signal, einen Eingang 4545 für das AG-busy-Signal, ein Register 4546 für AG-start-Signal, ein Register 4547 für das Umschaltsignal SO, einen Eingang 4550 für das PS-Signal, einen Ausgang 4551 für das I-Signal, einen Ausgang 4553 für das Shift-clock-Signal, einen Ausgang 4554 für das Latch-Impuls-Signal, einen Print1-Impuls-Ausgang 4555 und einen Print2-Impuls-Ausgang 455x. Zur Ausgabe des digitalen Zählwertes ENC hat die Ein/Ausgabeeinheit 454 einen ENC-Ausgang 4560.The input / output unit 454 also has a number of blocks - not shown in detail - but at least the following blocks, a BUS input / output unit 4541, an input signal 4542 for the encoder signal e, an input 4543 for the DMA busy signal, a DMA start signal register 4544, an AG busy signal input 4545, an AG start signal register 4546, a switching signal SO register 4547, a PS signal input 4550; Output 4551 for the I signal, an output 4553 for the shift-clock signal, an output 4554 for the latch pulse signal, a Print1 pulse output 4555 and a Print2 pulse output 455x. To output the digital count ENC, the input / output unit 454 has an ENC output 4560.

Wenn die gestrichelt gezeigte Auswerteeinheit 453 beispielsweise ― wie in Fig.1 gezeigt ist - ebenfalls ein Bestandteil der Druckersteuerung 45 ist, dann wird das Ausgangssignal der Auswerteeinheit 453 zwar ebenfalls zum Adressengenerator 44 übermittelt, jedoch nur als ein Bit breites binäres Abbruchsignal, dass am Ausgang 4560 bereitgestellt wird.If, for example, the evaluation unit 453 shown in dashed lines is likewise a component of the printer controller 45, then the output signal of the evaluation unit 453 is likewise transmitted to the address generator 44, but only as a bit-wide binary abort signal that is present at the output 4560 is provided.

Die Druckersteuerung 45 kann ebenfalls in der bereits erläuterten oder in einer alternativen Ausführungsform realisiert werden, wobei jede Druckersteuerung 45 - von der Ausführungsform unabhängig - einen Datenstringzähler 4503 aufweist und mit dem Encoder 3 verbunden ist. Nach jedem gedruckten Datenstring wird der Wert V des Datenstringzählers bei Auftreten des Encodertaktes inkrementiert, wobei das Drucken des Druckbildes beendet wird, wenn ein vorgegebener Sollwert U des Datenstringzählers erreicht ist.The printer controller 45 can also be realized in the already explained or in an alternative embodiment, wherein each printer controller 45 - independent of the embodiment - has a data string counter 4503 and is connected to the encoder 3. After each printed data string, the value V of the data string counter is incremented when the encoder clock occurs, whereby the printing of the print image is terminated when a predetermined setpoint U of the data string counter is reached.

Die Figur 5 zeigt einen Flussplan zur Ablaufsteuerung der Druckersteuerung. Nach dem Einschalten im Schritt 101 wird ein Schritt 102 erreicht und in der Routine 100 der Ablaufsteuerung werden die Signale Verringerungssignal DEC_ENC, Rücksetzsignal Encoderzähler_Reset und Auswahlsignale Sel_1.1, Sel_1.2, Sel_2.1, Sel_2.2 auf den Wert 'Null' gesetzt. In einem ersten Abfrageschritt 103 wird nun ein via Bus übermitteltes Datenwort hinsichtlich des Auftretens eines Befehls zum Druckstart ausgewertet. Ist der letztere noch nicht erteilt worden, dann wird in eine Warteschleife verzweigt. Andererseits wird nach dem Druckstart in einem Schritt 104 ein Setzen des Spaltenzählwertes V auf den Wert 'Null'. Das Umschaltsignal SO wird auf den Wert 'Eins' gesetzt und ausgegeben. In einem zweiten Abfrageschritt 105 wird nun das Encodersignal e hinsichtlich des Auftretens einer LH-Flanke ausgewertet. Ist die letztere noch nicht aufgetreten, dann wird in eine Warteschleife verzweigt. Andererseits wird in einem Schritt 106 ein Signal DMA-Start ausgegeben und eine Subroutine 300 gestartet, welche bestimmte Auswahlsignale Sel_1.1, Sel_1.2, Sel_2.1 oder Sel_2.2 auf den Wert 'Eins' setzt, um die binären Pixeldaten in die Zwischenspeicher der Pixeldatenaufbereitungseinheiten 41 und 42 zu übernehmen, was anhand der Figur 13 später noch genauer erläutet wird.FIG. 5 shows a flowchart for the flow control of the printer controller. After switching on in step 101, a step 102 is reached and in the routine 100 of the sequence control, the signals reduction signal DEC_ENC, reset signal Encoderzähler_Reset and selection signals Sel_1.1, Sel_1.2, Sel_2.1, Sel_2.2 set to the value 'zero'. In a first query step 103, a data word transmitted via the bus is evaluated with regard to the occurrence of a command for printing start. If the latter has not yet been issued, then it branches into a waiting loop. On the other hand, after the start of printing in a step 104, the column count value V is set to the value 'zero'. The switching signal SO is set to the value 'one' and output. In a second interrogation step 105, the encoder signal e is now evaluated with regard to the occurrence of an LH edge. If the latter has not yet occurred, a branch is made to a waiting loop. On the other hand, in a step 106, a signal DMA start is output and a subroutine 300 is started which sets certain selection signals Sel_1.1, Sel_1.2, Sel_2.1 or Sel_2.2 to the value 'one' in order to convert the binary pixel data into the Latch the pixel data processing units 41 and 42 to take over what will be explained in more detail later with reference to FIG.

In einem dritten Abfrageschritt 107 wird nun das DMA-busy-Signal hinsichtlich dessen ausgewertet, ob es auf den Wert 'Null' gesetzt worden ist. Ist das letztere noch nicht der Fall, dann wird in eine Warteschleife verzweigt. Ist jedoch das DMA-busy-Signal auf den Wert 'Null' gesetzt worden, dann wird im Schritt 108 ein Signal Encoderzähler_Reset := 1 generiert. Anschließend wird ein vierter Abfrageschritt 109 erreicht, in welchem das digitale Ausgangssignal ENC des Encodertaktzählers hinsichtlich eines vom Wert 'Null' abweichenden Wertes ausgewertet wird. Für den unverkürzten zeitlichen Abstand der Encoderimpulse erfolgt eine Einstellung des Druckzyklusses auf eine vorbestimmte Zeitdauer zwischen zwei positiven Encoderflanken. Damit ergibt sich aufgrund des vierten Abfrageschrittes 109 ein Abstand zwischen den einzelnen Druckzyklen (Fig. 1d). Ist das digitale Ausgangssignal ENC nicht ungleich dem Wert 'Null', d.h. gleich dem Wert 'Null', dann wird in eine Warteschleife verzweigt.In a third interrogation step 107, the DMA busy signal is now evaluated as to whether it has been set to the value 'zero'. If the latter is not yet the case, then it branches into a waiting loop. However, if the DMA-busy signal has been set to the value 'zero', then in step 108 a signal Encoderzähler_Reset: = 1 is generated. Subsequently, a fourth interrogation step 109 is reached, in which the digital output signal ENC of the encoder clock counter is evaluated with respect to a value deviating from the value 'zero'. For the unambiguous time interval of the encoder pulses, the printing cycle is set to a predetermined period of time between two positive encoder edges. This results in a distance between the individual pressure cycles due to the fourth interrogation step 109 (FIG. 1d). If the digital output signal ENC is not equal to the value 'zero', i. equal to the value 'zero', then it is branched into a waiting loop.

Beim Auftreten einer LH-Flanke eines Encodersignals wird der Encodertaktzähler inkrementiert und das digitale Ausgangssignal ENC wird nun ungleich dem Wert 'Null'. Beim Auftretens einer LH-Flanke wird also vom vierten Abfrageschritt 109 in einem Schritt 110 verzweigt, in welchem das Umschaltsignal SO logisch negiert und dann ausgegeben wird.When an LH edge of an encoder signal occurs, the encoder clock counter is incremented and the digital output signal ENC now becomes unlike the value 'zero'. When an LH edge occurs, a branch is thus made from the fourth interrogation step 109 in a step 110, in which the switching signal SO is logically negated and then output.

Anschließend wird im Schritt 111 der Adressengenerator aktiviert und eine Subroutine 400 gestartet, welche für die Pixeldatenaufbereitungseinheiten 41 und 42 bestimmte Leseadressen AR und Steuerungssignale, wie das Umschaltsignal SO, die Primitivadresse AP, das Schreibsignal WR und ein Ladesignal LD erzeugt. Im Schritt 112 wird ein DMA-Start-Signal ausgegeben und die DMA-Steuerung aktiviert, zum erneuten Starten der vorgenannten Subroutine 300. Beide Subroutinen 300 und 400 laufen parallel zueinander ab. Dann wird in einem Schritt 113 der Druckzyklusstart signalisiert indem ein kurzer Impuls generiert bzw. indem in einem ersten Teilschritt 113a das Signal DEC_ENC auf den Wert 'Eins' und in einem zweiten Teilschritt 113b das Signal DEC_ENC auf den Wert 'Null' gesetzt wird. Anschließend wird in einem fünften Abfrageschritt 114 ausgewertet, ob der Adressengenerator mit seiner Subroutine 400 fertig ist und ob das DMA-busy-Signal auf den Wert 'Null' gesetzt worden ist. Ist das erstere oder letztere noch nicht der Fall, dann wird in eine Warteschleife verzweigt. Ist jedoch der Adressengenerator mit seiner Subroutine 400 fertig und das DMA-busy-Signal ist auf den Wert 'Null' gesetzt worden, dann wird ein Schritt 115 erreicht. Im Schritt 115 wird der Datenstringzählwert um einem Wert 'Eins' inkrementiert auf V:= V + 1. In einem sechsten Abfrageschritt 116 wird ausgewertet, ob der Spaltenzählwert V einen Grenzwert U erreicht hat. Ist das nicht der Fall, dann wird auf den vierten Abfrageschritt 109 zurück verzweigt. Anderenfalls wird über einen Schritt 117 auf den ersten Abfrageschritt 103 zurück verzweigt und die Routine beginnt erneut, wenn im ersten Abfrageschritt 103 ein Druckstartbefehl festgestellt wird. Im vorgenannten Schritt 117 wird ein Rücksetzsignal Encoderzähler_Reset := 0 generiert und der Encoderzähler auf den Wert 'Null' zurückgesetzt.Subsequently, in step 111, the address generator is activated and a subroutine 400 is started, which generates for the pixel data processing units 41 and 42 specific read addresses AR and control signals such as the switching signal SO, the primitive address AP, the write signal WR and a load signal LD. In step 112, a DMA start signal is output and DMA control is enabled to restart the aforementioned subroutine 300. Both subroutines 300 and 400 are in parallel with each other. Then, in a step 113, the print cycle start is signalized by generating a short pulse or by setting the signal DEC_ENC to the value 'one' in a first substep 113a and the signal DEC_ENC to the value 'zero' in a second substep 113b. Subsequently, in a fifth interrogation step 114, it is evaluated whether the address generator has finished its subroutine 400 and whether the DMA busy signal has been set to the value 'zero'. If the former or the latter is still not the case, then a branch is made in a waiting loop. However, if the address generator has completed its subroutine 400 and the DMA busy signal has been set to the value 'zero', then a step 115 is reached. In step 115, the data string count is incremented by a value 'one' to V: = V + 1. In a sixth interrogation step 116, it is evaluated whether the column count value V has reached a limit value U. If this is not the case, then the fourth query step 109 is branched back. Otherwise, the system branches back to the first interrogation step 103 via a step 117, and the routine restarts when a print start command is detected in the first interrogation step 103. In the aforementioned step 117, a reset signal Encoderzähler_Reset: = 0 is generated and reset the encoder counter to the value 'zero'.

Im ― in der Figur 4 gezeigten ― Ausführungsbeispiel existiert ein separater zweiter Block 452, der mit dem die Ablaufsteuerung und Verarbeitungseinheit enthaltenen ersten Block 451 der Druckersteuerung 45 betriebsmäßig verbunden ist. Der vorgenannte Block 452 enthält die Logik zur Druckerfehlerreduzierung und ist Bestandteil der Druckersteuerung 45. Die Verbindung umfaßt mehrere ― nicht gezeigte ― Leitungen für analoge und/oder digitale elektrische Signale. Dem zweiten Block 452, der ein paralleles n-Bit breites digitales Ausgangssignal ENC erzeugt, das einen Zählwert repräsentiert, wird ein vom ersten Block 451 gefiltertes Encodersignal e seriell zugeführt. Die Verbindung des zweiten Blocks 452 mit dem ENC-Ausgang der E/A-Einheit 454 erfolgt ebenfalls über den ersten Block 451 der Druckersteuerung 45. Der Block 451 ist mit der E/A-Einheit 454 der Druckersteuerung 45 verbunden. Nach dem Einschalten setzt die Verarbeitungseinheit des ersten Blocks 451 das Verringerungssignal DEC_ENC und das Rücksetzsignal Encoderzähler_Reset auf den Wert 'Null'. Die Druckersteuerung 45 enthält einen dritten Block 450 mit der Druckersteuerungslogik. Die letztgenannte weist im Parameter-Speicher 4505 einen Parameter Y als einen oberen Grenzwert für die Logik zur Druckerfehlerreduzierung auf.In the embodiment shown in FIG. 4, there is a separate second block 452 which is connected to the flow control and processing unit contained first block 451 of the printer controller 45 is operatively connected. The aforementioned block 452 contains the logic for printer error reduction and is part of the printer controller 45. The connection comprises a plurality of - not shown - lines for analog and / or digital electrical signals. The second block 452, which generates a parallel n-bit wide digital output signal ENC representing a count value, serially feeds an encoder signal e filtered by the first block 451. The connection of the second block 452 to the ENC output of the I / O unit 454 is also via the first block 451 of the printer controller 45. The block 451 is connected to the I / O unit 454 of the printer controller 45. After powering up, the processing unit of the first block 451 sets the decrease signal DEC_ENC and the reset signal Encoder_counter_Reset to the value 'zero'. The printer controller 45 includes a third block 450 with the printer control logic. The latter has parameter Y in parameter memory 4505 as an upper limit for the printer error reduction logic.

Alternativ kann ein separater zweiter Block entfallen (nicht gezeigt), wenn die Logik zur Druckerfehlerreduzierung ein Bestandteil des ersten Blocks 451 der Druckersteuerung 45 ist.Alternatively, a separate second block may be omitted (not shown) if the printer error reduction logic is part of the first block 451 of the printer controller 45.

In der Figur 6 ist ein Blockschaltbild der Logik zur Druckerfehlerreduzierung dargestellt. Ein erstes und zweites AND-Gatter 4521, 4522 sind ausgangsmäßig mit den Eingängen eines Encodertaktzählers 4523 verbunden, der einen ersten Eingang CLK_down, einen zweiten Eingang CLK_up und einen dritten Eingang ENC_RESET für das Rücksetz-Signal Encoderzähler_Reset aufweist. Das Verringerungs-Signal DEC-ENC wird über einen ersten Eingang des ersten AND-Gatter 4521 zugeführt. Mit dessen zweiten Eingang ist der Ausgang K eines ersten digitalen Vergleichers 4524 verbunden. In einer einfachen Ausführungsform (nicht gezeigt) wird als erster digitaler Vergleicher 4524 ein OR-Gatter eingesetzt, das das digitale Ausgangssignal ENC des Encodertaktzählers 4523 verknüpft und bei ENC ≠ 0 ausgangsseitig ein Logik-Signal 'Eins' abgibt.FIG. 6 shows a block diagram of the logic for reducing printer errors. First and second AND gates 4521, 4522 are connected in output to the inputs of an encoder clock counter 4523, which has a first input CLK_down, a second input CLK_up, and a third input ENC_RESET for the reset signal Encoder Counter_Reset. The decrease signal DEC-ENC is supplied via a first input of the first AND gate 4521. With its second input, the output K of a first digital comparator 4524 is connected. In a simple embodiment (not shown), the first digital comparator 4524 used is an OR gate which combines the digital output signal ENC of the encoder clock counter 4523 and outputs a logic signal 'one' on the output side at ENC ≠ 0.

Das gefilterte Encodersignal e wird seriell über einen ersten Eingang des zweiten AND-Gatter 4522 zugeführt, mit dessen zweiten Eingang der Ausgang L eines zweiten digitalen Vergleichers 4525 verbunden ist.The filtered encoder signal e is supplied in series via a first input of the second AND gate 4522, to whose second input the output L of a second digital comparator 4525 is connected.

An den jeweils ersten Eingängen des ersten und zweiten digitalen Vergleichers 4524, 4525 liegt der Zählwert in digitaler Form an, indem der an den beispielsweise n = 4 Ausgängen Q1, Q2, Q3, Q4 des Encodertaktzählers 4523 jeweils ein Binärwert ausgegeben wird. Der Encodertaktzählers 4523 ist im Ausführungsbeispiel als 4 Bit-Zähler dargestellt, aber soll nicht allein darauf beschränkt sein. Vielmehr sind auch andere Ausführungsformen als n-Bit-Zähler möglich. In der bevorzugten Ausführungsform sind beide digitale Vergleicher gleich aufgebaut. Beispielsweise sind n Exclusiv-OR-Gatter ausgangsseitig über ein OR-Gatter miteinander verknüpft, wobei jedes Exclusiv-OR-Gatter jeweils eine Stelle der n-Bit-Zahl mit einer entsprechenden Stelle der n-Bit-Vergleichszahl vergleicht.At the respective first inputs of the first and second digital comparators 4524, 4525, the count value is in digital form in that a binary value is output at the, for example, n = 4 outputs Q1, Q2, Q3, Q4 of the encoder clock counter 4523. The encoder clock counter 4523 is shown in the embodiment as a 4-bit counter, but should not be limited to this alone. Rather, embodiments other than n-bit counters are possible. In the preferred embodiment, both digital comparators are the same. For example, n Exclusive OR gates are linked together on the output side via an OR gate, wherein each Exclusive OR gate compares one digit of the n-bit number with a corresponding position of the n-bit comparison number.

An den jeweils zweiten Eingängen des ersten digitalen Vergleichers 4524 liegt ein n-Bit breites digitales Datensignal mit dem Binärwert 'Null' an. An den jeweils zweiten Eingängen des zweiten digitalen Vergleichers 4525 liegt ein n-Bit breites digitales Datensignal mit den entsprechenden Binärwerten für einen oberen Grenzwert 'Y' an, welcher über den ersten Block 451 der Druckersteuerung 45 geliefert wird. Vom ersten Block 451 der Druckersteuerung 45 wird ebenfalls das Signal Encoderzähler_Reset und das DEC-ENC-Signal geliefert. Der erste digitale Vergleicher 4524 arbeitet in einer an sich bekannten Weise und gibt ein Logik-Signal ab, beispielsweise TTL. Beispielsweise ein Binärwert 'Eins' am Ausgang K signalisiert, dass die Bedingung ENC ≠ 0 erfüllt ist. Das über einen ersten Eingang des ersten AND-Gatter 4521 zugeführte DEC-ENC-Signal wird folglich auf den ersten Eingang CLK_down des Encodertaktzählers 4523 durchgeschaltet, um den Zählwert zu dekrementieren. Der zweite digitale Vergleicher 4525 gibt ein Logik-Signal mit dem Binärwert 'Eins' am Ausgang L ab, wenn die Bedingung ENC ≠ Y erfüllt ist. Das über einen ersten Eingang des zweiten AND-Gatter 4522 zugeführte gefilterte Encodersignal e wird dann auf den zweiten Eingang CLK_up des Encodertaktzählers 4523 durchgeschaltet, um den Zählwert zu inkrementieren. Der ersten bzw. zweite digitale Vergleicher 4524 bzw. 4525 geben ein TTL-Signal mit dem Wert 'Null' ab, wenn die vorgenannte jeweilige Bedingung nicht erfüllt ist. In diesem Fall sind die AND-Gatter 4521 bzw. 4522 gesperrt.At the respective second inputs of the first digital comparator 4524 is an n-bit wide digital data signal with the binary value 'zero'. At the respective second inputs of the second digital comparator 4525 is an n-bit wide digital data signal with the corresponding binary values for an upper limit 'Y', which is supplied via the first block 451 of the printer controller 45. The first block 451 of the printer controller 45 also provides the encoder count_reset signal and the DEC ENC signal. The first digital comparator 4524 operates in a manner known per se and outputs a logic signal, for example TTL. For example, a binary value 'one' at the output K indicates that the condition ENC ≠ 0 is fulfilled. The DEC-ENC signal supplied via a first input of the first AND gate 4521 is consequently switched through to the first input CLK_down of the encoder clock counter 4523 in order to decrement the count value. The second digital comparator 4525 outputs a logic signal having the binary value 'one' at the output L when the condition ENC ≠ Y is satisfied. The filtered encoder signal e supplied via a first input of the second AND gate 4522 is then turned on to the second input CLK_up of the encoder clock counter 4523 to increment the count value. The first and second digital comparators 4524 and 4525 respectively provide a TTL signal with the Value 'zero' if the above condition is not met. In this case, the AND gates 4521 and 4522 are disabled.

In der Figur 7a ist ein Flussplan zur Druckerfehlerreduzierung gezeigt. Die Routine 700 wird im Schritt 701 gestartet. Nach dem Start wird zunächst im Schritt 702 der Zählstand auf den Wert 'Null' zurückgesetzt. Im folgenden Abfrageschritt 703 wird in Erwartung einer Freischaltung mittels eines Rücksetz-Signals Encoderzähler-Reset mit dem Wert 'Eins' ständig auf den Schritt 702 zurückverzweigt.FIG. 7 a shows a flowchart for reducing printer errors. The routine 700 is started in step 701. After the start, first in step 702 the count is reset to the value 'zero'. In the following interrogation step 703, in the expectation of an activation by means of a reset signal encoder counter reset with the value 'one', the process is continuously branched back to step 702.

Das Rücksetz-Signal Encoderzähler-Reset wird nach einem ersten DMA-Zyklus von der Verarbeitungseinheit des - in der Figur 4 gezeigten - Blockes 451 auf den Wert 'Eins' gesetzt, wie dem Schritt 108 der Figur 5 zu entnehmen ist. Das vorgenannte Rücksetzsignal liegt am dritten Eingang ENC_RESET des - in der Figur 6 gezeigten ― Encodertaktzähles 4523 an. Wenn im Abfrageschritt 703 ein Encoderzähler-Reset-Signal mit dem Wert 'Eins' festgestellt wird, dann wird ein zweiter Abfrageschritt 704 erreicht, in welchem festgestellt wird, ob eine Encoder LH-Flanke über einen ersten Eingang dem zweiten AND-Gatter 4522 zugeführt wird, während der zweite Vergleicher 4525 ausgangsseitig einen Wert 'Eins' abgibt, mit welchem letzterer signalisiert, dass die Bedingung ENC ≠ Y erfüllt ist.The reset signal encoder counter reset is set to the value 'one' after a first DMA cycle by the processing unit of the block 451 shown in FIG. 4, as can be seen from step 108 of FIG. The aforesaid reset signal is applied to the third input ENC_RESET of the encoder clock count 4523 shown in FIG. If an encoder count reset signal of value 'one' is detected in query step 703, then a second interrogation step 704 is reached in which it is determined whether an encoder LH edge is applied to the second AND gate 4522 via a first input while the second comparator 4525 outputs on the output side a value 'one', with which the latter signals that the condition ENC ≠ Y is fulfilled.

Das zweite AND-Gatter 4522 gibt ausgangsseitig einen Wert 'Eins' auf den zweiten Eingang CLK_up des Encodertaktzählers ab, was dazu führt, dass im folgenden Schritt 705 der Zählwert um den Wert 'Eins' inkrementiert wird, so dass der Zählwert ENC := ENC +1 erreicht wird. Nachfolgend wird zu einem dritten Abfrageschritt 706 verzweigt.The second AND gate 4522 outputs a value 'one' on the output side to the second input CLK_up of the encoder clock counter, which results in the step 705 being incremented by the value 'one' so that the count value ENC: = ENC +1 is achieved. Subsequently, a branch is made to a third interrogation step 706.

Wenn aber keine Encoder LH-Flanke über einen ersten Eingang dem zweiten AND-Gatter 4522 zugeführt wird und die Bedingung ENC ≠ Y nicht erfüllt ist, dann wird vom zweiten Abfrageschritt 704 auf den dritten Abfrageschritt 706 verzweigt.If, however, no encoder LH edge is supplied via a first input to the second AND gate 4522 and the condition ENC ≠ Y is not fulfilled, then the second query step 704 branches to the third query step 706.

Im dritten Abfrageschritt 706 wird vom ersten Vergleicher 4524 festgestellt, dass der Zählwert ENC ungleich dem Zählwert 'Null' ist. In diesem Fall wird zum vierten Abfrageschritt 707 verzweigt. Anderenfalls wird zum ersten Abfrageschritt 703 zurückverzweigt. Im vierten Abfrageschritt 707 wird geprüft, ob dass über den ersten Eingang des ersten AND-Gatter 4521 zugeführte DEC-ENC-Signal den Wert 'Eins' hat. In diesem Fall wird vom ersten AND-Gatter 4521 ausgangsseitig ein Wert 'Eins' auf den ersten Eingang CLK_down des Encodertaktzählers abgegeben, was dazu führt, dass im folgenden Schritt 708 der Zählwert um den Wert 'Eins' dekrementiert wird, so dass der Zählwert ENC := ENC - 1 erreicht wird. Anderenfalls wird vom vierten Abfrageschritt 707 auf den ersten Abfrageschritt 703 zurückverzweigt. Anschließend wird vom Schritt 708 auf den ersten Abfrageschritt 703 zurückverzweigt.In the third interrogation step 706, the first comparator 4524 determines that the count ENC is not equal to the count value 'zero'. In this case, a branch is made to the fourth interrogation step 707. Otherwise it becomes the first query step 703 branches back. In the fourth interrogation step 707, it is checked whether the DEC ENC signal supplied via the first input of the first AND gate 4521 has the value 'one'. In this case, the first AND gate 4521 outputs a value 'one' on the output side to the first input CLK_down of the encoder clock counter, which means that in the following step 708 the count value is decremented by the value 'one', so that the count value ENC : = ENC - 1 is reached. Otherwise, the fourth interrogation step 707 branches back to the first interrogation step 703. Subsequently, branching back from step 708 to the first query step 703.

In der Figur 7b ist ein Impuls/Zeit-Diagramm für die Druckerfehlerreduzierung dargestellt. Nach dem Start werden in der Routine 100 der Druckersteuerung das Rücksetzsignal Encoderzähler_Reset und das Verringerungssignal DEC_ENC auf den Wert 'Null' gesetzt. Mehrere Encoderimpulse treten in einem zu geringen zeitlichen Abstand über einen längeren Zeitabschnitt auf. Bei dem Impuls/Zeit-Diagramm der Figur 7b ist der vorgenannte Zeitabschnitt jedoch länger, als bei dem Impuls/Zeit-Diagramm der Figur 1f.FIG. 7b shows a pulse / time diagram for the printer error reduction. After the start, in the routine 100 of the printer controller, the reset signal Encoder_zähler_Reset and the decrease signal DEC_ENC are set to the value 'zero'. Several encoder pulses occur in too short a time interval over a longer period of time. In the pulse / time diagram of Figure 7b, however, the aforementioned period is longer than in the pulse / time diagram of Figure 1f.

Nach dem ein erster Encoderimpuls auftritt, beginnt zum Zeitpunkt t0 eine erste Periode, um die Pixeldaten für den ersten Druckzyklus per DMA-Zyklen in die Zwischenspeicher zu laden. Zum Zeitpunkt t1 wird dann der vorgenannte Encodertaktzähler 4523 durch das auf den Wert 'Eins' gesetzte Rücksetzsignal Encoderzähler_Reset := 1 (Figur 5, Schritt 108) freigeschaltet. Beim Zählwert 'Null' ist die Bedingung ENC ≠ Y erfüllt, damit der vorgenannte Encodertaktzähler mit jeder positiven Encoderflanke des Encodersignals e um den Wert 'Eins' inkrementiert wird. Zum Zeitpunkt t2 tritt ein zweiter Encoderimpuls auf und der vorgenannte Encodertaktzähler wird inkrementiert und hat nun den Zählwert 'Eins'. Der Ausgang K des ersten Vergleichers 4524 (Fig. 6) gibt dann den Binärwert 'Eins' ab, der am Eingang des ersten AND-Gatters 4521 anliegt. Der Ausgang Q1 bzw. K bleiben bis zum Zeitpunkt t3 auf den Binärwert 'Eins' gesetzt. In Abhängigkeit vom zeitlichen Abstand benachbarter Encoderimpulse wird entweder das Inkrementieren weiter fortgesetzt, solange ein vorbestimmter oberer Grenzwert Y nicht erreicht ist, oder der Zählwert kann beim Auftreten eines Druckzyklusses dekrementiert werden. Zum Zeitpunkt t3 werden eine zweite Periode mit DMA-Zyklen und ein erster Druckzyklus für die bei der vorangehenden ersten DMA-Periode mit DMA-Zyklen geladenen Pixeldaten eines Datenstrings gestartet. Ein von der Druckersteuerung 45 generiertes impulsförmiges Verringerungs-Signal DEC_ENC wird an die Logik 452 abgegeben, was zur Dekrementierung und zu dem Ergebnis führt, dass der Zählwert wieder den Wert 'Null' hat.After a first encoder pulse occurs, a first period begins at time t 0 to load the pixel data for the first print cycle into the latches via DMA cycles. At the time t 1 , the aforementioned encoder clock counter 4523 is then enabled by the reset signal Encoderzähler_Reset: = 1 set to the value 'one' (FIG. 5, step 108). With the count value 'zero', the condition ENC ≠ Y is fulfilled, so that the aforementioned encoder clock counter is incremented by the value 'one' with each positive encoder edge of the encoder signal e. At time t 2 , a second encoder pulse occurs and the aforementioned encoder clock counter is incremented and now has the count value 'one'. The output K of the first comparator 4524 (FIG. 6) then outputs the binary value 'one' which is applied to the input of the first AND gate 4521. The output Q1 or K remain set to the binary value 'one' until the time t 3 . Depending on the time interval between adjacent encoder pulses either the incrementing is continued as long as a predetermined upper limit value Y is not reached, or the count value can be decremented upon the occurrence of a printing cycle. At time t 3 , a second period is started with DMA cycles and a first print cycle for the pixel data of a data string loaded in the preceding first DMA period with DMA cycles. A pulse-shaped decrease signal DEC_ENC generated by the printer controller 45 is output to the logic 452, resulting in decrementing and the result that the count value again has the value 'zero'.

Ab dem Zeitpunkt t3 wird der zuerst genannte Zwischenspeicher der Druckdatensteuerung 4 zum Drucken eines Datenstrings ausgelesen. Zugleich werden die Pixeldaten für einen zweiten Druckzyklus per DMA in den jeweils anderen Zwischenspeicher der Druckdatensteuerung 4 geladen. Zum Zeitpunkt t4 tritt bereits ein dritter Encoderimpuls auf, bevor ein dritter Druckzyklus gestartet werden kann. Die Ausgänge Q1 bzw. K bleiben bis zum Zeitpunkt t5 auf den Binärwert 'Eins' gesetzt. Zum Zeitpunkt t5 werden ein zweiter Druckzyklus und eine dritte DMA-Periode gestartet. Der zeitliche Abstand der nachfolgenden Zeitpunkte t6 und t7, t8 und t9 sowie t10 und t11 wächst soweit an, dass zum Zeitpunkt t11 der siebente Encoderimpuls vor der sechsten DMA-Periode wirksam wird. In einem solchen Fall wird der Encodertaktzähler nicht mehr im gleichen Maße dekrementiert wie inkrementiert. Infolge dessen wächst der Zählwert an. Trotz eines laufenden Druckzyklusses überprüft der erste Vergleicher 4524 der vorgenannten Logik 452, ob der Zählerinhalt ungleich Null ist. Ist das der Fall, wird auf ein Verringerungssignal DEC_ENC gewartet. Wird ein Druckzyklus gestartet, dann gibt die Druckersteuerung ein Verringerungssignal DEC_ENC ab. Zum Zeitpunkt t11 wird der Encodertaktzähler vor dem Dekrementieren noch inkrementiert. Die Ausgänge Q1 bzw. K bleiben vom Zeitpunkt t10 bis zum Zeitpunkt t11 auf den Binärwert 'Eins' gesetzt und wechseln dann auf den Wert 'Null'. Zugleich wechselt der Ausgang Q2 auf den Binärwert 'Eins', d.h. der Zählerinhalt ist zum Zeitpunkt t11 auf den Zählwert 'Zwei' angestiegen. Dieser Zählerzustand hält nur bis zum Zeitpunkt t12 an, da zum Zeitpunkt t11 auch ein Verringerungssignal DEC_ENC mit dem Wert 'Eins' an den Encodertaktzähler abgegeben wurde. Der Ausgang Q2 wechselt wieder auf den Binärwert 'Null' und der Ausgang Q1 wechselt wieder auf den Binärwert 'Eins' entsprechend dem dekrementierten Zählwert 'Eins'. Zum Zeitpunkt t13 wird der achte Encoderimpuls abgegeben und es herrschen vergleichbare Zustände wie zum Zeitpunkt t2 mit der Ausnahme, dass der Encodertaktzählwert vor dem Inkrementieren nun auf dem vorgenannten Wert 'Eins' steht. Auch der achte Encoderimpuls zum Zeitpunkt t13 ist vor der siebenten DMA-Periode mit DMA-Zyklen wirksam. Der Ausgang Q2 wechselt wieder auf den Binärwert 'Eins' und der Ausgang Q1 wechselt wieder auf den Binärwert 'Null' entsprechend dem inkrementierten Zählwert 'Zwei'. Dieser Zählerzustand hält nur bis zum Zeitpunkt t14 an, da zum Zeitpunkt t13 ebenfalls ein Dekrementierungssignal DEC_ENC mit dem Wert 'Eins' an den Encodertaktzähler abgegeben wurde.From the time t 3 , the first-mentioned buffer of the print data controller 4 is read out for printing a data string. At the same time, the pixel data for a second print cycle are loaded by DMA into the respective other buffer of the print data controller 4. At time t 4 , a third encoder pulse already occurs before a third print cycle can be started. The outputs Q1 and K remain set to the binary value 'one' until time t 5 . At time t 5 , a second print cycle and a third DMA period are started. The time interval of the subsequent times t 6 and t 7 , t 8 and t 9 and t 10 and t 11 increases to the extent that at time t 11 of the seventh encoder pulse before the sixth DMA period is effective. In such a case, the encoder clock counter is no longer decremented to the same extent as it is incremented. As a result, the count increases. Despite a current print cycle, the first comparator 4524 checks the aforementioned logic 452 as to whether the counter contents are nonzero. If this is the case, it is waited for a reduction signal DEC_ENC. When a print cycle is started, the printer controller outputs a decrease signal DEC_ENC. At time t 11 , the encoder clock counter is still incremented before decrementing. The outputs Q1 and K remain set to the binary value 'one' from time t 10 to time t 11 and then change to the value 'zero'. At the same time, the output Q2 changes to the binary value 'one', ie the counter content has risen to the count value 'two' at time t 11 . This counter state stops only until the time t 12 , since at the time t 11 , a reduction signal DEC_ENC with the value 'one' to the encoder clock counter was delivered. Output Q2 returns to binary 'zero' and output Q1 returns to binary 'one' according to the decremented 'one' count. At time t 13 , the eighth encoder pulse is output and there are comparable conditions as at time t 2 with the exception that the encoder clock count before incrementing is now at the aforementioned value 'one'. Also, the eighth encoder pulse at time t 13 is effective before the seventh DMA period with DMA cycles. Output Q2 returns to binary 'one' and output Q1 returns to binary 'zero' according to the incremented count 'two'. This counter state stops only until the time t 14 , since at the time t 13 also a decrementing signal DEC_ENC with the value 'one' was delivered to the encoder clock counter.

Nach dem Drucken einer jeden Pixelgruppe wird vom Adressengenerator 44 in der Subroutine 400 überprüft, ob der Zählwert einen Sollwert Z erreicht hat. Ist das der Fall und sind die Daten für den nächsten Druckzyklus per DMA in den Zwischenspeicher geladen, wird der laufende Druckzyklus abgebrochen. In der Figur 1f bzw. 7b führt ein Zählwert - der den Sollwert Z = 1 übersteigt - dazu, dass beim siebenten bzw. beim siebenten und achten Encoderimpuls der laufende Druckzyklus um den schraffiert dargestellten Bereich vorzeitig abgebrochen wird und ein neuer Druckzyklus beginnt.After printing each pixel group, the address generator 44 in the subroutine 400 checks to see if the count has reached a set point Z. If this is the case and the data for the next print cycle is loaded into the buffer by DMA, the current print cycle is aborted. In FIGS. 1f and 7b, a count value-which exceeds the setpoint value Z = 1-causes the current print cycle at the seventh or seventh and eighth encoder impulses to be prematurely terminated by the region shown hatched and a new print cycle to begin.

Zum Zeitpunkt t15 wird der sechste Druckzyklus beendet und ein siebenter Druckzyklus beginnt. Deshalb wird ein Verringerungssignal DEC_ENC mit dem Wert 'Eins' an den Encodertaktzähler abgegeben und der Ausgang Q1 wechselt wieder auf den Binärwert 'Null' entsprechend dem dekrementierten Zählwert 'Null'. Dieser Zählerzustand hält nur bis zum Zeitpunkt t16 an, da der neunte Encoderimpuls abgegeben wurde. Somit wird wieder inkrementiert und der Ausgang Q1 wechselt wieder auf den Binärwert 'Eins' entsprechend dem inkrementierten Zählwert 'Eins'. Das geht weiter so bis eine vorgegebene Anzahl von Druckzyklen abgearbeitet ist. Der Zählwert des Encodertaktzählers wird mit jedem Druckzyklusstart dekrementiert (Figur 1d, 1e, 1f und 7b). Durch dieses Verfahren ergeben sich eine Reihe von Vorteilen. Alle Encoderimpulse mit zu kurzem zeitlichen Abstand starten Druckzyklen, sofern die Encoderimpuls-Periodendauer größer als die DMA-Periode mit DMA-Zyklen ist. Erst bei einer Vielzahl von aufeinanderfolgenden Encoderimpulsen von sehr kurzem zeitlichen Abstand ist mit einer geringen Beeinträchtigung der Druckqualität zu rechnen. Ein resultierender Versatz der zu einer Druckspalte gehörigen Pixeldaten ist im erläuterten Ausführungsbeispiel höchstens gleich dem Abstand einer Druckspalte. Dadurch wird sichergestellt, das die zu einer jeden Druckspalte gehörenden Pixel nicht über mehrere Druckspalten versetzt gedruckt werden. Da nur ein laufender Druckzyklus vorzeitig abgebrochen wird, was in den Figuren 1f bzw. 7b schraffiert dargestellt wird, fehlen im Druckbild entsprechend weniger Pixel als im Extremfall, wenn ein kompletter Druckzyklus fehlt.At time t 15 , the sixth print cycle is ended and a seventh print cycle begins. Therefore, a decrease signal DEC_ENC of value 'one' is output to the encoder clock counter, and the output Q1 returns to the binary value 'zero' corresponding to the decremented count value 'zero'. This counter state will only last until time t 16 , since the ninth encoder pulse has been delivered. Thus, it is again incremented and the output Q1 changes back to the binary value 'one' corresponding to the incremented count 'one'. This continues until a predetermined number of printing cycles has been completed. The count of the encoder clock counter is decremented with each print cycle start (Figures 1d, 1e, 1f, and 7b). This process provides a number of advantages. All encoder pulses with too short a time Start distance printing cycles if the encoder pulse period is greater than the DMA period with DMA cycles. Only with a large number of consecutive encoder pulses of very short time interval is a slight impairment of the print quality to be expected. A resulting offset of the pixel data belonging to a print column is at most equal to the spacing of a print column in the illustrated exemplary embodiment. This ensures that the pixels belonging to each print column are not printed offset across multiple print columns. Since only one running print cycle is aborted prematurely, which is hatched in FIGS. 1f or 7b, fewer pixels are correspondingly missing in the print image than in the extreme case when a complete print cycle is missing.

In der Figur 8 wird ein Blockbild einer Ausführungsform des Adressengenerators gezeigt. Es ist vorgesehen, dass der Adressengenerator 44 eine Ein/Ausgabelogik 444, eine Auswerteeinheit 442 und eine Einheit 441 zur Generierung von Leseadressen aufweist, wobei letztere einen ersten Zähler 4410 für die Primitivadresse und einen zugeordneten erster Vergleicher 4411 für den Vergleich eines Zählwertes P der Primitivadresse mit einem ersten Sollwert aufweist, der von einem ersten Sollwertregister 4412 geliefert wird. Die Einheit 441 umfaßt einen zweiten Zähler 4413 für eine Adressengruppe und ein zugeordneten zweiten Vergleicher 4414 für den Vergleich eines Zählwertes A der Adressengruppe mit einem zweiten Sollwert, der von einem zweiten Sollwertregister 4415 geliefert wird sowie eine Ablaufsteuerung 4401. Letztere arbeitet zusammen mit einer Berechnungseinheit 4402 für den Parameter C, einem WR-Signalgeber 4403, einem LD-Signalgeber 4404, einem PS-Signalgeber 4405, mit den vorgenannten Zählern 4410 und 4413, mit den Vergleichern 4411, 4414, 4418, mit den Registern 4412, 4415 4417 und mit einem AGbusy-Signalgeber 4416.FIG. 8 shows a block diagram of an embodiment of the address generator. It is provided that the address generator 44 has an input / output logic 444, an evaluation unit 442 and a read address generation unit 441, the latter having a first counter 4410 for the primitive address and an associated first comparator 4411 for comparing a count value P of the primitive address with a first setpoint supplied by a first setpoint register 4412. The unit 441 comprises a second counter 4413 for an address group and an associated second comparator 4414 for comparing a count A of the address group with a second set value supplied by a second setpoint register 4415 and a scheduler 4401. The latter works in conjunction with a calculation unit 4402 for the parameter C, a WR signal generator 4403, an LD signal generator 4404, a PS signal generator 4405, with the aforementioned counters 4410 and 4413, with the comparators 4411, 4414, 4418, with the registers 4412, 4415 4417 and with a AGbusy signaling device 4416.

Die Auswerteeinheit 442 umfaßt einen Inverter 4420 für das DMA-busy-Signal, ein AND-Gatter 4423, ein Register 4422 für mindestens einen dritten Sollwert Z und einen dritten Vergleicher 4421, dem der Zählwert des Encodertaktzählers zum Vergleich mit mindestens einem dritten Sollwert Z zugeführt wird. Der Inverter 4420 und der Vergleicher 4421 sind ausgangsseitig je mit einem Eingang des AND-Gatters 4423 verbunden. Wenn im Regelfall nur ENC-Werte von 'Null' bis 'Zwei' auftreten, ist der dritte Sollwert Z = 1. Der dritte Vergleicher 4421 kann einfach aufgebaut sein, indem überprüft wird, dass weder ENC-Werte 'Null' noch 'Eins' auftreten. Beispielsweise sind einerseits die an den Q-Ausgängen des Encodertaktzählers abgegebenen Logik-Signale über ein OR-Gatter und andererseits n Exclusiv-OR-Gatter ausgangsseitig über ein zweites OR-Gatter verknüpft, wobei jedes Exclusiv-OR-Gatter jeweils eine Stelle der n-Bit-Zahl mit einer entsprechenden Stelle der n-Bit-Vergleichszahl des Sollwerts Z = 1 vergleicht und die OR-Gatter-Ausgänge über ein AND-Gatter verknüpft sind, welches das Ausgangssignal des dritten Vergleichers 4421 abgibt. Das AND-Gatter 4423 gibt ausgangsseitig ein Abbruchsignal BO mit dem Wert 'Eins' ab, wenn das negierte DMA-busy-Signal und das Ausgangssignal des dritten Vergleichers 4421 den Wert 'Eins' haben.The evaluation unit 442 includes an inverter 4420 for the DMA busy signal, an AND gate 4423, a register 4422 for at least a third setpoint value Z and a third comparator 4421, the count value the encoder clock counter for comparison with at least one third setpoint Z is supplied. The inverter 4420 and the comparator 4421 are each connected to an input of the AND gate 4423 on the output side. Normally, when only ENC values from 'zero' to 'two' occur, the third setpoint Z = 1. The third comparator 4421 may be simply constructed by checking that neither ENC values are 'zero' nor 'one'. occur. For example, on the one hand, the logic signals output at the Q outputs of the encoder clock counter are linked via an OR gate and on the other hand n Exclusive OR gates on the output side via a second OR gate, whereby each Exclusive OR gate in each case has one position of the n-gate. Bit number with a corresponding position of the n-bit comparison number of the setpoint Z = 1 compares and the OR gate outputs are connected via an AND gate, which outputs the output signal of the third comparator 4421. The AND gate 4423 outputs an abort signal BO having the value 'one' on the output side when the negated DMA busy signal and the output signal of the third comparator 4421 have the value 'one'.

Es ist weiterhin vorgesehen, dass die Ein/Ausgabelogik 444 des Adressengenerators 44 einen Eingang 4450 für das DMA-busy-Signal, einen Eingang 4451 für das ENC-Signal, einen Eingang 4444 für den Empfang des Adressengeneratorstartsignals und ein Register 4445 für das zu sendende Adressengeneratorbusysignal aufweist.It is further contemplated that the input / output logic 444 of the address generator 44 has an input 4450 for the DMA busy signal, an input 4451 for the ENC signal, an input 4444 for receiving the address generator start signal and a register 4445 for the signal to be sent Addressgeneratorbusysignal comprises.

Alternativ kann die Druckersteuerung den o.g. Vergleich des ENC-Signals mit dem Sollwert Z bereits umfassen, um im Ergebnis des Vergleichs ein Abbruchsignal BO zu erzeugen. Die E/A-Einheit 454 der Druckersteuerung 45 enthält dann einen BO-Ausgang statt dem ENC-Ausgang 4560. Die Ein/Ausgabelogik 444 des Adressengenerators 44 muß nur noch einen BO-Eingang statt dem ENC-Eingang 4451 enthalten, dem das Abbruchsignal BO statt Zählwert ENC zugeführt wird. Damit entfallen die Steuerleitung 50, der DMA-busy-Eingang 4450 und die Auswerteeinheit 442 im Adressengenerator 44. Eine entsprechende Auswerteeinheit 453 wird statt dessen in der Druckersteuerung 45 realisiert, um den o.g. Vergleich des ENC-Signals mit dem Sollwert Z durchzuführen und im Ergebnis des Vergleichs ein Abbruchsignal für den Druckzyklus zu erzeugen, dass dem Adressengenerator 44 zugeführt wird.Alternatively, the printer controller may already include the above-mentioned comparison of the ENC signal with the setpoint value Z, in order to generate an abort signal BO as a result of the comparison. The I / O unit 454 of the printer controller 45 then includes a BO output instead of the ENC output 4560. The input / output logic 444 of the address generator 44 need only contain a BO input instead of the ENC input 4451 which has the abort signal BO instead of the count ENC is supplied. This eliminates the control line 50, the DMA busy input 4450 and the evaluation 442 in the address generator 44. A corresponding evaluation unit 453 is instead realized in the printer controller 45 to perform the above comparison of the ENC signal with the setpoint Z and the result the comparison to generate an abort signal for the printing cycle that is supplied to the address generator 44.

Die Betriebsweise des Adressengenerator 44 wird nachfolgend genauer beschrieben. Nach einer Bildung des Adressenlesesignals AR und nach einer Inkrementierung eines Zählwertes P für die Primitivadresse um den Wert 'Eins' wird der Vergleich im ersten Vergleicher 4411 vorgenommen, wobei nachdem nacheinander eine Anzahl an Leseadressen generiert, ein Überschreiten des ersten Sollwertes bzw. ein Überlauf des Zählers 4410 für die Primitivadresse ausgelöst, ein Ladesignal LD ausgegeben und eine Subroutine zur Ausgabe gestartet wird, der Zähler 4413 für eine Adressengruppe um den Wert 'Eins' inkrementiert wird, wobei ein Unterschreiten des zweiten Sollwertes beim Vergleich im zweiten Vergleicher 4414 ein Rücksetzen des Zählwertes P der Primitivadresse auf den Wert 'Eins' und ein Generieren einer nachfolgenden Leseadresse auslöst, die zu einer weiteren Adressengruppe zugehörig ist und wobei beim Eintreten einer vorbestimmten Bedingung ein laufender Druckzyklus vorzeitig abgebrochen wird. Letzteres ist dann der Fall, wenn einerseits ein Überschreiten des dritten Sollwertes beim Vergleich im dritten Vergleicher 4421 festgestellt und andererseits von der DMA-Steuerung ein DMA-busy-Signal mit dem Wert 'Null' abgegeben wird, welches anzeigt, dass alle DMA-Zyklen zum Zugriff auf den Pixelspeicher 7 beendet sind, die den nächsten Druckzyklus vorbereiten.The operation of the address generator 44 will be described in more detail below. After a formation of the address read signal AR and after an incrementation of a count value P for the primitive address by the value 'one', the comparison is made in the first comparator 4411, wherein after successively generates a number of read addresses, exceeding the first setpoint or an overflow of the Counter 4410 for the primitive address is triggered, a load signal LD is output and a subroutine for output is started, the counter 4413 for an address group is incremented by the value 'one', wherein falling below the second setpoint in the comparison in the second comparator 4414, a reset of the count value P of the primitive address to the value 'one' and generating a subsequent read address associated with a further address group and wherein upon the occurrence of a predetermined condition, a running print cycle is aborted prematurely. The latter is the case when, on the one hand, the third setpoint value is exceeded during comparison in the third comparator 4421 and, on the other hand, a DMA busy signal with the value 'zero' is output by the DMA controller, which indicates that all DMA cycles to access the pixel memory 7 are prepared, which prepare the next printing cycle.

Die Ablaufsteuerung 4401 ist mit einer Berechnungseinheit 4402 für den Parameter C mit einem Signalgeber 4403 zur Erzeugung eines Schreibsignals WR, mit einem Signalgeber 4404 zur Erzeugung eines Ladesignals LD, mit einem weiteren Signalgeber 4405 zur Erzeugung eines Druckstartsignals PS zum Veranlassen des Ausdruckens der Pixeldaten aus einem Datenstring und mit dem Busy-Signalgeber 4416 verbunden. Die Ein/Ausgabelogik 444 weist auch ein Register 4446 für die Abgabe der Primitivadresse AP, ein Register 4447 für das Schreibsignal WR, ein Register 4448 für das Ladesignal LD, ein Register 4449 für die Ausgabe des Adressenlesesignals AR und ein Register 4440 für die Ausgabe des Druckstartsignals PS auf.The process controller 4401 is provided with a parameter C calculating unit 4402 having a signal generator 4403 for generating a write signal WR, a signal generator 4404 for generating a load signal LD, and another signal generator 4405 for generating a print start signal PS for causing the pixel data to be printed out Data string and connected to the Busy signal generator 4416. The input / output logic 444 also has a register 4446 for the delivery of the primitive address AP, a register 4447 for the write signal WR, a register 4448 for the load signal LD, a register 4449 for the output of the address read signal AR and a register 4440 for the output of the Pressure start signal PS on.

Die Figur 9 zeigt ein Blockschaltbild einer DMA-Steuerung. Die DMA-Steuerung 43 weist mindestens eine Ablaufsteuerung 4301, einen Wortzähler 4302, ein Sollwertregister 4303, eine Ein/Ausgabelogik 4304, einen Speicher 4305, einen Vergleicher 4306 und ein Schieberegister 4307 auf, welche miteinander verschaltet sind, um DMA-Zyklen durchzuführen. In die Ablaufsteuerung 4301 ist eine weitere Verarbeitungseinheit integriert, mit welcher die vorgenannten Blöcke 4302 bis 4307 schaltungsmäßig verbunden sind und welche weitere Vergleicher (nicht gezeigt) aufweist. Um den Signalfluss innerhalb der Druckdatensteuerung 4 und zwischen der DMA-Steuerung 43 und dem Mikroprozessor 6 zu gewährleisten, ist weiterhin vorgesehen, dass - in nicht gezeigter Weise - die Ein/Ausgabelogik 4304 mindestens einen Eingang 43042 für das empfangene DMA-Start-Signal und Register 43043 bis 43046 für die zu sendenden Select-Signale, ein Register 43047 für das zusendende DMA-busy-Signal, ein Register 43048 für das zusendende Anforderungssignal DMAREQ, einen Eingang 43049 für das empfangene Quittungssignal DMAACK, einen Eingang 43050 für das Umschaltsignal (SO) und Register 43051 für das Adressenschreibsignal AW aufweist.FIG. 9 shows a block diagram of a DMA controller. The DMA controller 43 has at least one scheduler 4301, a word counter 4302, a setpoint register 4303, an input / output logic 4304, a memory 4305, a comparator 4306, and a shift register 4307, which are interconnected to perform DMA cycles. Integrated into the flow control 4301 is a further processing unit to which the aforementioned blocks 4302 to 4307 are connected in circuit and which has further comparators (not shown). In order to ensure the signal flow within the print data controller 4 and between the DMA controller 43 and the microprocessor 6, it is further provided that - not shown - the input / output logic 4304 at least one input 43042 for the received DMA start signal and Registers 43043 to 43046 for the select signals to be transmitted, a DMA busy signal register 43047, a request signal DMA REQ register 43048, an input acknowledgment signal DMA ACK input 43049, an input 43050 for the switching signal (SO) and register 43051 for the address write signal AW.

In der Figur 10 ist ein Flussplan zur DMA-Steuerung dargestellt. Eine solche Subroutine 300 wird aufgerufen, wenn von der Druckersteuerung 45 ein DMA-Startsignal an die DMA-Steuerung 43 ausgegeben wird (Schritt 301). In einem Schritt 302 der Subroutine 300 wird ein Wortzählwert W auf den Wert 'Null' gesetzt. Ein DMA-busy-Signal wird auf den Wert 'Eins' gesetzt und zur Druckersteuerung 45 übermittelt. In einem weiteren Schritt 303 der Subroutine 300 wird ein DMA-Anforderungssignal DMAREQ mit einem Wert 'Null' an den Mikroprozessor 6 übermittelt. Letzterer übermittelt ein Quittungssignal DMAACK an die DMA-Steuerung 43. In einem ersten Abfrageschritt 304 der Subroutine 300 wird beim Nichtempfangen des Quittungssignals DMAACK mit einem Wert 'Null' in eine Warteschleife verzweigt. Vom ersten Abfrageschritt 304 der Subroutine 300 wird beim Empfangen des Quittungssignals DMAACK mit einem Wert 'Null' zu einem zweiten Abfrageschritt 305 weitergesprungen, wobei der Zustand des Umschaltsignals SO ermittelt wird. Hat das Umschaltsignal SO den Zustand gleich Eins, dann wird zu einem dritten Abfrageschritt 306 verzweigt. Anderenfalls hat das Umschaltsignal SO den Zustand gleich 'Null' und es wird zu einem vierten Abfrageschritt 309 verzweigt. Im dritten Abfrageschritt 306 wird geprüft, ob der Wortzähler einen Wert W kleiner als zwanzig aufweist. Für diesen Fall (W < 20) wird auf einen Schritt 307 verzweigt. Im Schritt 307 wird das erste Auswahlsignal für den ersten Druckkopf Sel_1.1. auf den Wert 'Eins' umgeschaltet und das Adressenschreibsignal AW erhält den aktuellen Wert W des Wortzählers. Im nachfolgenden Schritt 312 werden die Pixeldaten in die Zwischenspeicher der Pixeldatenänderungseinheiten 41, 42 übernommen. Anschließend werden im Schritt 313 alle Auswahlsignale auf den Wert 'Null' umgeschaltet und ein DMA-Anforderungssignal DMAREQ mit einem Wert 'Eins' an den Mikroprozessor 6 übermittelt.FIG. 10 shows a flowchart for DMA control. Such a subroutine 300 is called when a DMA start signal is output from the printer controller 45 to the DMA controller 43 (step 301). In a step 302 of the subroutine 300, a word count W is set to the value 'zero'. A DMA-busy signal is set to the value 'one' and transmitted to the printer controller 45. In a further step 303 of the subroutine 300, a DMA request signal DMA REQ having a value 'zero' is transmitted to the microprocessor 6. The latter transmits an acknowledgment signal DMA ACK to the DMA controller 43. In a first interrogation step 304 of the subroutine 300, a non-receipt of the acknowledgment signal DMA ACK branches to a waiting loop with a value 'zero'. From the first interrogation step 304 of the subroutine 300, upon receiving the acknowledgment signal DMA ACK having a value 'zero', a second interrogation step 305 is skipped, wherein the state of the switching signal SO is determined. If the switching signal SO has the state equal to one, then a branch is made to a third interrogation step 306. Otherwise, the switching signal SO has the state equal to 'zero' and a branch is made to a fourth interrogation step 309. In the third interrogation step 306, it is checked whether the word counter has a value W smaller than twenty. For this case (W <20), a branch is made to a step 307. In step 307, the first selection signal for the first print head Sel_1.1. switched to the value 'one' and the address write signal AW receives the current value W of the word counter. In the subsequent step 312, the pixel data are transferred to the latches of the pixel data modification units 41, 42. Subsequently, in step 313, all selection signals are switched to the value 'zero' and a DMA request signal DMA REQ with a value 'one' is transmitted to the microprocessor 6.

Dann wird im Schritt 314 der Wortzählwert W mit dem Wert 'Eins' inkrementiert. In einem anschließenden Abfrageschritt 315 wird geprüft, ob der Wortzähler einen Wert W kleiner als vierzig aufweist. Für diesen Fall, in welchem der Wortzähler einen solchen Wert W < 40 aufweist, wird auf einen Schritt 303 zurückverzweigt. Anderenfalls wird auf einen Schritt 316 verzweigt, um ein Signal DMA-busy mit dem Wert 'Null' auszugeben, bevor das Ende (Schritt 317) der Subroutine 300 erreicht ist. Anderenfalls, wenn also im dritten Abfrageschritt 306 festgestellt wird, dass der Wortzählwert W nicht kleiner als zwanzig ist, dann wird auf einen Schritt 308 verzweigt, in welchem das erste Auswahlsignal für den zweiten Druckkopf Sel_2.1. auf den Wert 'Eins' umgeschaltet wird und das Adressenschreibsignal AW den um den Wert 'Zwanzig' verminderten aktuellen Wert W des Wortzählers erhält. Im nachfolgenden Schritt 312 werden die Pixeldaten wieder in den Zwischenspeicher übernommen.Then, in step 314, the word count W is incremented with the value 'one'. In a subsequent query step 315, it is checked whether the word counter has a value W less than forty. For this case, in which the word counter has such a value W <40, a branch back to a step 303. Otherwise, a branch is made to a step 316 to output a signal DMA busy having the value 'zero' before the end (step 317) of the subroutine 300 is reached. Otherwise, if it is determined in the third query step 306 that the word count W is not less than twenty, then a branch is made to a step 308 in which the first selection signal for the second print head Sel_2.1. is switched to the value 'one' and the address write signal AW is replaced by the value 'twenty' reduced current value W of the word counter. In the subsequent step 312, the pixel data are taken back into the buffer.

Im vorgenannten vierten Abfrageschritt 309 wird ebenfalls geprüft, ob der Wortzähler den vorbestimmten Wert W < 20 aufweist, wobei zuvor im Abfrageschritt 305 festgestellt wurde, das binäre Umschaltsignal SO den Wert gleich Eins nicht aufweist. Wenn der Wortzähler den vorbestimmten Wert W < 20 aufweist, dann wird im Schritt 310 das zweite Auswahlsignal für den ersten Druckkopf Sel_1.2. auf den Wert 'Eins' umgeschaltet und das Adressenschreibsignal AW erhält den aktuellen Wert W des Wortzählers. Im nachfolgenden Schritt 312 werden die Pixeldaten wieder in den Zwischenspeicher übernommen.In the aforementioned fourth interrogation step 309, it is also checked whether the word counter has the predetermined value W <20, it being previously determined in the interrogation step 305 that the binary switching signal SO does not have the value equal to one. If the word counter has the predetermined value W <20, then in step 310, the second selection signal for the first printhead Sel_1.2. switched to the value 'one' and the address write signal AW receives the current value W of the word counter. In the subsequent step 312, the pixel data are taken back into the buffer.

Anderenfalls, wenn der Wortzähler den vorbestimmten Wert W < 20 nicht aufweist, wird vom vierten Abfrageschritt 309 auf einen Schritt 311 verzweigt, in welchem das zweite Auswahlsignal für den zweiten Druckkopf Sel_2.2 auf den Wert 'Eins' umgeschaltet wird und das Adressenschreibsignal AW den um den Wert 'Zwanzig' veminderten aktuellen Wert W des Wortzählers erhält. Im nachfolgenden Schritt 312 werden die Pixeldaten wieder in den Zwischenspeicher übernommen.Otherwise, if the word counter does not have the predetermined value W <20, the fourth interrogation step 309 branches to a step 311 in which the second selection signal for the second printhead Sel_2.2 is switched to the value 'one' and the address write signal AW the by the value 'Twenty' reduced actual value W of the word counter receives. In the subsequent step 312, the pixel data are taken back into the buffer.

Die Figur 11 zeigt einen Flussplan zur Adressengenerierung. Die Adressen von gespeicherten binären Pixeldaten beginnen bei beiden Druckköpfen mit der Startadresse Null, die auf folgende Weise für das Adressenlesesignal AR generiert wird. Nach dem Start im Schritt 401 werden im Schritt 402 die Anfangswerte aufgerufen, A := 1 für einen Zähler der Adressengruppe, P:= 1 für einen Zähler der Primitivadresse AP und C:= 255 für einen Zähler des Adressenlesesignals AR. Im ersten Abfrageschritt 403 wird gefragt, ob der Zahlenwert P des Zählers der Primitivadresse gleich dem Wert Eins ist. Wenn das der Fall ist, wird der zweite Abfrageschritt 404 erreicht. Hier wird ermittelt, ob der Zähler A den Wert 8 oder 9 oder 15 oder 16 erreicht hat. Ist das der Fall, dann wird der Schritt 406 ausgeführt und vom Zahlenwert C des Zählers des Adressenlesesignals AR wird der Zahlenwert 255 subtrahiert. Im nachfolgenden dritten Abfrageschritt 418 wird festgestellt, dass der Zahlenwert C des Zählers des Adressenlesesignals AR größer/gleich dem Wert Null ist und dann zum Schritt 419 zur Ausgabe des Adressenlesesignals AR verzweigt. Anderenfalls wird auf den Schritt 420 verzweigt, um zum negativen Zahlenwert einen Zahlenwert 512 hinzu zu addieren. Nach den Schritten 419 und 420 werden die Schritte 425, 426 und 427 durchlaufen.FIG. 11 shows a flowchart for address generation. The addresses of stored binary pixel data begin at both printheads with the start address zero, which is generated in the following manner for the address read signal AR. After the start in step 401, the initial values are called in step 402, A: = 1 for a counter of the address group, P: = 1 for a counter of the primitive address AP and C: = 255 for a counter of the address read signal AR. In the first query step 403, it is asked if the numerical value P of the counter of the primitive address is equal to the value one. If so, the second query step 404 is reached. Here it is determined whether the counter A has reached the value 8 or 9 or 15 or 16. If this is the case, then the step 406 is executed and the numerical value C is subtracted from the numerical value C of the counter of the address read signal AR. In the subsequent third interrogation step 418, it is determined that the numerical value C of the counter of the address read signal AR is greater than or equal to the value zero and then branches to step 419 for the output of the address read signal AR. Otherwise, a branch is made to step 420 in order to add a numerical value 512 to the negative numerical value. After steps 419 and 420, steps 425, 426 and 427 are traversed.

Im Schritt 425 wird der Zahlenwert für den Zähler der Primitivadresse AP ausgegeben. Dann wird im Schritt 426 ein Schreibsignal WR für den Eintrag des binaren Pixeldatums in ein Sammelregister abgegeben. Im Schritt 427 wird der Zahlenwert für den Zähler der Primitivadresse AP um den Wert Eins inkrementiert. Dann ist ein vierter Abfrageschritt 428 erreicht und es wird festgestellt, dass der Zahlenwert P des Zählers der Primitivadresse AP den Grenzwert 15 noch nicht erreicht hat. Anschließend wird auf den ersten Abfrageschritt 403 zurückverzweigt.In step 425, the numerical value for the counter of the primitive address AP is output. Then, in step 426, a write signal WR for the binary pixel data entry is output to a collection register. in the Step 427, the numerical value for the numerator of the primitive address AP is incremented by the value one. Then, a fourth interrogation step 428 is reached and it is determined that the numerical value P of the counter of the primitive address AP has not yet reached the limit value 15. Subsequently, branching back to the first query step 403.

Im ersten Abfrageschritt 403 wird nun festgestellt, dass der Zahlenwert P des Zählers der Primitivadresse nicht gleich dem Wert Eins ist und zum fünften Abfrageschritt 407 verzweigt. Wenn der der Zahlenwert P ungerade ist, dann wird zum sechsten Abfrageschritt 408 verzweigt, in welchem geprüft wird, ob der Zähler der Adressengruppe den Wert 8 oder 15 hat. Ist das der Fall, dann wird auf einen Schritt 409 verzweigt und zum Zahlenwert C des Zählers des Adressenlesesignals AR wird der Zahlenwert 3 hinzuaddiert. Anderenfalls wird vom sechsten Abfrageschritt 408 auf einen Schritt 410 verzweigt und zum Zahlenwert C des Zählers des Adressenlesesignals AR wird der Zahlenwert 47 hinzuaddiert.In the first query step 403, it is now determined that the numerical value P of the counter of the primitive address is not equal to the value one and branches to the fifth interrogation step 407. If the numerical value P is odd, then the program branches to the sixth query step 408, in which it is checked whether the counter of the address group has the value 8 or 15. If this is the case, then a branch is made to a step 409 and the numerical value 3 is added to the numerical value C of the counter of the address read signal AR. Otherwise, branching is made from the sixth interrogation step 408 to a step 410, and the numerical value 47 is added to the numerical value C of the counter of the address read signal AR.

Wenn aber der Zahlenwert P gerade ist, dann wird vom fünften Abfrageschritt 407 zum siebenten Abfrageschritt 415 verzweigt, in welchem geprüft wird, ob der Zähler der Adressengruppe den Wert 8 oder 15 hat. Ist das der Fall, dann wird auf einen Schritt 416 verzweigt und zum Zahlenwert C des Zählers des Adressenlesesignals AR wird der Zahlenwert 41 hinzuaddiert. Anderenfalls wird vom siebenten Abfrageschritt 415 auf einen Schritt 417 verzweigt und zum Zahlenwert C des Zählers des Adressenlesesignals AR wird der Zahlenwert 3 subtrahiert.If, however, the numerical value P is even, then the fifth query step 407 branches to the seventh query step 415, in which it is checked whether the counter of the address group has the value 8 or 15. If this is the case, then a branch is made to a step 416 and the numerical value 41 is added to the numerical value C of the counter of the address read signal AR. Otherwise, a branch is made from the seventh interrogation step 415 to a step 417 and the numerical value C is subtracted from the numerical value C of the counter of the address read signal AR.

Von den vorgenannten Schritten 405, 406, 409, 410, 416 und 417 ausgehend wird der dritte Abfrageschritt 418 wiedererreicht und festgestellt, ob der Zahlenwert C des Zählers des Adressenlesesignals AR größer/gleich dem Wert Null ist. Nach den Schritten 419 und 420 werden wieder die Schritte 425, 426 und 427 durchlaufen bis der vierte Abfrageschritt 428 erreicht wird, in welchem festgestellt wird, ob der Zahlenwert P des Zählers der Primitivadresse AP den Grenzwert 15 schon erreicht hat. Ist das der Fall, dann wird auf einen Schritt 429 verzweigt und ein Ladesignal zum Laden des Schieberegisters abgegeben. Um die Pixeldaten auszudrucken wird im Schritt 430 eine Subroutine 500 gestartet, in welcher u.a. ein Schiebetaktsignal SCL an das Schieberegister angelegt wird, um von letzterem seriell die Pixeldaten auszugeben. Anschließend wird im Schritt 431 der Wert des Zählers der Adressengruppe um den Wert Eins inkrementiert. Dann wird ein achter Abfrageschritt 432 erreicht, in welchem festgestellt wird, ob der Zahlenwert A des Zählers der Adressengruppe den Grenzwert 23 schon erreicht hat. Ist das nicht der Fall, dann wird ein neunter Abfrageschritt 433 erreicht, in welchem festgestellt wird, ob das DMA-busy-Signal mit dem Wert 'Null' bereits vorliegt und ob der Zahlenwert ENC des Zählers der Adressengruppe den dritten Sollwert Z überschreitet. Ist das aber nicht der Fall, dann wird auf den ersten Abfrageschritt 403 zurückverzweigt. Ist aber der dritten Sollwert Z überschritten, dann wird im Schritt 434 ein Signal AG-busy := 0 ausgegeben und die Subroutine 400 im Schritt 435 gestoppt.From the aforementioned steps 405, 406, 409, 410, 416 and 417, the third interrogation step 418 is reached again and it is determined whether the numerical value C of the counter of the address read signal AR is greater than or equal to the value zero. After steps 419 and 420, steps 425, 426 and 427 are again run until the fourth interrogation step 428 is reached, in which it is determined whether the numerical value P of the counter of the primitive address AP has already reached the limit value 15. If this is the case, then a branch is made to a step 429 and a charging signal for loading the shift register is output. In order to print out the pixel data, a subroutine 500 is started in step 430, in which inter alia a shift clock signal SCL is applied the shift register is applied to serially output the pixel data from the latter. Subsequently, in step 431, the value of the counter of the address group is incremented by the value one. Then, an eighth query step 432 is reached in which it is determined whether the numerical value A of the counter of the address group has already reached the limit value 23. If this is not the case, then a ninth query step 433 is reached, in which it is determined whether the DMA busy signal with the value 'zero' already exists and whether the numerical value ENC of the counter of the address group exceeds the third setpoint Z. If this is not the case, then the first query step 403 branches back. However, if the third setpoint value Z is exceeded, then a signal AG busy: = 0 is output in step 434 and the subroutine 400 is stopped in step 435.

In einer alternativen Variante, mit einer entsprechenden Auswerteschaltung in der Druckersteuerung 45, braucht im neunten Abfrageschritt 433 nur festgestellt werden, ob ein Abbruchsignal bereits vorliegt.In an alternative variant, with a corresponding evaluation circuit in the printer controller 45, need only be determined in the ninth query step 433, whether an abort signal already exists.

In der Figur 12 ist eine Tabelle zur Adressengenerierung dargestellt, deren Adressenlesesignale AR für 22 Adressengruppen durch die vorgenannte Routine 400 generiert werden. Durch den Adressengenerator 44 werden in der Praxis die Adressenwerte vorzugsweise als Binärzahl erzeugt und an die Pixeldatenaufbereitungseinheiten 41, 42 angelegt. Eine Binärzahl kann bekanntlich beispielweise als Hexadezimalzahl oder Dezimalzahl dargestellt werden, wodurch die Darstellung weniger Platz benötigt. Nur deshalb und zum besseren Verständnis sind in der Tabelle Dezimalzahlen eingetragen. Die Routine 400 erzeugt zunächst eine Primitivadresse P := 1 und eine Binärzahl Null als Adressenlesesignal AR für eine erste Adressgruppe A := 1. Dann wird nach einander bis zur Primitivadresse P := 14 eine entsprechende Binärzahl als Adressenlesesignal AR für die erste Adressgruppe A := 1 generiert. Das Adressenlesesignal AR (Address read) wird also für 14 Binärzahlen je Adressengruppe erzeugt. Nacheinander werden so entsprechende Binärzahlen als Adressenlesesignal AR für 22 Adressengruppen erzeugt. Durch ein jedes Adressenlesesignal AR wird im Zwischenspeicher auf ein binäres Pixeldatum zugegriffen.FIG. 12 shows a table for generating addresses, whose address read signals AR for 22 address groups are generated by the aforementioned routine 400. The address generator 44 preferably generates the address values as a binary number and applies them to the pixel data processing units 41, 42. For example, a binary number may be represented as a hexadecimal number or a decimal number, which requires less space. Only for this reason and for better understanding are decimal numbers entered in the table. The routine 400 first generates a primitive address P: = 1 and a binary number zero as an address read signal AR for a first address group A: = 1. Then, one after the other until the primitive address P: = 14, a corresponding binary number is read as the address read signal AR for the first address group A: = 1 generated. The address read signal AR (address read) is thus generated for 14 binary numbers per address group. One after the other corresponding binary numbers are generated as address read signal AR for 22 address groups. By Each address read signal AR is accessed in the buffer memory for a binary pixel data.

Die Treibereinheiten 11 und 12 ignorieren die binäre Pixeldaten, die bei Adressenwerten A = 1 mit P = 2, A = 7 mit P = 13, A = 8 mit P = 1 und mit P = 14, A = 15 mit P = 1 und mit P = 14, A = 16 mit P = 2 sowie die bei A = 22 mit P = 14 gelesen werden. Die Adressenwerte größer als 500 müssen als Binärzahl deshalb nicht vollständig erzeugbar sein. Zum Bereitstellen von binären Pixeldaten werden alle Adressenwerte größer als 299 zwar erzeugt, aber ebenfalls nicht beim Drucken benötigt.The driver units 11 and 12 ignore the binary pixel data obtained at address values A = 1 with P = 2, A = 7 with P = 13, A = 8 with P = 1 and with P = 14, A = 15 with P = 1 and with P = 14, A = 16 with P = 2 as well as those at A = 22 with P = 14 are read. The address values greater than 500 must therefore not be able to be generated completely as a binary number. To provide binary pixel data, all address values greater than 299 are generated but also not needed for printing.

Die Routine 400 wird solange ausgeführt bis alle Druckbildspalten gedruckt worden sind oder ein Abbruch erfolgt. Es ist bereits erläutert worden, dass zum Drucken von Druckbildspalten die Düsenreihen eines Druckkopfes abwechselnd aktiv werden. Während einer der Zwischenspeicher per direktem Speicherzugriff mit binären Pixeldaten geladen wird, wird der andere Zwischenspeicher ausgelesen, um aufbereitete Gruppen von binären Pixeldaten zu den Treibereinheiten zu übertragen. Das wechselseitige Wiederholen der Routine 400 und weitere anschließende Schritte werden von der Druckersteuerung 45 veranlaßt, welche gesteuert von einem Signal e des Encoders 3 auch die Drucksignale Print 1 bzw. Print 2 generiert.Routine 400 is executed until all print image columns have been printed or aborted. It has already been explained that the rows of nozzles of a printhead become active alternately for printing image columns. While one of the latches is being loaded with binary pixel data via direct memory access, the other latches are read out to transfer rendered groups of binary pixel data to the driver units. The mutual repetition of the routine 400 and further subsequent steps are caused by the printer controller 45, which under the control of a signal e of the encoder 3 also generates the print signals Print 1 or Print 2.

In der Figur 13 ist ein Flussplan der Ausgaberoutine 500 dargestellt. Zu deren Start wird vom Adressengenerator 44 ein Druckstartsignal PS an die Druckersteuerung 45 abgegeben. Für einen vollständigen Druckzyklus wird die Ausgaberoutine zweiundzwanzig mal als Subroutine im Verlauf der Subroutine 400 aufgerufen, um die Schieberegister in der Druckdatensteuerung 41, 42 und um die Treibereinheiten 11, 12 anzusteuern. Nach dem Start im Schritt 501 wird ein Schritt 502 erreicht und ein Schietakt SCL generiert, um die im Schieberegister geladenen Pixeldaten via der seriellen Datenausgabe zur jeweiligen die Treibereinheit 11, 12 weiterzuschieben. Anschließend wird im Schritt 503 ein Latch-Signal generiert und an die Treibereinheiten 11, 12 ausgegeben. Dann werden im Schritt 504 die Druck-Signale Print1, Print2 generiert und an die Treibereinheiten 11, 12 ausgegeben und im Schritt 505 wird die Subroutine 500 gestoppt.FIG. 13 shows a flowchart of the output routine 500. At the start thereof, the address generator 44 outputs a print start signal PS to the printer controller 45. For a full print cycle, the issue routine is called twenty-two times as a subroutine in the course of subroutine 400 to drive the shift registers in the print data controller 41, 42 and around the driver units 11, 12. After the start in step 501, a step 502 is reached and a shift clock SCL is generated in order to shift the pixel data loaded in the shift register via the serial data output to the respective drive unit 11, 12. Subsequently, in step 503, a latch signal is generated and output to the driver units 11, 12. Then in step 504 the print signals Print1, Print2 are generated and output to the driver units 11, 12 and in step 505 the subroutine 500 is stopped.

In jedem Datenstring existiert eine erste bzw. zweite Anzahl von Datenwörtern, die binären Pixeldaten für einen ersten bzw. zweiten Tintenstrahldruckkopf 1, 2 enthalten. Mit jedem Tintenstrahldruckkopf 1, 2 wird jeweils eine Hälfte einer jeden Druckbildspalte ausgedruckt, wobei durch die erste und zweite Düsenreihe eines jeden Tintenstrahldruckkopfes gleichzeitig die Pixel mit ungeraden Nummern mindestens auf der einen Hälfte einer ersten Druckbildspalte und die Pixel mit geraden Nummern mindestens auf der einen Hälfte einer zweiten Druckbildspalte gedruckt werden. Die erste bzw. zweite Anzahl von Datenwörtern im Datenstring enthält jeweils die binären Pixeldaten für beide Düsenreihen des ersten bzw. zweiten Tintenstrahldruckkopfes, wobei in jedem Datenwort eines jeden Datenstrings nur die ersten bzw. zweiten Pixeldaten zum Drucken einer ersten bzw. weiteren Druckbildspalte enthalten sind, so dass erst nach dem Ausdrucken der Pixeldaten zum Beispiel dreier Datenstrings oder mindestens eines weiteren Datenstrings eine der Druckbildspalten vollständig gedruckt vorliegt. Aus jedem Datenstring wird die jeweils an erster Stelle in Transportrichtung liegende Düsenreihe zeitversetzt mit den binären Pixeldaten für die Pixel mit ungeraden Nummern der ersten Druckbildspalte versorgt, während die jeweils an zweiter Stelle in Transportrichtung liegende Düsenreihe bereits mit den binären Pixeldaten für die Pixel mit geraden Nummern der nachfolgenden weiteren Druckbildspalte versorgt wird. Jede Druckbildspaltenhälfte wird durch die erste und zweite Düsenreihe eines jeden Tintenstrahldruckkopfes ausgedruckt, wobei jede Druckbildspaltenhälfte zeitlich nach dem Drucken mit der jeweils zweiten Düsenreihe vervollständigt wird, durch ein Drucken mit der jeweils ersten Düsenreihe.In each data string exists a first and second number of data words, respectively, containing binary pixel data for a first and a second inkjet printhead 1, 2, respectively. Each inkjet printhead 1, 2 prints one-half of each print image column, with odd-numbered pixels on at least one half of a first print image column and even-numbered pixels on at least one half through the first and second nozzle rows of each inkjet printhead a second printed image column to be printed. The first or second number of data words in the data string respectively contain the binary pixel data for both nozzle rows of the first and second inkjet printhead, wherein in each data word of each data string only the first and second pixel data are contained for printing a first or further print image column, so that one of the print image columns is completely printed only after printing out the pixel data, for example, three data strings or at least one further data string. From each data string, the row of nozzles respectively in the transport direction in the first direction is supplied with the binary pixel data for the odd-numbered pixels of the first print image column, while the nozzle row in the transport direction in the second direction is already supplied with the binary pixel data for the even-numbered pixels the subsequent further print image column is supplied. Each print image column half is printed by the first and second nozzle rows of each ink jet print head, each print image column half being completed in time after printing with the second nozzle row by printing with the respective first nozzle row.

Die erste Druckbildspalte wird also von der zweiten Druckbildspalte in Transportrichtung beabstandet ausgedruckt, wobei beide Druckbildspalten bei einigen Druckkopftypen weiter und bei anderen Typen sehr nahe beieinander liegen. Zur Erhöhung der horizontalen Druckbildauflösung, insbesondere auf 600 dpi, ist es vorgesehen, dass innerhalb des Abstandes weitere Druckbildspalten in Transportrichtung liegen. Damit erhöht sich entsprechend die Anzahl U an Datenstrings, welche im Pixelspeicher für ein Druckbild gespeichert sind. Falls die in der Druckersteuerung 45 bzw. im Adressengenerator 44 gespeicherten Parameter Z und Y größere Werte haben, als im vorgenannten Ausführungsbeispiel genannt wurden, erfolgt der Abbruch von laufenden Druckzyklen erst dann, nachdem eine noch größere Anzahl von aufeinanderfolgenden Encoderimpulsen mit verringerten zeitlichen Abstand aufgetreten sind. Es muß dann ein größerer Versatz - als gezeigt - in Kauf genommen werden. Pixel, die zu einer Druckspalte gehören, würden dann auch über eine entsprechend größere Anzahl an Druckspalten verteilt gedruckt werden.The first print image column is thus printed at a distance from the second print image column in the transport direction, with both print image columns being further in some print head types and very close to each other in other types. To increase the horizontal print image resolution, in particular to 600 dpi, it is provided that within the distance further print image columns are in the transport direction. This increases accordingly the number U of data strings, which in the Pixel memory are stored for a printed image. If the parameters Z and Y stored in the printer controller 45 and in the address generator 44 are greater than those mentioned in the aforementioned embodiment, discontinuation of current printing cycles will only take place after an even greater number of consecutive encoder pulses have occurred with a reduced time interval , It must then be a larger offset - as shown - accepted. Pixels associated with a print column would then also be printed across a correspondingly larger number of print columns.

Die in den Blockschaltbilder der Figuren 2, 3, 4, 8 und 9 gezeigten Blöcke sind in der konkreten Ausführungsform in einer positiven digitalen Logik ausgeführt. Da die Logik-Art prinzipiell beliebig wählbar ist, existiert eine Vielzahl an geeigneten Ausführungsvarianten. Die Hardware-Realisierung ist in einer ansich bekannten Weise, beispielsweise durch ein ASIC oder vorteilhaft durch ein FPGA (Field Programmable Gate Array) möglich. Die Erfindung ist nicht auf die vorliegenden Ausführungsform beschränkt. So können offensichtlich weitere andere Ausführungen der Erfindung entwickelt bzw. eingesetzt werden, die vom gleichen Grundgedanken der Erfindung ausgehend, die von den anliegenden Ansprüchen umfasst werden.The blocks shown in the block diagrams of Figures 2, 3, 4, 8 and 9 are implemented in a positive digital logic in the specific embodiment. Since the type of logic is in principle arbitrary selectable, there are a variety of suitable design variants. The hardware realization is possible in a manner known per se, for example by an ASIC or advantageously by an FPGA (Field Programmable Gate Array). The invention is not limited to the present embodiment. Thus, obviously other other embodiments of the invention can be developed or used, starting from the same basic idea of the invention, which are encompassed by the appended claims.

Claims (10)

Verfahren zur Reduzierung von Druckerfehlern während des Druckens auf ein bewegtes Postgut in einem Postbearbeitungsgerät, gekennzeichnet durch die Schritte: a) Erzeugen von Encoderimpulsen entsprechend der Relativbewegung zwischen Drucker und Druckträger, b) Vorwärts- und Rückwärtszählen zur Auswertung eines Zustandes mit verringerten zeitlichen Abstandes benachbarter Encoderimpulse, c) Durchführung von direkten Speicherzugriffen (DMA) für einen Datenstring von binären Pixeldaten und d) Durchführung eines Druckzyklusses für den vorgenannten Datenstring, wobei während des Druckzyklusses weitere direkte Speicherzugriffe (DMA) für einen nächsten Datenstring erfolgen und wobei nach der Durchführung der direkten Speicherzugriffe (DMA) für den nächsten Datenstring und in Abhängigkeit vom zeitlichen Abstand der Encoderimpulse einer Anzahl von aufeinanderfolgenden Encoderimpulsen der Druckzyklus vollständig ausgeführt wird, solange der Mittelwert der Encoderperiode die eingestellte Dauer eines Druckzyklusses nicht unterschreitet oder wobei bei verringertem zeitlichen Abstand der Encoderimpulse der Anzahl von Encoderimpulsen die Durchführung des Druckzyklusses zum Ausdrucken von binären Pixeldaten eines vorherigen Datenstrings vorzeitig abgebrochen wird. A method of reducing printer errors while printing on a moving mail in a mailing machine characterized by the steps of: a) generating encoder pulses according to the relative movement between the printer and the print carrier, b) forward and backward counting for evaluation of a state with reduced time interval of adjacent encoder pulses, c) Performing direct memory accesses (DMA) for a data string of binary pixel data and d) carrying out a printing cycle for the aforementioned data string, wherein during the printing cycle further direct memory accesses (DMA) are carried out for a next data string and wherein after carrying out the direct memory accesses (DMA) for the next data string and depending on the time interval of the encoder pulses of a number of successive encoder pulses, the printing cycle is carried out completely, as long as the average value of the encoder period does not fall below the set duration of a printing cycle, or with a reduced time interval of the encoder pulses of the number of encoder pulses, the execution of the printing cycle for printing binary pixel data of a previous data string is prematurely terminated. Verfahren, nach Anspruch 1, gekennzeichnet dadurch, dass in Abhängigkeit vom verringerten zeitlichen Abstand der Encoderimpulse aus einer Anzahl von Encoderimpulsen der Abstand der Druckzyklen voreinander verringert wird bis der nachfolgende Druckzyklus zum Ausdrucken von binären Pixeldaten eines nachfolgenden Datenstrings unmittelbar an einen vollständig ausgeführten Druckzyklus zum Ausdrucken von binären Pixeldaten eines vorherigen Datenstrings anschließt, wobei das Verringern in dem Maße erfolgt, wie die Encoderimpulse den Druckzyklen vorauseilen.A method according to claim 1, characterized in that depending on the reduced time interval of the encoder pulses from a number of encoder pulses, the distance of the print cycles is reduced to each other until the subsequent print cycle for printing binary pixel data of a subsequent data string immediately to a fully executed print cycle for printing of binary pixel data from a previous data string, the decrement taking place as the encoder pulses precede the print cycles. Verfahren, nach Anspruch 1, gekennzeichnet dadurch, dass für den unverkürzten zeitlichen Abstand der Encoderimpulse eine Einstellung des Druckzyklusses auf eine vorbestimmte Zeitdauer zwischen zwei positiven Encoderflanken so erfolgt, dass die einzelnen Druckzyklen voneinander beabstandet sind und dass zum Feststellen eines verkürzten zeitlichen Abstand der Encoderimpulse ein Inkrementieren eines Zählwertes bei jedem Encoderimpuls und ein Dekrementieren des Zählwertes bei jedem Beginn eines Druckzyklusses vorgenommen wird sowie dass einerseits unter einer Bedingung und andererseits bei einem Zählwert, der einen vorbestimmten Sollwert (Z) überschreitet, der laufende Druckzyklus vorzeitig abgebrochen wird und ein neuer Druckzyklus beginnt, wobei die vorgenannte Bedingung darin besteht, dass alle direkten Speicherzugriffe (DMA) auf den Pixelspeicher (7) beendet sind, die den nächsten Druckzyklus vorbereiten.A method according to claim 1, characterized in that for the unencumbered time interval of the encoder pulses setting the Druckzyklusses to a predetermined period of time between two positive encoder edges so that the individual pressure cycles are spaced from each other and that to determine a shortened time interval of the encoder pulses Incrementing a count at each encoder pulse and decrementing the count at each beginning of a print cycle, and on the one hand under a condition and on the other hand at a count exceeding a predetermined setpoint (Z), the current print cycle is prematurely terminated and a new print cycle begins , wherein the aforementioned condition is that all direct memory accesses (DMA) to the pixel memory (7) are prepared, which prepare the next printing cycle. Anordnung zur Reduzierung von Druckfehlern während des Druckens in einem Postbearbeitungsgerät, mit einer Druckdatensteuerung (4) zur Pixeldatenaufbereitung während des Druckens auf ein bewegtes Postgut mit mindestens einem Druckkopf, die über einen Bus (5) mit mindestens einem Mikroprozessor (6), mit einem Pixelspeicher (7) und mit einem Encoder (3) verbunden ist, gekennzeichnet dadurch, dass die Druckdatensteuerung (4) eine Auswerteeinheit (442 bzw. 453) und eine Logik (452) zur Fehlerreduzierung von Druckerfehlern aufweist, welcher Encoderimpulse (e) zugeführt werden und die einen rücksetzbaren Encodertaktzähler (4523) enthält, dessen Zählwert innerhalb eines Zählbereiches kleiner bis gleich einem oberen Grenzwert (Y) mit jeder Vorderflanke eines Encoderimpulses inkrementiert wird, dessen Zählwert mit jedem Druckzyklusstart dekrementiert wird und der ausgangsseitig einen digitalen Zählwert (ENC) abgibt, wobei letzterer von der Auswerteeinheit (442 bzw. 453) hinsichtlich der Überschreitung eines Sollwertes (Z) ausgewertet wird, wobei bei Nichtüberschreitung des Sollwertes (Z) jeder Druckzyklus vollständig ausgeführt und bei Überschreitung des Sollwertes (Z) ein laufender Druckzyklus unter der Bedingung abgebrochen wird, dass alle direkten Speicherzugriffe (DMA) auf den Pixelspeicher (7) beendet sind, die den nächsten Druckzyklus vorbereiten.Arrangement for reducing printing errors during printing in a mailing machine, comprising a print data controller (4) for pixel data processing while printing on a moving mail item having at least one print head, via a bus (5) with at least one microprocessor (6), with a pixel memory (7) and connected to an encoder (3), characterized in that the pressure data control (4) has an evaluation unit (442 or 453) and a logic (452) for error reduction of printer errors, which encoder pulses (e) are supplied and which includes a resettable encoder clock counter (4523) whose count is incremented within a count range less than or equal to an upper limit (Y) with each leading edge of an encoder pulse, the count being decremented at each print cycle start, and output at the output of a digital count (ENC), the latter of the evaluation unit (442 or 453) in terms the exceeding of a setpoint value (Z) is evaluated, whereby, if the setpoint value (Z) is not exceeded, each print cycle is completely executed and if the setpoint value (Z) is exceeded, a running print cycle is aborted under the condition that all direct memory accesses (DMA) to the pixel memory (7) are ready, which prepare the next printing cycle. Anordnung, nach Anspruch 4, gekennzeichnet dadurch, dass die Druckdatensteuerung (4) eine DMA-Steuerung (43), einen Adressengenerator (44), eine Druckersteuerung (45) und die Logik (452) zur Fehlerreduzierung von Druckerfehlern aufweist, der Encoderimpulse (e) zugeführt werden und die ausgangsseitig einen digitalen Zählwert (ENC) an einen Adressengenerator (44) abgibt und dass der Adressengenerator (44) eine Auswerteeinheit (442) zum Abbruch eines laufenden Druckzykluses aufweist, wobei Auswerteeinheit (442) einen Vergleicher (4421) und ein Register (4422) zum Speichern des Sollwertes (Z) enthält.Arrangement according to claim 4, characterized in that the print data controller (4) comprises a DMA controller (43), an address generator (44), a printer controller (45) and the logic (452) for error reduction of printer errors, the encoder pulses (e ) and the output side outputs a digital count value (ENC) to an address generator (44) and that the address generator (44) has an evaluation unit (442) for canceling a current print cycle, wherein the evaluation unit (442) has a comparator (4421) and Register (4422) for storing the setpoint (Z) contains. Anordnung, nach den Ansprüchen 4 bis 5, gekennzeichnet dadurch, dass die Logik (452) zur Fehlerreduzierung von Druckerfehlern einen rücksetzbaren Encodertaktzähler (4523) einschließt, dessen Zählwert innerhalb eines Zählbereiches kleiner bis gleich einem oberen Grenzwert (Y) mit jeder Vorderflanke eines Encoderimpulses inkrementiert wird, dessen Zählwert mit jedem Druckzyklusstart dekrementiert wird und dessen Ausgänge mit einem ersten Vergleicher (4524), welcher beim Erreichen des Null-Zählwertes ein Dekrementieren verhindert und einem zweiten Vergleicher (4525) verbunden sind, welcher das Erreichen des oberen Grenzwertes (Y) überprüft und der ausgangsseitig den entsprechenden Zählwert liefert und der mit dem Adressengenerator (44) in betriebsmäßiger Verbindung steht, wobei letzterer den laufenden Druckzyklus abbricht, wenn alle Pixeldaten für den nächsten Druckzyklus via direkte Speicherzugriffe (DMA) bereits in einen Zwischenspeicher einer Pixeldatenaufbereitungseinheit (41, 42) geladen wurden und der im Zählbereich liegende Zählwert des Encodertaktzählers einen vorbestimmten Sollwert (Z) überschreitet.Arrangement according to claims 4 to 5, characterized in that the logic (452) for error reduction of printer errors includes a resettable encoder clock counter (4523) whose count value increments within a count range less than or equal to an upper limit value (Y) with each leading edge of an encoder pulse whose count value is decremented with each print cycle start and whose outputs are connected to a first comparator (4524) which prevents decrement on reaching the zero count value and to a second comparator (4525) which checks the reaching of the upper limit value (Y) and the output provides the corresponding count value and is operatively connected to the address generator (44), the latter aborting the current print cycle if all pixel data for the next print cycle are already latched into a buffer of pixel data processing via direct memory accesses (DMA) eit (41, 42) have been loaded and the counter value in the counting range of the encoder clock counter exceeds a predetermined setpoint value (Z). Anordnung, nach den Ansprüchen 4 bis 6, gekennzeichnet dadurch, dass die Logik (452) zur Druckerfehlerreduzierung ein erstes und zweites AND-Gatter (4521, 4522) aufweist, die ausgangsmäßig mit den Eingängen eines Encodertaktzählers (4523) verbunden sind, dass der Encodertaktzähler (4523) einen ersten Eingang (CLK_down), einen zweiten Eingang (CLK_up) und einen dritten Eingang (ENC_RESET) für ein Rücksetzsignal (Encoderzähler_Reset) aufweist, dass ein Verringerungs-Signal (DEC-ENC) über einen ersten Eingang des ersten AND-Gatters (4521) zugeführt wird, mit dessen zweiten Eingang der Ausgang (K) des ersten digitalen Vergleichers (4524) verbunden ist, dass ein Encodersignal (e) seriell über einen ersten Eingang des zweiten AND-Gatters (4522) zugeführt wird, mit dessen zweiten Eingang der Ausgang (L) des zweiten digitalen Vergleichers (4525) verbunden ist, dass an den jeweils ersten Eingängen des ersten und zweiten digitalen Vergleichers (4524, 4525) der Zählwert anliegt, der an den Ausgängen (Q1, Q2, Q3, Q4) des Encodertaktzählers (4523) als n-Bit breiter Binärwert ausgegeben wird, und dass an den zweiten Eingängen des ersten digitalen Vergleichers (4524) ein Vergleichswert 'Null' und an den zweiten Eingängen des zweiten digitalen Vergleichers (4525) ein oberer Sollwert (Y) als n-Bit breites Datensignal anliegt.Arrangement according to claims 4 to 6, characterized in that the logic (452) for printer error reduction comprises first and second AND gates (4521, 4522), which are connected in output to the inputs of an encoder clock counter (4523), that the encoder clock counter (4523) has a first input (CLK_down), a second input (CLK_up) and a third input (ENC_RESET) for a reset signal (Encoderzähler_Reset), that a decrease signal (DEC-ENC) via a first input of the first AND gate (4521), to the second input of which the output (K) of the first digital comparator (4524) is connected, that an encoder signal (e) is supplied serially via a first input of the second AND gate (4522), with the second one thereof Input of the output (L) of the second digital comparator (4525) is connected, that at the respective first inputs of the first and second digital comparator (4524, 4525), the count is applied, de r is output at the outputs (Q1, Q2, Q3, Q4) of the encoder clock counter (4523) as an n-bit wide binary value, and that at the second inputs of the first digital comparator (4524) a comparison value 'zero' and at the second inputs of the second digital comparator (4525), an upper setpoint value (Y) is present as an n-bit-wide data signal. Anordnung, nach den Ansprüchen 4 bis 7, gekennzeichnet dadurch, dass der Encodertaktzählers (4523) als n-Bit-Zähler ausgeführt ist.Arrangement according to Claims 4 to 7, characterized in that the encoder clock counter (4523) is designed as an n-bit counter. Anordnung, nach den Ansprüchen 4 bis 7, gekennzeichnet dadurch, dass über einen ersten Block (451) der Druckersteuerung (45) der Druckdatensteuerung (4) ein gefiltertes Encodersignal (e), das Rücksetzsignal (Encoderzähler_Reset) und das Verringerungs-Signal (DEC-ENC) sowie der obere Sollwert (Y) geliefert wird.Arrangement according to claims 4 to 7, characterized in that via a first block (451) of the printer controller (45) of the print data controller (4) a filtered encoder signal (e), the reset signal (Encoderzähler_Reset) and the reduction signal (DEC- ENC) as well as the upper setpoint (Y). Anordnung, nach den Ansprüchen 4 bis 9, gekennzeichnet dadurch, dass die Druckdatensteuerung (4) als anwendungsspezifische Schaltung bzw. programmierbare Logik realisiert wird.Arrangement according to claims 4 to 9, characterized in that the pressure data control (4) is implemented as an application-specific circuit or programmable logic.
EP03090193A 2003-06-27 2003-06-27 Method and system to reduce printing errors in a mail processing device Expired - Lifetime EP1491347B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DK03090193T DK1491347T3 (en) 2003-06-27 2003-06-27 Method and apparatus for reducing printing errors in a mail processing apparatus
DE50301430T DE50301430D1 (en) 2003-06-27 2003-06-27 Method and apparatus for reducing printer defects during printing in a mailing machine
EP03090193A EP1491347B1 (en) 2003-06-27 2003-06-27 Method and system to reduce printing errors in a mail processing device
AT03090193T ATE307032T1 (en) 2003-06-27 2003-06-27 METHOD AND ARRANGEMENT FOR REDUCING PRINTER ERRORS DURING PRINTING IN A MAIL PROCESSING DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP03090193A EP1491347B1 (en) 2003-06-27 2003-06-27 Method and system to reduce printing errors in a mail processing device

Publications (2)

Publication Number Publication Date
EP1491347A1 true EP1491347A1 (en) 2004-12-29
EP1491347B1 EP1491347B1 (en) 2005-10-19

Family

ID=33395932

Family Applications (1)

Application Number Title Priority Date Filing Date
EP03090193A Expired - Lifetime EP1491347B1 (en) 2003-06-27 2003-06-27 Method and system to reduce printing errors in a mail processing device

Country Status (4)

Country Link
EP (1) EP1491347B1 (en)
AT (1) ATE307032T1 (en)
DE (1) DE50301430D1 (en)
DK (1) DK1491347T3 (en)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5337248A (en) * 1992-02-25 1994-08-09 Pitney Bowes Inc. Mailing machine including sheet feeding speed calibrating means
DE29716523U1 (en) * 1997-09-05 1997-11-20 Francotyp Postalia Gmbh Franking machine
US5912979A (en) * 1990-11-02 1999-06-15 Bell & Howell Mail Processing Systems Co. Method and apparatus for object surveillance along a transport path
US20020003565A1 (en) * 2000-07-06 2002-01-10 Inten Wolfgang Von Device for printing a print carrier
EP1176016A2 (en) 2000-07-26 2002-01-30 Francotyp-Postalia Aktiengesellschaft & Co. Device and automated adjustment method for warming cycles of inkjet heads
DE10060454A1 (en) * 2000-11-28 2002-05-29 Francotyp Postalia Gmbh Structure for a print device for recording media has two or more inkjet print heads with high resolution, associated control and contact units and a microprocessor control unit.
US6457901B1 (en) 2000-09-01 2002-10-01 Precision Cover Systems, Inc. Adjustable manhole apparatus
DE10230679A1 (en) 2002-07-04 2004-01-22 Francotyp-Postalia Ag & Co. Kg Method for controlling printing in a mail processing device
DE10230678A1 (en) 2002-07-04 2004-03-25 Francotyp-Postalia Ag & Co. Kg Arrangement for controlling printing in a mail processing device

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5912979A (en) * 1990-11-02 1999-06-15 Bell & Howell Mail Processing Systems Co. Method and apparatus for object surveillance along a transport path
US5337248A (en) * 1992-02-25 1994-08-09 Pitney Bowes Inc. Mailing machine including sheet feeding speed calibrating means
DE29716523U1 (en) * 1997-09-05 1997-11-20 Francotyp Postalia Gmbh Franking machine
US20020003565A1 (en) * 2000-07-06 2002-01-10 Inten Wolfgang Von Device for printing a print carrier
EP1176016A2 (en) 2000-07-26 2002-01-30 Francotyp-Postalia Aktiengesellschaft & Co. Device and automated adjustment method for warming cycles of inkjet heads
US6457901B1 (en) 2000-09-01 2002-10-01 Precision Cover Systems, Inc. Adjustable manhole apparatus
DE10060454A1 (en) * 2000-11-28 2002-05-29 Francotyp Postalia Gmbh Structure for a print device for recording media has two or more inkjet print heads with high resolution, associated control and contact units and a microprocessor control unit.
DE10230679A1 (en) 2002-07-04 2004-01-22 Francotyp-Postalia Ag & Co. Kg Method for controlling printing in a mail processing device
DE10230678A1 (en) 2002-07-04 2004-03-25 Francotyp-Postalia Ag & Co. Kg Arrangement for controlling printing in a mail processing device

Also Published As

Publication number Publication date
ATE307032T1 (en) 2005-11-15
DE50301430D1 (en) 2006-03-02
DK1491347T3 (en) 2006-03-06
EP1491347B1 (en) 2005-10-19

Similar Documents

Publication Publication Date Title
DE102005007220B4 (en) Method and arrangement for controlling the printing of a thermal transfer printing device
EP0716398B1 (en) Interface circuit for franking machine
DE2753967A1 (en) DOT MATRIX PRINTER WITH INCLINED PRINT HEAD AND MODULAR INCLINED POSITION OF INFORMATION AVAILABLE AS DOT PATTERN
DE3236297A1 (en) INK-JET PRINTING DEVICE
EP1416430B1 (en) Arrangement for printing an image having areas of different imaging resolution
DE1524442A1 (en) Control device for the number of form line feeds per unit of time on a chain printer
DE2654294C3 (en) Serial printer
DE1817804C3 (en)
EP0580274A2 (en) Method and device for a print-out for an internal charge office
EP1378820B1 (en) System for controlling a printer in a mail processing system
DE2156599B2 (en) Control system for high-speed printing machines
DE102010017004B4 (en) Processing device and method for driving a processing device
EP1387245B1 (en) Printer control method in a apparatus for processing post mail
DE2331928C3 (en) Printing device for printing out data in a table
DE1940703C3 (en) Device for the controllable advance of a paper web in a printer
DE69729677T2 (en) Pressure device and method for its control
EP1491347B1 (en) Method and system to reduce printing errors in a mail processing device
DE2642031B2 (en) Type plate printer
DE2633155B2 (en) Device for generating time-defined function control signals
DE2057675A1 (en) Control unit for the print hammer drive
DE2044663A1 (en) Number of printed sheets readout device
DE1920199A1 (en) Mechanical high-speed printer
DE2404259C3 (en) Circuit arrangement for the intermediate storage of data records of different lengths
DE2031460A1 (en) printer
DE2416211C3 (en) Electronic control device for the printing speed of a high-performance braille printer

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20031218

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL LT LV MK

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

AKX Designation fees paid

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20051019

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20051019

Ref country code: IE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20051019

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20051019

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20051019

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20051019

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: IE

Ref legal event code: FG4D

Free format text: LANGUAGE OF EP DOCUMENT: GERMAN

REG Reference to a national code

Ref country code: CH

Ref legal event code: NV

Representative=s name: ROTTMANN, ZIMMERMANN + PARTNER AG

RAP2 Party data changed (patent owner data changed or rights of a patent transferred)

Owner name: FRANCOTYP-POSTALIA GMBH

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20060119

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20060119

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20060119

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20060130

GBT Gb: translation of ep patent filed (gb section 77(6)(a)/1977)

Effective date: 20060130

NLT2 Nl: modifications (of names), taken from the european patent patent bulletin

Owner name: FRANCOTYP-POSTALIA GMBH

Effective date: 20060104

REF Corresponds to:

Ref document number: 50301430

Country of ref document: DE

Date of ref document: 20060302

Kind code of ref document: P

REG Reference to a national code

Ref country code: DK

Ref legal event code: T3

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20060320

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20060420

REG Reference to a national code

Ref country code: IE

Ref legal event code: FD4D

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20060630

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20060630

ET Fr: translation filed
PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20060720

BERE Be: lapsed

Owner name: FRANCOTYP-POSTALIA A.G. & CO. KG

Effective date: 20060630

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20051019

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20060627

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20051019

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20051019

REG Reference to a national code

Ref country code: CH

Ref legal event code: PFA

Owner name: FRANCOTYP-POSTALIA GMBH

Free format text: FRANCOTYP-POSTALIA GMBH#TRIFTWEG 21-26#16547 BIRKENWERDER (DE) -TRANSFER TO- FRANCOTYP-POSTALIA GMBH#TRIFTWEG 21-26#16547 BIRKENWERDER (DE)

REG Reference to a national code

Ref country code: DE

Ref legal event code: R084

Ref document number: 50301430

Country of ref document: DE

REG Reference to a national code

Ref country code: GB

Ref legal event code: 746

Effective date: 20130319

REG Reference to a national code

Ref country code: DE

Ref legal event code: R081

Ref document number: 50301430

Country of ref document: DE

Owner name: FRANCOTYP-POSTALIA GMBH, DE

Free format text: FORMER OWNER: FRANCOTYP-POSTALIA AG & CO. KG, 16547 BIRKENWERDER, DE

Effective date: 20130319

Ref country code: DE

Ref legal event code: R084

Ref document number: 50301430

Country of ref document: DE

Effective date: 20130314

REG Reference to a national code

Ref country code: GB

Ref legal event code: 732E

Free format text: REGISTERED BETWEEN 20130516 AND 20130522

REG Reference to a national code

Ref country code: GB

Ref legal event code: 732E

Free format text: REGISTERED BETWEEN 20130523 AND 20130529

REG Reference to a national code

Ref country code: DE

Ref legal event code: R081

Ref document number: 50301430

Country of ref document: DE

Owner name: FRANCOTYP-POSTALIA GMBH, DE

Free format text: FORMER OWNER: FRANCOTYP-POSTALIA GMBH, 16547 BIRKENWERDER, DE

Effective date: 20150330

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 14

REG Reference to a national code

Ref country code: CH

Ref legal event code: PCAR

Free format text: NEW ADDRESS: GARTENSTRASSE 28 A, 5400 BADEN (CH)

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 15

REG Reference to a national code

Ref country code: FR

Ref legal event code: PLFP

Year of fee payment: 16

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: NL

Payment date: 20220620

Year of fee payment: 20

Ref country code: IT

Payment date: 20220627

Year of fee payment: 20

Ref country code: GB

Payment date: 20220627

Year of fee payment: 20

Ref country code: DK

Payment date: 20220622

Year of fee payment: 20

Ref country code: DE

Payment date: 20220510

Year of fee payment: 20

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: AT

Payment date: 20220621

Year of fee payment: 20

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20220628

Year of fee payment: 20

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: CH

Payment date: 20220701

Year of fee payment: 20

REG Reference to a national code

Ref country code: DE

Ref legal event code: R071

Ref document number: 50301430

Country of ref document: DE

REG Reference to a national code

Ref country code: NL

Ref legal event code: MK

Effective date: 20230626

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

REG Reference to a national code

Ref country code: DK

Ref legal event code: EUP

Expiry date: 20230627

REG Reference to a national code

Ref country code: GB

Ref legal event code: PE20

Expiry date: 20230626

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK07

Ref document number: 307032

Country of ref document: AT

Kind code of ref document: T

Effective date: 20230627

P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230807

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION

Effective date: 20230626