EP1491347B1 - 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 PDFInfo
- Publication number
- EP1491347B1 EP1491347B1 EP03090193A EP03090193A EP1491347B1 EP 1491347 B1 EP1491347 B1 EP 1491347B1 EP 03090193 A EP03090193 A EP 03090193A EP 03090193 A EP03090193 A EP 03090193A EP 1491347 B1 EP1491347 B1 EP 1491347B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- encoder
- signal
- value
- printing
- 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.)
- Expired - Lifetime
Links
- 238000007639 printing Methods 0.000 title claims abstract description 92
- 238000000034 method Methods 0.000 title claims abstract description 14
- 238000012545 processing Methods 0.000 title claims description 39
- 230000015654 memory Effects 0.000 claims abstract description 48
- 230000009467 reduction Effects 0.000 claims description 35
- 238000011156 evaluation Methods 0.000 claims description 20
- 206010000210 abortion Diseases 0.000 claims description 2
- 230000000052 comparative effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 25
- 239000000872 buffer Substances 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 230000003750 conditioning effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 102100026816 DNA-dependent metalloprotease SPRTN Human genes 0.000 description 1
- 101710175461 DNA-dependent metalloprotease SPRTN Proteins 0.000 description 1
- 101100065246 Mus musculus Enc1 gene Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 229940073619 encare Drugs 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007645 offset printing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000011514 reflex Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J11/00—Devices 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/36—Blanking or long feeds; Feeding to a particular line, e.g. by rotation of platen or feed roller
- B41J11/42—Controlling printing material conveyance for accurate alignment of the printing material with the printhead; Print registering
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J19/00—Character- or line-spacing mechanisms
- B41J19/18—Character-spacing or back-spacing mechanisms; Carriage return or release devices therefor
- B41J19/20—Positive-feed character-spacing mechanisms
- B41J19/202—Drive control means for carriage movement
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07B—TICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
- G07B17/00—Franking apparatus
- G07B17/00459—Details relating to mailpieces in a franking system
- G07B17/00508—Printing or attaching on mailpieces
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07B—TICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
- G07B17/00—Franking apparatus
- G07B17/00185—Details internally of apparatus in a franking system, e.g. franking machine at customer or apparatus at post office
- G07B17/00314—Communication within apparatus, personal computer [PC] system, or server, e.g. between printhead and central unit in a franking machine
- G07B2017/00338—Error detection or handling
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07B—TICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
- G07B17/00—Franking apparatus
- G07B17/00459—Details relating to mailpieces in a franking system
- G07B17/00508—Printing or attaching on mailpieces
- G07B2017/00516—Details of printing apparatus
- G07B2017/00556—Ensuring quality of print
- G07B2017/00564—Ensuring correct position of print on mailpiece
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07B—TICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
- G07B17/00—Franking apparatus
- G07B17/00459—Details relating to mailpieces in a franking system
- G07B17/00508—Printing or attaching on mailpieces
- G07B2017/00637—Special 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".
- the variable print image share is becoming more extensive and the print resolution is getting higher and higher.
- the 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 To relieve the control by a microprocessor, it has proven to be advantageous to arrange the pixel data belonging to a print image column in the pixel memory so that variable picture elements 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.
- US 6,457,901 (DE 10032855 A1) is an apparatus for printing a printing medium proposed in a mailing machine, as preferably in the franking machine pusil® the patentee Francotyp Postalia AG & Co.KG is used.
- the print carriers for example, envelopes, franking strips or comparable franking goods, be post downstream by means of a driven transport drum transported in the transport direction, with a non-driven Counterpressure the print carrier against the transport drum in Pressing direction orthogonal to the transport direction presses.
- the two Ink cartridges partially protrude into the transport drum and carry two inkjet printheads which are printing on the moving Carry out the print carrier without contact.
- Both printheads are orthogonal to the transport direction and orthogonal to the pressure direction and with their Nozzles arranged near the edge of the transport drum, the nozzles during a pass of the print carrier through the machine a complete Can produce impression.
- On the front side of the transport drum are applied close to the perimeter markings that over the Scope of the transport drum are distributed.
- the markers are for example Reflective lines that come from a reflex light bank or Transmitted light sensor of an encoder detected by the microprocessor and a Control are converted into pressure pulses in the ratio 1: 1. Gradual slow fluctuations in transport speed thus have no influence on a generated print image when the Pressure cycle is changed accordingly in its duration.
- a print cycle should be 90% of the time take between two positive encoder edges.
- the time between the Encoder edges can be measured and the printing cycle time accordingly be adjusted.
- the set value for the print cycle duration will be the first after its detection with a delay of at least two Encoder clocks effective.
- the object of the invention is a method and an arrangement to reduce printer errors while printing on to provide moving mail in a mailing machine, the Printer error due to encoder pulses too short a time interval be caused.
- a cost-effective solution is also under unfavorable conditions ensure high print quality.
- 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 being 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 print cycle completely executed and a running print 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 ,
- 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 for this purpose provides 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 response to 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.
- 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 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. 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.
- FIG. 1b shows a pulse / time diagram for encoder pulses, in which the third to sixth encoder pulses in too short a time Distance occur. So not every encoder pulse will trigger a print cycle out. This causes some encoder pulses, especially the third one and fifth encoder pulse, now no print cycle and no DMA period trigger because the time between the second to sixth encoder pulses too short. The causes are different. The to Insertion of an encoder disk can result in an error of up to 10% exhibit. Also needs additional errors such as one sudden change in transport speed can be assumed, due to changes in letter thickness, bumps and mechanical Vibrations between encoder disk and encoder scanning caused become. Despite an adjustment of the pressure cycle time to the Distances between the encoder edges must therefore with printing errors calculated by too small distances between the encoder pulses if no measures are taken to reduce the error.
- 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.
- 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.
- the distance between the printed dots in the transport direction is about twice as large as intended.
- 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.
- FIG. 1d shows a pulse / time diagram for correct encoder pulses with error reduction.
- the time between the encoder edges is from the Microprocessor then determines the print cycle duration the information the printhead manufacturer adjusts accordingly with a delay of at least two encoder clocks becomes effective. According to printhead manufacturer should a print cycle as possible 90% of the time between two take positive encoder edges.
- the invention is a counter for Encoder pulses used with too short a time interval. Of the Encoder clock counter is used for error reduction. He will be at the beginning of each Pressure cycle reset to the value 'zero' and at each Encoder pulse increments, i. set here to the value 'one'. To the start of the DMA controller and the address generator, wherein the latter triggers the print cycle for the pixel data of a data string, the encoder clock counter is decremented, i. here to the value 'zero' set.
- FIG. 1e shows a pulse / time diagram for encoder pulses too short a time interval and with error reduction.
- the time interval between the first two encoder pulses is greater as a print cycle.
- the second to the sixth encoder pulse is the time interval between adjacent encoder pulses, however significantly smaller than a print cycle.
- From the sixth encoder pulse is the time interval between adjacent encoder pulses again larger and larger than a print cycle.
- FIG. 1f shows a pulse / time diagram for encoder pulses Error reduction, whereby the encoder pulses are too short a pulse width and / or pause over a longer period of time.
- FIG. 2 shows the block diagram of the preferred circuit arrangement for pixel data processing by a print data controller.
- One first and a second print head 1 and 2 are each via a driver unit (Pen Driver Board) 11 and 12 with a print data control 4 connected, which in the case of a direct memory access on the input side 16 bit assumes parallel binary print image data from a BUS 5 and on the output side serially binary print image data to the driver units 11 and 12 delivers.
- the BUS 5 are at least one microprocessor 6, a pixel memory 7, a nonvolatile memory 8 and a read-only memory 9 connected in terms of address, data and control.
- An encoder 3 is connected to the print data controller 4 for caching binary pixel data and printing the image columns trigger each printhead with 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 control 45.
- the controls are included for error reduction of printer errors, an evaluation unit 453 and a logic 452, which the encoder pulses e are supplied. It is intended that one Printer controller 45 at least with the DMA controller 43 and with the Address generator 44 and that the address generator 44 with the Pixel data processing unit 41, 42 is connected 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.
- 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 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 binary pixel data is provided to the pixel data conditioning unit 42 in the DMA periods in a data string manner, respectively.
- 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, ie, 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. After transmission of a 22nd data set all of the 300 binary pixel data are transmitted, which requires a 1 ⁇ 2 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.
- 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 controlled in order to select one of the latches 412, 422 for the transmission of pixel data to the driver unit 12 by means of a switching signal SO. 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 to the input side of the bus 5 but there only to the low-order 16 bits of the data bus.
- 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 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 allow their writing to the latches 421, 422 of the pixel data processing unit 42.
- 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.
- 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 read out from the pixel memory 7, for example, a 16-bit wide data word with pixel data via DMA 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. To achieve a print resolution of 600 dpi, two of the four buffers each are used for storage 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.
- 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 AW supplied by the DMA controller 43 is also applied to each of a separate address input of the first and second buffer memories 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 control is, for example, part of an application-specific circuit (ASIC), the cycle counter is connected on the one hand with the aforementioned means for generating and output of address write signals AW and the other with means for generating and output of 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.
- DMA direct memory access
- 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.
- 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 ).
- 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.
- 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 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 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 are 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 DMA busy signal is now evaluated as to whether it has been set to the value 'zero'.
- step 109 the digital output signal ENC of the encoder clock counter is evaluated with respect to a value deviating from the value 'zero'.
- 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).
- 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'.
- the second block 452 which is operatively connected to the first block 451 of the printer controller 45 containing the sequence control and processing unit.
- 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. 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.
- FIG. 6 is a block diagram of the logic for printer error reduction shown.
- First and second AND gates 4521, 4522 are output with the inputs of an encoder clock counter 4523 connected, having a first input CLK_down, a second input CLK_up and a third input ENC_RESET for the reset signal Encoderfarer_Reset has.
- the decrease signal DEC-ENC becomes supplied via a first input of the first AND gate 4521.
- With its second input is the output K of a first digital comparator 4524 connected.
- the first digital comparator 4524 an OR gate, the digital output signal ENC of the encoder clock counter 4523 linked and at ENC ⁇ 0 output a logic signal 'one' on the output side.
- 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. In the preferred embodiment, 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.
- first digital comparator 4524 is an n-bit wide digital data signal with the binary value 'zero'.
- 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 output a TTL signal with the value 'zero' if the aforementioned respective condition is not fulfilled. 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.
- 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, the first query step 703 is branched back.
- 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'.
- FIG. 7b shows a pulse / time diagram for the printer error reduction.
- the reset signal Encoder_excellenter_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.
- 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 Y is not reached, or the count value can be decremented upon the occurrence of a print 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 also a reduction signal DEC_ENC with the value 'one' has been delivered to the encoder clock counter.
- 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.
- 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.
- 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.
- 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.
- 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 AG-busy buzzer 4416.
- the evaluation unit 442 comprises 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 to which the count value of the encoder clock counter is supplied for comparison with at least one third setpoint Z. becomes.
- 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.
- 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'.
- 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 to cause the pixel data to be printed out a data string and connected to the busy signaling device 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 value 'zero' is jumped to a second interrogation step 305, the state of the switching signal SO being 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.
- the pixel data are taken back into the buffer.
- 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.
- 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.
- 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. 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. 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.
- 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. 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.
- 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 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.
- 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 to the shift register in order 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.
- 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.
- 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. If, however, 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 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.
- 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 used to access a binary pixel data in the buffer.
- 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.
- 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.
- 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.
- 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.
- 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 are stored in the pixel memory for a print image.
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)
- Sorting Of Articles (AREA)
- Devices For Checking Fares Or Tickets At Control Points (AREA)
- Dot-Matrix Printers And Others (AREA)
- Electronic Switches (AREA)
- Handling Of Sheets (AREA)
Abstract
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.
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".
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.The invention relates to a method for reducing printer errors during printing in a mailing machine, according to the preamble of
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".
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 to arrange the pixel data belonging to a print image column in the pixel memory so that variable picture elements 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. In US 6,457,901 (DE 10032855 A1) is an apparatus for printing a printing medium proposed in a mailing machine, as preferably in the franking machine ultimail® the patentee Francotyp Postalia AG & Co.KG is used. The print carriers, for example, envelopes, franking strips or comparable franking goods, be post downstream by means of a driven transport drum transported in the transport direction, with a non-driven Counterpressure the print carrier against the transport drum in Pressing direction orthogonal to the transport direction presses. The two Ink cartridges partially protrude into the transport drum and carry two inkjet printheads which are printing on the moving Carry out the print carrier without contact. Both printheads are orthogonal to the transport direction and orthogonal to the pressure direction and with their Nozzles arranged near the edge of the transport drum, the nozzles during a pass of the print carrier through the machine a complete Can produce impression. On the front side of the transport drum are applied close to the perimeter markings that over the Scope of the transport drum are distributed. The markers are for example Reflective lines that come from a reflex light bank or Transmitted light sensor of an encoder detected by the microprocessor and a Control are converted into pressure pulses in the ratio 1: 1. Gradual slow fluctuations in transport speed thus have no influence on a generated print image when the Pressure 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 be 90% of the time take between two positive encoder edges. The time between the Encoder edges can be measured and the printing cycle time accordingly be adjusted. The set value for the print cycle duration, however, will be the first after its detection with a delay of at least two Encoder clocks effective. By changing the letter thickness and mechanical Vibrations of the encoder sampling system can be erratic Change in the transport speed can be caused. The However, sudden fluctuations in the transport speed have a negative impact on a generated print image, i. despite one subsequent adaptation of the pressure cycle duration to the distances between the encoder edges must be with printer errors due to low Distances between the encoder pulses can be calculated.
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 a method and an arrangement to reduce printer errors while printing on to provide moving mail in a mailing machine, the Printer error due to encoder pulses too short a time interval be caused. By a cost-effective solution is also under unfavorable conditions ensure high print quality.
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 the
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 corresponding to the relative movement generated between the printer and a print carrier and one Print data control are supplied with correct encoder pulses at each encoder pulse edge, a period with a sequence of DMA cycles and one print cycle started without printer errors. The print data controller generates print data from the pixel data for parts of each pressure column and triggers a pressure cycle for the latter out. This will cause the microprocessor to control the printing relieved. During each DMA period, the pixel memory becomes binary Transmitted pixel data of a data string for print data control, which the binary pixel data depends on the connected printhead type for a print cycle. The invention works Therefore, from the consideration that it is printed for the evaluation security-relevant postal data would be unfavorable if complete Printing cycles, i. entire printing gaps are missing or those to a pressure column associated pixels are printed offset over several printing columns because the encoder pulses precede the print cycles. That can can be reduced by following complete print cycles immediately. It was found that the failure has only a few pixels of individual pressure gaps are no decisive obstacle to the evaluation of security imprints with a print image resolution of> 300 dpi represents when the falling pixels are distributed across the column, i. Not occur immediately after each other. Assuming that a reduction the encoder period only occurs intermittently, is at several consecutive Encoder pulses with too short a time interval Print cycle aborted if the encoder period is greater than a period of time with DMA cycles. By subsequent adjustment of the printing cycle time the distances of the encoder edges are 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:
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.
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 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 being 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 print cycle completely executed and a running print 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 ,
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 for this purpose provides 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 response to 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.
- 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.
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.
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).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.
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.
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, in which the third to sixth encoder pulses in too short a time Distance occur. So not every encoder pulse will trigger a print cycle out. This causes some encoder pulses, especially the third one and fifth encoder pulse, now no print cycle and no DMA period trigger because the time between the second to sixth encoder pulses too short. The causes are different. The to Insertion of an encoder disk can result in an error of up to 10% exhibit. Also needs additional errors such as one sudden change in transport speed can be assumed, due to changes in letter thickness, bumps and mechanical Vibrations between encoder disk and encoder scanning caused become. Despite an adjustment of the pressure cycle time to the Distances between the encoder edges must therefore with printing errors calculated by too small distances between the encoder pulses if no measures are taken to reduce the error.
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.
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. 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.
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 1d 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. 1d shows a pulse / time diagram for correct encoder pulses with error reduction. The time between the encoder edges is from the Microprocessor then determines the print cycle duration the information the printhead manufacturer adjusts accordingly with a delay of at least two encoder clocks becomes effective. According to printhead manufacturer should a print cycle as possible 90% of the time between two take positive encoder edges. Together with the aforementioned Control of the pressure cycle duration, which for encoder pulses with large Time interval is effective, the invention is a counter for Encoder pulses used with too short a time interval. Of the Encoder clock counter is used for error reduction. He will be at the beginning of each Pressure cycle reset to the value 'zero' and at each Encoder pulse increments, i. set here to the value 'one'. To the start of the DMA controller and the address generator, wherein the latter triggers the print cycle for the pixel data of a data string, the encoder clock counter is decremented, i. here to the value 'zero' set.
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 too short a time interval and with error reduction. Of the time interval between the first two encoder pulses is greater as a print cycle. From the second to the sixth encoder pulse is the time interval between adjacent encoder pulses, however significantly smaller than a print cycle. From the sixth encoder pulse is the time interval between adjacent encoder pulses again larger and larger than a print cycle. According to the invention, it is provided that depending on the reduced time interval a number of encoder pulses the distance of the printing cycles from each other is reduced until the subsequent printing cycle for printing of binary pixel data of a subsequent data string immediately a complete print cycle to print binary Pixel data from a previous data string, with the decrease to the same extent as the encoder pulses the pressure cycles run ahead.
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
Error reduction, whereby the encoder pulses are too short a pulse width
and / or pause over a longer period of time. In the
Figure 1f performs a
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. FIG. 2 shows the block diagram of the preferred circuit arrangement
for pixel data processing by a print data controller. One
first and a
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
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.
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.
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.
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.
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.
Die beiden Pixeldatenaufbereitungseinheiten sind jeweils eingangsseitig
zwar am BUS 5 jedoch dort nur an die niederwertigen 16 Bit des DatenBusses
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.
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.
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.
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.FIG. 3 shows a section of the circuit arrangement according to FIG. 2 with the pixel
The
The
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.
The
The two pixel data processing units are each connected to the input side of the
It is envisaged that the
It is provided that the
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
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.
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.
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.
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.
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.
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.
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. In the same manner-but not shown in detail-the binary pixel data for the first printhead is word-delivered via
The address read signal AR provided by the
The
The cycle counter of the
While the pixel data for a data string is loaded by direct memory access (DMA) into the respective
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.
The error-reducing encoder pulses logic 542 is a component of the
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.
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.In the
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.
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.
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.
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.
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.4 shows a block diagram of the
In the
The input /
If, for example, the
The
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.
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.
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.
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.FIG. 5 shows a flowchart for the flow control of the printer controller. After switching on in
In a
When an LH edge of an encoder signal occurs, the encoder clock counter is incremented and the digital output signal ENC now becomes unequal to the value 'zero'. When an LH edge occurs, a branch is thus made from the
Subsequently, in
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.
Alternativ kann ein separater zweiter Block entfallen (nicht gezeigt), wenn
die Logik zur Druckerfehlerreduzierung ein Bestandteil des ersten Blocks
451 der Druckersteuerung 45 ist.In the exemplary embodiment shown in FIG. 4, there is a separate
Alternatively, a separate second block may be omitted (not shown) if the printer error reduction logic is part of the
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 is a block diagram of the logic for printer error reduction
shown. First and second AND
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.
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.
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.The filtered encoder signal e is supplied in series via a first input of the second AND
At the respective first inputs of the first and second
At the respective second inputs of the first
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.
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.
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.
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.
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.FIG. 7 a shows a flowchart for reducing printer errors. The routine 700 is started in
The reset signal encoder counter reset is set to the value 'one' after a first DMA cycle by the processing unit of the
The second AND
If, however, no encoder LH edge is supplied via a first input to the second AND
In the
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.
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.
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.
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.
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.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.
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
From the time t 3 , the first-mentioned buffer of the
After printing each pixel group, the
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 short-interval encoder pulses start printing cycles if the encoder pulse period is greater than the DMA cycle 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 AG-busy-Signalgeber
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.
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.
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. FIG. 8 shows a block diagram of an embodiment of the address generator. It is provided that the
The evaluation unit 442 comprises an
It is further contemplated that the input /
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 /
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.
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 operation of the
The
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
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.
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.
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.
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.FIG. 10 shows a flowchart for DMA control. Such a
Then, in
In the aforementioned
Otherwise, if the word counter does not have the predetermined value W <20, the
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.
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.
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.
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.
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.
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.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
In
In the
If, however, the numerical value P is even, then the
From the
In an alternative variant, with a corresponding evaluation circuit in the
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.
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.
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.FIG. 12 shows a table for generating addresses, whose address read signals AR for 22 address groups are generated by the
The
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.
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.
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.FIG. 13 shows a flowchart of the
In each data string exists a first and second number of data words, respectively, containing binary pixel data for a first and a
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 are stored in the pixel memory for a print image. If the parameters Z and Y stored in the
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 in the specific embodiment in a positive digital logic executed. Since the type of logic is basically arbitrary, there is one Variety of suitable design variants. The hardware realization is in a ansich known manner, for example by an ASIC or advantageous by a FPGA (Field Programmable Gate Array) possible. The Invention is not limited to the present embodiment. So Obviously, other other embodiments of the invention may be developed or are used, the same basic idea of the Starting from the invention, which comprises the appended claims become.
Claims (10)
- A method for reducing printer errors during the printing on moving postal items in a postal-item processing apparatus, characterized by the following steps:a) Generation of encoder pulses according to the relative movement between printer and printing matter;b) Counting-up and -down for analyzing a condition with a reduced time interval adjacent encoder pulses;c) Performance of direct memory accesses (DMA) for a data string of binary pixel data; andd) Performance of a printing cycle for the above-mentioned data string, wherein, during the printing cycle, further direct memory accesses (DMA) are made for a next data string and wherein, after completing 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 completely performed as long as the mean value of the encoder period does not fall below the preset duration of a printing cycle or wherein, in case of a reduced time interval the encoder pulses of the number of encoder pulses, the performance of the printing cycle for the printing of binary pixel data of a preceding data string is aborted early.
- A method according to claim 1, characterized in that, depending on a reduced time interval of the encoder pulses of a number of encoder pulses, the interval of the printing cycles is reduced until the subsequent printing cycle for the printing of binary pixel data of a subsequent data string follows immediately after a completed printing cycle for the printing of binary pixel data of a preceding data string, wherein the reduction is made to such an extent as the encoder pulses are ahead of the printing cycles.
- A method according to claim 1, characterized in that, for the non-reduced time interval of the encoder pulses, the printing cycle is set to a predefined period between two positive encoder edges in such a manner that the individual printing cycles are distanced from one another and that, for detecting a reduced time interval of the encoder pulses, a count value is incremented upon every encoder pulse and the count value is decremented upon every start of a printing cycle and that, on the one hand subject to a condition and on the other hand upon a count value that exceeds a predefined set-point (Z), the current printing cycle is aborted early and a new printing cycle is started, said condition being that all direct memory accesses (DMA) to the pixel memory (7) that prepare the next printing cycle have been completed.
- An arrangement for reducing printing errors during the printing in a postal-item processing apparatus comprising a print-data control unit (4) for processing pixel data during the printing on a moving postal item with at least one print head, said print-data control unit being connected via a bus (5) with at least one microprocessor (6), with a pixel memory (7) and with an encoder (3), characterized in that the print-data control unit (4) has an evaluation unit (442 or 453) and a logic (452) for the reduction of printer errors that encoder pulses (e) are fed to and that includes a resettable encoder clock pulse counter (4523) the count value of which is incremented within a counting range of less than to equal to an upper limit value (Y) with every leading edge of an encoder pulse, the count value of which is decremented with every printing cycle start and that supplies, at the output side, a digital count value (ENC), the latter being analyzed by the evaluation unit (442 or 453) as to an exceeding of a set-point (Z), wherein, when the set-point (Z) is not exceeded, every printing cycle is completely performed and, when the set-point (Z) is exceeded, the printing cycle is aborted subject to the condition that all direct memory accesses (DMA) to the pixel memory (7) preparing the next printing cycle have been completed.
- An arrangement according to claim 4, characterized in that the print-data control unit (4) comprises a DMA control (43), an address generator (44), a printer control (45) and the logic (452) for the error reduction of printer errors that encoder pulses (e) are fed to and that, at the output side, supplies a digital count value (ENC) to an address generator (44) and that said address generator (44) has an evaluation unit (442) for aborting a running printing cycle, said evaluation unit (442) comprising a comparator (4421) and a register (4422) for storing the set-point (Z).
- An arrangement according to claims 4 to 5, characterized in that the logic (452) for the error reduction of printer errors includes a resettable encoder clock pulse counter (4523) the count value of which is incremented within a counting range of less than to equal to an upper limit value (Y) with every leading edge of an encoder pulse, the count value of which is decremented with every printing cycle start and the outputs of which are connected to a first comparator (4524) that prevents a decrementing upon reaching the zero count-value and to a second comparator (4525) that checks for reaching the upper limit value (Y) and, at its output side, supplies the respective count-value and that is in an operating connection with the address generator (44), wherein the latter aborts the running printing cycle when all pixel data for the next printing cycle have already been loaded via direct memory accesses (DMA) into an intermediate memory of a pixel-data processing unit (41, 42) and when the count-value of the encoder clock pulse counter that is within the counting range exceeds a preset set-point (Z).
- An arrangement according to claims 4 to 6, characterized in that the logic (452) for the error reduction of printer errors includes a first and a second AND gate (4521, 4522) the outputs of which are connected to the inputs of a clock pulse counter (4523); that the clock pulse counter (4523) has a first input (CLK_down), a second input (CLK_up) and a third input (ENC_RESET) for a reset signal (encoder counter_reset); that a reduction signal (DEC-ENC) is fed through a first input of the 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 serially fed through a first input of the second AND gate (4522) to the second input of which 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), there is applied the count-value that is issued at the outputs (Q1, Q2, Q3, Q4) of the clock pulse counter (4523) as an n-bit broad binary value; and that, at the second inputs of the first digital comparator (4524), there is applied a comparative value "zero" and, at the second inputs of the second digital comparator (4525), there is applied an upper set-point (Y) as an n-bit broad data signal.
- An arrangement according to claims 4 to 7, characterized in that the clock pulse counter (4523) is designed as an n-bit counter.
- An arrangement according to claims 4 to 7, characterized in that, through a first block (451) of the printer control (45) of the print-data control unit (4), there are supplied a filtered encoder signal (e), the reset signal (encoder counter_reset) and the reduction signal (DEC-ENC) as well as the upper set-point (Y).
- An arrangement according to claims 4 to 9, characterized in that the print-data control unit (4) is designed as a specific application-related circuit or as a programmable logic.
Priority Applications (4)
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 |
AT03090193T ATE307032T1 (en) | 2003-06-27 | 2003-06-27 | METHOD AND ARRANGEMENT FOR REDUCING PRINTER ERRORS DURING PRINTING IN A MAIL PROCESSING DEVICE |
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 |
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 EP1491347A1 (en) | 2004-12-29 |
EP1491347B1 true 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) |
Family Cites Families (9)
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 AG & Co., 16547 Birkenwerder | Franking machine |
DE10032855A1 (en) * | 2000-07-06 | 2002-01-17 | Francotyp Postalia Gmbh | Device for printing on a printing medium |
DE10036345B4 (en) | 2000-07-26 | 2005-07-07 | Francotyp-Postalia Ag & Co. Kg | Arrangement and method for data tracking for warm-up cycles of inkjet printheads |
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 |
-
2003
- 2003-06-27 AT AT03090193T patent/ATE307032T1/en active
- 2003-06-27 EP EP03090193A patent/EP1491347B1/en not_active Expired - Lifetime
- 2003-06-27 DE DE50301430T patent/DE50301430D1/en not_active Expired - Lifetime
- 2003-06-27 DK DK03090193T patent/DK1491347T3/en active
Also Published As
Publication number | Publication date |
---|---|
DK1491347T3 (en) | 2006-03-06 |
EP1491347A1 (en) | 2004-12-29 |
ATE307032T1 (en) | 2005-11-15 |
DE50301430D1 (en) | 2006-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1696390B1 (en) | Method and arrangement of controlling the printing of a thermal transfer printer | |
EP0716398B1 (en) | Interface circuit for franking machine | |
DE3236297C2 (en) | Inkjet printing device | |
DE2753967A1 (en) | DOT MATRIX PRINTER WITH INCLINED PRINT HEAD AND MODULAR INCLINED POSITION OF INFORMATION AVAILABLE AS DOT PATTERN | |
EP1416430B1 (en) | Arrangement for printing an image having areas of different imaging resolution | |
DE69627285T2 (en) | Inkjet printer and control method | |
DE3836310C2 (en) | Method for setting a turning device on a printing press with several printing units | |
DE2605821A1 (en) | FAST PRINTER | |
DE1524442A1 (en) | Control device for the number of form line feeds per unit of time on a chain printer | |
DE2654294C3 (en) | Serial printer | |
DE4224955C2 (en) | Arrangement and procedure for internal cost center printing | |
EP1378820B1 (en) | System for controlling a printer in a mail processing system | |
EP1387245B1 (en) | Printer control method in a apparatus for processing post mail | |
DE2331928C3 (en) | Printing device for printing out data in a table | |
DE69729677T2 (en) | Pressure device and method for its control | |
EP1491347B1 (en) | Method and system to reduce printing errors in a mail processing device | |
DE1940703C3 (en) | Device for the controllable advance of a paper web in a printer | |
DE2236662B2 (en) | Electronically controlled hammer printing mechanism | |
DE2044663A1 (en) | Number of printed sheets readout device | |
DE1920199A1 (en) | Mechanical high-speed printer | |
DE2416211C3 (en) | Electronic control device for the printing speed of a high-performance braille printer | |
EP0928246B1 (en) | Printer control with direct memory access | |
DE2031460A1 (en) | printer | |
DE2115141C3 (en) | Device for printing data received one after the other | |
DE2326798C3 (en) | Control device for a serial 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 |