I have no idea why HP decided to use such a convoluted scheme to clock in the data to the nozzles. I'd say something obvious like a shift register would also have worked fine here.
They are shift registers, and the data fed to each nozzle is essentially a serial data stream, but multiple lanes are used to increase the bandwidth and allow higher printhead speeds.
The signals are not all that different from those used for driving LCDs and EPDs[1], if you step back to a higher level of abstraction and look at how they all "print" information --- there's clocks, serial data inputs, and latch signals.
This is a resistive heater "bubblejet" type printhead, the other major inkjet technology is piezoelectric which is widely encountered in Epson printers and also the majority of industrial ones due to their better robustness and ability to handle a wide range of inks. The piezoelectric heads use an even higher driving voltage (~40V) and are usually driven with a trapezoidal waveform, which can be timed with the firing pulse to obtain different drop sizes.
True, however, a 'normal' implementation would just the one clock signal to clock in the three data lines; to lower the clock frequency you could use the rising edges to clock in the even bits and falling edges to clock in the odd bits. That's not what they do here, though: they use the rising edge of the clock to clock in the even bits, as you'd expect, but the S1-S5 lines to clock in the odd bits. That is unexpected. Same with the existence of the S1-S5 lines all by itself: you could also have fixed that with a counter clocked by the existing clock line and a separate reset line; that'd simplify the connections between printer and cart. I'm still not sure why they didn't do that.
This is serendipitous, I just saw a cartridge I had lying around and thought "I should look up how those work, they look interesting." Thanks for this!
They are shift registers, and the data fed to each nozzle is essentially a serial data stream, but multiple lanes are used to increase the bandwidth and allow higher printhead speeds.
The signals are not all that different from those used for driving LCDs and EPDs[1], if you step back to a higher level of abstraction and look at how they all "print" information --- there's clocks, serial data inputs, and latch signals.
This is a resistive heater "bubblejet" type printhead, the other major inkjet technology is piezoelectric which is widely encountered in Epson printers and also the majority of industrial ones due to their better robustness and ability to handle a wide range of inks. The piezoelectric heads use an even higher driving voltage (~40V) and are usually driven with a trapezoidal waveform, which can be timed with the firing pulse to obtain different drop sizes.
[1] Trademark "eInk", he also has another page on driving those: http://spritesmods.com/?art=einkdisplay