Color thermal inkjet printer electronics: the design objectives were to minimize part count while maximizing cost-performance

Hewlett-Packard Journal, August, 1988 by Jennie L. Hollis, Philip C. Schultz, William J. Walsh

Color Thermal Inkjet Printer Electronics

THE PAINTJET PRINTER PROJECT had to develop a low-cost, high-volume product on an aggressive schedule. It was important that the product have a low part count and be easy to manufacture. For the electronics, we needed a high level of integration, and wanted to select the cheapest parts that could do the job. Flexibility was required, however, to fix the inevitable development and production problems. We also needed to respond to changes in the product as more was learned about customer needs. Such changes could occur at any point before product introduction.

When weighing design trade-offs, these were our main constraints. We would like to show how our constraints affected one particular area of the PaintJet electronics and firmware design, namely, some circuitry that was added to the PaintJet printer's custom chip to alleviate weaknesses in the microprocessor we chose.

Performance Requirements

The PaintJet printer was designed for a very high target production volume and there was a maximum cost target for the electronics. These two constraints suggested a very simple design, a minimal part count, and automated assembly. Since low part count would not only aid design and assembly but also enhance reliability, eliminating parts became a primary focus.

On the performance side, the printhead had to fire at 3 kHz. To achieve 180 dots per inch (dpi) across the printer's eight-inch width, firing forty nozzles (ten nozzles each in cyan, magenta, yellow, and black), 57,6000 fire pulses must be sent to the pens each half-second. The commands being sent to the printer need to be converted to fire pulses with little or no delay in carriage motion.

Design Alternatives

Selection of a microprocessor became another focus of the design team. Using a general-purpose microprocessor can vastly reduce the quantity of discrete electronics required. Because of the cost constraint, however, higher-performance processors (such as the Motorola 68000) were eliminated early on.

We knew that the carriage servo would require some custom electronics for modulating the motor-drive signal (see "Low-Cost Servo Design," page 54). We also knew that a low-cost processor couldn't send each fire pulse to the head drivers at exactly the right microsecond. So adding a custom-designed VLSI chip to work with the microprocessor seemed to be the best way to meet our objectives.

The main areas of this custom chip were defined to be: servo motor support, dot-firing control, I/O support, and firmware support. The custom chip was named the Diaper chip.

Firmware Support

One firmware support feature of the Diaper is a three-byte barrel shifter.

The first step in printing is to construct a RAM image of the swath of dots to be fired on the next pass of the carriage. At a resolution of 180 dpi and a width of 8 inches, this image is 1440 dots wide. Text (or black-and-white graphics) uses only the black printhead, which is thirty nozzles high. For color printing, forty nozzles are active, as explained earlier. So the swath buffer is thirty nozzles by 1440 dots per nozzle for black and white, or forty nozzles by 1440 dots per nozzle for color.

To print text at 12 characters per inch (cpi) requires a character bit map 15 dots wide and 30 dots tall. To build up the swath buffer, each of the 30 bit rows of a character needs to be "pasted" to the previous characters in the buffer. Since our RAM is organized in bytes, a bit-map row may have to be shifted before pasting, to maintain byte alignment. The worst case is a seven-dot shift, requiring a three-byte (fifteen dots plus seven dots) shifter.

Only one of the low-cost processors being evaluated had accumulators wider than eight bits. For the others, shifting would have to be done in three parts, with bits passing from one byte to the next through the carry bit. And these bytes would have to be continually swapped in and out of the accumulator. This scheme resulted in unacceptable performance, so a shifter was added to the Diaper. This shifter is also used in preparation for dot firing.

There was a finite cost per gate in the design of the Diaper, and the number of input and output pads was limited, so there had to be some value judgments concerning cost, number of gates, and performance. Based on a generic eight-bit processor, a preliminary interface between the Diaper and the processor was roughed out.

Two firmware tasks were chosen as being probable performance bottlenecks: sending fire data to the thermal inkjet head drivers, and copying a character bit map from ROM to the RAM swath buffer. Assembly code for these tasks was written for each processor under consideration. Standard benchmarks were of little use since the tasks were so specialized, and because the Diaper chip could be counted on to fix specific problems. This code was hand-assembled, and the speed and size of the code were entered into the processor decision matrix along with the increased cost of the Diaper (because of firmware support), interfacing components required, availability of development tools, and vendor reliability.


 

BNET TalkbackShare your ideas and expertise on this topic

Please add your comment:

  1. You are currently: a Guest |
  2.  

Basic HTML tags that work in comments are: bold (<b></b>), italic (<i></i>), underline (<u></u>), and hyperlink (<a href></a)

advertisement
Click Here
CXO UnpluggedSmart Business interviews on BNET

See and hear how senior level executives across the Asia Pacific are developing smart business ideas across a variety of sectors. The focus is on the future, and on how businesses need to evolve.

advertisement
  • Click Here
  • Click Here
  • Click Here
advertisement

Content provided in partnership with Thompson Gale