Some print components may include an array of nozzles and/or pumps each including a fluid chamber and a fluid actuator, where the fluid actuator may be actuated to cause displacement of fluid within the chamber. Some example fluidic dies may be printheads, where the fluid may correspond to ink or print agents. Print components include printheads for 2D and 3D printing systems and/or other high precision fluid dispense systems.
Throughout the drawings, identical reference numbers designate similar, but not necessarily identical, elements. The figures are not necessarily to scale, and the size of some parts may be exaggerated to more clearly illustrate the example shown. Moreover the drawings provide examples and/or implementations consistent with the description; however, the description is not limited to the examples and/or implementations provided in the drawings.
In the following detailed description, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific examples in which the disclosure may be practiced. It is to be understood that other examples may be utilized and structural or logical changes may be made without departing from the scope of the present disclosure. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims. It is to be understood that features of the various examples described herein may be combined, in part or whole, with each other, unless specifically noted otherwise.
Examples of fluidic dies may include fluid actuators. The fluid actuators may include thermal resistor based actuators (e.g. for firing or recirculating fluid), piezoelectric membrane based actuators, electrostatic membrane actuators, mechanical/impact driven membrane actuators, magneto-strictive drive actuators, or other suitable devices that may cause displacement of fluid in response to electrical actuation. Fluidic dies described herein may include a plurality of fluid actuators, which may be referred to as an array of fluid actuators. An actuation event may refer to singular or concurrent actuation of fluid actuators of the fluidic die to cause fluid displacement. An example of an actuation event is a fluid firing event whereby fluid is jetted through a nozzle.
In example fluidic dies, the array of fluid actuators may be arranged in sets of fluid actuators, where each such set of fluid actuators may be referred to as a “primitive” or a “firing primitive.” The number of fluid actuators in a primitive may be referred to as a size of the primitive. In some examples, the set of fluid actuators of each primitive are addressable using a same set of actuation addresses, with each fluid actuator of a primitive corresponding to a different actuation address of the set of actuation addresses, with the addresses being communicated via an address bus. In some examples, a fluidic actuator of a primitive will actuate (e.g., fire) in response to a fire signal (also referred to as a fire pulse) based on actuation data corresponding to the primitive (sometimes also referred to as nozzle data or primitive data) when the actuation address corresponding to the fluidic actuator is present on the address bus.
In some cases, electrical and fluidic operating constraints of a fluidic die may limit which fluid actuators of each primitive may be actuated concurrently for a given actuation event. Primitives facilitate addressing and subsequent actuation of fluid actuator subsets that may be concurrently actuated for a given actuation event to conform to such operating constraints.
To illustrate by way of example, if a fluidic die comprises four primitives, with each primitive including eight fluid actuators (with each fluid actuator corresponding to a different address of a set of addresses 0 to 7), and where electrical and fluidic constraints limit actuation to one fluid actuator per primitive, a total of four fluid actuators (one from each primitive) may be concurrently actuated for a given actuation event. For example, for a first actuation event, the respective fluid actuator of each primitive corresponding to address “0” may be actuated. For a second actuation event, the respective fluid actuator of each primitive corresponding to address “5” may be actuated. As will be appreciated, such example is provided merely for illustration purposes, with fluidic dies contemplated herein may comprise more or fewer fluid actuators per primitive and more or fewer primitives per die.
Example fluidic dies may include fluid chambers, orifices, and/or other features which may be defined by surfaces fabricated in a substrate of the fluidic die by etching, microfabrication (e.g., photolithography), micromachining processes, or other suitable processes or combinations thereof. Some example substrates may include silicon based substrates, glass based substrates, gallium arsenide based substrates, and/or other such suitable types of substrates for microfabricated devices and structures. As used herein, fluid chambers may include ejection chambers in fluidic communication with nozzle orifices from which fluid may be ejected, and fluidic channels through which fluid may be conveyed. In some examples, fluidic channels may be microfluidic channels where, as used herein, a microfluidic channel may correspond to a channel of sufficiently small size (e.g., of nanometer sized scale, micrometer sized scale, millimeter sized scale, etc.) to facilitate conveyance of small volumes of fluid (e.g., picoliter scale, nanoliter scale, microliter scale, milliliter scale, etc.).
In some examples, a fluid actuator may be arranged as part of a nozzle where, in addition to the fluid actuator, the nozzle includes an ejection chamber in fluidic communication with a nozzle orifice. The fluid actuator is positioned relative to the fluid chamber such that actuation of the fluid actuator causes displacement of fluid within the fluid chamber that may cause ejection of a fluid drop from the fluid chamber via the nozzle orifice. Accordingly, a fluid actuator arranged as part of a nozzle may sometimes be referred to as a fluid ejector or an ejecting actuator.
In some examples, a fluid actuator may be arranged as part of a pump where, in addition to the fluidic actuator, the pump includes a fluidic channel. The fluidic actuator is positioned relative to a fluidic channel such that actuation of the fluid actuator generates fluid displacement in the fluid channel (e.g., a microfluidic channel) to convey fluid within the fluidic die, such as between a fluid supply and a nozzle, for instance. An example of fluid displacement/pumping within the die is sometimes also referred to as micro-recirculation. A fluid actuator arranged to convey fluid within a fluidic channel may sometimes be referred to as a non-ejecting or microrecirculation actuator. In one example nozzle, the fluid actuator may comprise a thermal actuator, where actuation of the fluid actuator (sometimes referred to as “firing”) heats the fluid to form a gaseous drive bubble within the fluid chamber that may cause a fluid drop to be ejected from the nozzle orifice. As described above, fluid actuators may be arranged in arrays (such as columns), where the actuators may be implemented as fluid ejectors and/or pumps, with selective operation of fluid ejectors causing fluid drop ejection and selective operation of pumps causing fluid displacement within the fluidic die. In some examples, the array of fluid actuators may be arranged into primitives.
Some printheads receive data in the form of data packets, sometimes referred to as fire pulse groups or a fire pulse group data packets, where each data packet includes a head portion and a body portion. In some examples, the head portion includes a sequence of start bits and configuration data for on-die functions such as address bits for address drivers, and fire pulse data for fire pulse selection, for example. The body portion of the packet includes primitive data, such as actuator data and/or memory data, that selects which nozzles corresponding to address represented by the address bits in the primitives will be actuated (or fired) and, in some examples, represents data to be written to memory elements of memory arrays associated the primitives. The fire pulse group data pack concludes with stop bits indicating the end of the data packet.
Such printheads include data parsers which use a free-running clock and operate to capture incoming data bits as they are received by the printhead in order to detect the start pattern and thereby identify the beginning of a fire pulse group data packet. Upon detecting a start pattern, the data parser circuitry collects bits as they are received and directs them to the appropriate primitives. In some examples, to determine when the data packet is complete, the data parser circuitry counts the total number of bits received. When the correct number of bits for a data packet has been received, the data parser circuitry stops distributing bits and returns to monitoring incoming data to identify a start sequence for another data packet.
Among other functions, data parser circuitry typically includes several counters, such as to indicate a particular group of primitives to which the data is to be directed (e.g., a printhead may include multiple columns of primitives), and to count a total number bits which have been received, for example. Data parser circuitry consumes relatively large amounts of silicon area on a printhead die, thereby increasing the size and cost of the die. Additionally, data parser circuitry is inflexible and requires each fire pulse group data packet for a printhead to have a fixed length. Additionally, a free running clock can potentially introduce electromagnetic interference (EMI) issues to the die.
The present disclosure, as will be described in greater detail herein, provides a print component having an array of memory elements to serially receive a segment of data bits including configuration data and primitive data each time an intermittent clock signal is received on a clock pad, which eliminates data parser circuitry and a free running clock. Such an arrangement reduces silicon area requirements, eliminates EMI introduced by a free-running clock signal, and enables arrays of fluid actuators having different primitive sizes, such as different fluidic dies, to share a clock and fire signals, which reduces interconnect complexity.
According to one example, each actuator group 36 includes a group of configuration functions 38, illustrated as 38-1 to 38-N, an array of fluid actuators 40, illustrated as arrays 40-1 to 40-N, and an array of memory elements 50, illustrated as arrays 50-1 to 50-N. In one case, each group of configuration functions 38 includes a number of configuration functions, illustrated as configuration functions CF(1) to CF(m), for configuring an operational setup of the corresponding actuator group 36. In examples, configuration functions CF(1) to CF(m) may include functions such as an address driver, a fire pulse configuration function, and a sensor configuration function (e.g., thermal sensors), for instance.
In one example, each array of fluid actuators 40 includes a number of fluid actuators (FAs), with array 40-1 of actuator group 36-1 including fluid actuators FA(1) to FA(x), array 40-2 of actuator group 36-2 including fluid actuators FA(1) to FA(y), and array 40-N of actuator group 40-N including fluid actuators FA(1) to FA(z). In one case, each array of fluid actuators 40 may have a same number of fluid actuators (x=y=z). In other cases, the arrays of fluid actuators 40 may have differing numbers of fluid actuators (x≠y≠z).
The array of memory elements 50 of each actuator group 36 comprises a number of memory elements 51, with each array 50 having a first portion of memory elements 52, illustrated as first portions 52-1 to 52-N, corresponding to the respective group of configuration functions 38, and a second portion of portion of memory elements 54, illustrated as second portions 56-1 to 56-N, corresponding to the respective array of fluid actuators 40. In some cases, the array of memory elements 50 of each actuator group 36 may have a same number of memory elements 51. In other cases, the array of memory elements 50 of different actuator groups 36 may have different numbers of memory elements 51.
The array of memory elements 50 of each actuator group 36 is connected to the corresponding data pad 32 via a corresponding communication path 52, with the arrays of memory elements 50-1 to 50-N being respectively connected to data pads 32-1 to 32-N by communication paths 52-1 to 52-n. In one example, as illustrated by the arrangement of
In one example, each time intermittent clock 35 is present on clock pad 34 of print component 30, the array of memory elements 50 of each actuator group 36 serially loads a data segment 33 comprising a series of data bits from the corresponding data pad 32, illustrated as data segments 33-1 to 33-n, with the data bits loaded into the first portion of memory elements 52 and into the second portion of memory elements 54 respectively corresponding to the group of configuration functions 38 and to the array of fluid actuators 40. In one example, each time intermittent clock signal 35 is present on clock pad 34, the array of memory elements 50 of each actuator group 36 serially loads the series of data bits of a current data segment 33, which replace the previously loaded data bits of the preceding data segment 33.
In one example, as will be described in greater detail below (e.g., see
Additionally, as described in greater detail below, using an intermittent clock signal 35 and an array of memory elements 50 to serially receive data enables print component 30 to support multiple arrays of fluid actuators 40 having differing numbers of fluid actuators and using fire pulse groups of varying lengths while operating on a same intermittent clock signal 35 and sharing a common fire signal (as will be described in greater detail below). Furthermore, employing an intermittent clock signal eliminates potential EMI problems associated with free-running clocks.
In one example, as illustrated, the array of memory elements 50 of each actuator group 37 comprises a series or chain of memory elements 51 implemented to function as a serial-to-parallel data converter, with first portion 54 of memory elements 51 corresponding to the group of configuration functions 38, and second portion of memory elements 56 corresponding to the array of fluid actuators 40, with each memory element 51 o the second portion 56 corresponding to a different one of the primitives P(1) to P(x). In one example, the array of memory elements 50 of each actuator group 36 comprises a sequential logic circuit (e.g., flip-flop arrays, latch arrays, etc.). In one example, the sequential logic circuit is adapted to function as a serial-in, parallel-out shift register.
According to one example, the group of configuration functions 38 of each actuator group 36 includes an address driver 60, illustrated at address drivers 60-1 to 60-n, which drives an address onto a corresponding address bus 62, illustrated as address buses 62-1 to 62-n, based on address bits in corresponding memory elements 51 of first portion 54 of the array of memory elements 50, with memory bus 62 communicating the driven address to fluid actuators FA(1) to FA(p) of each of the corresponding primitives. In one example, print component 30 includes a fire pad 70 to receive a fire signal 72 which is communicated to each of the actuator groups 36 via a communication path 74.
An example of the operation of print component 30 of
In example, each fluid actuator, illustrated as a thermal resistor in
According to one example, each primitive, including primitive P(1), includes an AND-gate 82 receiving, at a first input, primitive data (e.g., actuator data) for primitive P(1) stored in a local memory element 84, where local memory element receives such primitive data from corresponding memory element 51 of the array of memory elements 50-1 of actuator group 36-1. At a second input, AND-gate 82 receives fire signal 72 via communication path 70. In one example, fire signal 72 is delayed by a delay element 86, with each primitive having a different delay so that firing of fluid actuators is not simultaneous among primitives P(1) to P(x).
In one example, each fluid actuator has a corresponding address decoder 88 receiving the address driven by address driver 60-1 on address bus 62-1, and an AND-gate 90 for controlling a gate of FET 80. AND-gate 90 receives the output of corresponding address decoder 88 at a first input, and the output of AND-gate 82 at a second input. It is noted that address decoder 88 and AND-gate 90 are repeated for each fluid actuator, while AND-gate 82, memory element 84, and delay element 86 are repeated for each primitive.
According to the example of
With reference to
With reference to
By pre-pending filler bit segments 110-1 to 110-n to data segments 33-1 and 33-n, in a case where an intermittent clock signal is shared by actuator groups 36-1 to 36-n, when serially loading data segments 33-1 to 33-n into their respective arrays of memory elements 50-1 to 50-n, the last data bit of each data segments 33-1 to 33-n will be loaded on the same clock cycle so that each fire pulse group is properly loaded into their respective memory array 50-1 to 50-n, with the first and second portions of data bits 102 and 104 being respectively loaded into first and second portions 54 and 56 of the corresponding array of memory elements 50.
Prepending filler bit segments 110 to at least data segments 33 having shorter lengths so that all data segments 33 have a same length enables a clock signal 35 to be shared by multiple arrays of fluidic actuators 36 even when such arrays of fluidic actuators 36 have differing numbers of fluid actuators (FAs), which reduces and simplifies circuitry, such as that of print component 30.
In some examples, each of the data segments 33-1 to 33-n includes a filler bit segment 100 including a number of filler bits, where the number of filler bits in each filler bit segment 100-1 to 100-n is such that each of the data segments 33-1 to 33-n has a same length. In one example, each of the filler bits has either a logic “high” value (e.g. “1”) or a logic “low” value (“0”), where the filler bits of each filler bit segment 100 have a pattern of logic “low” and logic “high” values to mitigate electromagnetic effects on print component 30 as data segments 33-1 to 33-n are respectively serially loaded in memory arrays 50-1 to 50-n.
Continuing with the illustrative example above, referring to
According to one example, upon completion of loading of fire pulse groups 100-1 to 100-n into their respective memory arrays 50-1 to 50-n, a fire signal 72 (e.g., a fire pulse signal) is received on fire pad 70. With reference to
In one example, after being parallel shifted out of the arrays of memory elements 50-1 to 50-n, the fire pulse group data is processed by the corresponding groups of configuration functions 38-1 to 38-n and primitives (P(1) to P(x), P(1) to P(y), and P(1) to P(z)) to operate selected fluid actuators (FAs) to circulate fluid or eject fluid drops. For instance, with reference to
In one example, upon the fire pulse group data being shifted out of the arrays of memory elements 50-1 to 50-n in response to fire signal 72, intermittent clock signal 35 is again received via clock pad 34 and next data segments 33-1 to 33-n are serially loaded into the arrays of memory elements 50-1 to 50-n.
In one example, print component 30 of
Printhead assembly 204 includes at least one printhead 212 which ejects drops of ink or fluid through a plurality of orifices or nozzles 214, where printhead 212 may be implemented, in one example, as print component 30 with fluid actuators (FAs) of actuator groups 36-1 to 36-n implemented as nozzles 214, as previously described herein by
Ink supply assembly 216 supplies ink to printhead assembly 204 and includes a reservoir 218 for storing ink. As such, in one example, ink flows from reservoir 218 to printhead assembly 204. In one example, printhead assembly 204 and ink supply assembly 216 are housed together in an inkjet or fluid-jet print cartridge or pen. In another example, ink supply assembly 216 is separate from printhead assembly 204 and supplies ink to printhead assembly 204 through an interface connection 220, such as a supply tube and/or valve.
Carriage assembly 222 positions printhead assembly 204 relative to print media transport assembly 226, and print media transport assembly 226 positions print media 232 relative to printhead assembly 204. Thus, a print zone 234 is defined adjacent to nozzles 214 in an area between printhead assembly 204 and print media 232. In one example, printhead assembly 204 is a scanning type printhead assembly such that carriage assembly 222 moves printhead assembly 204 relative to print media transport assembly 226. In another example, printhead assembly 204 is a non-scanning type printhead assembly such that carriage assembly 222 fixes printhead assembly 204 at a prescribed position relative to print media transport assembly 226.
Service station assembly 208 provides for spitting, wiping, capping, and/or priming of printhead assembly 204 to maintain the functionality of printhead assembly 204 and, more specifically, nozzles 214. For example, service station assembly 208 may include a rubber blade or wiper which is periodically passed over printhead assembly 204 to wipe and clean nozzles 214 of excess ink. In addition, service station assembly 208 may include a cap that covers printhead assembly 204 to protect nozzles 214 from drying out during periods of non-use. In addition, service station assembly 208 may include a spittoon into which printhead assembly 204 ejects ink during spits to ensure that reservoir 218 maintains an appropriate level of pressure and fluidity, and to ensure that nozzles 214 do not clog or weep. Functions of service station assembly 208 may include relative motion between service station assembly 208 and printhead assembly 204.
Electronic controller 230 communicates with printhead assembly 204 through a communication path 206, service station assembly 208 through a communication path 210, carriage assembly 222 through a communication path 224, and print media transport assembly 226 through a communication path 228. In one example, when printhead assembly 204 is mounted in carriage assembly 222, electronic controller 230 and printhead assembly 204 may communicate via carriage assembly 222 through a communication path 202. Electronic controller 230 may also communicate with ink supply assembly 216 such that, in one implementation, a new (or used) ink supply may be detected.
Electronic controller 230 receives data 236 from a host system, such as a computer, and may include memory for temporarily storing data 236. Data 236 may be sent to fluid ejection system 200 along an electronic, infrared, optical or other information transfer path. Data 236 represent, for example, a document and/or file to be printed. As such, data 236 form a print job for fluid ejection system 200 and includes at least one print job command and/or command parameter.
In one example, electronic controller 230 provides control of printhead assembly 204 including timing control for ejection of ink drops from nozzles 214. As such, electronic controller 230 defines a pattern of ejected ink drops which form characters, symbols, and/or other graphics or images on print media 232. Timing control and, therefore, the pattern of ejected ink drops, is determined by the print job commands and/or command parameters. In one example, logic and drive circuitry forming a portion of electronic controller 230 is located on printhead assembly 204. In another example, logic and drive circuitry forming a portion of electronic controller 230 is located off printhead assembly 204. In another example, logic and drive circuitry forming a portion of electronic controller 230 is located off printhead assembly 204. In one example, data segments 33-1 to 33-n, intermittent clock signal 35, fire signal 72, and mode signal 79 may be provided to print component 30 by electronic controller 230, where electronic controller 230 may be remote from print component 30.
At 304, method 300 includes receiving an intermittent clock signal on a clock pad, such as print component 30 of
At 308, method 100 includes serially loading a data segment from the corresponding data pad into each array of memory elements each time the intermittent clock signal is present on the clock pad to store at least the fire pulse group bits, such as respectively loading data segments 33-1 to 33-n (as illustrated by
Although specific examples have been illustrated and described herein, a variety of alternate and/or equivalent implementations may be substituted for the specific examples shown and described without departing from the scope of the present disclosure. This application is intended to cover any adaptations or variations of the specific examples discussed herein. Therefore, it is intended that this disclosure be limited only by the claims and the equivalents thereof.
This application is a U.S. Continuation Application of National Stage application Ser. No. 16/767,914, filed May 28, 2020, entitled “PRINT COMPONENT WITH MEMORY ARRAY USING INTERMITTENT CLOCK SIGNAL” which is a U.S. National Stage Application of PCT Application No. PCT/US2019/016727, filed Feb. 6, 2019, entitled “PRINT COMPONENT WITH MEMORY ARRAY USING INTERMITTENT CLOCK SIGNAL”.
Number | Date | Country | |
---|---|---|---|
Parent | 16767914 | May 2020 | US |
Child | 17706529 | US |