<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ep-patent-document PUBLIC "-//EPO//EP PATENT DOCUMENT 1.1//EN" "ep-patent-document-v1-1.dtd">
<ep-patent-document id="EP00938328B1" file="EP00938328NWB1.xml" lang="en" country="EP" doc-number="1301351" kind="B1" date-publ="20060920" status="n" dtd-version="ep-patent-document-v1-1">
<SDOBI lang="en"><B000><eptags><B001EP>ATBECHDEDKESFRGBGRITLILUNLSEMCPTIE......FI....CY................................</B001EP><B003EP>*</B003EP><B005EP>J</B005EP><B007EP>DIM360 (Ver 1.5  21 Nov 2005) -  2100000/0</B007EP></eptags></B000><B100><B110>1301351</B110><B120><B121>EUROPEAN PATENT SPECIFICATION</B121></B120><B130>B1</B130><B140><date>20060920</date></B140><B190>EP</B190></B100><B200><B210>00938328.2</B210><B220><date>20000630</date></B220><B240><B241><date>20030130</date></B241></B240><B250>en</B250><B251EP>en</B251EP><B260>en</B260></B200><B400><B405><date>20060920</date><bnum>200638</bnum></B405><B430><date>20030416</date><bnum>200316</bnum></B430><B450><date>20060920</date><bnum>200638</bnum></B450><B452EP><date>20060317</date></B452EP></B400><B500><B510EP><classification-ipcr sequence="1"><text>B41J   2/21        20060101AFI20020118BHEP        </text></classification-ipcr><classification-ipcr sequence="2"><text>B41J   2/07        20060101ALI20040726BHEP        </text></classification-ipcr><classification-ipcr sequence="3"><text>B41J   2/05        20060101ALI20040726BHEP        </text></classification-ipcr></B510EP><B540><B541>de</B541><B542>STEUERUNG DER AUSSTOSSZEITEN DER DRUCKKOPFDÜSEN</B542><B541>en</B541><B542>CONTROLLING THE TIMING OF PRINTHEAD NOZZLE FIRING</B542><B541>fr</B541><B542>REGLAGE DU MOMENT DE DECLENCHEMENT D'UNE BUSE DE TETE D'IMPRESSION</B542></B540><B560><B561><text>EP-A- 0 390 202</text></B561><B561><text>EP-A- 0 688 671</text></B561><B561><text>EP-A- 0 842 777</text></B561><B561><text>EP-A- 0 938 976</text></B561><B561><text>WO-A-00/27640</text></B561><B561><text>US-A- 5 754 193</text></B561><B561><text>US-A- 5 867 183</text></B561><B561><text>US-A- 5 896 146</text></B561><B565EP><date>20040730</date></B565EP></B560></B500><B700><B720><B721><snm>SILVERBROOK, Kia</snm><adr><str>Silverbrook Research Pty Ltd
393 Darling Street</str><city>Balmain, NSW 2041</city><ctry>AU</ctry></adr></B721><B721><snm>WALMSLEY, Simon, Robert</snm><adr><str>Unit 3
9 Pembroke Street</str><city>Epping, NSW 2121</city><ctry>AU</ctry></adr></B721></B720><B730><B731><snm>Silverbrook Research Pty. Limited</snm><iid>02699020</iid><irf>P10016.EP</irf><adr><str>393 Darling Street</str><city>Balmain, NSW 2041</city><ctry>AU</ctry></adr></B731></B730><B740><B741><snm>McCarthy, Denis Alexis</snm><sfx>et al</sfx><iid>00072361</iid><adr><str>MacLachlan &amp; Donaldson 
47 Merrion Square</str><city>Dublin 2</city><ctry>IE</ctry></adr></B741></B740></B700><B800><B840><ctry>AT</ctry><ctry>BE</ctry><ctry>CH</ctry><ctry>CY</ctry><ctry>DE</ctry><ctry>DK</ctry><ctry>ES</ctry><ctry>FI</ctry><ctry>FR</ctry><ctry>GB</ctry><ctry>GR</ctry><ctry>IE</ctry><ctry>IT</ctry><ctry>LI</ctry><ctry>LU</ctry><ctry>MC</ctry><ctry>NL</ctry><ctry>PT</ctry><ctry>SE</ctry></B840><B860><B861><dnum><anum>AU2000000755</anum></dnum><date>20000630</date></B861><B862>en</B862></B860><B870><B871><dnum><pnum>WO2002004219</pnum></dnum><date>20020117</date><bnum>200203</bnum></B871></B870></B800></SDOBI><!-- EPO <DP n="1"> -->
<description id="desc" lang="en">
<heading id="h0001">FIELD OF THE INVENTION</heading>
<p id="p0001" num="0001">The invention relates to a method of controlling the timing of the firing of printhead nozzles and to a printhead chip and printer operating according to the method.</p>
<heading id="h0002">BACKGROUND OF THE INVENTION</heading>
<p id="p0002" num="0002">Various methods, systems and apparatus relating to the present invention are disclosed in the following co-pending applications filed by the applicant or assignee of the present invention on 24 May 2000: PCT/AU00/00518, PCT/AU00/00519, PCT/AU00/00520, PCT/AU00/00521, PCT/AU00/00523, PCT/AU00/00524, PCT/AU00/00525, PCT/AU00/00526, PCT/AU00/00527, PCT/AU00/00528, PCT/AU00/00529, PCT/AU00/00530, PCT/AU00/00531, PCT/AU00/00532, PCT/AU00/00533, PCT/AU00/00534, PCT/AU00/00535, PCT/AU00/00536, PCT/AU00/00537, PCT/AU00/00538, PCT/AU00/00539, PCT/AU00/00540, PCT/AU00/00541, PCT/AU00/00542, PCT/AU00/00543, PCT/AU00/00544, PCT/AU00/00545, PCT/AU00/00547, PCT/AU00/00546, PCT/AU00/00554, PCT/AU00/00556, PCT/AU00/00557, PCT/AU00/00558, PCT/AU00/00559, PCT/AU00/00560, PCT/AU00/00561, PCT/AU00/00562, PCT/AU00/00563, PCT/AU00/00564, PCT/AU00/00566, PCT/AU00/00567, PCT/AU00/00568, PCT/AU00/00569, PCT/AU00/00570, PCT/AU00/00571, PCT/AU00/00572, PCT/AU00/00573, PCT/AU00/00574, PCT/AU00/00575, PCT/AU00/00576, PCT/AU00/00577, PCT/AU00/00578, PCT/AU00/00579, PCT/AU00/00581, PCT/AU00/00580, PCT/AU00/00582, PCT/AU00/00587, PCT/AU00/00588, PCT/AU00/00589, PCT/AU00/00583, PCT/AU00/00593, PCT/AU00/00590, PCT/AU00/00591, PCT/AU00/00592, PCT/AU00/00594, PCT/AU00/00595, PCT/AU00/00596, PCT/AU00/00597, PCT/AU00/00598, PCT/AU00/00516, PCT/AU00/00517 and PCT/AU00/00511.</p>
<p id="p0003" num="0003">In addition, various methods, systems and apparatus relating to the present invention are disclosed in the following co-pending PCT applications filed simultaneously by the applicant or assignee of the present invention: PCT/AU00/00754, PCT/AU00/00756 and PCT/AU00/00757.</p>
<p id="p0004" num="0004">Of particular note are co-pending PCT application numbers patent applications PCT/AU00/00591, PCT/AU00/00578, PCT/AU00/00579, PCT/AU00/00592 and PCT/AU00/00590, which describe a microelectomechanical drop on demand printhead hereafter referred to as a Memjet printhead.</p>
<p id="p0005" num="0005">The above Memjet printhead is a multi-segment printhead that is developed from printhead segments that are capable of producing, for example, 1600 dpi bi-level dots of liquid ink across the full width of a page. Dots are easily produced in isolation, allowing dispersed-dot dithering to be exploited to its fullest. Color planes might be printed in perfect registration, allowing ideal dot-on-dot printing. The printhead enables high-speed printing using microelectromechanical ink drop technology.</p>
<p id="p0006" num="0006">In addition, co-pending PCT applications PCT/AU00/00516, PCT/AU00/00517, PACT/AU00/00511, and PCT/AU00/00754, PCT/AU00/00756 and PCT/AU00/00757 describe a print engine/controller suited to driving the above referenced page wide printhead.</p>
<p id="p0007" num="0007">A multi-segment printhead of the above kind may field 1280 nozzles. Firing all the nozzles together<!-- EPO <DP n="2"> --> would consume too much power. It could give rise to problems in terms of ink refill and nozzle interference.</p>
<p id="p0008" num="0008">Firing logic controls the firing of nozzles. Normally the timing of firing of nozzles in a printhead is controlled externally. A typical print head is disclosed in WO 00/27640. It is desirable to reduce the complexity that arises in external printhead controllers as a consequence of this. Further, at the printhead, each of the colored inks used has different characteristics in terms of viscosity, heat profile etc. Firing pulses should therefore be generated independently for each color.</p>
<heading id="h0003">SUMMARY OF THE INVENTION</heading>
<p id="p0009" num="0009">The invention resides in control of the firing of nozzles in a printhead, the nozzles being on rows for respective ink channels in the printhead. Print data is loaded to respective channel shift registers for respective channels. All the print data is transferred to nozzle enable bits provided one per nozzle and the nozzles in respective channels are fired in time independent manner using separate timing generators in each channel.</p>
<p id="p0010" num="0010">Moving the timing mechanisms onto the printhead helps reduce complexity. In addition, as each color channel is given its own timer, a given color's firing pattern can be started at any time. It need not be an exact number of dot-lines from another. It is possible to print dot on dot via appropriate staggering of the start timing in respective channels although this regime is not adopted in the preferred embodiment described below.</p>
<p id="p0011" num="0011">Normally the widths and profiles of firing pulses are generated externally to the printhead. In the preferred embodiment below the pulse widths of electrical pulses by which to fire the nozzles is programmable.</p>
<p id="p0012" num="0012">With the above in mind, the nozzles are fired by an electrical pulse. The profile of the pulse is programmed to suit the ink at the nozzle. Ideally the printhead includes ink nozzles in multiple rows, successive rows of nozzles defining respective ink channels and an electrical pulse train fires the nozzles. Pulse profiles in the pulse train are programmed to suit the ink in respective channels. Ideally, programmed bits loaded to a timing generator adjust the pulse profile. Ideally the programmed bits exist in tables loaded to the printhead, one for each channel, the tables being programmed via the printhead serial interface. The nozzle rows are preferably in offset pairs for each channel and firing of the offset pairs is effected by out of phase pulse trains.</p>
<p id="p0013" num="0013">With the above multi-segment printhead (Memjet) technology (outlined in the referred-to documents) the microelectromechanical process is added to a CMOS process by which to construct the printheads. The consequent printhead is a new type. The marriage with CMOS technology allows inclusion of logic in the printhead chip. It is an ideal place to locate timing circuitry for firing of nozzles.</p>
<p id="p0014" num="0014">In a particular form the invention resides in a method of controlling a printhead including nozzle rows, successive rows of nozzles defining respective ink channels wherein the nozzles in respective channels are similarly grouped and groups are fired successively. Ideally respective rows of nozzles are organized in repeated pods of nozzles along the length of each row of nozzles, the nozzles in a pod being fired one after the other along the row; successive pods of respective channels are linked as a chromapod wherein the one after the other firing of nozzles in each channel is in step along the row of nozzles in the respective pods; and blocks of chromapods are operated as a firegroup, the firegroups firing together. The nozzles within a single segment are grouped <i>physically</i> to reduce ink supply complexity and wiring complexity. They are also grouped <i>logically</i> to minimize power consumption and to enable a variety of printing speeds, thereby allowing speed/power consumption trade-offs to be made in different product configurations.</p>
<heading id="h0004">BRIEF DESCRIPTION OF THE DRAWINGS</heading>
<p id="p0015" num="0015">
<dl id="dl0001" compact="compact">
<dt>FIG. 1</dt><dd>illustrates an arrangement of nozzles in a four-color printhead segment.</dd>
<dt>FIG. 2</dt><dd>is a closer view of the nozzle region of the printhead of FIG. 1.</dd>
<dt>FIG. 3</dt><dd>illustrates a single pod and its firing order.<!-- EPO <DP n="3"> --></dd>
<dt>FIG. 4</dt><dd>illustrates a single chromapod.</dd>
<dt>FIG. 5</dt><dd>illustrates a single firegroup.</dd>
<dt>FIG. 6</dt><dd>shows the relationships between segments, phasegroups, firegroups and chromapods.</dd>
<dt>FIG. 7</dt><dd>illustrates the enabling pulses for nozzle firing.</dd>
<dt>FIG. 8</dt><dd>shows the manner of overlap of segments in a multi-segment printhead.</dd>
</dl></p>
<heading id="h0005">DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS</heading>
<p id="p0016" num="0016">In FIG. 1 is seen the arrangement of nozzles in a four color printhead segment 92. A single printhead segment in a multi-segment printhead is typically 21mm in length (93). The width of the segment is typically 80µm for bond pads 94 and other logic, plus 116µm (95) per color contained within the segment (in high speed applications an extra color channel may be required for fixative). Table 1 lists the printhead segment widths for the most common printhead types.
<tables id="tabl0001" num="0001">
<table frame="all">
<title><b>Table 1. Printhead segment widths based on number of colors</b></title>
<tgroup cols="4" colsep="1" rowsep="1">
<colspec colnum="1" colname="col1" colwidth="22mm" colsep="1"/>
<colspec colnum="2" colname="col2" colwidth="29mm" colsep="1"/>
<colspec colnum="3" colname="col3" colwidth="46mm" colsep="1"/>
<colspec colnum="4" colname="col4" colwidth="36mm" colsep="1"/>
<thead>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top"><b>#Colors</b></entry>
<entry namest="col2" nameend="col2" align="center" valign="top"><b>Color channels</b></entry>
<entry namest="col3" nameend="col3" align="center" valign="top"><b>Application</b></entry>
<entry namest="col4" nameend="col4" align="center" valign="top"><b>Segment width (µm)</b></entry></row></thead>
<tbody>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">3</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">CMY</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Photographic</entry>
<entry namest="col4" nameend="col4" align="center" valign="top">484</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">4</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">CMYK</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Desktop printers</entry>
<entry namest="col4" nameend="col4" align="center" valign="top">600</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">5</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">CMYK-IR</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Netpage-enabled</entry>
<entry namest="col4" nameend="col4" align="center" valign="top">716</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">6</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">CMYK-IR-F</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">High-speed Netpage enabled</entry>
<entry namest="col4" nameend="col4" align="center" valign="top">832</entry></row></tbody></tgroup>
</table>
</tables></p>
<p id="p0017" num="0017">The composition of each 116µm color band is ideally two rows of 640 nozzles, such as 96,97 for the yellow nozzles, for a total of 1280 nozzles per color. The number of colors determines the total number of nozzles in the segment. Table 2 lists some examples.
<tables id="tabl0002" num="0002">
<table frame="all">
<title><b>Table 2. Example nozzle counts</b></title>
<tgroup cols="3" colsep="1" rowsep="1">
<colspec colnum="1" colname="col1" colwidth="17mm" colsep="1"/>
<colspec colnum="2" colname="col2" colwidth="36mm" colsep="1"/>
<colspec colnum="3" colname="col3" colwidth="45mm" colsep="1"/>
<thead>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top"><b># Colors</b></entry>
<entry namest="col2" nameend="col2" align="center" valign="top"><b>Example application</b></entry>
<entry namest="col3" nameend="col3" align="center" valign="top"><b>Total nozzles per segment</b></entry></row></thead>
<tbody>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">1</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">K</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">1280</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">3</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">CMY</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">3840</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">4</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">CMYK</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">5120</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">6</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">CMYK-IR-F</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">7680</entry></row></tbody></tgroup>
</table>
</tables></p>
<p id="p0018" num="0018">In FIG. 2 is seen a more detailed view of the nozzle region of the printhead of FIG. 1. Within a single row of nozzles 98, the nozzles are typically separated by 32µm (99), while the two rows 98,100 are offset by 16µm (101). The distance from one 1600 dpi dot to the next is actually 15.875µm, but the segment will be placed at 7.167 degrees relative to the paper such that the horizontal distance between printed dots is 15.875µm. This nozzle placement gives rise to interleaved nozzles for a single line of pixels - one row prints even dots and the other prints odd dots.</p>
<p id="p0019" num="0019">Looking at the nozzles in Figure 2, it is clear that if both rows 102,103 of cyan nozzles were to fire simultaneously, the ink fired would end up on different physical lines of the paper: the odd dots would end up<!-- EPO <DP n="4"> --> on one line, and the even dots would end up on another. Likewise, the dots printed by the magenta nozzles 98,100 would end up on a completely different set of two dot lines. The physical distances between nozzles is therefore of critical importance in terms of ensuring that the combination of colored inks fired by the different nozzles ends up in the correct dot position on the page as the paper passes under the printhead. The distance between the two rows of the same color is 32µm (104), or 2 dot rows. This means that odd and even dots of the same color are printed two dot rows apart. The distance between rows of one color and the next color is 116µm (105). Note that this gives 7.25 dot lines which is not an integral number of dot lines. The printing of one color compared to the next is therefore staggered in time to accommodate the time taken for the paper to move a complete dot. If nozzles for one color's dot line are fired at time T, then nozzles for the corresponding dots in the next color must be fired at time T + 7.25 dot-lines. The relationships between the various rows of nozzles can be generalized by defining two variables:
<ul id="ul0001" list-style="none" compact="compact">
<li>D<sub>1</sub> = distance between two rows of the same color in dot-lines = 2</li>
<li>D<sub>2</sub> = distance between the same row of nozzles between two colors = 7.25</li>
</ul></p>
<p id="p0020" num="0020">We can now say that if the first row of nozzles is row L, then row 1 of color C is dot-line: <maths id="math0001" num=""><math display="block"><mrow><mi mathvariant="normal">L</mi><mo>−</mo><mrow><mo>(</mo><mrow><mi mathvariant="normal">C</mi><mo>−</mo><mn>1</mn></mrow><mo>)</mo></mrow><msub><mi mathvariant="normal">D</mi><mn>2</mn></msub></mrow></math><img id="ib0001" file="imgb0001.tif" wi="28" he="8" img-content="math" img-format="tif"/></maths><br/>
and row 2 of color C is dot-line: <maths id="math0002" num=""><math display="block"><mrow><mi mathvariant="normal">L</mi><mo>−</mo><mrow><mo>(</mo><mrow><mi mathvariant="normal">C</mi><mo>−</mo><mn>1</mn></mrow><mo>)</mo></mrow><msub><mi mathvariant="normal">D</mi><mn>2</mn></msub><mo>−</mo><msub><mi mathvariant="normal">D</mi><mn>1</mn></msub></mrow></math><img id="ib0002" file="imgb0002.tif" wi="31" he="7" img-content="math" img-format="tif"/></maths></p>
<p id="p0021" num="0021">The relationship is shown in Table 3 for an example 6-color printhead. Note that one of the 6 colors is fixative which must be applied first.
<tables id="tabl0003" num="0003">
<table frame="all">
<title><b>Table 3. Relationship between different rows of nozzles</b></title>
<tgroup cols="4" colsep="1" rowsep="1">
<colspec colnum="1" colname="col1" colwidth="25mm" colsep="1"/>
<colspec colnum="2" colname="col2" colwidth="20mm" colsep="1"/>
<colspec colnum="3" colname="col3" colwidth="21mm" colsep="1"/>
<colspec colnum="4" colname="col4" colwidth="35mm" colsep="1"/>
<thead>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top"><b>Color</b></entry>
<entry namest="col2" nameend="col2" align="center" valign="top"><b>Sense</b></entry>
<entry namest="col3" nameend="col3" align="center" valign="top"><b>Dot Line</b></entry>
<entry namest="col4" nameend="col4" align="center" valign="top"><b>When D</b><sub><b>1</b></sub><b>=2, D</b><sub><b>2</b></sub><b>=7.25</b></entry></row></thead>
<tbody>
<row rowsep="0">
<entry namest="col1" nameend="col1" align="center" valign="top">1</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">row 1</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">L</entry>
<entry namest="col4" nameend="col4" align="center" valign="top">L</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">(fixative)</entry>
<entry namest="col2" nameend="col2" align="center" valign="top"/>
<entry namest="col3" nameend="col3" align="center" valign="top"/>
<entry namest="col4" nameend="col4" align="center" valign="top"/></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top"/>
<entry namest="col2" nameend="col2" align="center" valign="top">row 2</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">L-D<sub>1</sub></entry>
<entry namest="col4" nameend="col4" align="center" valign="top">L-2</entry></row>
<row rowsep="0">
<entry namest="col1" nameend="col1" align="center" valign="top">2</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">row 1</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">L-D<sub>2</sub></entry>
<entry namest="col4" nameend="col4" align="center" valign="top">L-7.25</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">(black)</entry>
<entry namest="col2" nameend="col2" align="center" valign="top"/>
<entry namest="col3" nameend="col3" align="center" valign="top"/>
<entry namest="col4" nameend="col4" align="center" valign="top"/></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top"/>
<entry namest="col2" nameend="col2" align="center" valign="top">row 2</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">L-D<sub>2</sub>-D<sub>1</sub></entry>
<entry namest="col4" nameend="col4" align="center" valign="top">L-9.25</entry></row>
<row rowsep="0">
<entry namest="col1" nameend="col1" align="center" valign="top">3</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">row 1</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">L-2D<sub>2</sub></entry>
<entry namest="col4" nameend="col4" align="center" valign="top">L-14.5</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">(yellow)</entry>
<entry namest="col2" nameend="col2" align="center" valign="top"/>
<entry namest="col3" nameend="col3" align="center" valign="top"/>
<entry namest="col4" nameend="col4" align="center" valign="top"/></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top"/>
<entry namest="col2" nameend="col2" align="center" valign="top">row2</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">L-2D<sub>2</sub>-D<sub>1</sub></entry>
<entry namest="col4" nameend="col4" align="center" valign="top">L-16.5</entry></row>
<row rowsep="0">
<entry namest="col1" nameend="col1" align="center" valign="top">4</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">row 1</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">L-3D<sub>2</sub></entry>
<entry namest="col4" nameend="col4" align="center" valign="top">L-21.75</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">(magenta)</entry>
<entry namest="col2" nameend="col2" align="center" valign="top"/>
<entry namest="col3" nameend="col3" align="center" valign="top"/>
<entry namest="col4" nameend="col4" align="center" valign="top"/></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top"/>
<entry namest="col2" nameend="col2" align="center" valign="top">row2</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">L-3D<sub>2</sub> -D<sub>1</sub></entry>
<entry namest="col4" nameend="col4" align="center" valign="top">L-23.75</entry></row>
<row rowsep="0">
<entry namest="col1" nameend="col1" align="center" valign="top">5</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">row1</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">L - 4D<sub>2</sub></entry>
<entry namest="col4" nameend="col4" align="center" valign="top">L-29</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">(cyan)</entry>
<entry namest="col2" nameend="col2" align="center" valign="top"/>
<entry namest="col3" nameend="col3" align="center" valign="top"/>
<entry namest="col4" nameend="col4" align="center" valign="top"/></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top"/>
<entry namest="col2" nameend="col2" align="center" valign="top">row2</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">L-4D<sub>2</sub>-D<sub>1</sub></entry>
<entry namest="col4" nameend="col4" align="center" valign="top">L-31</entry></row><!-- EPO <DP n="5"> -->
<row rowsep="0">
<entry namest="col1" nameend="col1" align="center" valign="top">6</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">row 1</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">L-5D<sub>2</sub></entry>
<entry namest="col4" nameend="col4" align="center" valign="top">L - 36.25</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">(infrared)</entry>
<entry namest="col2" nameend="col2" align="center" valign="top"/>
<entry namest="col3" nameend="col3" align="center" valign="top"/>
<entry namest="col4" nameend="col4" align="center" valign="top"/></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top"/>
<entry namest="col2" nameend="col2" align="center" valign="top">row 2</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">L-5D<sub>2</sub>-D<sub>1</sub></entry>
<entry namest="col4" nameend="col4" align="center" valign="top">L-38.25</entry></row></tbody></tgroup>
</table>
</tables></p>
<p id="p0022" num="0022">Each of the colored inks used in a printhead has different characteristics in terms of viscosity, heat profile etc. Firing pulses are therefore generated independently for each color. This are explained further below.</p>
<p id="p0023" num="0023">In addition, although coated paper may be used for printing, fixative is required for high speed printing applications on plain paper. When fixative is used it should be printed before any of the other inks are printed to that dot position. The fixative represents an OR of the data for that dot position. Printing fixative first also preconditions the paper so that the subsequent drops will spread to the right size.</p>
<p id="p0024" num="0024">A single segment contains a total of 1280C nozzles, where C is the number of colors in the segment. A <i>print cycle</i> involves the firing of up to all of these nozzles, dependent on the information to be printed. A <i>load</i> cycle involves the loading up of the segment with the information to be printed during the subsequent print cycle.</p>
<p id="p0025" num="0025">Each nozzle has an associated <i>NozzleEnable</i> bit that determines whether or not the nozzle will fire during the print cycle. The NozzleEnable bits (one per nozzle) are loaded via a set of shift registers.</p>
<p id="p0026" num="0026">Logically there are C shift registers per segment (one per color), each 1280 deep. As bits are shifted into the shift register for a given color they are directed to the lower and upper nozzles on alternate pulses. Internally, each 1280-deep shift register is comprised of two 640-deep shift registers: one for the upper nozzles, and one for the lower nozzles. Alternate bits are shifted into the alternate internal registers. As far as the external interface is concerned however, there is a single 1-bit by 1280 deep shift register.</p>
<p id="p0027" num="0027">Once all the shift registers have been fully loaded (1280 load pulses), all of the bits are transferred in parallel to the appropriate NozzleEnable bits. This equates to a single parallel transfer of 1280C bits. Once the transfer has taken place, the print cycle can begin. The print cycle and the load cycle can occur simultaneously as long as the parallel load of all NozzleEnable bits occurs at the end of the print cycle.</p>
<p id="p0028" num="0028">The load cycle is concerned with loading the segment's shift registers with the next print cycle's NozzleEnable bits.</p>
<p id="p0029" num="0029">Each segment has C 1-bit inputs directly related to the C shift registers (where C is the number of colors in the segment). These inputs are named <i>Dn,</i> where n is 1 to C (for example, a 4 color segment would have 4 inputs labeled <i>D1</i>, <i>D2, D3</i> and <i>D4</i>). A single pulse on the segment's <i>'SClk</i> line transfers C bits into the appropriate shift registers. Alternate pulses transfer bits to the lower and upper nozzles respectively. A total of 1280 pulses are required for the complete transfer of data. Once all 1280C bits have been transferred, a single pulse on the <i>TEn</i> line causes the parallel transfer of data from the shift registers to the appropriate NozzleEnable bits.<!-- EPO <DP n="6"> --></p>
<p id="p0030" num="0030">The parallel transfer via a pulse on TEn must take place after the print cycle has finished. Otherwise the NozzleEnable bits for the line being printed will be incorrect.</p>
<p id="p0031" num="0031">It is important to note that the odd and even dot outputs, although printed during the same print cycle, do not appear on the same physical output line. The physical separation of odd and even nozzles within the printhead, as well as separation between nozzles of different colors ensures that they will produce dots on different lines of the page. This relative difference must be accounted for when loading the data into the printhead. The actual difference in lines depends on the characteristics of the inkjet mechanism used in the printhead. The differences can be defined by variables D<sub>1</sub> and D<sub>2</sub> where D<sub>1</sub> is the distance between nozzles of different colors, and D<sub>2</sub> is the distance between nozzles of the same color. Table 4 shows the dots transferred to a C color segment on the first 4 pulses.
<tables id="tabl0004" num="0004">
<table frame="all">
<title><b>Table 4. Order of dots transferred to a segment</b></title>
<tgroup cols="6" colsep="1" rowsep="1">
<colspec colnum="1" colname="col1" colwidth="14mm" colsep="1"/>
<colspec colnum="2" colname="col2" colwidth="11mm" colsep="1"/>
<colspec colnum="3" colname="col3" colwidth="23mm" colsep="1"/>
<colspec colnum="4" colname="col4" colwidth="22mm" colsep="1"/>
<colspec colnum="5" colname="col5" colwidth="22mm" colsep="1"/>
<colspec colnum="6" colname="col6" colwidth="27mm" colsep="1"/>
<thead>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top"><b>Pulse</b></entry>
<entry namest="col2" nameend="col2" align="center" valign="top"><b>Dot</b></entry>
<entry namest="col3" nameend="col3" align="center" valign="top"><b>Color1 Line</b></entry>
<entry namest="col4" nameend="col4" align="center" valign="top"><b>Color2 Line</b></entry>
<entry namest="col5" nameend="col5" align="center" valign="top"><b>Color3 line</b></entry>
<entry namest="col6" nameend="col6" align="center" valign="top"><b>ColorC Line</b></entry></row></thead>
<tbody>
<row rowsep="0">
<entry namest="col1" nameend="col1" rowsep="0" align="left" valign="top">1</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">0</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">N</entry>
<entry namest="col4" nameend="col4" align="left" valign="top">N+D<sub>1</sub><sup>10</sup></entry>
<entry namest="col5" nameend="col5" align="left" valign="top">N+2D<sub>1</sub></entry>
<entry namest="col6" nameend="col6" align="left" valign="top">N+(C-1)D<sub>1</sub></entry></row>
<row rowsep="0">
<entry namest="col1" nameend="col1" align="left" valign="top">2</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">1</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">N+D<sub>2</sub><sup>11</sup></entry>
<entry namest="col4" nameend="col4" align="left" valign="top">N+D<sub>1</sub>+D<sub>2</sub></entry>
<entry namest="col5" nameend="col5" align="left" valign="top">N+2D<sub>1</sub>+D<sub>2</sub></entry>
<entry namest="col6" nameend="col6" align="left" valign="top">N+(C-1)D<sub>1</sub>+D<sub>2</sub></entry></row>
<row rowsep="0">
<entry namest="col1" nameend="col1" align="left" valign="top">3</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">2</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">N</entry>
<entry namest="col4" nameend="col4" align="left" valign="top">N+D<sub>1</sub></entry>
<entry namest="col5" nameend="col5" align="left" valign="top">N+2D<sub>1</sub></entry>
<entry namest="col6" nameend="col6" align="left" valign="top">N+(C-1)D<sub>1</sub></entry></row>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">4</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">3</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">N+D<sub>2</sub></entry>
<entry namest="col4" nameend="col4" align="left" valign="top">N+D<sub>1</sub>+D<sub>2</sub></entry>
<entry namest="col5" nameend="col5" align="left" valign="top">N+2D<sub>1</sub>+D<sub>2</sub></entry>
<entry namest="col6" nameend="col6" align="left" valign="top">N+(C-1)D<sub>1</sub>+D<sub>2</sub></entry></row></tbody></tgroup>
<tgroup cols="6" rowsep="0">
<colspec colnum="1" colname="col1" colwidth="14mm"/>
<colspec colnum="2" colname="col2" colwidth="11mm"/>
<colspec colnum="3" colname="col3" colwidth="23mm"/>
<colspec colnum="4" colname="col4" colwidth="22mm"/>
<colspec colnum="5" colname="col5" colwidth="22mm"/>
<colspec colnum="6" colname="col6" colwidth="27mm"/>
<tbody>
<row>
<entry namest="col1" nameend="col6" align="justify" valign="top"><sup>10</sup> D<sub>1</sub> = number of lines between the nozzles of one color and the next (likely =6-10)<br/>
<sup>11</sup> D<sub>2</sub> = number of lines between two rows of nozzles of the same color (likely = 2)</entry></row></tbody></tgroup>
</table>
</tables></p>
<p id="p0032" num="0032">And so on for all 1280 pulses. For more information about line differences due to physical placement of nozzles.</p>
<p id="p0033" num="0033">Data can be clocked into a segment at a maximum rate of 80MHz, which will load the entire 1280C bits of data in 16µs.</p>
<p id="p0034" num="0034">A single Memjet printhead segment contains 1280 nozzles. To fire them all at once would consume too much power and has the potential for problems in terms of ink refill and nozzle interference. This problem is made more apparent when we consider that a typical Memjet printhead is composed of multiple segments, each with 1280 nozzles.</p>
<p id="p0035" num="0035">Nozzles are therefore grouped logically within a segment to enable a variety of printing speeds. These groupings allow speed/power consumption trade-offs to be made in different product configurations.</p>
<p id="p0036" num="0036">In the lowest-speed printing mode, 10 nozzles of each color are fired from the segment at a time. The exact number of nozzles fired depends on how many colors are present in the printhead. For example, in a six color (e.g. CMYK-IR-F) printing environment, 60 nozzles are fired simultaneously. To fire all the nozzles in a segment, 128 different sets of nozzles must be fired.<!-- EPO <DP n="7"> --></p>
<p id="p0037" num="0037">In the highest-speed printing mode, 80 nozzles of each color are fired from the segment at a time. The exact number of nozzles fired depends on how many colors are present in the printhead. For example, in a six color (e.g. CMYK-IR-F) printing environment, 480 nozzles are fired simultaneously. To fire all the nozzles in a segment, 16 different sets of nozzles must be fired.</p>
<p id="p0038" num="0038">The power consumption in the lowest-speed mode is one eighth that of the highest-speed mode. Note, however, that the energy consumed to print a page is the same in both cases.<br/>
Nozzles are grouped logically into pods, chromapods, phasegroups, firegroups, and finally the segment itself.</p>
<p id="p0039" num="0039">A single <i>pod</i> consists of 8 contiguous nozzles from a single physical row. Each nozzle produces dots 22.5µm in diameter spaced on a 15.875µm grid to print at 1600 dpi. Figure 3 shows the arrangement of a single pod, with the nozzles numbered according to the order in which they should be fired.</p>
<p id="p0040" num="0040">Although the nozzles are fired in this order, the relationship of nozzles and physical placement of dots on the printed page is different. The nozzles within a pod are 2 dots apart, for the middle dot is printed by another row of nozzles. A single row therefore represents either the odd or even dots of a color.</p>
<p id="p0041" num="0041">One pod of each color are logically grouped together into a <i>chromapod.</i> The number of pods in a chromapod will depend on the particular application. In a monochrome printing system (such as one that prints only black), there is only a single color and hence a single pod. Photo printing application printheads require 3 colors (cyan, magenta, yellow), so printhead segments used for these applications will have 3 pods per chromapod (one pod of each color). A desktop printer by contrast may contain 6 pods, one for each of cyan, magenta, yellow, black, infrared and fixative. A chromapod represents different color components of the same horizontal set of 8 dots on different lines. The exact distance between different color pods depends on the printhead operating parameters, and may vary from one printhead design to another. The distance must be taken into account when printing: the dots printed by the cyan nozzles for example, will be for different lines than those printed by the magenta, yellow or black nozzles. Figure 4 illustrates a single chromapod for a 4 color CMYK printing application.</p>
<p id="p0042" num="0042">8 chromapods are organized into a single <i>firegroup</i>. The firegroup is so named because groups of nozzles within a firegroup are fired simultaneously during a given firing phase (this is explained in more detail below). The formation of a firegroup from 8 chromapods is entirely for the purposes of multi-speed printing. During low-speed printing, only one of the eight Chromapods fires nozzles in a given firing pulse. During high-speed printing, all eight Chromapods fire nozzles. Consequently the low-speed print takes eight times as long as a high-speed print, since the high-speed print fires eight times as many nozzles at once. A firegroup therefore contains 64 nozzles for each color. The arrangement is shown in Figure 5, with chromapods numbered 0-7 and using a CMYK chromapod as the example. Note that the distance between adjacent chromapods is exaggerated for clarity.</p>
<p id="p0043" num="0043">10 firegroups are organized into a single <i>phasegroup</i>, with 2 phasegroups in each segment. The Even Phasegroup contains only the even nozzle rows, while the Odd Phasegroup contains the odd nozzle rows. Two enable lines, EvenEnable and OddEnable, independently control the firing of the two phasegroups as different firing phases. Since all firegroups within a single phasegroup share the same firing pulse, the firegroups fire<!-- EPO <DP n="8"> --> simultaneously. The arrangement is shown in Figure 6. The distance between adjacent groupings is exaggerated for clarity. Table 5 is a summary of the nozzle groupings in a segment.
<tables id="tabl0005" num="0005">
<table frame="all">
<title><b>Table 5. Nozzle groupings for a single segment</b></title>
<tgroup cols="4" colsep="1" rowsep="1">
<colspec colnum="1" colname="col1" colwidth="33mm" colsep="1"/>
<colspec colnum="2" colname="col2" colwidth="43mm" colsep="1"/>
<colspec colnum="3" colname="col3" colwidth="32mm" colsep="1"/>
<colspec colnum="4" colname="col4" colwidth="26mm" colsep="1"/>
<thead>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top"><b>Name of Grouping</b></entry>
<entry namest="col2" nameend="col2" align="center" valign="top"><b>Composition</b></entry>
<entry namest="col3" nameend="col3" align="center" valign="top"><b>Replication Ratio</b></entry>
<entry namest="col4" nameend="col4" align="center" valign="top"><b>Nozzle Count</b></entry></row></thead>
<tbody>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">Nozzle</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">Base unit</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">1:1</entry>
<entry namest="col4" nameend="col4" align="center" valign="top">1</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">Pod</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">Nozzles per pod</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">8:1</entry>
<entry namest="col4" nameend="col4" align="center" valign="top">8</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">Chromapod</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">Pods per chromapod</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">C:1</entry>
<entry namest="col4" nameend="col4" align="center" valign="top">8C</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">Firegroup</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">Chromapods per firegroup</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">8:1</entry>
<entry namest="col4" nameend="col4" align="center" valign="top">64C</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">Phasegroup</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">Firegroups per phasegroup</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">10:1</entry>
<entry namest="col4" nameend="col4" align="center" valign="top">640C</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">Segment</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">Phasegroups per segment</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">2:1</entry>
<entry namest="col4" nameend="col4" align="center" valign="top">1280C</entry></row></tbody></tgroup>
</table>
</tables>
The logical nozzle groupings support a number of printing speeds, as listed in Table 6.
<tables id="tabl0006" num="0006">
<table frame="all">
<title><b>Table 6. Printing speeds supported by printhead</b></title>
<tgroup cols="3" colsep="1" rowsep="1">
<colspec colnum="1" colname="col1" colwidth="24mm" colsep="1"/>
<colspec colnum="2" colname="col2" colwidth="25mm" colsep="1"/>
<colspec colnum="3" colname="col3" colwidth="42mm" colsep="1"/>
<thead>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top"><b>Speed</b></entry>
<entry namest="col2" nameend="col2" align="center" valign="top"><b># Phases</b></entry>
<entry namest="col3" nameend="col3" align="center" valign="top"><b># Nozzles fired per phase</b></entry></row></thead>
<tbody>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">1</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">128</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">10C<sup>12</sup> (C per firegroup)</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">2</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">64</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">20C (2C per firegroup)</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">3</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">32</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">40C (4C.per firegroup)</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">4</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">16</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">80C (8C per firegroup)</entry></row></tbody></tgroup>
<tgroup cols="3" rowsep="0">
<colspec colnum="1" colname="col1" colwidth="24mm"/>
<colspec colnum="2" colname="col2" colwidth="25mm"/>
<colspec colnum="3" colname="col3" colwidth="42mm"/>
<tbody>
<row>
<entry namest="col1" nameend="col3" align="justify" valign="top"><sup>12</sup> C = number of colors</entry></row></tbody></tgroup>
</table>
</tables></p>
<p id="p0044" num="0044">The print speed is programmed into the Memjet printhead by means of the serial interface. The interpretation of the print speed relies on an understanding of the printhead internals, which are therefore described here.</p>
<p id="p0045" num="0045">The nozzles to be fired in a given firing pulse are determined by:
<ul id="ul0002" list-style="bullet" compact="compact">
<li>3 bits <i>NozzleSelect</i> (select 1 of 8 nozzles from a pod)</li>
<li>8 bits of <i>ChromapodSelect</i> (select 0-8 chromapods to fire)</li>
</ul></p>
<p id="p0046" num="0046">When one of the ChromapodSelect bits is set, only the specified chromapod's nozzles will fire as determined by ChromapodSelect and NozzleSelect. When all eight of the ChromapodSelect lines are set, all of the chromapods will fire their nozzles. When told to start printing a line via a pulse on the <i>NPSync</i> line, the state machine inside the printhead simply runs through NozzleSelect from 0 to 7 for each valid set of ChromapodSelect values. To run through the valid set of ChromapodSelect values, ChromapodSelect is shifted a specified number of bits. When the ChromapodSelect matches the initial ChromapodSelect, the NozzleSelect value is incremented. This helps to spread the power and heat evenly across the printhead during the printing of<!-- EPO <DP n="9"> --> a line. Table 7 lists various print speeds together with the related settings for ChromapodSelect and bit shift amount.
<tables id="tabl0007" num="0007">
<table frame="all">
<title><b>Table 7. Initial settings for ChromapodSelect</b></title>
<tgroup cols="3" colsep="1" rowsep="1">
<colspec colnum="1" colname="col1" colwidth="19mm" colsep="1"/>
<colspec colnum="2" colname="col2" colwidth="36mm" colsep="1"/>
<colspec colnum="3" colname="col3" colwidth="18mm" colsep="1"/>
<thead>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top"><b>Speed</b></entry>
<entry namest="col2" nameend="col2" align="center" valign="top"><b>ChromapodSelect</b></entry>
<entry namest="col3" nameend="col3" align="center" valign="top"><b>shift</b></entry></row></thead>
<tbody>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">1</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">10000000</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">1</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">2</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">11000000</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">2</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">3</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">11110000</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">4</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">4</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">11111111</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">0(8)</entry></row></tbody></tgroup>
</table>
</tables></p>
<p id="p0047" num="0047">For the high-speed printing mode, the state machine generates the firing order over 16 phases as listed in Table 8.
<tables id="tabl0008" num="0008">
<table frame="all">
<title><b>Table 8. High speed printing firing order</b></title>
<tgroup cols="3" colsep="1" rowsep="1">
<colspec colnum="1" colname="col1" colwidth="33mm" colsep="1"/>
<colspec colnum="2" colname="col2" colwidth="26mm" colsep="1"/>
<colspec colnum="3" colname="col3" colwidth="21mm" colsep="1"/>
<thead>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top"><b>Chromapod Select</b></entry>
<entry namest="col2" nameend="col2" align="center" valign="top"><b>Nozzle Select</b></entry>
<entry namest="col3" nameend="col3" align="center" valign="top"><b>Phases</b></entry></row></thead>
<tbody>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">11111111</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">0</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Even &amp; Odd</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">11111111</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">1</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Even &amp; Odd</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">11111111</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">2</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Even &amp; Odd</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">11111111</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">3</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Even &amp; Odd</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">11111111</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">4</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Even &amp; Odd</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">11111111</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">5</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Even &amp; Odd</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">11111111</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">6</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Even &amp; Odd</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">11111111</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">7</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Even &amp; Odd</entry></row></tbody></tgroup>
</table>
</tables></p>
<p id="p0048" num="0048">The firing order is similar for slower printing modes. However, instead of setting all the bits of ChromapodSelect, we simply set 1, 2 or 4 of those bits. The fewer bits that are set the fewer nozzles will fire. When only 1 bit of ChromapodSelect is set, it takes 8 times as long as the high speed mode to fire all nozzles. The firing order for the slowest speed printing is shown in Table 9.
<tables id="tabl0009" num="0009">
<table frame="all">
<title><b>Table 9. Low speed printing firing order</b></title>
<tgroup cols="3" colsep="1" rowsep="1">
<colspec colnum="1" colname="col1" colwidth="33mm" colsep="1"/>
<colspec colnum="2" colname="col2" colwidth="26mm" colsep="1"/>
<colspec colnum="3" colname="col3" colwidth="21mm" colsep="1"/>
<thead>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top"><b>Chromapod Select</b></entry>
<entry namest="col2" nameend="col2" align="center" valign="top"><b>Nozzle Select</b></entry>
<entry namest="col3" nameend="col3" align="center" valign="top"><b>Phases</b></entry></row></thead>
<tbody>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">10000000</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">0</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Even &amp; Odd</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">01000000</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">0</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Even &amp; Odd</entry></row><!-- EPO <DP n="10"> -->
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">00100000</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">0</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Even &amp; Odd</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">00010000</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">0</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Even &amp; Odd</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">00001000</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">0</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Even &amp; Odd</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">00000100</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">0</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Even &amp; Odd</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">00000010</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">0</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Even &amp; Odd</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">00000001</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">0</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Even &amp; Odd</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">10000000</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">1</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Even &amp; Odd</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">01000000</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">1</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Even &amp; Odd</entry></row>
<row>
<entry namest="col1" nameend="col3" colsep="1" rowsep="1" align="center" valign="top">... etc ...</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">00000010</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">7</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Even &amp; Odd</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">00000001</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">7</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">Even &amp; Odd</entry></row></tbody></tgroup>
</table>
</tables></p>
<p id="p0049" num="0049">The <i>EvenEnable</i> and <i>OddEnable</i> are separate generated signals for each color in order that the firing pulses can overlap. Thus the 128 phases of a low-speed print cycle consist of 64 Even phases and 64 Odd phases. Likewise, the 16 phases of a high-speed print cycle consist of 8 Even phases and 8 Odd phases.</p>
<p id="p0050" num="0050">There are consequently 2 separate timing generators for each color. Each timing generator uses its own programmable 200-bit entry pulse profile. The 200 1-bit entries define a total of 2µs where each entry defines a 10ns time interval. Since the typical duration of a firing pulse is 1.3 - 1.8 µs a 2µs duration is adequate. Two 200-bit tables are therefore required for each color present on the printhead. The tables are programmed via the printhead's serial interface. It is quite reasonable for the odd and even pulse profiles to be the same, but they will typically be offset from each other by 1µs to take account of the fact that the pulses overlap. Figure 7 shows example EvenEnable and OddEnable lines for a single color during a typical print cycle where the pulse is very simple.</p>
<p id="p0051" num="0051">The pulse profile for a given color depends on the viscosity of the ink (dependent on temperature and ink characteristics) and the amount of power available to the printhead. The viscosity curve of the ink can be obtained from the ink supply's QA chip. The line times then for the various print speeds are twice as fast as would first appear, since the two phases are overlapping. The print speeds are therefore as listed in Table 10.
<tables id="tabl0010" num="0010">
<table frame="all">
<title><b>Table 10. Line times for various print speeds</b></title>
<tgroup cols="4" colsep="1" rowsep="1">
<colspec colnum="1" colname="col1" colwidth="18mm" colsep="1"/>
<colspec colnum="2" colname="col2" colwidth="19mm" colsep="1"/>
<colspec colnum="3" colname="col3" colwidth="21mm" colsep="1"/>
<colspec colnum="4" colname="col4" colwidth="32mm" colsep="1"/>
<thead>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top"><b>Speed</b></entry>
<entry namest="col2" nameend="col2" align="center" valign="top"><b># Phases</b></entry>
<entry namest="col3" nameend="col3" align="center" valign="top"><b>Line Time</b></entry>
<entry namest="col4" nameend="col4" align="center" valign="top"><b># lines per second</b></entry></row></thead>
<tbody>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">1</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">128</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">128 µs</entry>
<entry namest="col4" nameend="col4" align="center" valign="top">7812</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">2</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">64</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">64 µs</entry>
<entry namest="col4" nameend="col4" align="center" valign="top">15,625</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">2</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">32</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">32 µs</entry>
<entry namest="col4" nameend="col4" align="center" valign="top">31,250</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top"/>
<entry namest="col2" nameend="col2" align="center" valign="top">16</entry>
<entry namest="col3" nameend="col3" align="center" valign="top">16 µs</entry>
<entry namest="col4" nameend="col4" align="center" valign="top">62,500</entry></row></tbody></tgroup>
</table>
</tables><!-- EPO <DP n="11"> --></p>
<p id="p0052" num="0052">The firing of a nozzle also causes acoustic perturbations for a limited time within the ink reservoir of that nozzle. The perturbations can interfere with the firing of that nozzle for the next line. The shortest time between a single nozzles firing is 32µs (the fastest print speed). As the ink channel is 300µm long and the velocity of sound in the ink is around 1500m/s, the resonant frequency of the ink channel is 2.5MHz. The high-speed mode allows 80 resonant cycles, which gives minimal acoustic interference.</p>
<p id="p0053" num="0053">A segment produces several types of feedback, all of which can be used to adjust the timing of the firing pulses. Since multiple segments are collected together into a printhead, it is effective to share the feedback line as a tri-state bus, with only one of the segments placing the feedback information on the feedback line.</p>
<p id="p0054" num="0054">A pulse on the segment's <i>CCEn</i> line ANDed with data on <i>D1</i> selects if the particular segment will provide the feedback. The feedback sense line will come from that segment until the next CCEn pulse. The feedback is one of:
<ul id="ul0003" list-style="bullet" compact="compact">
<li><i>Tsense</i> informs the controller how hot the printhead is. This allows the controller to adjust firing pulse profiles, since temperature affects the viscosity of the ink.</li>
<li><i>Vsense</i> informs the controller how much voltage is available to the actuator. This allows the controller to compensate for a flat battery or high voltage source by adjusting the pulse width.</li>
<li><i>Rsense</i> informs the controller of the resistivity (Ohms per square) of the actuator heater. This allows the controller to adjust the pulse widths to maintain a constant energy irrespective of the heater resistivity.</li>
<li><i>Wsense</i> informs the controller of the width of the critical part of the heater, which may vary up to ± 5% due to lithographic and etching variations. This allows the controller to adjust the pulse width appropriately.</li>
</ul></p>
<p id="p0055" num="0055">The printing process has a strong tendency to stay at the equilibrium temperature. To ensure that the first section of the printed page has a consistent dot size, the equilibrium temperature must be met <i>before</i> printing any dots. This is accomplished via a preheat cycle. The preheat cycle involves a single load cycle to all nozzles of a segment with 1s (i.e. setting all nozzles to fire), and a number of short firing pulses to each nozzle. The duration of the pulse must be insufficient to fire the drops, but enough to heat up the ink. Altogether about 200 pulses for each nozzle are required, cycling through in the same sequence as a standard print cycle. Feedback during the preheat mode is provided by Tsense, and continues until equilibrium temperature is reached (about 30° C above ambient). The duration of the preheat mode is around 50 milliseconds, and depends on the ink composition. Preheat is performed before each print job. This does not affect performance as it is done while the data is being transferred to the printer.</p>
<p id="p0056" num="0056">In order to reduce the chances of nozzles becoming clogged, a cleaning cycle can be undertaken before each print job. Each nozzle is fired a number of times into an absorbent sponge. The cleaning cycle involves a single load cycle to all nozzles of a segment with 1s (i.e. setting all nozzles to fire), and a number of firing pulses to each nozzle. The nozzles are cleaned via the same nozzle firing sequence as a standard print cycle. The number of times that each nozzle is fired depends upon the ink composition and the time that the printer has been idle. As with preheat, the cleaning cycle has no effect on printer performance.</p>
<p id="p0057" num="0057">The printhead segment is programmed via an I<sup>2</sup>C serial interface. This includes setting the following parameters:<!-- EPO <DP n="12"> -->
<ul id="ul0004" list-style="bullet" compact="compact">
<li>2 sets of 200-bit pulse profiles for each color</li>
<li>Print speed</li>
<li>Feedback data type (temperature, resistivity etc.)</li>
</ul></p>
<p id="p0058" num="0058">In addition, the combined printhead's characterization vector is read back via the serial interface. The characterization vector includes dead nozzle information as well as relative segment alignment data. Each printhead segment can be queried via its low speed serial bus to return a characterization vector of the segment. The characterization vectors from multiple printheads can be combined to construct a nozzle defect list for the entire printhead and allows the print engine to compensate for defective nozzles during the print. As long as the number of defective nozzles is low, the compensation can produce results indistinguishable from those of a printhead with no defective nozzles.</p>
<p id="p0059" num="0059">Each segment has 384 bits for characterization vector, comprised of:
<ul id="ul0005" list-style="bullet" compact="compact">
<li>64 bits of flags and printhead segment information, including serial number and number of colors represented in the segment</li>
<li>16 bits of alignment data relative to previous segment (0 = first segment)</li>
<li>a variable lengthed defective nozzle list using up the remaining bits</li>
</ul></p>
<p id="p0060" num="0060">The defective nozzle list is variable lengthed, with each set of defective nozzles having the following structure:
<ul id="ul0006" list-style="bullet" compact="compact">
<li>5 bits count (0 = end-of-list)</li>
<li>3 bits of color</li>
<li>count × 11 bits, one entry per defective nozzle</li>
</ul></p>
<p id="p0061" num="0061">In general terms a printhead segment has connections as defined in Table 11. Note that some of the connections are replicated when multiple colors present.
<tables id="tabl0011" num="0011">
<table frame="all">
<title><b>Table 11. Printhead segment connections</b></title>
<tgroup cols="3" colsep="1" rowsep="1">
<colspec colnum="1" colname="col1" colwidth="19mm" colsep="1"/>
<colspec colnum="2" colname="col2" colwidth="56mm" colsep="1"/>
<colspec colnum="3" colname="col3" colwidth="47mm" colsep="1"/>
<thead>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top"><b>Name</b></entry>
<entry namest="col2" nameend="col2" align="center" valign="top"><b>Repeat for multi-colored segment</b></entry>
<entry namest="col3" nameend="col3" align="center" valign="top"><b>Function</b></entry></row></thead>
<tbody>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">D[n]</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">Yes</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Channel n of image data</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">SClk</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">No</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Serial data transfer clock</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">NPSync</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">No</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Nozzle Phase Synchronization</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">PLL</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">No</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Phase Locked Loop clock</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">TEn</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">No</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Parallel transfer enable</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">Reset</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">No</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Control Reset</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">SCI</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">No</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">I<sup>2</sup>C serial clock for control</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">SD</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">No</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">I<sup>2</sup>C serial data for control</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">CCEn[n]</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">No</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Control Chip Enable [n]</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">Gnd</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">No</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Analog ground</entry></row><!-- EPO <DP n="13"> -->
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">Sense</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">No</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Analog sense output</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">V-</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">Yes</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Negative actuator supply</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">V+</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">Yes</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Positive actuator supply</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">V<sub>ss</sub></entry>
<entry namest="col2" nameend="col2" align="center" valign="top">Yes</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Negative logic supply</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">V<sub>dd</sub></entry>
<entry namest="col2" nameend="col2" align="center" valign="top">Yes</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Positive logic supply</entry></row></tbody></tgroup>
</table>
</tables></p>
<p id="p0062" num="0062">The 21 mm long printhead segment has 64 bond pads, on 300µm centers. 24 of these bond pads are V-power supply to the actuators, and 20 are V+ power supply to the actuators. The remaining 20 connections are CMOS logic power, signal, and data connections. Table 12 details these connections.
<tables id="tabl0012" num="0012">
<table frame="all">
<title><b>Table 12. 6 color segment connections</b></title>
<tgroup cols="3" colsep="1" rowsep="1">
<colspec colnum="1" colname="col1" colwidth="15mm" colsep="1"/>
<colspec colnum="2" colname="col2" colwidth="19mm" colsep="1"/>
<colspec colnum="3" colname="col3" colwidth="88mm" colsep="1"/>
<thead>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top"><b>#</b></entry>
<entry namest="col2" nameend="col2" align="center" valign="top"><b>Name</b></entry>
<entry namest="col3" nameend="col3" align="center" valign="top"><b>Function</b></entry></row></thead>
<tbody>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">1-6</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">V-</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Negative actuator supply</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">7</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">V<sub>ss</sub></entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Negative logic supply</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">8</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">D1 [n]</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Channel 1 of image data [n] (fixative in 6 channel printhead)</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">9</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">D2[n]</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Channel 2 of image data [n] (infrared in 6 channel printhead)</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">10</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">SClk</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Serial data transfer clock</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">11</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">V<sub>dd</sub></entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Positive logic supply</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">12-16</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">V+</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Positive actuator supply</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">17-22</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">V-</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Negative actuator supply</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">23</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">NPSync</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Nozzle Phase Synchronization</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">24</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">D3[n]</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Channel 3 of image data [n] (black in 6 channel printhead)</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">25</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">D4[n]</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Channel 4 of image data [n] (yellow in 6 channel printhead)</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">26</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">PLL</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Phase Locked Loop clock</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">27</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">TEn</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Parallel transfer enable</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">28-32</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">V+</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Positive actuator supply</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">33-38</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">V-</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Negative actuator supply</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">39</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">Reset</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Control Reset</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">40</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">D5[n]</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Channel 5 of image data [n] (magenta in 6 channel printhead)</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">41</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">D6[n]</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Channel 6 of image data [n] (cyan in 6 channel printhead)</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">42</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">SCI</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">I<sup>2</sup>C serial clock for control</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">43</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">SD</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">I<sup>2</sup>C serial data for control</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">44-48</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">V+</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Positive actuator supply</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">49-54</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">V-</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Negative actuator supply</entry></row><!-- EPO <DP n="14"> -->
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">55</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">V<sub>dd</sub></entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Positive logic supply</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">56</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">Gnd</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Analog ground</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">57</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">CCEn[n]</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Control Chip Enable [n]</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">58</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">V<sub>ss</sub></entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Negative logic supply</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">59</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">Sense</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Analog sense output</entry></row>
<row>
<entry namest="col1" nameend="col1" align="center" valign="top">60-64</entry>
<entry namest="col2" nameend="col2" align="center" valign="top">V+</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Positive actuator supply</entry></row></tbody></tgroup>
</table>
</tables></p>
<p id="p0063" num="0063">A multi-segment printhead is ideally composed of a number of identical printhead segments. These are typically 21mm segments that are manufactured together, or placed together after manufacture, to produce a printhead of the desired length. The segments may be set with overlap, as desired, to allow for smooth transitions between segments. Each 21mm inch segments prints 1600 dpi bi-level dots over a different part of the page to produce the final image. Although each segment produces 1280 dots of the final image, each dot is represented by a combination of colored inks. For example, 15 segments can be combined side-by-side to produce a 12-inch printhead. Each segment can be considered to have a lead-in area, a central area, and a lead-out area. The lead-out of one segment corresponds to the lead-in of the next.<br/>
In FIG. 8 is seen the three areas of a segment by showing two overlapping segments 106, 107. Note that the lead-out area 108 of segment S (110) corresponds to the lead-in area 109 of segment S+1 (107). The central area of a segment is that area that has no overlap at all (110 of 106 and 111 of 107). Although the figure shows the segments vertically staggered, the segments are staggered at a slight angle so that they are aligned in the vertical dimension.</p>
<p id="p0064" num="0064">A number of considerations must be made when wiring up a printhead. As the width of the printhead increases, the number of segments increases, and the number of connections also increases. Each segment has its own Dn connections (C of them), as well as SClk and other connections for loading and printing.</p>
<p id="p0065" num="0065">When the number of segments S is small it is reasonable to load all the segments simultaneously by using a common SClk line and placing C bits of data on each of the Dn inputs for the segments. In a 4-segment 4 color printer, the total number of bits to transfer to the printhead in a single SClk pulse is 16. However for a six channel enabled (C=6) 12-inch printer, S=15, and it is unlikely to be reasonable to have 90 data lines running from the print data generator to the printhead. Instead, it is convenient to group a number of segments together for loading purposes. Each group of segments is small enough to be loaded simultaneously, and share an SClk. For example, a 12-inch printhead can have 2 segment groups, each segment group containing 8 segments. 48 Dn lines can be shared for both groups, with 2 SClk lines, one per segment group. Even though there is no segment for the 2nd set of 8 segments, it is still convenient to group the segments. Some bits will therefore be unused in the last group.</p>
<p id="p0066" num="0066">As the number of segment groups increases, the time taken to load the printhead increases. When there is only one group, 1280 load pulses are required (each pulse transfers C data bits). When there are G groups, 1280G load pulses are required. The bandwidth of the connection between the data generator and the printhead must be able to cope and be within the allowable timing parameters for the particular application. If G is the number of segment groups, and L is the largest number of segments in a group, the printhead requires LC ColorData lines and G SClk lines. Regardless of G, only a single TEn line is required - it can be shared across all segments. Since L segments in each segment group are loaded with a single SClk pulse, any printing process<!-- EPO <DP n="15"> --> must produce the data in the correct sequence for the printhead. As an example, when G=2 and L=4, the first SClk1 pulse will transfer the Dn bits for the next Print Cycle's dot 0,1280, 2560 and 3840. The first SClk2 pulse will transfer the Dn bits for the next Print Cycle's dot 5120, 6400, 7680, and 8960. The second SClk1 pulse will transfer the Dn bits for the next Print Cycle's dot 1,1281, 2561, and 3841. The second SClk2 pulse will transfer the Dn bits for the next Print Cycle's dot 5121, 6401, 7681 and 8961. After 1280G SClk pulses (1280 to each of SClk1 and SClk2), the entire line has been loaded into the printhead, and the common TEn pulse can be given.</p>
<p id="p0067" num="0067">It is important to note that the odd and even color outputs, although printed during the same print cycle, do not appear on the same physical output line. The physical separation of odd and even nozzles within the printhead, as well as separation between nozzles of different colors ensures that they will produce dots on different lines of the page. This relative difference must be accounted for when loading the data into the printhead. Considering only a single segment group, Table 13 shows the dots transferred to segment n of a printhead during the first 4 pulses of the shared SClk.
<tables id="tabl0013" num="0013">
<table frame="all">
<title><b>Table 13. Order of dots transferred to segment S in a multi-segment printhead</b></title>
<tgroup cols="5" colsep="1" rowsep="1">
<colspec colnum="1" colname="col1" colwidth="21mm" colsep="1"/>
<colspec colnum="2" colname="col2" colwidth="26mm" colsep="1"/>
<colspec colnum="3" colname="col3" colwidth="23mm" colsep="1"/>
<colspec colnum="4" colname="col4" colwidth="26mm" colsep="1"/>
<colspec colnum="5" colname="col5" colwidth="27mm" colsep="1"/>
<thead>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top"><b>Pulse</b></entry>
<entry namest="col2" nameend="col2" align="left" valign="top"><b><i>Dot</i></b></entry>
<entry namest="col3" nameend="col3" align="left" valign="top"><b>Color1 Line</b></entry>
<entry namest="col4" nameend="col4" align="left" valign="top"><b><i>Color2 Line</i></b></entry>
<entry namest="col5" nameend="col5" align="left" valign="top"><b>ColorC Line</b></entry></row></thead>
<tbody>
<row rowsep="0">
<entry namest="col1" nameend="col1" align="left" valign="top">1</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">1280S<sup>13</sup></entry>
<entry namest="col3" nameend="col3" align="left" valign="top">N</entry>
<entry namest="col4" nameend="col4" align="left" valign="top">N+D<sub>1</sub><sup>14</sup></entry>
<entry namest="col5" nameend="col5" align="left" valign="top">N+(C-1)D<sub>1</sub></entry></row>
<row rowsep="0">
<entry namest="col1" nameend="col1" align="left" valign="top">2</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">1280S+1</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">N+D<sub>2</sub><sup>15</sup></entry>
<entry namest="col4" nameend="col4" align="left" valign="top">N+D<sub>1</sub>+D<sub>2</sub></entry>
<entry namest="col5" nameend="col5" align="left" valign="top">N+(C-1)D<sub>1</sub>+D<sub>2</sub></entry></row>
<row rowsep="0">
<entry namest="col1" nameend="col1" align="left" valign="top">3</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">1280S+2</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">N</entry>
<entry namest="col4" nameend="col4" align="left" valign="top">N+D<sub>1</sub></entry>
<entry namest="col5" nameend="col5" align="left" valign="top">N+(C-1)D<sub>1</sub></entry></row>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">4</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">1280S+3</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">N+D<sub>2</sub></entry>
<entry namest="col4" nameend="col4" align="left" valign="top">N+D<sub>1</sub>+D<sub>2</sub></entry>
<entry namest="col5" nameend="col5" align="left" valign="top">N+(C-1)D<sub>1</sub>+D<sub>2</sub></entry></row></tbody></tgroup>
<tgroup cols="5" rowsep="0">
<colspec colnum="1" colname="col1" colwidth="21mm"/>
<colspec colnum="2" colname="col2" colwidth="26mm"/>
<colspec colnum="3" colname="col3" colwidth="23mm"/>
<colspec colnum="4" colname="col4" colwidth="26mm"/>
<colspec colnum="5" colname="col5" colwidth="27mm"/>
<tbody>
<row>
<entry namest="col1" nameend="col5" align="justify" valign="top"><sup>13</sup> S = segment number<br/>
<sup>14</sup> D<sub>1</sub> = number of lines between the nozzles of one color and the next (likely = 7-10)<br/>
<sup>15</sup> D<sub>2</sub> = number of lines between two rows of nozzles of the same color (likely = 2)</entry></row></tbody></tgroup>
</table>
</tables></p>
<p id="p0068" num="0068">And so on for all 1280 SClk pulses to the particular segment group.</p>
<p id="p0069" num="0069">With regards to printing, 10C nozzles are printed from each segment in the lowest speed printing mode, and 80C nozzles from each segment in the highest speed printing mode.</p>
<p id="p0070" num="0070">While it is certainly possible to wire up segments in any way, this specification only considers the situation where all segments fire simultaneously. This is because the low-speed printing mode allows low-power printing for small printheads (e.g. 2-inch and 4-inch), and the controller chip design assumes there is sufficient power available for the large print sizes (such as 8-18 inches). It is a simple matter to alter the connections in the printhead to allow grouping of firing should a particular application require it. When all segments are fired at the same time 10CS nozzles are fired in the low-speed printing mode and 80CS nozzles are fired in the high-speed printing mode. Since all segments print simultaneously, the printing logic is the same as defined above and the line times are the same as defined by Table 10.</p>
<p id="p0071" num="0071">A segment produces an analog line of feedback, as defined above. The feedback is used to adjust the profile of the firing pulses. Since multiple segments are collected together into a printhead, it is effective to share the feedback lines as a tri-state bus, with only one of the segments placing the feedback information on the feedback lines at a time. Since the selection of which segment will place the feedback information on the shared sense line relies on D1, the groupings of segments for loading data can be effectively used for selecting the segment for feedback. Just as there are G SClk lines (a single line is shared between segments of the same<!-- EPO <DP n="16"> --> segment group), there are G CCEn lines shared in the same way. When the correct CCEn line is pulsed, the segment of that group whose D1 bit is set will start to place data on the shared feedback lines. The segment previously active in terms of feedback must also be disabled by having a 0 on its D1 bit, and this segment may be in a different segment group. Therefore when there is more than one segment group, changing the feedback segment requires two steps: disabling the old segment, and enabling the new segment.</p>
<p id="p0072" num="0072">It is assumed below that a printhead has been constructed from a number of segments as described above. It is assumed that for data loading purposes, the segments have been grouped into G segment groups, with L segments in the largest segment group. It is assumed there are C colors in the printhead. It is assumed that the firing mechanism for the printhead is that all segments fire simultaneously, and only one segment at a time places feedback information on a common tri-state bus. Assuming all these things, Table 14 lists the external connections that are available from a printhead:
<tables id="tabl0014" num="0014">
<table frame="all">
<title><b>Table 14. Printhead connections</b></title>
<tgroup cols="3" colsep="1" rowsep="1">
<colspec colnum="1" colname="col1" colwidth="17mm" colsep="1"/>
<colspec colnum="2" colname="col2" colwidth="61mm" colsep="1"/>
<colspec colnum="3" colname="col3" colwidth="89mm" colsep="1"/>
<thead>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top"><b>Name</b></entry>
<entry namest="col2" nameend="col2" align="left" valign="top"><b>#Pins</b></entry>
<entry namest="col3" nameend="col3" align="left" valign="top"><b>Description</b></entry></row></thead>
<tbody>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">Dn</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">CL</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Inputs to C shift registers of segments 0 to L-1</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">SClk</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">G</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">A pulse on SClk[N] (ShiftRegisterClock N) loads the current values from Dn lines into the L segments in segment group N.</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">NPSync</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">1</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">A pulse on NPSync starts the printing of a line for all segments.</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">PLL</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">1</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Phase Locked Loop clock for generation of timing signals in printhead</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">Ten</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">1</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Parallel transfer of data from the shift registers to the internal NozzleEnable bits (one per nozzle).</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">Reset</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">1</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Control reset</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">SCl</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">1</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">I<sup>2</sup>C serial clock for control</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">SD</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">1</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">I<sup>2</sup>C serial data for control</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">CCEn</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">G</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">A pulse on CCEn N ANDed with data on D1[n] selects the sense lines for segment n in segment group N.</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">Sense</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">1</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Analog sense output</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">Gnd</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">1</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Analog sense ground</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">V-</entry>
<entry namest="col2" nameend="col2" align="left" valign="top">Many, depending on the number of colors</entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Negative actuator supply</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">V+</entry>
<entry namest="col2" nameend="col2" morerows="2" rowsep="1" align="left" valign="top"/>
<entry namest="col3" nameend="col3" align="left" valign="top">Positive actuator supply</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">V<sub>ss</sub></entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Negative logic supply</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left" valign="top">V<sub>dd</sub></entry>
<entry namest="col3" nameend="col3" align="left" valign="top">Positive logic supply</entry></row></tbody></tgroup>
</table>
</tables></p>
<p id="p0073" num="0073">Throughout the specification the aim has been to describe the preferred embodiments of the invention without limiting the invention to any one embodiment or specific collection of features. Persons skilled in the art may realize variations from the specific embodiments that will nonetheless fall within the scope of the claims.</p>
</description><!-- EPO <DP n="17"> -->
<claims id="claims01" lang="en">
<claim id="c-en-01-0001" num="0001">
<claim-text>A method of controlling the firing of nozzles on rows for respective colour channels in a printhead the method including:
<claim-text>loading print data to respective colour channel shift registers on respective segments to the printhead;</claim-text>
<claim-text>transferring print data to nozzle enable bits provided one per nozzle; and <b>characterized by</b></claim-text>
<claim-text>firing the nozzles in respective colour channels in time independent manner using separate timing generators in each channel.</claim-text></claim-text></claim>
<claim id="c-en-01-0002" num="0002">
<claim-text>A method of controlling the firing of nozzles in a printhead as claimed in claim1 wherein a channel's firing can be started at a set time allowing printing at a chosen delay for off-dot-line and dot-on-dot printing.</claim-text></claim>
<claim id="c-en-01-0003" num="0003">
<claim-text>A method of controlling the firing of nozzles in a printhead as claimed in claim 1 wherein the nozzles are fired by an electrical pulse and the profile of the pulse is programmed to suit the ink at the nozzle.</claim-text></claim>
<claim id="c-en-01-0004" num="0004">
<claim-text>A method of controlling the firing of nozzles in a printhead as claimed in claim 3 wherein the pulse profile is adjusted by programmed bits loaded to a timing generator, the programmed bits being loaded to the printhead from tables, one for each channel, via the printhead serial interface.</claim-text></claim>
<claim id="c-en-01-0005" num="0005">
<claim-text>A method of controlling the firing of nozzles in a printhead as claimed in any one of claims 3 or 4 wherein the printhead nozzle rows are in offset pairs for each channel and firing of the offset pairs is effected by out of phase pulse trains.</claim-text></claim>
<claim id="c-en-01-0006" num="0006">
<claim-text>A method of controlling the firing of nozzles in a printhead as claimed in claim 1 wherein nozzles in respective channels are similarly grouped and the nozzles within groups are fired successively:</claim-text></claim>
<claim id="c-en-01-0007" num="0007">
<claim-text>A method of controlling the firing of nozzles in a printhead as claimed in claim 6 wherein respective rows of nozzles are organized in repeated pods of nozzles along the length of each row of nozzles, the nozzles in a pod being fired one after the other along the row; successive pods of respective channels are linked as a chromapod wherein the one after the other firing of nozzles in each channel is in step along the row of nozzles in the respective pods; and blocks of chromapods are operated as a firegroup, the firegroups firing together.</claim-text></claim>
<claim id="c-en-01-0008" num="0008">
<claim-text>A method of controlling the firing of nozzles in a printhead as claimed in claim 7 wherein the firing of the nozzles is controlled by setting the firing pattern of the chromapods within their firegroups.</claim-text></claim>
<claim id="c-en-01-0009" num="0009">
<claim-text>A method of controlling the firing of nozzles in a printhead as claimed in claim 7 wherein the printhead nozzle rows are in offset pairs for each channel and blocks of firegroups form phasegroups there being two phasegroups driving each segment of a segmented printhead, one phase group for each of the two offset nozzle rows.</claim-text></claim>
<claim id="c-en-01-0010" num="0010">
<claim-text>A printhead including nozzle rows, successive rows of nozzles defining respective colour channels including:
<claim-text>respective colour channel shift registers in which to receive print data;</claim-text>
<claim-text>nozzle enable bits provided one per nozzle at which to receive the print data form respective colour channel shift registers; and <b>characterized by</b> including</claim-text>
<claim-text>separate timing generators in each colour channel to effect nozzle firing in respective channels in time channels in time independent manner.</claim-text></claim-text></claim>
<claim id="c-en-01-0011" num="0011">
<claim-text>A printhead as claimed in claim 10 wherein the nozzles are fired by an electrical pulse train, the profile of the pulses being programmable.<!-- EPO <DP n="18"> --></claim-text></claim>
<claim id="c-en-01-0012" num="0012">
<claim-text>A printhead as claimed in claim 11 wherein the pulse profile is determined by programmed bits loaded to a timing generator.</claim-text></claim>
<claim id="c-en-01-0013" num="0013">
<claim-text>A printhead as claimed in claim 12 wherein the programmed bits exist in tables loaded to the printhead, one for each channel.</claim-text></claim>
<claim id="c-en-01-0014" num="0014">
<claim-text>A printhead as claimed in claim 13 wherein the tables are programmed via a serial interface to the printhead.</claim-text></claim>
<claim id="c-en-01-0015" num="0015">
<claim-text>A printhead as claimed in any one of claims 10 to 14 wherein the printhead nozzle rows are in offset pairs for each channel and firing of the offset pairs is by out of phase pulse trains.</claim-text></claim>
<claim id="c-en-01-0016" num="0016">
<claim-text>A printhead as claimed in any one of claims 10 to 14 including an interface to the print head by which the timing parameters can be specified externally operated via a slow serial interface.</claim-text></claim>
<claim id="c-en-01-0017" num="0017">
<claim-text>A printhead as claimed in claim 10 wherein the nozzles in respective channels are similarly grouped and groups are fired successively</claim-text></claim>
<claim id="c-en-01-0018" num="0018">
<claim-text>A printhead as claimed in claim 17 wherein respective rows of nozzles are organized in repeated pods of nozzles along the length of each row of nozzles, the nozzles in a pod being fired one after the other along the row;<br/>
successive pods of respective channels are linked as a chromapod wherein the one after the other firing of nozzles in each channel is in step along the row of nozzles in the respective pods; and firing of the nozzles is controlled by setting the firing pattern of the chromapods.</claim-text></claim>
<claim id="c-en-01-0019" num="0019">
<claim-text>A printhead as claimed in claim 18 wherein each channel is formed by two offset rows of nozzles and chromapods are organized in blocks as firegroups whose chromapods fire simultaneously to form two phasegroups each driving all of the nozzles of one of the offset rows of a segment of a segmented printhead.</claim-text></claim>
<claim id="c-en-01-0020" num="0020">
<claim-text>A printer having a printhead according to claim 10.</claim-text></claim>
<claim id="c-en-01-0021" num="0021">
<claim-text>A printer as claimed in claim 20 wherein the nozzles are fired by an electrical pulse train, the profile of the pulses being programmable and determined by programmed bits loaded to a timing generator.</claim-text></claim>
<claim id="c-en-01-0022" num="0022">
<claim-text>A printer as claimed in claim 21 wherein the programmed bits exist in tables loaded to the printhead, one for each channel via an interface to the printhead.</claim-text></claim>
<claim id="c-en-01-0023" num="0023">
<claim-text>A printhead as claimed in claim 20 wherein respective rows of nozzles are organized in repeated pods of nozzles along the length of each row of nozzles, the nozzles in a pod being fired one after the other along the row;<br/>
successive pods of respective channels are linked as a chromapod wherein the one after the other firing of nozzles in each channel is in step along the row of nozzles in the respective pods; and firing of the nozzles is controlled by setting the firing pattern of the chromapods.</claim-text></claim>
</claims><!-- EPO <DP n="19"> -->
<claims id="claims02" lang="de">
<claim id="c-de-01-0001" num="0001">
<claim-text>Verfahren zum Steuern des Aktivierens von Sprühdüsen in Reihen für jeweilige Farbkanäle in einem Druckkopf, wobei das Verfahren aufweist:
<claim-text>Laden der Druckdaten in die jeweiligen FarbkanalSchieberegister in den zu dem Druckkopf zugehörigen Segmenten;</claim-text>
<claim-text>Übertragen von Druckdaten an Sprühdüse-Aktivierungs-Bits, wobei pro Sprühdüse 1 Bit vorgesehen ist; und</claim-text>
<b>gekennzeichnet durch</b> das Aktivieren der Sprühdüsen in den jeweiligen Farbkanälen auf zeitunahhängige Art und Weise unter Verwendung von getrennten Synchronisiereinheiten in jedem Kanal.</claim-text></claim>
<claim id="c-de-01-0002" num="0002">
<claim-text>Verfahren zum Steuern des Aktivierens von Sprühdüsen in einem Druckkopf nach Anspruch 1, wobei das Aktivieren eines Kanals zu einer feetgelegten Zeit gestartet werden kann, wodurch das Drucken bei einer gewählten Verzögerung für punktloses Linien-Drucken und Punkt-an-Punkt-Drucken ermöglicht wird.</claim-text></claim>
<claim id="c-de-01-0003" num="0003">
<claim-text>Verfahren zum Steuern des Aktivierens von sprühdüsen in einem Druckkopf nach Anspruch 1, wobei die Sprühdüsen durch einen elektrischen Impuls aktiviert werden und das Profil des Impulses so programmiert wird, dass er zu der Tinte in der Sprühdüse passt.</claim-text></claim>
<claim id="c-de-01-0004" num="0004">
<claim-text>Verfahren zum Steuern des Aktivierens von Sprühdüsen in einem Druckkopf nach Anspruch 3, wobei das Impulsprofil durch programmierte Bits eingestellt wird, die in eine Synchronisiereinheit geladen werden, wobei die programmierten Bits von Tabellen, eine pro Kanal, mittels der seriellen Druckkopfschnittstelle in den Druckkopf geladen werden.<!-- EPO <DP n="20"> --></claim-text></claim>
<claim id="c-de-01-0005" num="0005">
<claim-text>Verfahren zum Steuern des Aktivierens von Sprühdüsen in einem Druckkopf nach einem der Ansprüche 3 oder 4, wobei die Druckkopf Sprühdüsen-Reihen in versetzten Paaren für jeden Kanal vorliegen und das Aktivieren der versetzten Paare durch phasenverschobene Impulsfolgen bewirkt wird.</claim-text></claim>
<claim id="c-de-01-0006" num="0006">
<claim-text>Verfahren zum Steuern des Aktivierens von Sprühdüsen in einem Druckkopf nach Anspruch 1, wobei die Sprühdüsen in den jeweiligen Kanälen auf gleiche Weise gruppiert sind und die Sprühdüsen innerhalb der Gruppen nacheinander aktiviert werden.</claim-text></claim>
<claim id="c-de-01-0007" num="0007">
<claim-text>Verfahren zum Steuern des Aktivierens von Sprühdüsen in einem Druckkopf nach Anspruch 6, wobei die jeweiligen Reihen von Sprühdüsen in mehrere Gruppen von Sprühdüsen längs jeder Sprühdüsenreihe gegliedert sind, wobei die Sprühdüsen in einer Gruppe nacheinander längs der Reihe aktiviert werden, wobei aufeinanderfolgende Gruppen der jeweiligen Kanäle als Farbgruppe verbunden werden, wobei in jedem Kanal das Aktivieren der Sprühdüsen nacheinander längs der Reine von Sprühdüsen in den jeweiligen Gruppen vor sich geht; und wobei Blöcke von Farbgruppen als Aktiviergruppe betrieben werden, wobei die Aktiviergruppen gemeinsam aktivieren.</claim-text></claim>
<claim id="c-de-01-0008" num="0008">
<claim-text>Verfahren zum Steuern des Aktivierens von Sprühdüsen in einem Druckkopf nach Anspruch 7, wobei das Aktivieren der Sprühdüsen durch Einstellen des Aktiviermusters der Farbgruppen innerhalb ihrer Aktiviergruppen gesteuert wird.</claim-text></claim>
<claim id="c-de-01-0009" num="0009">
<claim-text>Verfahren zum Steuern des Aktivierens von Sprühdüsen in einem Druckkopf nach Anspruch 7, wobei die Druckkopfsprühdüsenreihen in versetzten Paaren für jeden Kanal vorliegen und Blöcke von Aktiviergruppen Phasengruppen bilden, wobei es zwei Phasengruppen gibt, die jedes Segment eines<!-- EPO <DP n="21"> --> segmentierten Druckkopfes ansteuern, eine Phasengruppe für jede der beiden versetzten Sprühdüsenreihen.</claim-text></claim>
<claim id="c-de-01-0010" num="0010">
<claim-text>Druckkopf, der Sprühdüsenreihen aufweist, wobei aufeinanderfolgende Reihen von Sprühdüsen jeweilige Farbkanäle definieren, aufweisend;
<claim-text>jeweilige Farbkanalschieberegister, in denen die Druckdaten aufgenommen werden;</claim-text>
<claim-text>Sprühdüsenaktivierungsbits, eines pro Sprühdüse, in denen die Druckdaten empfangen werden, die jeweilige Farbkanalschieberegister bilden; und</claim-text>
<b>gekennzeichnet durch</b> das Aufweisen von getrennten Synchronisiereinheiten in jedem Farbkanal, um das Aktivieren der Sprühdüsen in den jeweiligen Kanälen auf zeitunabhängige Art und Weise zu bewirken.</claim-text></claim>
<claim id="c-de-01-0011" num="0011">
<claim-text>Druckkopf nach Anspruch 10, wobei die Sprühdüsen durch eine elektrische Impulsfolge aktiviert werden, wobei das Profil der Impulse programmierbar ist.</claim-text></claim>
<claim id="c-de-01-0012" num="0012">
<claim-text>Druckkopf nach Anspruch 11, wobei das Impulsprofil durch programmierte Bits bestimmt wird, die in eine synchronisiereinheit geladen werden.</claim-text></claim>
<claim id="c-de-01-0013" num="0013">
<claim-text>Druckkopf nach Anspruch 12, wobei die programmierten Bits in Tabellen vorhanden sind, von denen eine pro Kanal in den Druckkopf geladen wird.</claim-text></claim>
<claim id="c-de-01-0014" num="0014">
<claim-text>Druckkopf nach Anspruch 13, wobei die Tabellen mittels einer seriellen Schnittstelle zu dem Druckkopf programmiert werden.</claim-text></claim>
<claim id="c-de-01-0015" num="0015">
<claim-text>Druckkopf nach einem der Ansprüche 10 bis 14, wobei die Druckkopf-Sprühdüsenreihen in versetzten Paaren für jeden<!-- EPO <DP n="22"> --> Kanal vorliegen und das Aktivieren der versetzten Paare durch phasenverschobene Impulsfolgen zustande kommt.</claim-text></claim>
<claim id="c-de-01-0016" num="0016">
<claim-text>Druckkopf nach einem der Ansprüche 10 bis 14, der eine Schnittstelle zu dem Druckkopf aufweist, wodurch die Taktparameter spezifiziert werden können, extern betrieben mittels einer langsamen seriellen Schnittstelle.</claim-text></claim>
<claim id="c-de-01-0017" num="0017">
<claim-text>Druckkopf nach Anspruch 10, wobei die Sprühdüsen in jeweiligen Kanälen in gleicher Weise gruppiert sind und Gruppen nacheinander aktiviert werden.</claim-text></claim>
<claim id="c-de-01-0018" num="0018">
<claim-text>Druckkopf nach Anspruch 17, wobei jeweilige Reihen von Sprühdüsen in mehreren Gruppen von Sprühdüsen längs jeder Reihe von Sprühdüsen aufgebaut sind, wobei die Sprühdüsen in einer Gruppe nacheinander längs der Reihe aktiviert werden;<br/>
wobei aufeinanderfolgende Gruppen der jeweiligen Kanäle zu einer Farbgruppe verbunden sind, wobei in jedem Kanal das Aktivieren der Sprühdüsen nacheinander längs der Reihe von Sprühdüsen in den jeweiligen Gruppen vor sich geht; und das Aktivieren der Sprühdüsen durch Einstellen des Aktiviermusters der Farbgruppen gesteuert wird.</claim-text></claim>
<claim id="c-de-01-0019" num="0019">
<claim-text>Druckkopf nach Anspruch 18, wobei jeder Kanal aus zwei versetzten Reihen von Sprühdüsen gebildet ist, und Farbgruppen in Blöcken als Aktiviergruppen aufgebaut sind, deren Farbgruppen gleichzeitig aktivieren, um zwei Phasengruppen zu bilden, wobei jede alle Sprühdüsen einer der versetzten Reihen eines Segments eines segmentierten Druckkopfes steuert.</claim-text></claim>
<claim id="c-de-01-0020" num="0020">
<claim-text>Drucker, der einen Druckkopf nach Anspruch 10 aufweist.<!-- EPO <DP n="23"> --></claim-text></claim>
<claim id="c-de-01-0021" num="0021">
<claim-text>Drucker nach Anspruch 20, wobei die sprühdüsen durch eine elektrische Impulsfolge aktiviert werden, wobei das Profil der Impulse programmierbar ist und durch programmierte Bits bestimmt wird, die in eine synchronisiereinheit geladen werden.</claim-text></claim>
<claim id="c-de-01-0022" num="0022">
<claim-text>Drucker nach Anspruch 21, wobei die programmierten Bits in Tabellen existieren, die in den Druckkopf, eine für jeden Kanal, mittels einer Schnittstelle zu dem Druckkopf geladen werden.</claim-text></claim>
<claim id="c-de-01-0023" num="0023">
<claim-text>Druckkopf nach Anspruch 20, wobei jeweilige Reihen von sprühdüsen in mehreren Gruppen von Sprühdüsen längs jeder Reihe von Sprühdüsen aufgebaut sind, wobei die Sprühdüsen in einer Gruppe längs der Reihe nacheinander aktiviert werden;<br/>
aufeinanderfolgende Gruppen von jeweiligen Kanälen als eine Farbgruppe verbunden sind, wobei das Aktivieren der Sprühdüsen in jedem Kanal längs der Reihe von sprühdüsen in den jeweiligen Gruppen nacheinander vor sich geht; und das Aktivieren der Sprühdüsen durch Einstellen des Aktiviermusters der Farbgruppen gesteuert wird.</claim-text></claim>
</claims><!-- EPO <DP n="24"> -->
<claims id="claims03" lang="fr">
<claim id="c-fr-01-0001" num="0001">
<claim-text>Procédé de commande du déclenchement de buses de rangées de canaux respectifs de couleurs dans une tête d'impression, le procédé comprenant :
<claim-text>le chargement de données d'impression dans des registres à décalage des canaux respectifs de couleurs sur des segments respectifs de la tête d'impression, et</claim-text>
<claim-text>le transfert de données d'impression à des bits d'autorisation de buses associés à raison d'un par buse, <b>caractérisé par</b> :
<claim-text>le déclenchement des buses des canaux respectifs de couleurs d'une manière indépendante du temps à l'aide de générateurs séparés de synchronisation dans chaque canal.</claim-text></claim-text></claim-text></claim>
<claim id="c-fr-01-0002" num="0002">
<claim-text>Procédé de commande du déclenchement de buses dans une tête d'impression selon la revendication 1, dans lequel un déclenchement de canal peut être lancé à un temps de consigne permettant l'impression avec un retard choisi pour une impression à lignes de points décalés et à point sur point.</claim-text></claim>
<claim id="c-fr-01-0003" num="0003">
<claim-text>Procédé de commande du déclenchement de buses dans une tête d'impression selon la revendication 1, dans lequel les bases sont déclenchées par une impulsion électrique et le profil de l'impulsion est programmé afin qu'il convienne à l'encre de la buse.</claim-text></claim>
<claim id="c-fr-01-0004" num="0004">
<claim-text>Procédé de commande du déclenchement de buses dans une tête d'impression selon la revendication 3, dans lequel le profil de l'impulsion est ajusté par des bits programmés chargés dans un générateur de synchronisation, les bits programmés étant chargés dans la tête d'impression à partir de tables à raison d'un par canal, par l'intermédiaire d'une interface en série de tête d'impression.</claim-text></claim>
<claim id="c-fr-01-0005" num="0005">
<claim-text>Procédé de commande du déclenchement de buses dans une tête d'impression selon l'une quelconque des revendications 3 et 4, dans lequel les rangées de buses de tête d'impression sont disposées par paires décalées pour chaque canal et le déclenchement des paires décalées est réalisé par des trains d'impulsions déphasés.<!-- EPO <DP n="25"> --></claim-text></claim>
<claim id="c-fr-01-0006" num="0006">
<claim-text>Procédé de commande du déclenchement de buses dans une tête d'impression selon la revendication 1, dans lequel des buses et des canaux respectifs sont regroupés de manière simultanée et les buses contenues dans les groupes sont déclenchées successivement.</claim-text></claim>
<claim id="c-fr-01-0007" num="0007">
<claim-text>Procédé de commande du déclenchement de buses dans une tête d'impression selon la revendication 6, dans lequel des rangées respectives de buses sont organisées en amas répétés de buses sur la longueur de chaque rangée de buses, les buses d'un amas étant déclenchées l'une après l'autre le long de la rangée, les amas successifs des canaux respectifs sont reliés sous forme d'un amas chromatique dans lequel le déclenchement l'une après l'autre des buses dans chaque canal est synchronisé le long de la rangée des buses des amas respectifs, et<br/>
des blocs d'amas chromatiques sont commandés sous forme d'un groupe de déclenchement, les groupes de déclenchement étant déclenchés ensemble.</claim-text></claim>
<claim id="c-fr-01-0008" num="0008">
<claim-text>Procédé de commande du déclenchement de buses dans une tête d'impression selon la revendication 7, dans lequel le déclenchement des buses est commandé par réglage du motif de déclenchement des amas chromatiques dans leurs groupes de déclenchement.</claim-text></claim>
<claim id="c-fr-01-0009" num="0009">
<claim-text>Procédé de commande du déclenchement de buses dans une tête d'impression selon la revendication 7, dans lequel les rangées de buses de tête d'impression sont en paires décalées pour chaque canal, et des blocs de groupes de déclenchement forment des groupes de phases, deux groupes de phases pilotant chaque segment d'une tête d'impression segmentée, avec un groupe de phases pour chaque ensemble de deux rangées décalées de buses.</claim-text></claim>
<claim id="c-fr-01-0010" num="0010">
<claim-text>Tête d'impression comprenant des rangées de buses, des rangées successives de buses délimitant des canaux respectifs de couleurs comprenant :
<claim-text>des registres à décalage respectifs de canaux de couleurs destinés à recevoir des données d'impression, et</claim-text>
<claim-text>des bits de validation de buses à raison d'un par buse pour la réception des données d'impression des registres à<!-- EPO <DP n="26"> --> décalage respectifs des canaux de couleurs, <b>caractérisée en ce que</b><br/>
elle comprend des générateurs séparés de synchronisation dans chaque canal de couleur pour réaliser le déclenchement des buses dans les canaux respectifs d'une manière indépendante dans le temps.</claim-text></claim-text></claim>
<claim id="c-fr-01-0011" num="0011">
<claim-text>Tête d'impression selon la revendication 10, dans laquelle les buses sont déclenchées par un train d'impulsions électriques, le profil des impulsions étant programmable.</claim-text></claim>
<claim id="c-fr-01-0012" num="0012">
<claim-text>Tête d'impression selon la revendication 11, dans laquelle le profil d'impulsion est déterminé par des bits programmés chargés dans un générateur de synchronisation.</claim-text></claim>
<claim id="c-fr-01-0013" num="0013">
<claim-text>Tête d'impression selon la revendication 12, dans laquelle les bits programmés existent dans des tables chargées dans la tête d'impression à raison d'une par canal.</claim-text></claim>
<claim id="c-fr-01-0014" num="0014">
<claim-text>Tête d'impression selon la revendication 13, les tables sont programmées par une interface série avec la tête d'impression.</claim-text></claim>
<claim id="c-fr-01-0015" num="0015">
<claim-text>Tête d'impression selon l'une quelconque des revendications 10 à 14, dans laquelle les rangées de buses de la tête d'impression sont décalées par paires pour chaque canal et le déclenchement des paires décalées s'effectue à l'aide de trains d'impulsions déphasés.</claim-text></claim>
<claim id="c-fr-01-0016" num="0016">
<claim-text>Tête d'impression selon l'une quelconque des revendications 10 à 14, comprenant une interface avec la tête d'impression par laquelle les paramètres de synchronisation peuvent être spécifiés à l'extérieur par l'intermédiaire d'une interface série lente.</claim-text></claim>
<claim id="c-fr-01-0017" num="0017">
<claim-text>Tête d'impression selon la revendication 10, dans laquelle les buses des canaux respectifs sont regroupées de manière similaire et les groupes sont déclenchés successivement.</claim-text></claim>
<claim id="c-fr-01-0018" num="0018">
<claim-text>Tête d'impression selon la revendication 17, dans laquelle les rangées respectives de buses sont organisées par amas répétés de buses sur la longueur de chaque rangée de buses, les buses d'un amas étant déclenchées l'une après l'autre le long de la rangée, et<br/>
<!-- EPO <DP n="27"> -->des amas successifs de canaux respectifs sont reliés sous forme d'un amas chromatique dans lequel le déclenchement des buses l'une après l'autre dans chaque canal est synchronisé le long de la rangée de buses dans les amas respectifs, et le déclenchement des buses est commandé par réglage du motif de déclenchement des amas chromatiques.</claim-text></claim>
<claim id="c-fr-01-0019" num="0019">
<claim-text>Tête d'impression selon la revendication 18, dans laquelle chaque canal est formé par deux rangées décalées de buses et des amas chromatiques sont organisés en blocs sous forme de groupes de déclenchement dont les amas chromatiques sont déclenchés simultanément pour former deux groupes de phases pilotant chacun toutes les buses de l'une des rangées décalées d'un segment d'une tête d'impression segmentée.</claim-text></claim>
<claim id="c-fr-01-0020" num="0020">
<claim-text>Imprimante ayant une tête d'impression selon la revendication 10.</claim-text></claim>
<claim id="c-fr-01-0021" num="0021">
<claim-text>Imprimante selon la revendication 20, dans laquelle les buses sont déclenchées par un train d'impulsions électriques, le profil des impulsions étant programmable et déterminé par des bits programmés chargés dans un générateur de synchronisation.</claim-text></claim>
<claim id="c-fr-01-0022" num="0022">
<claim-text>Imprimante selon la revendication 21, dans laquelle les bits programmés existent dans les tables chargées dans la tête d'impression à raison d'une canal par l'intermédiaire d'une interface avec la tête d'impression.</claim-text></claim>
<claim id="c-fr-01-0023" num="0023">
<claim-text>Tête d'impression selon la revendication 20, dans laquelle des rangées respectives de buses sont organisées en amas répétés de buses sur la longueur de chaque rangée de buses, les buses d'un amas étant déclenchées l'une après l'autre le long de la rangée, et<br/>
des amas successifs et des canaux respectifs sont reliés sous forme d'un amas chromatique dans lequel le déclenchement des buses l'une après l'autre dans chaque canal est synchronisé le long de la rangée de buses dans les amas respectifs, et le déclenchement des buses est commandé par établissement du motif de déclenchement des amas chromatiques .</claim-text></claim>
</claims><!-- EPO <DP n="28"> -->
<drawings id="draw" lang="en">
<figure id="f0001" num=""><img id="if0001" file="imgf0001.tif" wi="165" he="215" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="29"> -->
<figure id="f0002" num=""><img id="if0002" file="imgf0002.tif" wi="165" he="224" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="30"> -->
<figure id="f0003" num=""><img id="if0003" file="imgf0003.tif" wi="147" he="200" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="31"> -->
<figure id="f0004" num=""><img id="if0004" file="imgf0004.tif" wi="109" he="203" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="32"> -->
<figure id="f0005" num=""><img id="if0005" file="imgf0005.tif" wi="165" he="221" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="33"> -->
<figure id="f0006" num=""><img id="if0006" file="imgf0006.tif" wi="116" he="179" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="34"> -->
<figure id="f0007" num=""><img id="if0007" file="imgf0007.tif" wi="110" he="201" img-content="drawing" img-format="tif"/></figure>
</drawings>
</ep-patent-document>
