A fluid dispensing system can dispense fluid towards a target. In some examples, a fluid dispensing system can include a printing system, such as a two-dimensional (2D) printing system or a three-dimensional (3D) printing system. A printing system can include printhead devices that include fluidic actuators to cause dispensing of printing fluids.
Some implementations of the present disclosure are described with respect to the following figures.
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 present disclosure, use of the term “a,” “an”, or “the” is intended to include the plural forms as well, unless the context clearly indicates otherwise. Also, the term “includes,” “including,” “comprises,” “comprising,” “have,” or “having” when used in this disclosure specifies the presence of the stated elements, but do not preclude the presence or addition of other elements.
A fluid dispensing device can include fluidic actuators that when activated cause dispensing (e.g., ejection or other flow) of a fluid. For example, the dispensing of the fluid can include ejection of fluid droplets by activated fluidic actuators from respective nozzles of the fluid dispensing device. In other examples, an activated fluidic actuator (such as a pump) can cause fluid to flow through a fluid conduit or fluid chamber. Activating a fluidic actuator to dispense fluid can thus refer to activating the fluidic actuator to eject fluid from a nozzle or activating the fluidic actuator to cause a flow of fluid through a flow structure, such as a flow conduit, a fluid chamber, and so forth.
Activating a fluidic actuator can also be referred to as firing the fluidic actuator. In some examples, the fluidic actuators include thermal-based fluidic actuators including heating elements, such as resistive heaters. When a heating element is activated, the heating element produces heat that can cause vaporization of a fluid to cause nucleation of a vapor bubble (e.g., a steam bubble) proximate the thermal-based fluidic actuator that in turn causes dispensing of a quantity of fluid, such as ejection from an orifice of a nozzle or flow through a fluid conduit or fluid chamber. In other examples, a fluidic actuator may be a piezoelectric membrane based fluidic actuator that when activated applies a mechanical force to dispense a quantity of fluid.
In examples where a fluid dispensing device includes nozzles, each nozzle includes a fluid chamber, also referred to as a firing chamber. In addition, a nozzle can include an orifice through which fluid is dispensed, a fluidic actuator, and a sensor. Each fluid chamber provides the fluid to be dispensed by the respective nozzle.
Generally, a fluidic actuator can be an ejecting-type fluidic actuator to cause ejection of a fluid, such as through an orifice of a nozzle, or a non-ejecting-type fluidic actuator to cause flow of a fluid.
In some examples, a fluid dispensing device can be in the form of a printhead, which can be mounted to a print cartridge, a carriage, and so forth. In further examples, a fluid dispensing device can be in the form of a fluidic die. A “die” refers to an assembly where various layers are formed onto a substrate to fabricate circuitry, fluid chambers, and fluid conduits. Multiple fluidic dies can be mounted or attached to a support structure. In other examples, a fluid dispensing device can be in the form of a fluidic die sliver, which includes a thin substrate (e.g., having a thickness on the order of 650 micrometers (pm) or less) with a ratio of length to width (L/W) of at least three, for example. A die sliver can other dimensions in other examples. Multiple fluidic die slivers can be molded into a monolithic molding structure, for example.
In the present disclosure, a “fluid dispensing device component” can refer to either a fluid dispensing device, or a component that is part of, or attached to, or coupled to the fluid dispensing device.
A fluid dispensing device can include a nonvolatile memory to store data. A “nonvolatile memory” refers to a memory that is able to retain data stored in the memory even if power is removed from the memory. Examples of data that can be stored in the nonvolatile memory include identification information for the fluid dispensing device (e.g., a serial number or other identifier), device component characteristics (such as a brand name, color information, license information, etc.), fluid flow characteristics such as flow rate information, configuration information to configure the fluid dispensing device, security information used for secure access of the fluid dispensing device, and so forth. The data may be encrypted, scrambled, or encoded in any way.
In accordance with some implementations of the present disclosure, a fluid dispensing device includes multiple fluidic dies each including a respective memory (including a nonvolatile memory). To improve the efficiency of usage of the memories of the multiple fluidic dies, a first part of each memory can be used to store data specific to the corresponding fluidic die, and a second part of each memory can be used to store common data shared by the multiple fluidic dies. Also, the fluid dispensing device includes multiple control inputs that can provide control information to respective fluidic dies of the multiple fluidic dies. The fluid dispensing device includes a shared bus that is shared by the memories of the fluidic dies, so that data from the memories can be output from the fluid dispensing device.
The fluid dispensing system 100 includes a fluid dispensing device 102, which can be mounted to a carriage 103 (or other type of support structure) of the fluid dispensing system 100. In some examples, the fluid dispensing device 102 can be attached to a fluid cartridge (e.g., a print cartridge) that is removably mounted to the carriage 103. In other examples, the fluid dispensing device 102 can be fixedly mounted to the carriage 103.
The fluid dispensing device 102 includes orifices for dispensing fluid towards a target 106. In some examples, the carriage 103 and the target 106 are moveable with respect to one another (either the carriage 103 is moveable or the target 106 is moveable or both the carriage 103 and the target 106 are moveable).
In a 2D printing system, the fluid dispensing device 102 includes a printhead that ejects printing fluid (e.g., ink) onto a print medium, such as a paper medium, a plastic medium, and so forth.
In a 3D printing system, the fluid dispensing device 102 includes a printhead that can eject any of various different liquid agents onto a print target, where the liquid agents can include any or some combination of the following: ink, an agent used to fuse or coalesce powders of a layer of build material, an agent to detail a layer of build material (such as by defining edges or shapes of the layer of build material), and so forth. In a 3D printing system, a 3D target is built by depositing successive layers of build material onto a build platform of the 3D printing system. Each layer of build material can be processed using the printing fluid from a printhead to form the desired shape, texture, and/or other characteristic of the layer of build material.
The fluid dispensing device 102 includes multiple fluidic dies 108-1 to 108-N (N≥2). The fluidic dies 108-1 to 108-N include respective arrays of fluidic actuators 110-1 to 110-N, and respective nonvolatile memories 112-1 to 112-N. For example, the fluidic die 108-1 includes the array of fluidic actuators 110-1 and the nonvolatile memory 112-1, and the fluidic die 108-N includes the array of fluidic actuators 110-N and the nonvolatile memory 112-N.
An array of fluidic actuators 108-i (i=1 to N) can include a column of fluidic actuators, or multiple columns of fluidic actuators. In some examples, the fluidic actuators 108-i can be organized into multiple primitives, where each primitive includes a specified number of fluidic actuators. The fluidic actuators 108-i can be part of nozzles or can be associated with other types of flow structures, such as fluid conduits, fluid chambers, and so forth. Each fluidic actuator is selected by a respective different address provided by a controller (e.g., a system controller 110) in the fluid dispensing system 100.
As used here, a “controller” can refer to a hardware processing circuit, which can include any or some combination of a microprocessor, a core of a multi-core microprocessor, a microcontroller, a programmable integrated circuit (e.g., application programmable integrated circuit (ASIC), etc.), a programmable gate array, a digital signal processor, a number of discrete hardware components (e.g., timers, counters, state machines, etc.), or another hardware processing circuit. A controller can also include discrete components such as timers, counters, state machines, latches, buffers, and so forth. Alternatively, a “controller” can refer to a combination of a hardware processing circuit and machine-readable instructions (software and/or firmware) executable on the hardware processing circuit.
Although
The fluid dispensing device 102 includes various inputs 130, and a sense interface 132 (for inputting and outputting currents and voltages or data, for example). In an example, the sense interface 132 can receive an input current or input voltage, and can output a corresponding voltage or current. In other examples, other forms of input/output can be performed at the sense interface 132.
The inputs 130 include a programming voltage (referred to as “VPP”) input 134 that provides an input voltage to the memory voltage generator 116. In some examples, the memory voltage generator 116 can include a converter to convert the input voltage VPP 134 to a programming voltage applied to perform programming of selected memory cells of a nonvolatile memory 112-i or multiple nonvolatile memories 112-i.
In other examples, the memory voltage generator 116 can be omitted, and the input voltage VPP 134 can be used for programming the memory cells of a nonvolatile memory.
The inputs 130 also include a clock input 136, which provides a clock signal that is provided to various circuitry in the fluid dispensing device 102. The inputs 130 also include a data input 138, to receive control data (e.g., in the form of a data packet) provided by the system controller 110. The data packet received at the data input 138 includes control information that can be used to control activation of selected fluid actuators 108. Also, as explained further below, the data packet can include information to set a mode of operation of the fluid dispensing device, where the mode of operation can include a fluidic operation mode for selective activation of fluidic actuators of the fluid dispensing device, or a memory access mode for writing or reading data of the nonvolatile memory.
As further examples, the control information included in a data packet received at the data input 138 from the system controller 110 includes primitive data and address data. Primitive data is provided in examples where the fluidic actuators 108 in the fluid dispensing device 102 are arranged in primitives. More generally, the primitive data can also be referred to as “fire data,” which is data used to control activation or non-activation of a fluidic actuator (or fluidic actuators) within a primitive during the fluidic operation mode.
In examples where fluidic actuators 108-i are grouped into primitives, the primitive data can include corresponding bits to represent which of the fluidic actuators of a primitive is (are) activated when a fire pulse is delivered to the primitive. A fire pulse corresponds to a fire signal received at a fire input 140 being activated.
The address data includes address bits that define an address for selecting fluidic actuators 108-i to activate. In examples where fluidic actuators 108-i are grouped into primitives, each primitive includes a set of fluidic actuators, and the fluidic actuators of the primitive are selected by respective different addresses as represented by the address bits.
When the fluid dispensing device 102 is set in the memory access mode (e.g., memory write mode or memory read mode), the data packet received at the data input 138 can select memory cells of a nonvolatile memory to be written or read. Thus, the data input 138 is a control input shared by both the fluidic actuators and nonvolatile memory of a fluidic die for receiving respective control information for activating the fluidic actuators or access the nonvolatile memory, respectively.
The control information can also include other information that can be included into the data packet delivered by the system controller 110 to the fluid dispensing device 102.
The inputs 130 further include a mode input 142, which receives a mode signal that can be used as part of a sequence to set the fluid dispensing device 102 in a memory access mode.
In other examples, the inputs 130 of the fluid dispensing device 102 can include additional or alternative inputs.
The clock input 136, data input 138, fire input 140, and mode input 142 are examples of control inputs that provide control information to the fluid dispensing device 102.
The fluid dispensing device 102 also includes a data bus 160 to which the nonvolatile memories 112-1 to 112-N are coupled. Note that the nonvolatile memories 112-1 to 112-N can be connected directly to the data bus 160, or alternatively, intermediate circuitry can be provided in the respective fluidic dies 108-1 to 108-N to connect the nonvolatile memories 112-1 to 112-N to the data bus 160.
The data bus 160 is further connected to the sense interface 132. Thus, data read from the nonvolatile memories 112-1 to 112-N can be communicated over the data bus 160 to the sense interface 132, or output to the system controller 110.
As used here, the term “data” that is communicated over the data bus 160 can include analog signals (e.g., in the form of electrical currents or voltages) communicated over the data bus 160. In other examples, the data can refer to digital data.
In the arrangement shown in
The data input 138 can include multiple subsets. For example, the data input 138 can be divided into multiple data input portions D1 to DN, where each data input portion Di (i=1 to N) is provided to a respective individual fluidic die 108-i. For example, the data input portion D1 is connected to the fluidic die 108-1 (but not to any other fluidic die including the fluidic die 108-N), and the data input portion DN is connected to the fluidic die 108-N (but not to any other fluidic die including the fluidic die 108-1). The data input portion D1 can receive a data packet provided to the fluidic die 108-1, and the data input portion DN can receive a data packet provided to the fluidic die 108-N. In some examples, each data input portion Di is made up of one bit. In other examples, each data input portion Di can be made up of multiple bits.
In some examples, the data bus 160 can be shared for communicating data of multiple nonvolatile memories 112-1 to 112-N of multiple fluidic dies 108-1 to 108-N, while individual control inputs (in the form of D1 to DN) are provided to respective individual fluidic dies 108-1 to 108-N. The clock input 136, the fire input 140, and the mode input 142 are control inputs that are shared by the multiple fluidic dies 108-1 to 108-N.
The fluid dispensing device 102 further includes a storage medium 150, which can be in the form of registers or latches, to store data packets received at corresponding data input portions D1 to DN of the data input 138. In some examples, the storage medium 150 can include shift registers. Each shift register serially input bits of a data packet received at respective data input portion Di into the shift register on successive activations of a clock signal received at the clock input 136. In other examples, the storage medium 150 can include registers each being able to load all bits of a data packet at one time into the register.
In further examples, the storage medium 150 can include shift registers and latches, where after a data packet is shifted into a shift register, the content of the shift register can be provided to the corresponding latch for storage. A “latch” can refer to a storage element for buffering data.
The fluid dispensing device 102 further includes a device controller 152 that is part of the fluid dispensing device 102. The device controller 152 can perform various operations of the fluid dispensing device 102, such as setting a mode of the fluid dispensing device 102, controlling activation of selected fluidic actuators 108, controlling writing or reading of the nonvolatile memory 112, and so forth.
The device controller 152 can be in the form of an ASIC, a programmable gate array, a microcontroller, a microprocessor, and so forth, or can be in the form of discrete components that cooperate to perform control tasks.
The fluidic dies 108-1 to 108-3 include respective nonvolatile memories 110-1 to 110-3. Each nonvolatile memory can be divided into a first region for storing die-specific information, and a second region for storing shared information (also referred to as common information). For example, the nonvolatile memory 110-1 is divided into a die-specific region 202-1, and a shared 204-1. Similarly, the nonvolatile memory 110-2 is divided into a die-specific region 202-2 and a shared region 204-2, and the nonvolatile memory 110-3 is divided into a die-specific region 202-3 and a shared region 204-3. In further examples, each nonvolatile memory can be divided into more than two separate regions.
Each die-specific region 202-1, 202-2, or 202-3 stores information that is specific to the corresponding fluidic die 108-1, 108-2, or 108-3. Examples of die-specific information can include wafer lot information relating to a wafer on which the fluidic die was formed, a manufacturing date of the fluidic die, and so forth.
Common information can be stored in the shared regions 204-1, 204-2, and 204-3. The common information pertains to the fluid dispensing device 102. For example, the common information can include information of a geographic region where the fluid dispensing device 102 is to be used, a generation of the fluid dispensing device 102, information tracking a fluid level of the fluid dispensing device 102 (e.g., the ink level of a print cartridge), and so forth. The common information can be stored in a distributed manner across the shared regions 204-1, 204-2, and 204-3.
The fluidic dies 306-1, 306-2, 306-3, and 308 include respective nonvolatile memories 307-1, 307-2, 307-3, and 309.
The fluid dispensing device 302 includes a sense interface 310, and the fluid dispensing device 304 includes a sense interface 312. The sense interfaces 310 and 312 are coupled over a global bus 314 to a sense pad 316. The sense pad 316 is connected to the system controller 110. Data read from the nonvolatile memories 307-1, 307-2, 307-3, and 309 can be output by respective sense interfaces 310 and 312 to the global bus 314, which in turn provides the data to the sense pad 316.
For example, the global sense interface and the global bus 314 can be part of a circuit arrangement 318 (e.g., a printed circuit arrangement) on the carriage 103 shown in
The circuit arrangement 318 can also include other inputs 320, including a VPP pad 322, a clock pad 324, a data pad 326, a fire pad 328, and a mode pad 330. The VPP pad 322 can provide a programming voltage (VPP) to VPP inputs of the fluid dispensing devices 302 and 304. The clock pad 324 can provide a clock signal to the clock inputs of the fluid dispensing devices 302 and 304. The data pad 326 can provide control information (data packets) to the data inputs of the fluid dispensing devices 302 and 304. Note that the data pad 326 can provide respective data portions to corresponding data input portions (e.g., D1 to DN shown in
The fire pad 328 provides a fire signal to the fire inputs of the fluid dispensing devices 302 and 304. The mode pad 330 provides a mode signal to the mode inputs of the fluid dispensing devices 302 and 304.
The fluid dispensing device component 400 includes multiple control inputs 406 to provide respective control information to respective fluidic dies 402-1 to 402-N.
A data bus 408 is connected to the fluidic dies 402-1 to 402-N. The data bus 408 provides data of the memories 404-1 to 404-N of the fluidic dies 402-1 to 402-N to an output 410 of the fluid dispensing device component 400.
The fluid dispensing system 500 includes a controller 504 (e.g., the system controller 110 of
The tasks of the controller 504 further include a nonvolatile memory data reception task 508 to receive data from the nonvolatile memories 514 of the fluidic dies 512 over a shared data bus 516 of the fluid dispensing device 510.
In the foregoing description, numerous details are set forth to provide an understanding of the subject disclosed herein. However, implementations may be practiced without some of these details. Other implementations may include modifications and variations from the details discussed above. It is intended that the appended claims cover such modifications and variations.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2019/016780 | 2/6/2019 | WO | 00 |