ES2848998T3 - Circuitos lógicos - Google Patents
Circuitos lógicos Download PDFInfo
- Publication number
- ES2848998T3 ES2848998T3 ES18830066T ES18830066T ES2848998T3 ES 2848998 T3 ES2848998 T3 ES 2848998T3 ES 18830066 T ES18830066 T ES 18830066T ES 18830066 T ES18830066 T ES 18830066T ES 2848998 T3 ES2848998 T3 ES 2848998T3
- Authority
- ES
- Spain
- Prior art keywords
- address
- logic circuit
- examples
- printing apparatus
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/17—Ink jet characterised by ink handling
- B41J2/175—Ink supply systems ; Circuit parts therefor
- B41J2/17503—Ink cartridges
- B41J2/17543—Cartridge presence detection or type identification
- B41J2/17546—Cartridge presence detection or type identification electronically
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/17—Ink jet characterised by ink handling
- B41J2/175—Ink supply systems ; Circuit parts therefor
- B41J2/17503—Ink cartridges
- B41J2/17513—Inner structure
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/17—Ink jet characterised by ink handling
- B41J2/175—Ink supply systems ; Circuit parts therefor
- B41J2/17503—Ink cartridges
- B41J2/1752—Mounting within the printer
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B41—PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
- B41J—TYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
- B41J2/00—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
- B41J2/005—Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed characterised by bringing liquid or particles selectively into contact with a printing material
- B41J2/01—Ink jet
- B41J2/17—Ink jet characterised by ink handling
- B41J2/175—Ink supply systems ; Circuit parts therefor
- B41J2/17503—Ink cartridges
- B41J2/17526—Electrical contacts to the cartridge
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
- G06F21/608—Secure printing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Stored Programmes (AREA)
- Ink Jet (AREA)
- Control Or Security For Electrophotography (AREA)
- Information Transfer Systems (AREA)
Abstract
Un paquete de circuitos lógicos (204, 400a, 400b, 400c, 400d, 806a-d, 900, 1302, 1401, 1501) para un componente del aparato de impresión reemplazable (104, 200, 802a-d, 802) que es direccionable a través de una primera dirección (1402, 1502) y una segunda dirección reconfigurable (1404, 1504); el paquete de circuitos lógicos almacena los datos de las características del componente del aparato de impresión y una primera clave (1441, 1541) para la autenticación criptográfica de los datos que se comunican, en donde la primera clave (1441, 1541) se relaciona con una segunda clave para la autenticación criptográfica almacenada en el aparato de impresión (804), en donde el paquete se configura para participar en un primer proceso de validación basado en comunicaciones enviadas a la primera dirección, que comprende enviar una respuesta autenticada criptográficamente que incluye los datos de características encriptados mediante el uso de la primera clave (1441, 1541), y al menos uno de un código de autenticación de mensaje y un identificador de clave de sesión derivado de al menos una de la primera clave (1441, 1541) y la segunda clave, en respuesta a una primera solicitud de validación autenticada criptográficamente a la primera dirección, proporcionar una respuesta autenticada criptográficamente mediante el uso de la primera clave (1441, 1541), en donde el paquete se configura además en respuesta a un comando que incluye un período de tiempo, responder a los comandos dirigidos a una segunda dirección predeterminada, en respuesta a un comando dirigido a la segunda dirección predeterminada, el comando incluye una nueva dirección, reconfigurar la segunda dirección predeterminada para que sea una segunda dirección temporal, en respuesta a una segunda solicitud de validación a la segunda dirección temporal reconfigurada, proporcionar una respuesta que no se encuentre autenticada criptográficamente mediante el uso de la primera clave, participar en un segundo proceso de validación basado en las comunicaciones enviadas a la segunda dirección al enviar respuestas de validación que comprenden un flujo de bits que no se encuentra encriptado mediante el uso de la primera clave y no acompañado de un código de autenticación de mensaje y/o un identificador de clave de sesión, y una vez finalizado el período de tiempo, responde nuevamente a los comandos dirigidos a la primera dirección.
Description
DESCRIPCIÓN
Circuitos lógicos
Campo técnico
La presente invención se refiere al campo del paquete de circuitos lógicos para un aparato de impresión reemplazable.
Antecedentes
Los subcomponentes del aparato pueden comunicarse entre sí de varias formas. Por ejemplo, puede usarse el protocolo de interfaz periférica en serie (SPI), Bluetooth de baja energía (BLE), comunicaciones de campo cercano (NFC) u otros tipos de comunicaciones digitales o analógicas.
Algunos sistemas de impresión 2D y 3D incluyen uno o más componentes del aparato de impresión reemplazable, tales como contenedores de material de impresión (por ejemplo, cartuchos de chorro de tinta, cartuchos de tóner, suministros de tinta, suministros de agentes de impresión 3D, suministros de material de relleno, etc.), conjuntos de cabezal de impresión de chorro de tinta y similares. En algunos ejemplos, los circuitos lógicos asociados con los componentes del aparato de impresión reemplazable se comunican con los circuitos lógicos del aparato de impresión donde se encuentran instalados, por ejemplo, al comunicar información tal como su identidad, capacidades, estado y similar. En otros ejemplos, los contenedores de material de impresión pueden incluir circuitos para ejecutar una o más funciones de monitoreo, como la detección del nivel de material de impresión.
La publicación de la solicitud de patente Núm. US2013/067016A1 describe un chip de suministro esclavo para generar criptográficamente una nueva dirección esclava para sí mismo mediante el uso de una clave de sesión y un valor semilla proporcionado por el host que se basa en un ID de host. La patente Núm. US9298908B1 describe un circuito de autenticación esclavo configurado para establecer su dirección I2C en una primera, segunda o tercera dirección predeterminada en base a una diferencia de voltaje entre la potencia y la tierra.
La publicación de solicitud de patente de EE. UU. Núm. 2017/032135A1, cuya contraparte es la patente de Estados Unidos Núm. 9619663 se describe en otra parte de esta descripción, implica la autenticación criptográfica de comunicaciones de datos de componentes de impresión reemplazables, que comprenden, en respuesta a las solicitudes de una impresora, generar una clave de sesión y un identificador de clave de sesión, y enviar el identificador a la impresora, y al recibir una solicitud de lectura de la impresora, generar un código de autenticación de mensaje mediante el uso de la clave de sesión y responder a la solicitud de lectura con una respuesta de datos autenticados criptográficamente y el código de autenticación de mensaje.
Breve descripción de los dibujos
Se describirán ahora ejemplos no limitativos con referencia a los dibujos adjuntos, en los que:
La Figura 1 es un ejemplo de un sistema de impresión;
La Figura 2 es un ejemplo de un componente del aparato de impresión reemplazable;
La Figura 3 muestra un ejemplo de un aparato de impresión;
Las Figuras 4A, 4B, 4C, 4d y 4E muestran ejemplos de paquetes de circuitos lógicos y circuitos de procesamiento; La Figura 5 es un ejemplo de un método que puede llevarse a cabo mediante un paquete de circuitos lógicos;
La Figura 6 es un ejemplo adicional de un método que puede llevarse a cabo mediante un paquete de circuitos lógicos;
La Figura 7 muestra un ejemplo de un método que puede llevarse a cabo, por ejemplo, mediante el procesamiento de circuitos;
La Figura 8 muestra una disposición de ejemplo de componentes del aparato de impresión reemplazable en un aparato de impresión;
La Figura 9 muestra un ejemplo de un componente del aparato de impresión reemplazable;
La Figura 10 es un ejemplo de un método para validar un componente del aparato de impresión;
La Figura 11 es un ejemplo adicional de un método para validar un componente del aparato de impresión;
La Figura 12 muestra otro ejemplo de un método de validación;
La Figura 13A muestra una disposición de ejemplo de un sensor de nivel de fluido;
La Figura 13B muestra un ejemplo de una vista en perspectiva de un cartucho de impresión
La Figura 14 muestra un ejemplo de un paquete de circuitos lógicos; y
La Figura 15 muestra un ejemplo adicional de un paquete de circuitos lógicos.
Descripción detallada
Algunos ejemplos de solicitudes se describen en la presente descripción en el contexto de un aparato de impresión. Sin embargo, no todos los ejemplos se limitan a tales aplicaciones y, al menos algunos de los principios establecidos
en la presente descripción pueden usarse en otros contextos.
En ciertos ejemplos, el protocolo de circuitos interintegrados (I2C o I2C, cuya notación se adopta en la presente descripción) permite que al menos un circuito integrado (IC) 'principal' se comunique con al menos un IC "esclavo", por ejemplo, a través de un bus. I2C y otros protocolos de comunicación comunican datos de acuerdo con un período de reloj. Por ejemplo, puede generarse una señal de voltaje, donde el valor del voltaje se asocia con los datos. Por ejemplo, un valor de voltaje por encima de x puede indicar un "1" lógico, mientras que un valor de voltaje por debajo de x voltios puede indicar un "0" lógico, donde x es un valor numérico predeterminado. Al generar un voltaje apropiado en cada serie de períodos de reloj, los datos pueden comunicarse a través de un bus u otro enlace de comunicación.
Ciertos contenedores de material de impresión de ejemplo tienen lógica esclava que usa comunicaciones I2C, aunque en otros ejemplos, también podrían usarse otras formas de comunicaciones digitales o analógicas. En el ejemplo de comunicación I2C, el IC principal generalmente puede proporcionarse como parte del aparato de impresión (al que puede denominarse como 'host') y un componente del aparato de impresión reemplazable comprendería un IC 'esclavo', aunque no es necesariamente el caso en todos los ejemplos. Puede haber una pluralidad de IC esclavos conectados a un enlace de comunicación I2C o bus (por ejemplo, contenedores de diferentes colores de agente de impresión). Los IC esclavos pueden comprender un procesador para realizar operaciones de datos antes de responder a las solicitudes de los circuitos lógicos del sistema de impresión.
Las comunicaciones entre el aparato de impresión y los componentes del aparato de impresión reemplazable instalados en el aparato (y/o sus respectivos circuitos lógicos) pueden facilitar varias funciones.
Los circuitos lógicos dentro de un aparato de impresión pueden recibir información de los circuitos lógicos asociados con un componente del aparato de impresión reemplazable a través de una interfaz de comunicación y/o pueden enviar comandos a los circuitos lógicos del componente del aparato de impresión reemplazable, que puede comprender comandos para escribir datos en una memoria asociada del mismo, o para leer datos del mismo.
Esta descripción puede referirse a componentes del aparato de impresión, que pueden incluir componentes del aparato de impresión reemplazable. Ciertos componentes del aparato de impresión pueden incluir un depósito que contenga un agente de impresión o material de impresión. En esta descripción, el material de impresión y el agente de impresión significan lo mismo y se destinan a abarcar diferentes materiales de impresión de ejemplo que incluyen tinta, partículas de tóner, tóner líquido, agentes de impresión tridimensionales (incluidos estimuladores e inhibidores), material de relleno de impresión tridimensional, polvo de impresión tridimensional.
Por ejemplo, la identidad, funcionalidad y/o estado de un componente del aparato de impresión reemplazable y/o los circuitos lógicos asociados con el mismo pueden comunicarse a los circuitos lógicos de un aparato de impresión a través de una interfaz de comunicación. Por ejemplo, puede configurarse un circuito lógico del contenedor de agente de impresión para comunicar una identidad. Por ejemplo, la identidad puede almacenarse en el circuito lógico para facilitar su verificación mediante un circuito lógico del aparato de impresión compatible, en donde en diferentes ejemplos la identidad puede ser en forma de un número de serie del producto, otro número de cartucho, un nombre de marca, una firma o bit que indica una autenticidad, etc. En ciertos ejemplos de esta descripción, múltiples funciones o circuitos lógicos pueden asociarse con un solo paquete de circuito lógico de un solo componente del aparato de impresión, por lo que múltiples identidades correspondientes pueden almacenarse y/o leerse desde el paquete de circuito lógico. Por ejemplo, el circuito lógico del componente del aparato de impresión puede almacenar datos de características del componente del aparato de impresión, por ejemplo, que comprenden datos representativos de al menos una característica de un contenedor de material de impresión, por ejemplo, características de identificación del material de impresión, tales como volumen total, volumen de llenado inicial y/o proporción de llenado (véase, por ejemplo, la publicación de patente Núm. EP 0941856); color como cian, magenta, amarillo o negro; datos de color que incluyen mapas de color comprimidos o no comprimidos o porciones de los mismos (véase, por ejemplo, la publicación de solicitud de patente internacional Núm. WO2015/016860); datos para reconstruir mapas de colores tales como recetas (véase, por ejemplo, la publicación de solicitud de patente internacional Núm. WO2016/028272); etc. Por ejemplo, las características del material de impresión pueden configurarse para mejorar una funcionalidad o salida con respecto a un aparato de impresión en el que se instala. En un ejemplo adicional, puede proporcionarse un estado, tal como datos relacionados con el nivel de material de impresión (por ejemplo, nivel de llenado) u otras propiedades detectadas (por ejemplo, dinámica), a través de una interfaz de comunicación, por ejemplo, de manera que un aparato de impresión pueda generar una indicación del nivel de llenado a un usuario. En algunos ejemplos, un proceso de validación puede llevarse a cabo mediante un aparato de impresión. Un ejemplo de un esquema de comunicación autenticado criptográficamente se explica en la publicación de patente de Estados Unidos 9619663. Por ejemplo, el aparato de impresión puede verificar que un contenedor de agente de impresión se origina desde una fuente autorizada, a fin de garantizar la calidad del mismo (por ejemplo, al realizar una autenticación del mismo). Ejemplos de circuitos lógicos de componentes reemplazables que se configuran para responder a solicitudes de autenticación son la publicación de patente de Estados Unidos Núm. 9619663, la publicación de patente de Estados Unidos Núm. 9561662 y/o la publicación de patente de Estados Unidos Núm. 9893893.
En ciertos ejemplos de esta descripción, un proceso de validación puede incluir una verificación de integridad para garantizar que el componente del aparato de impresión reemplazable y/o los circuitos lógicos asociados con el mismo funcionen como se espera, por ejemplo, que la identidad o identidades comunicadas, las características y el estado del material de impresión son como se esperaba. El proceso de validación puede comprender además solicitar información del sensor de modo que el circuito lógico de un componente del aparato de impresión pueda verificar que estos datos del sensor cumplen con los parámetros esperados.
Se describen ejemplos de sensores y conjuntos de sensores en las publicaciones de solicitudes de patente internacionales anteriores WO2017/074342, WO2017/184147, y WO2018/022038. Estos u otros tipos de sensores, u otras disposiciones que simulan salidas de señal similares a estos conjuntos de sensores, podrían usarse de acuerdo con esta descripción.
A su vez, las instrucciones para realizar tareas pueden enviarse a los circuitos lógicos de un componente del aparato de impresión desde los circuitos lógicos asociados con un aparato de impresión a través de la interfaz de comunicación.
En al menos algunos de los ejemplos descritos a continuación, se describe un paquete de circuitos lógicos. El paquete de circuitos lógicos puede asociarse con un componente del aparato de impresión reemplazable, por ejemplo, interna o externamente fijado al mismo, por ejemplo, al menos parcialmente dentro de la carcasa del mismo y, se adapta para comunicar datos con un controlador de aparato de impresión a través de un bus proporcionado como parte del aparato de impresión.
Un "paquete de circuitos lógicos", como se usa el término en la presente descripción, se refiere a uno o más circuitos lógicos que pueden interconectarse o enlazarse comunicativamente entre sí. Cuando se proporciona más de un circuito lógico, estos pueden encapsularse como una sola unidad, o pueden encapsularse por separado, o no encapsularse, o alguna combinación de los mismos. El paquete puede disponerse o proporcionarse sobre un solo sustrato o una pluralidad de sustratos. En algunos ejemplos, el paquete puede fijarse directamente a la pared del cartucho. En algunos ejemplos, el paquete puede comprender una interfaz, por ejemplo, que comprende paneles o pines. La interfaz del paquete puede destinarse a conectarse a una interfaz de comunicación del componente del aparato de impresión que a su vez se conecta a un circuito lógico del aparato de impresión, o la interfaz del paquete puede conectarse directamente al circuito lógico del aparato de impresión. Los paquetes de ejemplos pueden configurarse para comunicarse a través de una interfaz de bus de serie.
En algunos ejemplos, cada paquete de circuitos lógicos se proporciona con al menos un procesador y una memoria. En un ejemplo, el paquete de circuitos lógicos puede ser, o puede funcionar como, un microcontrolador o un microcontrolador seguro. En uso, el paquete de circuitos lógicos puede adherirse o integrarse con el componente del aparato de impresión reemplazable. Un paquete de circuitos lógicos puede denominarse alternativamente como conjunto de circuitos lógicos o simplemente circuitos lógicos o circuitos de procesamiento.
En algunos ejemplos, el paquete de circuitos lógicos puede responder a varios tipos de solicitudes (o comandos) desde un host (por ejemplo, un aparato de impresión). Un primer tipo de solicitud puede comprender una solicitud de datos, por ejemplo, información de identificación y/o autenticación. Un segundo tipo de solicitud de un host puede ser una solicitud para realizar una acción física, tal como realizar al menos una medición. Un tercer tipo de solicitud puede ser una solicitud para una acción de procesamiento de datos. Puede haber tipos o solicitudes adicionales. En algunos ejemplos, puede haber más de una dirección asociada con un paquete de circuitos lógicos en particular, que se usa para direccionar las comunicaciones enviadas a través de un bus para identificar el paquete de circuitos lógicos que es el objetivo de una comunicación (y, por lo tanto, en algunos ejemplos, con un componente del aparato de impresión reemplazable). En algunos ejemplos, las diferentes solicitudes se manejan por diferentes circuitos lógicos del paquete. En algunos ejemplos, los diferentes circuitos lógicos pueden asociarse con diferentes direcciones.
En al menos algunos ejemplos, una pluralidad de tales paquetes de circuitos lógicos (cada uno de los cuales puede asociarse con un componente del aparato de impresión reemplazable diferente) puede conectarse a un bus I2C. En algunos ejemplos, al menos una dirección del paquete de circuitos lógicos puede ser una dirección compatible con I2C (de aquí en adelante, una dirección I2C), por ejemplo, de acuerdo con un protocolo I2C, para facilitar la dirección de las comunicaciones entre el principal y los esclavos de acuerdo con el protocolo I2C. En otros ejemplos, puede usarse otras formas de comunicación digital y/o analógica.
La Figura 1 es un ejemplo de un sistema de impresión 100. El sistema de impresión 100 comprende un aparato de impresión 102 en comunicación con circuitos lógicos asociados con un componente del aparato de impresión reemplazable 104 a través de un enlace de comunicación 106. Aunque para mayor claridad, el componente del aparato de impresión reemplazable 104 se muestra como una parte externa al aparato de impresión 102, en algunos ejemplos, el componente del aparato de impresión reemplazable 104 puede alojarse dentro del aparato de impresión. Aunque se muestra un tipo particular de aparato de impresión 2D 102, en su lugar puede proporcionarse un tipo diferente de aparato de impresión 2D o un aparato de impresión 3D.
El componente del aparato de impresión reemplazable 104 puede comprender, por ejemplo, un contenedor o cartucho de material de impresión (que, nuevamente, puede ser un contenedor de material de relleno para impresión 3D, un contenedor de tóner líquido o seco para impresión 2D, o un contenedor de agente de impresión líquido para impresión 2D o 3D), que en algunos ejemplos puede comprender un cabezal de impresión u otro componente de dispensado o transferencia. El componente del aparato de impresión reemplazable 104 puede contener, por ejemplo, un recurso consumible del aparato de impresión 102, o un componente que probablemente tenga una vida útil inferior (en algunos ejemplos, considerablemente inferior) a la del aparato de impresión 102. Además, aunque en este ejemplo se muestra un único componente del aparato de impresión reemplazable 104, en otros ejemplos, puede haber una pluralidad de componentes del aparato de impresión reemplazable, por ejemplo, que comprenden contenedores de agentes de impresión de diferentes colores, cabezales de impresión (que pueden ser partes integrales en los contenedores), o similar. En otros ejemplos, los componentes del aparato de impresión 104 podrían comprender componentes de servicio, por ejemplo, para reemplazarse por personal de servicio, ejemplos de los cuales podrían incluir cabezales de impresión, cartuchos de proceso de tóner o paquete de circuito lógico por sí mismo para adherirse al componente correspondiente del aparato de impresión y comunicarse con un circuito lógico del aparato de impresión compatible.
En algunos ejemplos, el enlace de comunicaciones 106 puede comprender un bus I2C capaz o compatible (en adelante, un bus I2C).
La Figura 2 muestra un ejemplo de un componente del aparato de impresión reemplazable 200, que puede proporcionar el componente del aparato de impresión reemplazable 104 de la Figura 1. El componente del aparato de impresión reemplazable 200 comprende una interfaz de datos 202 y un paquete de circuitos lógicos 204. Durante el uso del componente del aparato de impresión reemplazable 200, el paquete de circuitos lógicos 204 decodifica los datos recibidos a través de la interfaz de datos 202. El circuito lógico puede realizar otras funciones como se establece a continuación. La interfaz de datos 202 puede comprender un I2C u otra interfaz. En ciertos ejemplos, la interfaz de datos 202 puede ser parte del mismo paquete que el paquete de circuitos lógicos 204.
En algunos ejemplos, el paquete de circuitos lógicos 204 puede configurarse además para codificar datos para su transmisión a través de la interfaz de datos 202. En algunos ejemplos, puede proporcionarse más de una interfaz de datos 202.
En algunos ejemplos, el paquete de circuitos lógicos 204 puede disponerse para actuar como "esclavo" en las comunicaciones I2C.
La Figura 3 muestra un ejemplo de un aparato de impresión 300. El aparato de impresión 300 puede proporcionar el aparato de impresión 102 de la Figura 1. El aparato de impresión 300 puede servir como host para componentes reemplazables. El aparato de impresión 300 comprende una interfaz 302 para comunicarse con un componente del aparato de impresión reemplazable y un controlador 304. El controlador 304 comprende circuitos lógicos. En algunos ejemplos, la interfaz 302 es una interfaz I2C.
En algunos ejemplos, el controlador 304 puede configurarse para actuar como un host, o como principal, en comunicaciones i2c . El controlador 304 puede generar y enviar comandos a, al menos, un componente del aparato de impresión reemplazable 200 y, puede recibir y decodificar las respuestas recibidas desde el mismo. En otros ejemplos, el controlador 304 puede comunicarse con el paquete de circuitos lógicos 204 mediante el uso de cualquier forma de comunicación digital o analógica.
El aparato de impresión 102, 300 y los componentes del aparato de impresión reemplazable 104, 200, y/o los circuitos lógicos del mismo, pueden fabricarse y/o venderse por separado. En un ejemplo, un usuario puede adquirir un aparato de impresión 102, 300 y conservar el aparato 102, 300 durante varios años, mientras que una pluralidad de componentes del aparato de impresión reemplazable 104, 200 puede adquirirse en esos años, por ejemplo, al usar el agente de impresión para crear una salida impresa. Por lo tanto, puede haber al menos un grado de compatibilidad hacia adelante y/o hacia atrás entre el aparato de impresión 102, 300 y los componentes del aparato de impresión reemplazable 104, 200. En muchos casos, esta compatibilidad puede proporcionarse por el aparato de impresión 102, 300 ya que los componentes del aparato de impresión reemplazable 104, 200 pueden relativamente limitarse en cuanto a recursos en términos de su capacidad de procesamiento y/o memoria.
La Figura 4A muestra un ejemplo de un paquete de circuitos lógicos 400a, que puede proporcionar, por ejemplo, el paquete de circuitos lógicos 204 descrito en relación con la Figura 2. El paquete de circuitos lógicos 400a puede asociarse con, o en algunos ejemplos fijarse y/o incorporarse al menos parcialmente dentro de, un componente del aparato de impresión reemplazable 200.
En algunos ejemplos, el paquete de circuitos lógicos 400a puede direccionarse mediante una primera dirección y comprende un primer circuito lógico 402a, en donde la primera dirección es una dirección I2C para el primer circuito lógico 402a. En algunos ejemplos, la primera dirección puede configurarse. En otros ejemplos, la primera dirección es una dirección fija, por ejemplo "cableada", destinada a permanecer como la misma dirección durante la vida útil
del primer circuito lógico 402a. La primera dirección puede asociarse con el paquete de circuitos lógicos 400a en y durante la conexión con el circuito lógico del aparato de impresión, fuera de los períodos de tiempo que se asocian con una segunda dirección, como se indicará a continuación. En sistemas de ejemplo en los que se va a conectar una pluralidad de componentes del aparato de impresión reemplazable a un solo aparato de impresión, puede haber una pluralidad correspondiente de primeras direcciones diferentes. En ciertos ejemplos, las primeras direcciones pueden considerarse direcciones I2C estándar para paquetes de circuitos lógicos 400a o componentes de impresión reemplazables.
En algunos ejemplos, el paquete de circuitos lógicos 400a también es direccionable a través de una segunda dirección. Por ejemplo, la segunda dirección puede asociarse con diferentes funciones lógicas o, al menos parcialmente, con datos diferentes a la primera dirección. En algunos ejemplos, la segunda dirección puede asociarse con un circuito lógico de hardware diferente o un dispositivo virtual diferente al de la primera dirección.
En algunos ejemplos, la segunda dirección puede configurarse. La segunda dirección puede ser una segunda dirección inicial y/o predeterminada al comienzo de una sesión de comunicación a través de la segunda dirección y puede reconfigurarse en una dirección diferente después del inicio de la sesión. En algunos ejemplos, la segunda dirección puede usarse durante la sesión de comunicación, el paquete de circuitos lógicos 400a puede configurarse para establecer la dirección en una dirección predeterminada o inicial al final de la sesión, o en, o antes del comienzo de una nueva sesión. Las comunicaciones en dicha sesión de comunicación pueden dirigirse a la segunda dirección y entre sesiones de comunicación pueden dirigirse a la primera dirección, por lo que el circuito lógico del aparato de impresión 304 puede verificar, por ejemplo, diferentes identidades, características y/o estados a través de estas diferentes sesiones de comunicaciones a través de diferentes direcciones. En los ejemplos en los que el final de una sesión de comunicación a través de la segunda dirección se asocia con una pérdida de energía en al menos parte del circuito lógico, como se establece a continuación, esta pérdida de energía puede hacer que se descarte la segunda dirección 'temporal' (por ejemplo, la segunda dirección puede mantenerse en una memoria volátil, mientras que la dirección inicial o predeterminada puede mantenerse en la memoria persistente). Por lo tanto, puede establecerse una segunda dirección 'nueva' o 'temporal' cada vez que se inicia la sesión de comunicaciones correspondiente (aunque en algunos casos la segunda dirección 'nueva' o 'temporal' puede haberse usado previamente en relación con los circuitos lógicos).
En otros ejemplos, el paquete de circuito lógico 400a puede no volver a establecerse en la segunda dirección inicial para iniciar cada sesión de comunicación correspondiente. Más bien, puede permitir configurar la segunda dirección en cada sesión de comunicación correspondiente, sin cambiar a la segunda dirección inicial o predeterminada.
En otras palabras, la segunda dirección puede configurarse para ser una segunda dirección inicial al inicio de un período de tiempo durante el cual tendrá lugar la sesión de comunicación. El paquete de circuitos lógicos 400a puede configurarse para reconfigurar su segunda dirección en una dirección temporal en respuesta a un comando enviado a la segunda dirección inicial e incluye esa dirección temporal durante ese período de tiempo. El paquete de circuitos lógicos 400a puede entonces reiniciarse eficazmente de modo que, al recibir un comando posterior indicativo de la tarea y el período de tiempo enviado a la primera dirección, el paquete de circuitos lógicos 400a se configura para tener la misma segunda dirección inicial.
En algunos ejemplos, la segunda dirección inicial y/o predeterminada de diferentes paquetes de circuitos lógicos 204, 400a, por ejemplo, asociados con diferentes tipos de material de impresión (como diferentes colores o agentes) y compatibles con el mismo circuito lógico del aparato de impresión 304, puede ser la misma. Sin embargo, para cada sesión de comunicación con la segunda dirección, cada paquete de circuitos lógicos 400a puede asociarse temporalmente con una dirección temporal diferente, que puede establecerse como la segunda dirección para cada sesión de comunicación. En ciertos ejemplos, puede usarse una segunda dirección temporal aleatoria cada vez, en algunos ejemplos con la condición de que cada segunda dirección habilitada en un bus I2C común en un instante particular sea diferente de las otras direcciones habilitadas. En algunos ejemplos, una segunda dirección "aleatoria" puede ser una segunda dirección que se selecciona de un grupo predeterminado de segundas direcciones posibles, que pueden, en algunos ejemplos, almacenarse en el aparato de impresión. La dirección temporal puede generarse por el circuito lógico del aparato de impresión 304 para cada paquete 400a de circuitos lógicos conectados y comunicarse a través de dicho comando.
En algunos ejemplos, el paquete de circuitos lógicos 400a puede comprender una memoria para almacenar la segunda dirección (en algunos ejemplos de manera volátil). En algunos ejemplos, la memoria puede comprender un registro de memoria de direcciones programables para este propósito.
En algunos ejemplos, el paquete 400a se configura de manera que, en respuesta a un primer comando indicativo de un primer período de tiempo enviado a la primera dirección (y en algunos ejemplos una tarea), el paquete 400a puede responder de varias formas. En algunos ejemplos, el paquete 400a se configura de manera que sea accesible a través de al menos una segunda dirección durante el período de tiempo. Alternativa o adicionalmente, en algunos ejemplos, el paquete puede realizar una tarea, que puede ser la tarea especificada en el primer comando. En otros ejemplos, el paquete puede realizar una tarea diferente.
El primer comando puede, por ejemplo, enviarse por un host tal como un aparato de impresión en el que se instala el paquete de circuitos lógicos 400a (o un componente del aparato de impresión reemplazable asociado). Como se expone con mayor detalle a continuación, la tarea puede comprender una tarea de monitoreo, por ejemplo, monitorear un temporizador (y en algunos ejemplos, monitorear el período de tiempo). En otros ejemplos, la tarea puede comprender una tarea computacional, tal como realizar un desafío matemático. En algunos ejemplos, la tarea puede comprender la activación de una segunda dirección y/o la desactivación efectiva de la primera dirección con fines de comunicación (o puede comprender la realización de acciones que resulten en la activación o habilitación de una segunda dirección y/o la desactivación o deshabilitación efectiva de la primera dirección). En algunos ejemplos, la activación o habilitación de una segunda dirección puede comprender configurar (por ejemplo, escribir, reescribir o cambiar), o activar la configuración de, una segunda dirección (por ejemplo, una segunda dirección temporal), por ejemplo, al escribir la segunda dirección en una porción de memoria que indica una dirección del paquete de circuitos lógicos 400a.
Cuando se especifica una tarea, la tarea y/o el período de tiempo puede especificarse explícitamente en el primer comando, o puede inferirse mediante el paquete de circuitos lógicos 400a por referencia a una tabla de búsqueda o similar. En un ejemplo, el primer comando puede comprender, por ejemplo, datos de modo y datos de tiempo. Por ejemplo, un primer campo de datos, que puede enviarse como parte de un paquete de datos en serie, puede comprender un campo de modo. Esto puede, por ejemplo, tener un tamaño de alrededor de uno o unos pocos bits o bytes. Un segundo campo de datos, que puede enviarse como parte del paquete de datos en serie del primer campo de datos en algunos ejemplos, puede comprender un campo de datos de "tiempo de permanencia". Por ejemplo, esto puede tener un tamaño de alrededor de dos o unos pocos bits o bytes y puede especificar un período de tiempo, por ejemplo, en milisegundos.
En algunos ejemplos, el paquete 400a se configura para que sea inaccesible a través de la segunda dirección (la segunda dirección predeterminada o temporal o cualquier otra dirección que no sea la primera) durante un segundo período de tiempo anterior (en algunos ejemplos, inmediatamente anterior) al primer período de tiempo y/o por un tercer período de tiempo después (en algunos ejemplos, inmediatamente después) del primer período de tiempo. En algunos ejemplos, el primer circuito lógico 402a es para ignorar el tráfico I2C enviado a la primera dirección (o cualquier dirección que no sea una segunda dirección actualmente activa) durante el período de tiempo. En otras palabras, el paquete 400a puede responder a comandos dirigidos a la primera dirección y no a comandos dirigidos a la segunda dirección fuera del primer período de tiempo; y puede responder a comandos dirigidos a la segunda dirección y no a comandos dirigidos a la primera dirección durante el primer período de tiempo. El término 'ignorar' como se usa en la presente descripción con respecto a los datos enviados en el bus puede comprender cualquiera o cualquier combinación de no recibir (en algunos ejemplos, no leer los datos en una memoria), no actuar (por ejemplo, no seguir un comando o instrucción) y/o no responder (es decir, no proporcionar un reconocimiento y/o no responder con los datos solicitados). Por ejemplo, 'ignorar' el tráfico I2C enviado a la primera dirección puede definirse como el paquete de circuitos lógicos 400a que no responde a las comunicaciones dirigidas a la primera dirección (o cualquier dirección que no sea una segunda dirección actualmente activa como perceptible por el circuito lógico del aparato de impresión 304).
Hacer que el primer circuito lógico 402a 'ignore' (o de cualquier otra manera, no responda) al tráfico I2C enviado a la primera dirección durante el período de tiempo durante el cual la segunda dirección se encuentra activada o en uso permite que la primera y la segunda dirección sean completamente independientes entre sí. Por ejemplo, la primera dirección puede ser compatible con I2C, mientras que una segunda dirección puede tener cualquier formato, incluido en algunos ejemplos un formato no compatible con I2C. Además, si la primera dirección se encuentra efectivamente inhabilitada durante el período de tiempo, no es necesario tener en cuenta ninguna respuesta a un comando que el paquete 400a pueda considerar que se dirige a la primera dirección. Por ejemplo, la primera dirección puede representarse por una secuencia de bits particular y, si existe la posibilidad de que la primera dirección pueda reconocerse cuando el paquete no se vaya direccionar mediante el uso de la primera dirección, pueden tomarse precauciones para que esta secuencia de bit de identificación se evite cuando el paquete no se vaya a direccionar mediante el uso de la primera dirección. La probabilidad de este evento podría aumentar en el caso en que la comunicación se establezca a través de diferentes segundas direcciones temporales de respectivos paquetes de circuitos lógicos diferentes dentro de un solo período de tiempo sobre el mismo bus de serie. Si estas situaciones no se gestionan correctamente, es posible que se observe un comportamiento indeterminado o inesperado. Sin embargo, si la primera dirección se deshabilita efectivamente durante el período de tiempo, no es necesario que se tomen tales consideraciones o precauciones, y los comandos que de otra manera podrían recibirse e interpretarse por el paquete 400a como si se hubiesen recibido por la primera dirección no se recibirán ya que la primera dirección se encuentra efectivamente desactivada. Lo contrario también puede ser cierto (es decir, los comandos que pueden tomarse inadvertidamente para dirigirse a cualquier segunda dirección no se recibirán por el paquete 400a fuera del período de tiempo si esa dirección se encuentra efectivamente inhabilitada fuera del período de tiempo).
En algunos ejemplos, la primera y la segunda dirección pueden tener diferentes longitudes. Por ejemplo, la primera dirección puede ser una dirección de 10 bits y la segunda dirección puede ser una dirección de 7 bits. En otros ejemplos, la primera y la segunda dirección pueden tener la misma longitud, por ejemplo, ambas comprenden una dirección de 7 bits o de 10 bits. En ciertos ejemplos, la primera y la segunda dirección predeterminada son cableadas, mientras que la segunda dirección permite la reconfiguración a la dirección temporal, como se explicó
anteriormente. En otros ejemplos, pueden programarse la primera y la segunda dirección.
En algunos ejemplos, el primer circuito lógico 402a es para realizar una tarea, que puede ser la tarea especificada en el comando recibido, durante el período de tiempo. Sin embargo, en otros ejemplos, por ejemplo, para permitir una mayor compatibilidad, es posible que el primer circuito lógico 402a no realice la tarea especificada (por ejemplo, si no puede hacerlo, o si no es necesario hacerlo para mantener el primer circuito lógico 402a 'ocupado', como se describe a continuación).
En algunos ejemplos, el primer circuito lógico 402a puede en efecto no responder (es decir, ignorar) las solicitudes enviadas a la primera dirección como resultado de realizar una tarea, que puede ser una tarea especificada en el primer comando. En algunos ejemplos, la tarea puede consumir al menos sustancialmente la capacidad de procesamiento del primer circuito lógico 402a. Por ejemplo, la tarea puede comprender monitorear un temporizador de tal manera que la capacidad de procesamiento del primer circuito lógico 402a se dedique sustancialmente a esa tarea. En otros ejemplos, la capacidad de procesamiento puede dedicarse sustancialmente a realizar una tarea computacional, como una tarea aritmética. En un ejemplo simple, el primer circuito lógico 402a puede tener la tarea de calcular un valor como pi. Esta tarea puede ser, de acuerdo con la comprensión actual, ilimitada en el sentido de que un procesador podría continuar el cálculo de pi con más posiciones decimales durante una cantidad de tiempo infinita. Por lo tanto, la realización de esta tarea hasta su finalización excede cualquier período de tiempo probable especificado en el primer comando. Por ejemplo, dichos períodos de tiempo pueden ser, en algunos ejemplos, del orden de segundos o decenas de segundos. Si el primer circuito lógico se dedica a la tarea de calcular pi/monitorear un temporizador hasta que pase el período de tiempo, puede que no monitoree el tráfico enviado al mismo a través de un bus de comunicaciones o similar. Por lo tanto, incluso si las comunicaciones se enviaran a la primera dirección, estas se ignorarían. Cabe señalar que ciertos dispositivos esclavos I2C generalmente ignorarán un bus mientras realizan cualquier tipo de procesamiento. Sin embargo, el procesamiento especificado en la presente descripción se asocia con el período de tiempo. Se observa que, dado que el paquete de circuito lógico no responde a las comunicaciones con su primera dirección durante el tiempo durante el cual se activa la segunda dirección, en algunos ejemplos, la segunda dirección (temporal) podría ser la misma que la primera dirección por lo que aún puede lograrse la función deseada correspondiente a esa segunda dirección. Sin embargo, como se explicó anteriormente, en otros ejemplos, la segunda dirección es diferente a la primera.
Se apreciará que la tarea de calcular pi es simplemente un ejemplo de una tarea que generalmente puede exceder un período de tiempo especificado en un primer comando. Pueden seleccionarse otros ejemplos de tareas computacionales que tienen un tiempo de finalización que probablemente exceda el período de tiempo, por ejemplo, en base a la duración del período de tiempo considerado. Por ejemplo, si el período de tiempo no debe durar más de 3 segundos, puede realizarse una tarea de procesamiento que excederá los 3 segundos de duración (y, en algunos ejemplos, se le indicará en el primer comando). Además, en otros ejemplos, como se indicó anteriormente, la tarea puede comprender monitorear un período de tiempo.
En otros ejemplos, los paquetes de circuitos lógicos 400a pueden configurarse para, en respuesta a tal primer comando que incluye la tarea y el período de tiempo, no responder a las comunicaciones dirigidas a su primera dirección, no necesariamente al realizar una tarea de procesamiento, sino de manera efectiva al programarse para no responder.
En algunos ejemplos, el paquete 400a se configura para proporcionar un primer conjunto de respuestas, o para operar en un primer modo, en respuesta a instrucciones enviadas a la primera dirección y para proporcionar un segundo conjunto de respuestas, o para operar en un segundo modo, en respuesta a las instrucciones enviadas a la segunda dirección. En otras palabras, la dirección puede activar diferentes funciones proporcionadas por el paquete 400a. En algunos ejemplos, al menos una respuesta del primer conjunto de respuestas se emite en respuesta a los comandos enviados a la primera dirección y no en respuesta a los comandos enviados a la segunda dirección y al menos una respuesta del segundo conjunto de respuestas se emite en respuesta a los comandos enviados a la segunda dirección y no en respuesta a los comandos enviados a la primera dirección. En algunos ejemplos, el primer conjunto de respuestas puede autenticarse criptográficamente (es decir, acompañado por un código de autenticación de mensaje generado mediante el uso de una clave base, o de otra manera 'firmado' criptográficamente y/o encriptado, ver por ejemplo la publicación de patente de Estados Unidos Núm. 9619663) y el segundo conjunto de respuestas no se autentica criptográficamente. En algunos ejemplos, el segundo conjunto de respuestas puede relacionarse con los datos del sensor y el primer conjunto de respuestas puede no relacionarse con los datos del sensor. En algunos ejemplos, los mensajes pueden ir acompañados de un identificador de clave de sesión. Por ejemplo, podría comunicarse una identidad de un circuito lógico del paquete 400a en el primer y segundo conjunto de respuestas, por lo que se autentica criptográficamente en el primer conjunto, pero no en el segundo conjunto. Esto puede permitir que el paquete 400a proporcione dos funciones distintas. Los datos pueden salir de una memoria intermedia de datos de salida del paquete 400a.
En algunos ejemplos, el paquete 400a puede configurarse para participar en un primer proceso de validación mediante el uso de comunicaciones I2C enviadas a la primera dirección y para participar en un segundo proceso de validación mediante el uso de comunicaciones enviadas a la segunda dirección. Como se indicó anteriormente, la segunda dirección puede ser una dirección reconfigurable y, en algunos ejemplos, puede reconfigurarse después de
que se lleve a cabo el primer proceso de validación. En algunos ejemplos, el primer proceso de validación puede comprender un intercambio de mensajes cifrados o autenticables, en donde los mensajes se cifran y/o firman en base a una clave base almacenada en el paquete, que puede ser una clave secreta (o basada en una clave de base secreta) que corresponde a una clave secreta almacenada o retenida en el aparato de impresión. En algunos ejemplos, el segundo proceso de validación puede comprender una verificación de integridad, en la que el paquete 400a puede devolver valores de datos solicitados de manera que un aparato host pueda verificar que estos valores de datos cumplen criterios predeterminados.
En los ejemplos expuestos anteriormente, se describen las direcciones usadas para comunicarse con el paquete de circuitos 400a. La comunicación adicional puede dirigirse a direcciones de memoria que se usarán para solicitar información asociada con estas direcciones de memoria. Las direcciones de memoria pueden tener una configuración diferente a la primera y segunda dirección del paquete de circuitos lógicos 400a. Por ejemplo, un aparato host puede solicitar que se lea un registro de memoria particular en el bus al incluir la dirección de memoria en un comando de lectura. En otras palabras, un aparato host puede tener un conocimiento y/o control de la disposición de una memoria. Por ejemplo, puede haber una pluralidad de registros de memoria y direcciones de memoria correspondientes asociadas con la segunda dirección. Un registro particular puede asociarse con un valor, que puede ser estático o reconfigurable. El aparato host puede solicitar que el registro sea leído en el bus al identificar ese registro mediante el uso de la dirección de memoria. En algunos ejemplos, los registros pueden comprender cualquiera o cualquier combinación de registro(s) de dirección, registro(s) de parámetro (por ejemplo, para almacenar parámetros de ganancia y/o compensación), registro(s) de identificación del sensor (que puede almacenar una indicación de un tipo de sensor), registro(s) de lectura del sensor (que puede almacenar valores leídos o determinados mediante el uso de un sensor), registro(s) de número de sensor (que puede almacenar un número o recuento de sensores), registro(s) de identidad de versión, registro(s) de memoria para almacenar un recuento de ciclos de reloj, registro(s) de memoria para almacenar un valor indicativo de un historial de lectura/escritura del circuito lógico, u otros registros.
La Figura 4B muestra otro ejemplo de un paquete 400b de circuitos lógicos. En este ejemplo, el paquete 400b comprende un primer circuito lógico 402b, en este ejemplo, que comprende un primer temporizador 404a, y un segundo circuito lógico 406a, en este ejemplo, que comprende un segundo temporizador 404b. Mientras que, en este ejemplo, cada uno de los circuitos lógicos primero y segundo 402b, 406a comprende su propio temporizador 404, en otros ejemplos, pueden compartir un temporizador o hacer referencia a, al menos, un temporizador externo. En otro ejemplo, el primer circuito lógico 402b y el segundo circuito lógico 406a se enlazan por una ruta de señal dedicada 408.
En un ejemplo, el paquete de circuitos lógicos 400b puede recibir un primer comando que comprende dos campos de datos. Un primer campo de datos es un campo de datos de un byte que establece un modo de operación solicitado. Por ejemplo, puede haber una pluralidad de modos predefinidos, como un primer modo, en el que el paquete de circuitos lógicos 400b ignorará el tráfico de datos enviado a la primera dirección (por ejemplo, mientras se realiza una tarea), y un segundo modo en el que el paquete de circuitos lógicos 400b ignorará el tráfico de datos enviado a la primera dirección y transmitirá una señal de habilitación al segundo circuito lógico 406a, como se expone más adelante.
El primer comando puede comprender campos adicionales, como un campo de dirección y/o una solicitud de acuse de recibo.
El paquete de circuitos lógicos 400b se configura para procesar el primer comando. Si no puede cumplirse con el primer comando (por ejemplo, un parámetro de comando tiene una longitud o valor no válido, o no es posible habilitar el segundo circuito lógico 406a), el paquete de circuitos lógicos 400b puede generar un código de error y emitir este a un enlace de comunicación para volver a los circuitos lógicos del host, por ejemplo, en el aparato de impresión.
Sin embargo, si el primer comando se recibe de manera válida y puede cumplirse, el paquete de circuitos lógicos 400b mide la duración del período de tiempo incluido en el primer comando, por ejemplo, mediante el uso del temporizador 404a. En algunos ejemplos, el temporizador 404a puede comprender un "árbol de reloj" digital. En otros ejemplos, el temporizador 404a puede comprender un circuito RC, un oscilador de anillo o alguna otra forma de oscilador o temporizador. En este ejemplo, en respuesta a recibir un primer comando válido, el primer circuito lógico 402b habilita el segundo circuito lógico 406a y deshabilita efectivamente la primera dirección, por ejemplo, al asignar al primer circuito lógico 402b una tarea de procesamiento como se describe anteriormente. En algunos ejemplos, la habilitación del segundo circuito lógico 406a comprende enviar, mediante el primer circuito lógico 402b, una señal de activación al segundo circuito lógico 406a. En otras palabras, en este ejemplo, el paquete de circuitos lógicos 400b se configura de manera que el segundo circuito lógico 406a se habilite selectivamente por el primer circuito lógico 402b.
En este ejemplo, el segundo circuito lógico 406a se habilita por el primer circuito lógico 402b que envía una señal a través de una ruta de señal 408, que puede ser o no una ruta de señal dedicada 408, es decir, dedicada a habilitar el segundo circuito lógico 406a. En un ejemplo, el primer circuito lógico 402b puede tener un pin o panel de contacto
dedicado conectado a la ruta de señal 408, que conecta el primer circuito lógico 402b y el segundo circuito lógico 406a. En un ejemplo particular, el pin o panel de contacto dedicado puede ser un pin de Entrada/Salida de Propósito General (un GPIO) del primer circuito lógico 402b. El pin/panel de contacto puede servir como contacto de habilitación del segundo circuito lógico 406a.
El voltaje de la ruta de señal 408 puede elevarse para habilitar el segundo circuito lógico 406a. En algunos ejemplos, dicha señal puede estar presente sustancialmente durante la duración del primer período de tiempo, por ejemplo, al comenzar después de la recepción del primer comando y puede cesar al final del primer período de tiempo. Como se señaló anteriormente, la habilitación puede activarse por un campo de datos en el comando. En otros ejemplos, el segundo circuito lógico puede habilitarse/inhabilitarse selectivamente, por ejemplo, durante el período de tiempo, de otra manera.
En algunos ejemplos, dicho panel o pin de contacto se proporciona de manera que sea generalmente inaccesible desde el exterior de un componente del aparato de impresión reemplazable. Por ejemplo, puede estar relativamente lejos de una interfaz y/o puede estar completamente encerrado por una carcasa. Esto puede ser útil para garantizar que solo se active a través del primer circuito lógico 402b.
En este ejemplo, el segundo circuito lógico 406a es direccionable mediante al menos una segunda dirección. En algunos ejemplos, cuando el segundo circuito lógico 406a se activa o habilita, puede tener una segunda dirección inicial o predeterminada, que puede ser una dirección I2C o tener algún otro formato de dirección. El segundo circuito lógico 406a puede recibir instrucciones de un circuito lógico de host o principal para cambiar la dirección inicial a una segunda dirección temporal. En algunos ejemplos, la segunda dirección temporal puede ser una dirección que es seleccionada por el circuito lógico de host o principal. Esto puede permitir que el segundo circuito lógico 406a se proporcione en uno de una pluralidad de paquetes 400 en el mismo bus I2C que, al menos inicialmente, comparten la misma segunda dirección inicial. Esta dirección compartida, predeterminada, puede establecerse posteriormente en una dirección temporal específica por el circuito lógico del aparato de impresión, que permite así que la pluralidad de paquetes tenga diferentes segundas direcciones durante su uso temporal, lo que facilita las comunicaciones con cada paquete individual. Al mismo tiempo, proporcionar la misma segunda dirección inicial puede tener ventajas de fabricación o de prueba.
En algunos ejemplos, el segundo circuito lógico 406a puede comprender una memoria. La memoria puede comprender un registro de direcciones programable para almacenar la segunda dirección inicial y/o temporal (en algunos ejemplos de manera volátil). En algunos ejemplos, la segunda dirección puede establecerse al seguir y/o ejecutar un comando de escritura I2C. En algunos ejemplos, la segunda dirección puede configurarse cuando la señal de habilitación está presente o alta, pero no cuando está ausente o baja. La segunda dirección puede establecerse en una dirección predeterminada cuando se elimina una señal de habilitación y/o cuando se restablece la habilitación del segundo circuito lógico 406a. Por ejemplo, cada vez que la señal de habilitación sobre la ruta de señal 408 es baja, el segundo circuito lógico 406a, o la parte o partes relevantes del mismo, pueden reiniciarse. La dirección predeterminada puede establecerse cuando el segundo circuito lógico 406a, o la parte o partes relevantes del mismo, se desconectan. En algunos ejemplos, la dirección predeterminada es un valor de identificación de 7 o 10 bits. En algunos ejemplos, la dirección predeterminada y la segunda dirección temporal pueden escribirse a su vez en un registro de direcciones único y común.
En algunos ejemplos, la dirección del segundo circuito lógico 406a puede reescribirse en cualquier momento en el que se encuentre habilitado. En algunos ejemplos, cuando se conecta al bus, el segundo circuito lógico 406a puede estar en un estado de baja corriente excepto cuando está en un estado habilitado.
En algunos ejemplos, el segundo circuito lógico 406a puede comprender un dispositivo de reinicio de encendido (POR). Este puede comprender un dispositivo electrónico que detecta la potencia aplicada al segundo circuito lógico 406a y genera un impulso de reinicio que va a todo el segundo circuito lógico 406a que lo coloca en un estado conocido. Tal dispositivo POR puede ser de particular utilidad para probar el paquete 400b antes de la instalación. En algunos ejemplos, unas pluralidades de circuitos lógicos adicionales pueden estar "encadenados" juntos, con más pines (que pueden ser pines GPIO) o similares. En algunos ejemplos, una vez que se escribe la segunda dirección (es decir, el circuito lógico tiene una dirección que es diferente a su dirección predeterminada), puede activar un pin o panel 'fuera', y un pin o panel 'dentro' del siguiente circuito lógico de la cadena (si existe) de manera que se active alto y el circuito lógico podrá habilitarse. Dicho circuito o circuitos lógicos adicionales pueden funcionar como se describe en relación con el segundo circuito lógico 406a. Dichos circuitos lógicos adicionales pueden tener la misma dirección predeterminada que el segundo circuito lógico 406a en algunos ejemplos. No hay un límite absoluto en cuanto a cuántos circuitos lógicos pueden encadenarse en serie y acceder a ellos de esta manera, sin embargo, puede haber una limitación práctica en una implementación dada basada en la resistencia en serie en las líneas de bus, el número de ID esclavas y similares.
En un ejemplo, el primer circuito lógico 402b se configura para generar una señal de habilitación que puede ser una señal de reinicio asíncrona baja activa. En algunos ejemplos, cuando se elimina esta señal (o se conduce a un 0 lógico), el segundo circuito lógico 406a puede cesar inmediatamente las operaciones. Por ejemplo, las transferencias de datos pueden cesar inmediatamente, y un estado por defecto (que puede ser un estado inactivo
y/o un estado de baja corriente) puede asumirse por el segundo circuito lógico 406a. En algunos ejemplos, las memorias, como los registros, pueden volver a un estado inicializado (por ejemplo, una dirección predeterminada puede comprender un estado inicializado de un registro de direcciones).
En un ejemplo en el que se usa un bus I2C para comunicaciones con el paquete 400b, el primer circuito lógico 402b y el segundo circuito lógico 406a pueden conectarse al mismo bus I2C. Como se indicó anteriormente, una conexión adicional, por ejemplo, proporcionada entre los pines GPIO del primer circuito lógico 402b y el segundo circuito lógico 406a puede habilitarse selectivamente después de recibir un comando dedicado. Por ejemplo, el primer circuito lógico 402b puede activar un pin GPIO dedicado para que esté alto durante un período de tiempo especificado en un comando (mientras que, por defecto, el pin puede estar en un estado bajo). Durante este período de tiempo, es posible que el primer circuito lógico 402b no reconozca ('NAK') ningún intento de comunicación mediante el uso de la primera dirección. Al final del período de tiempo especificado, el pin de contacto dedicado puede volver al estado "bajo", y el primer circuito lógico 402b puede ser receptivo a las comunicaciones en el bus I2C enviadas a la primera dirección una vez más. Sin embargo, mientras que el pin de contacto se activa para que sea alto, el segundo circuito lógico 406a puede encontrarse habilitado y ser receptivo a las comunicaciones en el bus I2C.
Puede observarse que, al compartir los contactos I2C entre el primer circuito lógico 402b y el segundo circuito lógico 406a, el coste de interconexión eléctrica es pequeño. Además, si el segundo circuito lógico se alimenta de forma selectiva solo durante el período de tiempo, puede ser menos susceptible al desgaste electroquímico. Además, esto puede permitir que múltiples paquetes que comprenden respectivos primeros circuitos lógicos 402b y segundos circuitos lógicos 406a se proporcionen en el mismo bus I2C en serie, donde los segundos circuitos lógicos 406a pueden (al menos inicialmente) compartir una dirección, que a su vez puede reducir complejidades de fabricación y despliegue.
En algunos ejemplos, como se describe anteriormente, el paquete de circuitos lógicos 400b comprende un primer modo operativo en el que responde a la comunicación enviada a la primera dirección y no a cualquier segunda dirección y un segundo modo operativo en el que responde a las comunicaciones enviadas a una segunda dirección (por ejemplo, la segunda dirección actualmente en uso, y en algunos ejemplos, actualmente almacenada en un registro dedicado del segundo circuito lógico 406a) y no la primera dirección.
En el ejemplo ilustrado en la figura 4b, el segundo circuito lógico 406a comprende un primer conjunto 410 de celdas y al menos una segunda celda 412 o un segundo conjunto de segundas celdas. Las primeras celdas 416 a-f, 414 a-f y al menos una segunda celda 412 pueden comprender resistencias. Las primeras celdas 416 a-f, 414 a-f y al menos una segunda celda 412 pueden comprender sensores. En un ejemplo, el primer conjunto de celdas 410 comprende un sensor de nivel de material de impresión y al menos una segunda celda 412 comprende otro sensor y/u otro conjunto de sensores.
En este ejemplo, el primer conjunto de celdas 410 comprende un sensor configurado para detectar un nivel de material de impresión de un suministro de impresión, que en algunos ejemplos puede ser un sólido, pero en los ejemplos descritos en la presente descripción es un líquido, por ejemplo, una tinta u otro agente de impresión líquida. El primer conjunto de celdas 410 puede comprender una serie de sensores de temperatura (por ejemplo, celdas 414a-f) y una serie de elementos calefactores (por ejemplo, celdas 416a-f), por ejemplo, similares en estructura y función en comparación con los conjuntos de sensores de nivel descritos en WO2017/074342, WO2017/184147, y WO2018/022038. En este ejemplo, la resistencia de una celda de resistencia 414 se vincula a su temperatura. Las celdas calefactoras 416 pueden usarse para calentar las celdas sensores 414 directa o indirectamente mediante el uso de un medio. El comportamiento subsiguiente de las celdas sensores 414 depende del medio en el que se sumergen, por ejemplo, si están en líquido (o en algunos ejemplos, encerradas en un medio sólido) o en aire. Aquellos que se sumergen en líquido/encerrados pueden generalmente perder calor más rápidamente que los que están en el aire porque el líquido o el sólido pueden conducir el calor lejos de las celdas de resistencia 414 mejor que el aire. Por lo tanto, puede determinarse un nivel de líquido en función de cuál de las celdas de resistencia 414 se exponen al aire, y esto puede determinarse en función de una lectura de su resistencia que sigue (al menos el inicio de) un pulso de calor proporcionado por la celda calefactora asociada 416.
En algunos ejemplos, cada celda de sensor 414 y celda calefactora 416 se apilan, y están una directamente encima de la otra. El calor generado por cada celda calefactora 416 puede contenerse sustancialmente espacialmente dentro del perímetro de disposición del elemento calefactor, de modo que el suministro de calor se limita sustancialmente a la celda de sensor 414 apilada directamente sobre la celda calefactora 416. En algunos ejemplos, cada celda de sensor 414 puede disponerse entre una celda calefactora asociada 416 y la interfaz fluido/aire.
En este ejemplo, el segundo conjunto de celdas 412 comprende una pluralidad de celdas diferentes que pueden tener una función diferente, como una función o funciones de detección diferentes. Por ejemplo, el primer y segundo conjunto de celdas 410, 412 pueden incluir diferentes tipos de resistencias. En el segundo circuito lógico 406a pueden proporcionarse diferentes conjuntos de celdas 410, 412 para diferentes funciones.
La Figura 4C muestra un ejemplo de cómo un primer circuito lógico 402c y un segundo circuito lógico 406b de un
paquete de circuitos lógicos 400c, que pueden tener cualquiera de los atributos de los circuitos/paquetes descritos anteriormente, pueden conectarse a un bus I2C y entre sí. Como se muestra en la Figura, cada uno de los circuitos 402c, 406b tiene cuatro paneles (o pines) 418a-d que se conectan a las líneas de Energía, Tierra, Reloj y Datos de un bus I2C. En otro ejemplo, se usan cuatro paneles de conexión comunes para conectar ambos circuitos lógicos 402c, 406b a cuatro paneles de conexión correspondientes de la interfaz del controlador del aparato de impresión. Se observa que, en algunos ejemplos, en lugar de cuatro paneles de conexión, puede haber menos paneles de conexión. Por ejemplo, puede obtenerse energía del panel del reloj; puede proporcionarse un reloj interno; o el paquete podría conectarse a tierra a través de otro circuito de tierra; de modo que, uno o más de los paneles pueden omitirse o hacerse redundantes. Por tanto, en diferentes ejemplos, el paquete podría usar sólo dos o tres paneles de interfaz y/o podría incluir paneles "falsos".
Cada uno de los circuitos 402c, 406b tiene un pin de contacto 420, que se conecta por una línea de señal común 422. El pin de contacto 420 del segundo circuito sirve como contacto de habilitación del mismo.
En este ejemplo, cada uno del primer circuito lógico 402c y el segundo circuito lógico 406b comprende una memoria 423a, 423b.
La memoria 423a del primer circuito lógico 402c almacena información que comprende valores criptográficos (por ejemplo, una clave criptográfica y/o un valor de semilla del que puede derivarse una clave) y datos de identificación y/o datos de estado del componente del aparato de impresión reemplazable asociado. En algunos ejemplos, la memoria 423a puede almacenar datos que representan características del material de impresión, por ejemplo, cualquier parte, o cualquier combinación de su tipo, color, mapa de colores, receta, número de lote, antigüedad, etcétera.
La memoria 423b del segundo circuito lógico 406b comprende un registro de direcciones programable para contener una dirección inicial del segundo circuito lógico 406b cuando el segundo circuito lógico 406b se habilita por primera vez y para contener posteriormente una segunda dirección adicional (temporal) (en algunos ejemplos de manera volátil). La segunda dirección adicional, por ejemplo, temporal, puede programarse en el segundo registro de direcciones después de que se habilita el segundo circuito lógico 406b, y puede borrarse o reemplazarse efectivamente al final de un período de habilitación. En algunos ejemplos, la memoria 423b puede comprender además registros programables para almacenar cualquiera o cualquier combinación de datos históricos de lectura/escritura, datos de recuento de celdas (por ejemplo, resistencia o sensor), datos del convertidor analógico a digital (ADC y/o DAC), y un recuento de reloj, de forma volátil o no volátil. El uso de tales datos se describe con mayor detalle a continuación. Ciertas características, como el recuento de celdas o las características de ADC o DAC, podrían derivarse del segundo circuito lógico en lugar de almacenarse como datos separados en la memoria. En un ejemplo, la memoria 423b del segundo circuito lógico 406b almacena cualquiera o cualquier combinación de una dirección, por ejemplo, la segunda dirección I2C; una identificación en forma de ID de revisión; y el número de índice de la última celda (que puede ser el número de celdas menos uno, ya que los índices pueden comenzar desde 0), por ejemplo, para cada una de los diferentes conjuntos de celdas o para múltiples conjuntos de celdas diferentes si tienen el mismo número de celdas.
En el uso del segundo circuito lógico 406b, en algunos estados operativos, la memoria 423b del segundo circuito lógico 406 puede almacenar cualquiera o cualquier combinación de datos de control del temporizador, que pueden habilitar un temporizador del segundo circuito y/o habilitar la oscilación de frecuencia allí en el caso de algunos temporizadores, como osciladores de anillo; un valor de datos de control de oscilación (para indicar una dirección y/o valor de oscilación); y un valor de activación de prueba de muestra del temporizador (para activar una prueba del temporizador al muestrear el temporizador con relación a los ciclos de reloj medibles por el segundo circuito lógico 406b).
Aunque las memorias 423a, 423b se muestran aquí como memorias separadas, podrían combinarse como un recurso de memoria compartida o dividirse de alguna otra forma. Las memorias 423a, 423b pueden comprender uno o varios dispositivos de memoria, y pueden comprender cualquiera o cualquier combinación de memoria volátil, por ejemplo, DRAM, SRAM, registros, etc. y memoria no volátil, por ejemplo, ROM, EEPROM, Flash, EPr Om , memristor, etc.
Aunque en la Figura 4C se muestra un paquete 400c, puede haber una pluralidad de paquetes con una configuración similar o diferente adjunta al bus.
La Figura 4D muestra un ejemplo de circuito de procesamiento 424 que se usa con un contenedor de material de impresión. Por ejemplo, el circuito de procesamiento 424 puede fijarse o integrarse al mismo. Como ya se mencionó, los circuitos de procesamiento 424 pueden comprender cualquiera de las características de, o ser la misma que, cualquier otro paquete de circuitos lógicos de esta descripción.
En este ejemplo, el circuito de procesamiento 424 comprende una memoria 426 y un primer circuito lógico 402d que permite una operación de lectura desde la memoria 426. El circuito de procesamiento 424 es accesible a través de
un bus de interfaz de un aparato de impresión en el que se instala el contenedor de material de impresión y se asocia con una primera dirección y al menos una segunda dirección. El bus puede ser un bus I2C. La primera dirección puede ser una dirección I2C del primer circuito lógico 402d. El primer circuito lógico 402d puede tener cualquiera de los atributos de los otros circuitos/paquetes de ejemplo descritos en esta descripción.
El primer circuito lógico 402d se adapta para participar en la autenticación del contenedor de materiales de impresión mediante un aparato de impresión en el que se instala el contenedor. Por ejemplo, esto puede comprender un proceso criptográfico tal como cualquier tipo de comunicación o intercambio de mensajes autenticados criptográficamente, por ejemplo, en base a una clave de cifrado almacenada en la memoria 426, y que puede usarse junto con información almacenada en la impresora. En algunos ejemplos, una impresora puede almacenar una versión de una clave que sea compatible con varios contenedores de material de impresión diferentes para proporcionar la base de un "secreto compartido". En algunos ejemplos, la autenticación de un contenedor de material de impresión puede llevarse a cabo en base a dicho secreto compartido. En algunos ejemplos, el primer circuito lógico 402d puede participar en un mensaje para derivar una clave de sesión con el aparato de impresión y los mensajes pueden firmarse mediante el uso de un código de autenticación de mensajes basado en dicha clave de sesión. Ejemplos de circuitos lógicos configurados para autenticar criptográficamente mensajes de acuerdo con este párrafo se describen en la publicación de patente de Estados Unidos Núm. 9619663 mencionada anteriormente.
En algunos ejemplos, la memoria 426 puede almacenar datos que comprenden: datos de identificación y datos históricos de lectura/escritura. En algunos ejemplos, la memoria 426 comprende además datos de recuento de celdas (por ejemplo, datos de recuento de sensores) y datos de recuento de reloj. Los datos de recuento de reloj pueden indicar una velocidad de reloj de un primer y/o segundo temporizador 404a, 404b (es decir, un temporizador asociado con el primer circuito lógico o el segundo circuito lógico). En algunos ejemplos, al menos una porción de la memoria 426 se asocia con funciones de un segundo circuito lógico, tal como un segundo circuito lógico 406a como se describe en relación con la Figura 4B anterior. En algunos ejemplos, al menos una porción de los datos almacenados en la memoria 426 debe comunicarse en respuesta a los comandos recibidos a través de la segunda dirección. En algunos ejemplos, la memoria 426 comprende un registro de direcciones programable o un campo de memoria para almacenar una segunda dirección de los circuitos de procesamiento (en algunos ejemplos de una manera volátil). El primer circuito lógico 402d puede permitir la operación de lectura desde la memoria 426 y/o puede realizar tareas de procesamiento.
Otros ejemplos de primeros circuitos lógicos 402 descritos en la presente descripción pueden adaptarse para participar en procesos de autenticación de una manera similar.
La memoria 426 puede comprender, por ejemplo, datos que representan características del material de impresión, por ejemplo, cualquiera o cualquier combinación de su tipo, color, número de lote, antigüedad, etcétera. La memoria 426 puede comprender, por ejemplo, datos que se comunicarán en respuesta a los comandos recibidos a través de la primera dirección. El circuito de procesamiento puede comprender un primer circuito lógico para permitir operaciones de lectura desde la memoria y realizar tareas de procesamiento.
En algunos ejemplos, los circuitos de procesamiento 424 se configuran de manera que, tras la recepción del primer comando indicativo de una tarea y un primer período de tiempo enviado al primer circuito lógico 402d a través de la primera dirección, los circuitos de procesamiento 424 sean accesibles por al menos una segunda dirección durante el primer período de tiempo. Alternativa o adicionalmente, los circuitos de procesamiento 424 pueden configurarse de manera que en respuesta a un primer comando indicativo de una tarea y un primer período de tiempo enviado al primer circuito lógico 402d direccionado mediante el uso de la primera dirección, los circuitos de procesamiento 424 deben descartar (por ejemplo, "ignorar" o "no responder a") tráfico I2C enviado a la primera dirección durante sustancialmente la duración del período de tiempo medido por un temporizador de los circuitos de procesamiento 424 (por ejemplo, un temporizador 404a, b como se describe anteriormente). En algunos ejemplos, los circuitos de procesamiento pueden realizar adicionalmente una tarea, que puede ser la tarea especificada en el primer comando. El término 'descartar' o 'ignorar' como se usa en la presente descripción con respecto a los datos enviados en el bus puede comprender cualquiera o cualquier combinación de no recibir (en algunos ejemplos, no leer los datos en una memoria), no actuar (por ejemplo, no seguir un comando o instrucción) y/o no responder (es decir, no proporcionar un reconocimiento y/o no responder con los datos solicitados).
Los circuitos de procesamiento 424 pueden tener cualquiera de los atributos de los paquetes de circuito lógico 400 descritos en la presente descripción. En particular, los circuitos de procesamiento 424 pueden comprender además un segundo circuito lógico en donde el segundo circuito lógico es accesible a través de la segunda dirección. En algunos ejemplos, el segundo circuito lógico puede comprender al menos un sensor que es legible por un aparato de impresión en el que el contenedor de material de impresión se instala a través de la segunda dirección. En algunos ejemplos, dicho sensor puede comprender un sensor de nivel de materiales de impresión.
El circuito de procesamiento 424 puede tener una primera función de validación, activada por mensajes enviados a una primera dirección en un bus I2C y una segunda función de validación, activada por mensajes enviados a una segunda dirección en el bus I2C.
La Figura 4E muestra otro ejemplo de un primer circuito lógico 402e y un segundo circuito lógico 406c de un paquete de circuitos lógicos 400d, que puede tener cualquiera de los atributos de los circuitos/paquetes de los mismos nombres descritos en la presente descripción, que pueden conectarse a un bus I2C a través de respectivas interfaces 428a, 428b y entre sí. En un ejemplo, las respectivas interfaces 428a, 428b se conectan al mismo conjunto de paneles de contacto, con solo un panel de datos para ambos circuitos lógicos 402e, 406c, conectados al mismo bus serial 12C, ver por ejemplo las Figuras 13A y 13B. En otras palabras, en algunos ejemplos, las comunicaciones dirigidas a la primera y segunda dirección se reciben a través del mismo panel de datos.
En este ejemplo, el primer circuito lógico 402e comprende un microcontrolador 430, una memoria 432 y un temporizador 434. El microcontrolador 430 puede ser un microcontrolador seguro o un circuito integrado personalizado adaptado para funcionar como un microcontrolador, seguro o no seguro.
En este ejemplo, el segundo circuito lógico 406c comprende un módulo de transmisión/recepción 436 que recibe una señal de reloj y una señal de datos de un bus al que se conecta el paquete 400d, registros de datos 438, un multiplexor 440, un controlador digital 442, un polarizador analógico y convertidor analógico a digital 444, al menos un sensor o conjunto de celdas 446 (que puede comprender en algunos ejemplos un sensor de nivel con uno o varios conjuntos de elementos de resistencia), y un dispositivo de reinicio de encendido (POR) 448. El dispositivo POR 448 puede usarse para permitir el funcionamiento del segundo circuito lógico 406c sin el uso de un pin de contacto 420.
La polarización analógica y el convertidor 444 de analógico a digital recibe lecturas de la serie de sensores 446 y de sensores externos. Por ejemplo, puede proporcionarse una corriente a una resistencia de detección y el voltaje resultante puede convertirse en un valor digital. Ese valor digital puede almacenarse en un registro y leerse (es decir, transmitirse como bits de datos en serie o como un "flujo de bits") a través del bus I2C. El convertidor 444 de analógico a digital puede usar parámetros, por ejemplo, parámetros de ganancia y/o compensación, que pueden almacenarse en registros.
En este ejemplo, hay diferentes sensores individuales adicionales, que incluyen, por ejemplo, al menos uno de un sensor de temperatura ambiente 450, un detector de grietas 452 y/o un sensor de temperatura de fluido 454. Estos pueden detectar, respectivamente, una temperatura ambiente, una integridad estructural de un conjunto en el que se proporcionan los circuitos lógicos y la temperatura del fluido.
La Figura 5 muestra un ejemplo de un método que puede llevarse a cabo mediante el procesamiento de circuitos, por ejemplo, mediante un paquete de circuitos lógicos como los paquetes de circuitos lógicos 400a-d descritos anteriormente, o mediante los circuitos de procesamiento 424 descritos en relación con la Figura 4D, y/o mediante circuitos de procesamiento proporcionados en un componente del aparato de impresión reemplazable, por ejemplo, un contenedor de materiales de impresión consumibles.
El bloque 502 comprende recibir un primer comando indicativo de una tarea y un primer período de tiempo que se envía a una primera dirección de los circuitos de procesamiento. El bloque 504 comprende habilitar, mediante los circuitos de procesamiento, el acceso a los circuitos de procesamiento mediante al menos una segunda dirección de los circuitos de procesamiento durante el período de tiempo.
La Figura 6 muestra un ejemplo del método del bloque 504 con mayor detalle. En este ejemplo, se proporcionan un primer y un segundo circuito lógico, cada uno asociado respectivamente con la primera y al menos una segunda dirección como se describe anteriormente con referencia a la Figura 4B.
El bloque 602 comprende la activación del segundo circuito lógico. Como se describe anteriormente, esto puede comprender un primer circuito lógico que envía o transmite una señal de activación a un segundo circuito lógico para activar el segundo circuito lógico, por ejemplo, a través de una ruta de señal dedicada. En este ejemplo, la activación del segundo circuito lógico permite el acceso a los circuitos de procesamiento mediante el uso de al menos una segunda dirección, por ejemplo, mediante el uso de una segunda dirección inicial o predeterminada. En algunos ejemplos, después de la activación, puede hacerse que el segundo circuito lógico establezca una segunda dirección nueva o temporal, por ejemplo, para reemplazar una dirección inicial o predeterminada del segundo circuito lógico. En algunos ejemplos, la dirección temporal puede establecerse durante la duración de una sesión de comunicación. El bloque 604 comprende deshabilitar el acceso a los circuitos de procesamiento a través de la primera dirección (es decir, mediante el uso de comunicaciones dirigidas a la primera dirección) durante el período de tiempo al hacer que el primer circuito lógico realice una tarea de procesamiento (en algunos ejemplos, la tarea de procesamiento especificada en el comando recibido en el bloque 502) durante el período de tiempo. En otros ejemplos, la primera dirección puede inhabilitarse de forma eficaz al evitar la transmisión de respuestas a mensajes enviados a la primera dirección. El bloque 606 comprende monitorear, mediante el circuito de procesamiento, la duración del período de tiempo mediante el uso de un temporizador de los circuitos de procesamiento. En algunos ejemplos, la monitoreo de la duración del período de tiempo mediante el uso del temporizador puede comprender en sí misma la tarea de procesamiento.
Una vez transcurrido el período de tiempo, el método prosigue con el bloque 608, que comprende desactivar el segundo circuito lógico. Por ejemplo, esto puede comprender eliminar una señal de activación mediante el primer circuito lógico. Por tanto, el acceso a los circuitos de procesamiento a través de la segunda dirección puede desactivarse después de la duración del período de tiempo. Por ejemplo, el segundo circuito lógico puede desactivarse o colocarse en modo de suspensión mediante la eliminación de la señal.
En los ejemplos en los que el final de una sesión de comunicación se asocia con una pérdida de energía en al menos parte del circuito lógico, esta pérdida de energía puede hacer que se descarte la segunda dirección (por ejemplo, la segunda dirección puede mantenerse en la memoria volátil, mientras que la dirección inicial o predeterminada puede encontrarse cableada o retenida en la memoria persistente). Después del reinicio, la segunda dirección puede volver a establecerse en la dirección inicial o predeterminada antes del comienzo de una nueva sesión. En algunos ejemplos, la dirección inicial o predeterminada puede mantenerse en la memoria persistente y puede restaurarse a un registro del segundo circuito lógico cuando el segundo circuito lógico se habilita. Por lo tanto, puede establecerse una segunda dirección "nueva" cada vez que se inicia una sesión de comunicaciones (aunque en algunos casos la segunda dirección "nueva" puede usarse previamente en relación con los circuitos lógicos). Como se establece con mayor detalle en otra parte de la presente descripción, durante el período de activación, el segundo circuito lógico puede proporcionar servicios, por ejemplo, lecturas de celda o sensor o similares. Sin embargo, en otros ejemplos, el segundo circuito lógico puede, por ejemplo, proporcionar una salida como la activación de una luz o sonido (por ejemplo, el segundo circuito lógico puede controlar una fuente de luz o un altavoz o algún otro aparato), puede recibir datos (por ejemplo, puede comprender una memoria que es para almacenar un archivo de datos) y/o puede proporcionar algún otro tipo de salida o servicio.
La Figura 7 muestra un ejemplo de un método que puede llevarse a cabo, por ejemplo, al procesar los circuitos 424 o mediante un paquete 400a-d como se describe anteriormente. El método comprende, en el bloque 702, recibir un primer comando indicativo de una tarea de procesamiento y un primer período de tiempo enviado a una primera dirección de los circuitos de procesamiento a través de un bus de comunicaciones, por ejemplo, un bus I2C.
El bloque 704 comprende poner en marcha un temporizador de los circuitos de procesamiento. En otros ejemplos, un temporizador puede monitorearse en lugar de iniciarse. Por ejemplo, puede registrarse una cuenta inicial del temporizador y puede monitorearse un aumento en la cuenta.
El bloque 706 comprende realizar, mediante los circuitos de procesamiento, una tarea de procesamiento y el bloque 708 comprende descartar el tráfico enviado a la primera dirección. En algunos ejemplos, descartar el tráfico I2C puede ser el resultado de realizar la tarea especificada en el comando u otra tarea. La tarea puede comprender monitorear un temporizador. En otros ejemplos, la tarea puede comprender una tarea de cálculo, como trabajar para resolver un desafío matemático.
El bloque 708 puede continuar hasta que expire el período de tiempo, como se monitorea mediante el uso del temporizador.
El método puede comprender cualquiera de las características descritas anteriormente en relación con una tarea y/o para descartar (por ejemplo, "ignorar" o simplemente "no responder") al tráfico. El método puede llevarse a cabo mediante el uso de circuitos de procesamiento que se asocian con, o se proporcionan en, un contenedor de material de impresión y/o un componente del aparato de impresión reemplazable.
En algunos ejemplos, como se describe anteriormente, el método puede comprender, durante el período de tiempo, responder, mediante el circuito de procesamiento, al tráfico I2C enviado a una segunda dirección de los circuitos de procesamiento. En algunos ejemplos, la primera dirección se asocia con el primer circuito lógico de los circuitos de procesamiento y la segunda dirección se asocia con el segundo circuito lógico de los circuitos de procesamiento. En algunos ejemplos, donde se proporcionan los circuitos lógicos primero y segundo, el primer circuito lógico puede realizar la tarea de procesamiento y/o puede enviar una señal de activación al segundo circuito lógico, por ejemplo, a través de una ruta de señal dedicada, durante el período de tiempo. En algunos ejemplos, el segundo circuito lógico puede desactivarse al cesar la señal de activación.
La Figura 8 muestra esquemáticamente una disposición en la que se proporcionan una pluralidad de componentes del aparato de impresión reemplazable 802a-d en un aparato de impresión 804.
Cada uno de los componentes del aparato de impresión reemplazable 802a-d se asocia con un paquete de circuitos lógicos 806a-d, que puede ser un paquete de circuitos lógicos 400a-d como se describe anteriormente. El aparato de impresión 804 comprende circuitos lógicos de host 808. Los circuitos lógicos de host 808 y los paquetes de circuitos lógicos806 están en comunicación a través de un bus I2C común 810. En un modo de funcionamiento, cada uno de los paquetes de circuitos lógicos 806 tiene una primera dirección diferente. Por lo tanto, cada uno de los paquetes de circuitos lógicos 806 (y por extensión, cada uno de los componentes del aparato de impresión reemplazable) puede direccionarse de forma única por el aparato de impresión del host 804.
En un ejemplo, puede enviarse un primer comando a uno en particular de los paquetes 806 de circuitos lógicos del componente del aparato de impresión reemplazable, es decir, que se direccione mediante el uso de la primera dirección única para ese paquete de circuitos lógicos, al indicarle que habilite su (al menos una) segunda dirección para un período de tiempo correspondiente del 'primer comando'. Por lo tanto, ese componente del aparato de impresión reemplazable 802 puede, por ejemplo, habilitar al menos una segunda dirección y/o, en algunos ejemplos, sus funciones asociadas. En algunos ejemplos, esto da como resultado la habilitación de un segundo circuito lógico como se describe anteriormente. Por ejemplo, el paquete de circuitos lógicos direccionados 806 puede ignorar (por ejemplo, no reconocer y/o no responder) al tráfico I2C enviado a la primera dirección de ese paquete de circuitos lógicos 806 durante el período de tiempo del primer comando, por ejemplo, en respuesta al mismo comando o un comando separado. A los otros componentes 802 del aparato de impresión también puede enviárseles un segundo comando, lo que hace que ignoren el tráfico I2C enviado a sus primeras direcciones durante el período de tiempo de un "segundo comando". Como se señaló anteriormente, cuando no hay otros dispositivos esclavos "que escuchan" el bus I2C, las restricciones en cuanto a la forma y contenido de los mensajes enviados a través del bus I2C pueden reducirse. Por lo tanto, de esta manera, todas las primeras direcciones pueden deshabilitarse efectivamente mientras que solo una segunda dirección está en comunicación con el bus I2C 810. En otros ejemplos, más de un paquete puede ser direccionable por respectivas direcciones diferentes al mismo tiempo. En algunos ejemplos, un primer comando también puede dar como resultado que un componente/paquete direccionado ignore el tráfico I2C enviado a sus primeras direcciones durante el período de tiempo del primer comando, y/o un segundo comando también puede dar como resultado que un componente/paquete direccionado sea accesible a través de al menos una segunda dirección.
En algunos ejemplos, el (los) paquete(s) de circuitos lógicos 806 puede realizar una tarea de procesamiento, que puede ser una tarea de procesamiento como se especifica en un comando, para 'mantenerse ocupado' e ignorar el tráfico I2C enviado a la primera dirección durante la duración del período de tiempo especificado. Como se señaló anteriormente, esto puede comprender una tarea informática o una tarea de monitoreo, por ejemplo, monitorear un temporizador.
Así, los paquetes de circuitos lógicos 806 pueden configurarse para tener una primera respuesta a un primer comando, lo que da como resultado que se habilite una segunda dirección de ese paquete durante el período de tiempo del primer comando, y una segunda respuesta a un segundo comando, lo que da como resultado que el paquete ignore el tráfico I2C enviado a la primera dirección (por ejemplo, al realizar una tarea de procesamiento como monitorear un temporizador y/o realizar una tarea computacional que absorbe la capacidad de procesamiento) durante el período de tiempo del segundo comando. En otras palabras, cada uno de los paquetes de circuitos lógicos 806 puede encontrarse habilitado para llevar a cabo cualquiera de los métodos de la Figura 5 y/o 7, en dependencia de la naturaleza del comando recibido.
Para considerar un ejemplo particular, un dispositivo host tal como un aparato de impresión 804 en este ejemplo que desee comunicarse con un paquete de circuitos lógicos particular 806 a través de su segunda dirección - en este ejemplo, el paquete de circuitos lógicos 806a- puede emitir comandos para instruir al otro paquete de circuitos lógicos 806b-d a actuar de una manera que los hace ignorar el tráfico en el bus 810. Esto puede comprender los circuitos lógicos 808 que envían en serie tres comandos dirigidos a una dirección única de cada uno de los otros paquetes de circuitos lógicos 806b-d, cada comando especifica un primer modo de funcionamiento y un período de tiempo. El primer modo de funcionamiento puede hacer que se ignore el tráfico en el bus. A continuación, el circuito lógico 808 puede enviar un comando dedicado al paquete de circuito lógico objetivo 806a a través de su primera dirección, el comando especifica un segundo modo de funcionamiento y un período de tiempo. El segundo modo de funcionamiento puede comprender una instrucción que dé como resultado que se ignore el tráfico en el bus 810 enviado a una primera dirección y se habilite una segunda dirección. El primer período de tiempo de comando y el segundo período de tiempo de comando para el cual el tráfico se ignora por diferentes paquetes de circuito lógico 806 pueden especificarse para superponerse entre sí, en algunos ejemplos al tener en cuenta el retraso con el que se recibirán las instrucciones.
Los circuitos lógicos del host pueden comunicarse entonces con el paquete 806a de circuitos lógicos seleccionado a través de su segunda dirección durante el período de tiempo. Durante este período de tiempo, como en algunos ejemplos ningún otro dispositivo está 'a la escucha' del bus I2C, puede usarse cualquier protocolo de comunicación (incluido en algunos ejemplos un protocolo no compatible con I2C) para comunicarse con el paquete de circuitos lógicos seleccionado 806a a través de su segunda dirección.
Por supuesto, este es solo un ejemplo. En otros ejemplos, algunos o todos los paquetes pueden ser accesibles a través de una segunda dirección al mismo tiempo, o puede ser accesible una mezcla de la primera y la segunda dirección de los respectivos paquetes.
La Figura 9 muestra un ejemplo de un componente del aparato de impresión reemplazable 802 que incluye un paquete 900 de circuitos lógicos compatible con I2C, que puede comprender cualquiera de los atributos de los paquetes 400a-d o de los circuitos 424 descritos en relación con las figuras 4A-E, y que puede configurarse en algunos ejemplos para llevar a cabo cualquiera de los métodos descritos en la presente descripción. El paquete en
este ejemplo comprende una interfaz I2C 902 que incluye un contacto de datos 904 para comunicarse a través de un bus I2C de una impresora host.
El paquete de este ejemplo comprende una memoria que comprende datos que representan las características del líquido de impresión, y los datos pueden recuperarse y actualizarse a través del contacto de datos 904. El paquete 900 se configura para, en respuesta a una solicitud de lectura recibida desde un aparato host a través de una primera dirección I2C (es decir, la solicitud de lectura se dirige mediante el uso de la primera dirección), transmitir datos que incluyen dichos datos que representan las características del líquido de impresión a través del bus y a través del contacto de datos 904. Pueden asociarse diferentes componentes del aparato de impresión reemplazable 802 con memorias que pueden almacenar diferentes características del líquido de impresión.
El paquete 900 se configura además de manera que, en respuesta a un comando indicativo de una tarea y un primer período de tiempo recibido a través de la primera dirección, el paquete transmite datos durante el período de tiempo a través del mismo bus y contacto de datos en respuesta a (y en algunos ejemplos, solo en respuesta a) comandos recibidos que se dirigen a, al menos, una segunda dirección, diferente de la primera dirección, y después del final del período de tiempo, nuevamente transmiten datos a través del mismo bus y contacto de datos en respuesta a (y en algunos ejemplos, solo en respuesta a) comandos recibidos que se dirigen a la primera dirección.
En algunos ejemplos, al menos una dirección diferente incluye una segunda dirección predeterminada y una segunda dirección adicional o temporal en donde el paquete 900 se configura para, en respuesta a un comando recibido que se dirige a la segunda dirección predeterminada, reconfigurar la dirección para que sea la segunda dirección temporal y/o para responder (y en algunos ejemplos, solo en respuesta a) comandos posteriores enviados a la segunda dirección temporal hasta el final del período de tiempo. Dichas respuestas pueden enviarse por el mismo bus y el contacto de datos único 904.
El componente del aparato de impresión reemplazable 802 puede proporcionarse como uno de una pluralidad de componentes del aparato de impresión, cuyas memorias almacenan diferentes características del material de impresión. El paquete de cada uno de la pluralidad de componentes del aparato de impresión reemplazable puede configurarse para, en respuesta a un comando indicativo de la tarea y el primer período de tiempo recibido a través de las respectivas primeras direcciones, transmitir respuestas de datos a los comandos recibidos que se dirigen las mismas direcciones predeterminadas respectivas.
En algunos ejemplos, el paquete 900 se configura para transmitir, en respuesta a los comandos recibidos indicados que se dirigen a la primera dirección fuera del período de tiempo, datos que se autentican, por ejemplo, autenticados criptográficamente, por ejemplo, mediante el uso de una clave secreta y acompañados de un código de autenticación de mensajes. Sin embargo, durante el período de tiempo, los datos que no se autentican pueden transmitirse en respuesta a los comandos recibidos que se dirigen a, al menos, a una dirección diferente.
La Figura 10 describe un método para validar un componente del aparato de impresión mediante el uso de circuitos lógicos asociados con el mismo. En algunos ejemplos, los circuitos lógicos pueden ser un paquete de circuitos lógicos 404a-d, 900 y/o un aparato de procesamiento 424 como se describe anteriormente.
Por ejemplo, al validar un componente del aparato de impresión, puede pretenderse verificar que un contenedor de agente de impresión se origina en una fuente autorizada, para garantizar la calidad del mismo (por ejemplo, al realizar una autenticación del mismo). En algunos ejemplos, el proceso de validación puede incluir una verificación de integridad para asegurar que el componente del aparato de impresión reemplazable y/o los circuitos lógicos asociados con el mismo funcionan como se espera. Esto puede comprender solicitar información del sensor de manera que los circuitos lógicos de un componente del aparato de impresión puedan comprobar que estos datos del sensor cumplen con los parámetros esperados.
El método comprende, en el bloque 1002, responder a una primera solicitud de validación enviada a través de un bus I2C a una primera dirección asociada con los circuitos lógicos con una primera respuesta de validación. El bloque 1004 comprende responder a una segunda solicitud de validación enviada a través del bus I2C a una segunda dirección asociada con los circuitos lógicos con una segunda respuesta de validación.
En algunos ejemplos, la primera respuesta de validación es una respuesta autenticada criptográficamente. Por ejemplo, esto puede hacer uso de un secreto compartido y/o usar una clave criptográfica. En algunos ejemplos, la respuesta criptográfica puede comprender al menos un mensaje "firmado", por ejemplo, un mensaje acompañado de un código de autenticación de mensaje, o puede comprender una respuesta cifrada. En algunos ejemplos, la segunda respuesta de validación comprende una(s) respuesta(s) sin cifrar o una(s) respuesta(s) sin firmar. En algunos ejemplos, la mayoría o todas las respuestas a las solicitudes de validación enviadas a la primera dirección se firman criptográficamente mediante el uso de una clave almacenada en el circuito lógico, mientras que ninguna respuesta a las solicitudes de validación enviadas a la segunda dirección se encuentra firmada criptográficamente. Esto puede permitir que se reduzcan los recursos de procesamiento usados para proporcionar respuestas a los comandos enviados a la segunda dirección.
La Figura 11 describe un ejemplo del bloque 1004 con mayor detalle. En este ejemplo, la segunda solicitud de
validación comprende una solicitud de una indicación de la velocidad de reloj de un temporizador de los circuitos lógicos (en algunos ejemplos, una solicitud de una velocidad de reloj del segundo temporizador 404b, o más generalmente un temporizador asociado con el segundo circuito lógico). El método comprende, en el bloque 1102, determinar una velocidad de reloj del circuito lógico con relación a una frecuencia de otro reloj del sistema o señal de ciclo medible por los circuitos lógicos. El bloque 1104 comprende determinar una segunda respuesta de validación basada en la velocidad relativa del reloj. Esto puede, por ejemplo, permitir que un aparato host establezca un período de tiempo en el contexto de un temporizador provisto con los circuitos lógicos. En algunos ejemplos, la velocidad de reloj de un temporizador de los propios circuitos lógicos puede medirse para determinar la respuesta de validación. Por ejemplo, puede determinarse el número de ciclos de reloj del temporizador dentro de un número predeterminado de otras señales de reloj/ciclos medibles y, en algunos ejemplos, puede proporcionarse una indicación del resultado como respuesta de validación. En algunos ejemplos, la velocidad de un reloj puede determinarse de forma eficaz al comparar una velocidad de reloj conocida de un temporizador de los circuitos lógicos con la velocidad del reloj. En algunos ejemplos, la respuesta de validación puede comprender una selección de un valor (por ejemplo, un recuento de reloj) mantenido en una memoria que indica la velocidad del reloj de los circuitos lógicos con relación a un reloj del sistema/ciclo medible. Como se señala anteriormente, en un ejemplo, la respuesta puede basarse en la velocidad de reloj de un temporizador interno del segundo circuito lógico, que puede ser un segundo temporizador además de un primer temporizador del primer circuito lógico.
Para considerar un ejemplo de tal método, los circuitos lógicos pueden comprender varios registros. En un ejemplo, un registro puede registrar el número de salidas de un temporizador de un paquete de circuitos lógicos (en algunos ejemplos, un temporizador asociado con un segundo circuito lógico) durante un número determinado de ciclos detectables por los circuitos lógicos. Por ejemplo, más de 8 ciclos detectables, puede haber, digamos, 120 ciclos registrados mediante el uso del temporizador interno del paquete de circuitos lógicos. Esto puede registrarse en uno o más registros. En tal ejemplo, el valor "120" podría registrarse en un registro o memoria, que puede leerse y verificarse por el circuito lógico del aparato de impresión, en donde la verificación puede comprender, por ejemplo, comparar el valor con un valor esperado. En un ejemplo, este valor relativo de la velocidad del reloj puede representarse mediante el recuento de reloj que se menciona en los ejemplos de esta descripción. En otro ejemplo, el recuento de reloj puede relacionarse con una velocidad absoluta del reloj. La velocidad del reloj puede medirse y compararse con un recuento de reloj almacenado. En esta descripción, el recuento de reloj almacenado puede incluir cualquier valor que represente la velocidad de reloj relativa o el recuento de reloj que incluya un valor de referencia o un rango.
En algunos ejemplos, puede configurarse un reloj del sistema para tener en cuenta la velocidad del temporizador. En algunos ejemplos, un reloj del sistema puede accionarse por un oscilador de anillo del segundo circuito lógico como se describe anteriormente. El segundo circuito lógico puede comprender varios temporizadores, como un reloj SAR (para el convertidor analógico a digital) y un reloj del sistema.
La Figura 12 muestra otro ejemplo de un método de validación, que puede ser un método para validar un componente del aparato de impresión mediante el uso de circuitos lógicos asociados con el mismo. En algunos ejemplos, los circuitos lógicos pueden ser un paquete de circuitos lógicos 404a-d, 900 y/o un aparato de procesamiento 424 como se describe anteriormente.
En este ejemplo, el paquete de circuito lógico responde a una primera solicitud de validación dirigida a su primera dirección con respuestas autenticadas criptográficamente en el bloque 1200. Como parte de la primera validación, cualquiera o cualquier combinación de una identidad de versión (es decir, ID de revisión) de (al menos parte) del paquete; un número de celdas por clase; un nivel de material de impresión; un recuento de reloj; pueden incluirse datos históricos de lectura/escritura y otros datos de identidad y características relacionados con la segunda dirección. En algunos ejemplos, los datos de identificación asociados con un segundo circuito lógico, como la identidad de la versión, como se describe anteriormente, pueden almacenarse en un primer circuito lógico. En algunos ejemplos, los datos de identificación pueden almacenarse tanto en el primer como en el segundo circuito lógico. En algunos ejemplos, después de que se habilite un segundo circuito lógico, como se describe anteriormente, el método comprende en el bloque 1202, recibir una señal de establecimiento de dirección, que se envía a través del bus I2C a una segunda dirección inicial asociada con los circuitos lógicos. En algunos ejemplos, la señal de establecimiento de dirección puede ser indicativa de una segunda dirección temporal. Por ejemplo, los circuitos lógicos del host (por ejemplo, los circuitos lógicos de un aparato de impresión) pueden seleccionar y/o generar la segunda dirección temporal y transmitirla a los circuitos lógicos asociados con el componente del aparato de impresión reemplazable. En otros ejemplos, la segunda dirección temporal puede seleccionarse de alguna otra manera, por ejemplo, en base a datos almacenados en una memoria de los circuitos lógicos. El bloque 1204 comprende establecer la segunda dirección como la dirección del circuito lógico. Como se indicó anteriormente, en algunos ejemplos, esto puede comprender reemplazar una dirección predeterminada por una dirección temporal que puede seleccionarse, en algunos ejemplos, mediante un aparato de impresión.
En algunos ejemplos, la segunda dirección temporal puede retenerse durante un período de comunicación, y luego la dirección puede volver a la dirección inicial (que, por lo tanto, puede proporcionar una dirección predeterminada). En algunos ejemplos, la dirección inicial se restablece la próxima vez que se habilita el segundo circuito lógico.
El método continúa en el bloque 1206 al determinar la segunda respuesta de validación mediante la lectura de una memoria de circuitos lógicos para proporcionar una indicación de la identidad de la versión. Esto puede ser una indicación de la versión de hardware, software y/o firmware usado en el paquete de circuitos lógicos, por ejemplo, en un segundo circuito lógico del paquete. En algunos ejemplos, esto puede ser una indicación de la versión de al menos un sensor que puede proporcionarse como parte de los circuitos lógicos. La identidad de la versión (es decir, el ID de revisión) de la segunda validación puede coincidir con la identidad de la versión de la primera validación.
Por ejemplo, esto puede comprender proporcionar uno o más "valores de revisión", que pueden ser el contenido de uno o más registros. Puede darse el caso de que al menos uno, y en algunos ejemplos, cada troquel y/o subcomponente de los circuitos lógicos se asocie con un valor de revisión que indica el tipo o versión de hardware, y puede permitir que un circuito I2C principal proporcione comunicaciones más adecuadas.
Si suponemos que los valores devueltos cumplen con criterios predeterminados (por ejemplo, se devuelve un número esperado de valores de revisión y/o el valor de revisión se reconoce por un aparato de impresión host, o tiene un formato válido o similar), el método continúa en el bloque 1208 al determinar una segunda respuesta de validación adicional al probar al menos un componente de los circuitos lógicos para devolver un resultado de prueba. Si bien es posible que los sensores no se proporcionen en asociación con todos los circuitos lógicos (y/o que no se realice una prueba de los mismos), en algunos ejemplos, la segunda respuesta de validación puede comprender una prueba real de cualquier sensor proporcionado o celdas involucradas en las comunicaciones a través de la segunda dirección. Por ejemplo, esto puede comprender una prueba para indicar que una celda y/o una resistencia responde como se esperaba. Por ejemplo, la prueba puede incluir verificar la velocidad de reloj absoluta o relativa, por ejemplo, al comparar la velocidad de reloj medida con una velocidad de reloj almacenada, como se describe anteriormente. En algunos ejemplos, puede determinarse un valor esperado para la velocidad del reloj en base a la indicación de la identidad de la versión (por ejemplo, el "valor de revisión"). Por ejemplo, puede determinarse que se espera que una versión particular de hardware tenga un valor de respuesta particular.
En el bloque 1210, el método comprende determinar una segunda respuesta de validación adicional mediante la lectura de una memoria de circuitos lógicos para proporcionar una indicación del número de celdas o sensores en al menos una clase de sensor. En algunos ejemplos, el número devuelto de esta segunda validación debe coincidir con un recuento de sensores proporcionado en la primera validación. Por ejemplo, esto puede proporcionar una indicación del número de resistencias en un sensor de nivel de fluido. En algunos ejemplos, puede haber una pluralidad de valores proporcionados relacionados, por ejemplo, con diferentes tipos de sensores. Esta característica de validación puede permitir que un aparato de impresión configure parámetros para una lectura posterior de los sensores. Además, si este valor no es un valor esperado, que puede determinarse al comparar los valores proporcionados en la primera y la segunda validaciones, puede resultar en que los circuitos lógicos fallen en una prueba de validación. En algunos ejemplos, el valor esperado puede determinarse en base a la segunda respuesta de validación. Por ejemplo, puede determinarse que se espera que una versión particular de hardware tenga un número particular de sensores.
En este ejemplo, un estado de lectura y/o escritura de al menos parte del circuito lógico (en algunos ejemplos, el historial de lectura/escritura de un segundo circuito lógico) se registra en una memoria del mismo de forma continua, por ejemplo, entre acciones asociadas con cada bloque de la Figura 12. En particular, en este ejemplo, una pluralidad de indicaciones de un estado de lectura/escritura se almacena en una memoria, cada una de las cuales se determina mediante el uso de una función algorítmica predeterminada diferente. Dichas funciones algorítmicas (que pueden ser funciones algorítmicas secretas o basadas en datos secretos, en donde la solución también puede derivarse en base a un secreto conocido por el aparato de impresión en el que se va a colocar el componente del aparato de impresión reemplazable) pueden aplicarse de tal manera que las diferentes acciones de lectura/escritura dan como resultado que se almacene un valor diferente. La función algorítmica puede incluir codificación, por ejemplo, firmar el valor del historial de lectura/escritura, que puede ejecutarse mediante cableado o instrucciones escritas en el paquete de circuitos lógicos. En algunos ejemplos, el contenido de la lectura y/o escritura puede considerarse por el algoritmo de modo que el mismo número de operaciones de lectura/escritura puede resultar en un valor diferente asociado con el historial si el contenido de las operaciones de lectura/escritura difiere. En algunos ejemplos, el orden de las operaciones de lectura/escritura también puede afectar el valor almacenado. El algoritmo podría almacenarse o cablearse en el paquete de circuitos lógicos, por ejemplo, en el segundo circuito lógico. En algunos ejemplos, el valor de estado del historial de lectura/escritura puede usarse para verificar errores de comunicación de datos. En algunos ejemplos, el paquete de circuitos lógicos se configura para actualizar el historial de lectura/escritura después de eventos de lectura/escritura. Por ejemplo, el segundo circuito lógico puede configurarse, por ejemplo, cableado, para reescribir la porción de datos del historial de lectura/escritura después de cada acción de lectura o escritura respectiva en el segundo circuito lógico, en donde la porción de datos del historial de lectura/escritura puede ser reescrita después o en cada ciclo de lectura o escritura. La porción de datos del historial de lectura/escritura puede actualizarse después de una solicitud de lectura del aparato de impresión, una solicitud de escritura del aparato de impresión o ambas. Por ejemplo, la actualización puede basarse en una actualización de la memoria intermedia de salida interna, o puede basarse en una instrucción recibida del circuito del aparato de impresión. El segundo circuito lógico puede ser cableado para actualizar la porción de datos del historial de lectura/escritura en base a las acciones del segundo circuito lógico. En un ejemplo, el paquete de circuitos lógicos se configura para no actualizar el historial de lectura/escritura al reconfigurar la segunda dirección a la dirección
temporal. En un ejemplo, el paquete de circuitos lógicos se configura para actualizar el historial de lectura/escritura durante el período de tiempo medido, después de configurar la segunda dirección a la dirección temporal. En otro ejemplo más, el aparato de impresión reescribe el campo de datos históricos de lectura/escritura.
En este ejemplo, por tanto, el método comprende además almacenar una pluralidad de indicaciones del estado del historial de lectura/escritura del circuito lógico y actualizar la indicación almacenada con cada solicitud de lectura/escritura del circuito lógico.
En el bloque 1212, el método comprende determinar una segunda respuesta de validación adicional que comprende una indicación de un historial de lectura y/o escritura del circuito lógico. La respuesta puede seleccionarse en base a una indicación proporcionada en la solicitud, de modo que se seleccione y devuelva un valor esperado, asociado con una función algorítmica particular. La función algorítmica puede almacenarse o cablearse en el paquete de circuitos lógicos, por ejemplo, el segundo circuito lógico. El funcionamiento algorítmico puede incluir firmar los datos históricos de lectura/escritura. Proporcionar varias funciones algorítmicas diferentes puede ayudar a aumentar la seguridad del proceso de validación.
En un ejemplo, el circuito lógico comprende al menos un registro (por ejemplo, de solo lectura) que crea un valor que representa una firma, es decir, que permite decodificar y verificar mediante un aparato de impresión que almacena los datos para decodificar la firma. Un valor indicativo del historial de lectura/escritura puede almacenarse en él y puede actualizarse cuando ocurren operaciones (lecturas/escrituras) dentro de los circuitos lógicos y, por lo tanto, proporciona una indicación de un historial de lectura y/o escritura de los circuitos lógicos. Puede no darse el caso de que todas las acciones den como resultado la actualización del registro y puede haber al menos un evento de acceso al registro que no dé como resultado la actualización del valor. El orden de lectura/escritura puede tener un efecto sobre los valores. Como el aparato host puede mantener su propio historial de lecturas y escrituras que solicita de los circuitos lógicos, puede verificar el valor con su propio registro para determinar si las lecturas/escrituras se están al realizar y/o si la función para determinar el valor funciona como se esperaba.
En este ejemplo, aunque tales métodos pueden considerarse métodos pseudocriptográficos, ya que pueden basarse en un secreto compartido, la segunda respuesta de validación puede proporcionarse sin una firma digital o un código de autenticación de mensaje o clave de sesión o identificador de clave de sesión, tampoco puede calificar como comunicación autenticada criptográficamente, mientras que la primera respuesta de validación puede proporcionarse con una firma digital, código de autenticación de mensaje o clave de sesión y/o identificador de clave de sesión y puede calificar como comunicación autenticada criptográficamente. En un ejemplo, las diferentes validaciones pueden asociarse con diferentes circuitos lógicos que pueden integrarse en el paquete de una manera relativamente rentable sin comprometer la integridad del sistema.
En algunos ejemplos, los métodos de cualquiera de las figuras 10 a 12 pueden llevarse a cabo en relación con componentes del aparato de impresión reemplazable en los que es probable que los sensores entren en contacto con los fluidos de impresión. Tal contacto puede significar que los sensores pueden sufrir daños y, por lo tanto, verificar que los sensores actúan como se pretende puede ser particularmente beneficioso. Sin embargo, los métodos también pueden llevarse a cabo en relación con otros tipos de componentes del aparato de impresión reemplazable.
En algunos ejemplos, si alguna respuesta de validación no es la esperada (o, en algunos ejemplos, si no se recibe una respuesta y/o un acuse de recibo de una solicitud), un aparato de impresión puede determinar que un componente del aparato de impresión reemplazable no supera una verificación, y en algunos ejemplos, puede rechazar el componente del aparato de impresión reemplazable. En algunos ejemplos, al menos una operación del aparato de impresión puede impedirse o alterarse como resultado de que un componente del aparato de impresión reemplazable no supere una verificación.
En algunos ejemplos, las respuestas de validación pueden proporcionarse en intervalos de tiempo, y cada prueba se realiza en serie.
La Figura 13A muestra un ejemplo de una posible disposición práctica de un segundo circuito lógico realizado por un conjunto de sensor 1300 en asociación con un paquete de circuitos 1302. El conjunto de sensor 1300 puede comprender una pila de película delgada e incluir al menos un conjunto de sensores, tal como un conjunto de sensores de nivel de fluido. La disposición tiene una alta relación de aspecto largo:ancho (por ejemplo, medida a lo largo de la superficie de un sustrato), por ejemplo, tiene alrededor de 0,2 mm de ancho, por ejemplo, menos de 1 mm, 0,5 mm o 0,3 mm, y alrededor de 20 mm de largo, por ejemplo, más de 10 mm, lo que da lugar a relaciones de aspecto largo:ancho iguales o superiores a aproximadamente 20, 40, 60, 80 o 100:1. En una condición instalada, la longitud puede medirse a lo largo de la altura. El circuito lógico en este ejemplo puede tener un espesor de menos de 1 mm, menos de 0,5 mm o menos de 0,3 mm, medido entre la parte inferior del sustrato (por ejemplo, silicio) y la superficie exterior opuesta. Estas dimensiones significan que las celdas o sensores individuales son pequeños. El conjunto de sensor 1300 puede proporcionarse en un portador 1304 relativamente rígido, que en este ejemplo también lleva contactos de bus I2C de tierra, reloj, alimentación y datos.
La Figura 13B muestra una vista en perspectiva de un cartucho de impresión 1312. El cartucho de impresión 1312
tiene una carcasa 1314 que tiene un ancho W menor que su altura H y que tiene una longitud L o profundidad mayor que la altura H. Una salida de líquido de impresión (en este ejemplo, una salida de agente de impresión proporcionada en el parte inferior 1316 del cartucho 1312), se proporcionan una entrada de aire 1318 y una cavidad 1320 en una cara frontal del cartucho 1312. La cavidad 1320 se extiende a través de la parte superior del cartucho 1312 y los contactos de bus I2C (es decir, paneles) 1322 de un paquete de circuitos lógicos 1302 (por ejemplo, un paquete de circuitos lógicos 400a-d, 900 como se describe anteriormente) se proporcionan en un lado de la cavidad 1320 contra la pared interior de la pared lateral de la carcasa 1314 adyacente a la parte superior y frontal de la carcasa 1314. En este ejemplo, el contacto de datos es el más bajo de los contactos 1322. En este ejemplo, el paquete de circuitos lógicos 1302 se proporciona contra el lado interior de la pared lateral.
En algunos ejemplos, el paquete de circuitos lógicos 1302 comprende un conjunto de sensor como se muestra en la Figura 13A.
Se apreciará que colocar circuitos lógicos dentro de un cartucho de material de impresión puede crear desafíos para la confiabilidad del cartucho debido a los riesgos de que se produzcan cortocircuitos eléctricos o daños en los circuitos lógicos durante el envío y la manipulación por parte del usuario, o durante la vida útil del producto.
Un sensor dañado puede proporcionar mediciones inexactas y dar lugar a decisiones inapropiadas por parte de un aparato de impresión al evaluar las mediciones. Por lo tanto, puede usarse un método como se establece en relación con las Figuras 10 a 12 para verificar que las comunicaciones con el circuito lógico basadas en una secuencia de comunicación específica proporcionen los resultados esperados. Esto puede validar la salud operativa de los circuitos lógicos.
En otros ejemplos, un componente del aparato de impresión reemplazable incluye un paquete de circuitos lógicos de cualquiera de los ejemplos descritos en la presente descripción, en donde el componente comprende además un volumen de líquido. El componente puede tener una altura H mayor que el ancho W y una longitud L mayor que la altura, el ancho entre dos lados. Los paneles de interfaz del paquete pueden proporcionarse en el lado interior de uno de los lados que mira hacia un recorte para insertar una interconexión de datos, los paneles de interfaz se extienden a lo largo de una dirección de altura cerca de la parte superior y frontal del componente, y el panel de datos es el más inferior de los paneles de interfaz, la interfaz de líquido y aire del componente se proporciona en la parte delantera en el mismo eje de referencia vertical paralelo a la dirección de la altura H en donde el eje vertical es paralelo y distanciado del eje que interseca los paneles de interfaz (es decir, los paneles se insertan parcialmente desde el borde por una distancia d). El resto del paquete de circuitos lógicos también puede proporcionarse contra el lado interior.
En algunos ejemplos, el cartucho de impresión comprende un contenedor de material de impresión que comprende un paquete de circuitos de validación que comprende una memoria, un conjunto de contactos para conectarse con un bus I2C de un aparato de impresión, al menos un temporizador y circuitos para proporcionar una primera función de validación, activada mediante mensajes enviados a una primera dirección en un bus I2C; y una segunda función de validación, activada por mensajes enviados a una segunda dirección en el bus I2C.
En componentes de los aparatos de impresión preexistentes, como cartuchos de impresión, los paquetes de circuitos lógicos pueden consistir en circuitos integrados a los que a veces se hace referencia como microcontroladores o microcontroladores seguros. Estos circuitos integrados se configuran para almacenar, comunicar y actualizar el estado y las características de los componentes correspondientes del aparato de impresión, a veces de manera segura. Dicho estado puede incluir un nivel de material de impresión, por ejemplo, actualizado por el aparato de impresión después de cada trabajo de impresión y basado en el recuento de gotas y/o el recuento de páginas. Basar el estado en el recuento de gotas o el recuento de páginas implica una forma indirecta de medir un nivel de material de impresión restante porque puede basarse, por ejemplo, en estadísticas de impresión globales en lugar del contenido del componente del aparato de impresión individual. En consecuencia, el estado o las características de un componente del aparato de impresión, tal como se almacena y refleja en su paquete de circuitos lógicos asociados, podría ser incorrecto o no ser confiable.
Esta descripción se refiere al primer ejemplo de paquetes de circuitos lógicos adaptados para permitir la conexión de dispositivos de detección adicionales a un componente del aparato de impresión, o incluir esos dispositivos de detección. Esta descripción también aborda otros ejemplos de paquetes de circuitos lógicos que se configuran para ser compatibles con un circuito lógico del aparato de impresión que se diseña para ser compatible con (por ejemplo, lectura, escritura y/o comandos) los primeros paquetes de circuitos lógicos de ejemplo.
Como se dijo, diferentes ejemplos de esta descripción facilitan que diferentes subdispositivos en un paquete de circuito de un componente de impresión reemplazable se comunique con un controlador de impresora, por ejemplo, además de, o en lugar de, los circuitos integrados basados en microcontroladores antes mencionados solos, que normalmente no se configuran para medir directamente el estado de ciertos componentes.
En un ejemplo, el paquete de circuito lógico permite una comunicación relativamente segura y confiable mientras se controlan los costos y/o la fabricación. Ciertos ejemplos de esta descripción facilitan la adición de capacidades a
(parcialmente) protocolos de comunicación existentes en impresoras, tales como los buses I2C existentes que se comunican con circuitos integrados en los componentes del aparato de impresión.
En un ejemplo, esta descripción explora la inclusión de, por ejemplo, conjuntos de celdas de tipo laboratorio en chip (por ejemplo, como parte de "segundos circuitos lógicos") en paquetes de circuitos lógicos de componentes del aparato de impresión, que en un ejemplo pueden implementarse en conjunto con buses de interfaz de aparatos de impresión existentes, por ejemplo, en un esfuerzo por controlar los costes y la fiabilidad. Como se explicó anteriormente, los ejemplos de segundos circuitos lógicos incluyen conjuntos de sensores delgados, basados en silicio. En un ejemplo, estos sensores no usan protocolos de comunicación de datos digitales establecidos o estándar, como I2C. Más bien pueden depender de comunicaciones de señales analógicas personalizadas. Algunos de los ejemplos de esta descripción implican la integración de tales conjuntos de memoria en paquetes de circuitos lógicos de componentes del aparato de impresión.
La Figura 14 representa diferentes ejemplos específicos de un paquete de circuitos lógicos que incluyen tales conjuntos de sensores.
En ciertos ejemplos, la integración de dispositivos de detección relativamente inexplorados, a veces relativamente complejos, en los componentes del aparato de impresión podría conducir a problemas imprevistos en el campo. Por ejemplo, es posible que el fabricante no pueda predecir exactamente cómo funcionará la innovación después de varios años en los estantes en diferentes condiciones climáticas y luego en un estado conectado durante y entre diferentes condiciones de impresión. Además, podrían surgir problemas de fabricación y costos no anticipados. También puede existir el deseo de proporcionar un componente alternativo para conectarse al mismo aparato de impresión por otras razones. Para aliviar cualquiera de estos desafíos potenciales u otros desafíos, es posible que ciertos componentes del aparato de impresión, como los cartuchos de servicio de impresión, no se equipen con conjuntos de sensores. En consecuencia, esta descripción también abarca otros paquetes de circuitos lógicos de ejemplo que son compatibles con un circuito lógico de un aparato de impresión host que se adaptó originalmente para comunicarse con los segundos circuitos lógicos con sensores, cuyo aparato de impresión host puede, en ciertos casos, estar ya operativo en muchas ubicaciones de clientes diferentes en todo el mundo antes de diseñar estos otros paquetes compatibles. Estos otros paquetes compatibles se adaptan para no depender de los mismos segundos circuitos lógicos con sensores para comunicarse con el circuito lógico del aparato de impresión host original. En estos ejemplos, ciertos componentes físicos de hardware, como los dispositivos sensores, pueden, al menos en parte, reemplazarse por diferentes componentes virtuales o cableados o datos representativos de las diferentes propiedades o estados en dependencia del comando de impresora recibido, lo que puede permitir que el aparato de impresión acepte estos paquetes de circuitos lógicos como incluir conjuntos de sensores originales. Además de ser operables, estos paquetes compatibles pueden necesitar pasar ciertas verificaciones de integridad, como la primera y segunda validaciones mencionadas.
En un ejemplo, estos paquetes compatibles pueden ser relativamente baratos o relativamente fáciles de fabricar. En otros ejemplos, estos paquetes compatibles pueden ser más fiables que el paquete de circuitos lógicos de conjuntos de sensores de esta descripción. De nuevo en otros ejemplos, estos paquetes compatibles proporcionan una alternativa a los segundos circuitos lógicos basados en conjuntos de sensores. De nuevo en otros ejemplos, estos paquetes compatibles pueden facilitar la prueba o el mantenimiento del aparato de impresión u otros componentes del aparato de impresión. El paquete compatible puede diseñarse para generar respuestas similares a los comandos del circuito lógico del aparato de impresión, de modo que el circuito lógico del aparato de impresión acepte las respuestas, como si estuviera instalado un segundo circuito lógico original. En ciertos ejemplos, los circuitos integrados compatibles podrían proporcionarse cuando ciertos paquetes de circuitos lógicos basados en conjuntos de sensores en el campo no reemplazan estos circuitos integrados defectuosos; para ahorrar costos; porque son más fáciles de fabricar; como alternativa; o por otras razones. La Figura 15 da a conocer un ejemplo de otro paquete de circuito lógico compatible. Los ejemplos mencionados anteriormente también abarcan dicho paquete alternativo, como por ejemplo la figura 4B.
La Figura 14 ilustra un paquete de circuitos lógicos 1401 para que un componente de impresión reemplazable interactúe con un circuito lógico del aparato de impresión a través de un paquete de interfaz único y que tiene un segundo circuito lógico 1405 con conjuntos de celdas o sensores. El paquete de circuitos lógicos 1401 puede incluir un primer circuito lógico 1403 y un segundo circuito lógico 1405, aunque las subcaracterísticas que se describirán a continuación podrían proporcionarse en un solo paquete sin una distinción clara entre el primer y segundo circuito lógico 1403, 1405. De hecho, el paquete de circuitos lógicos ilustrado 1401 puede incluir algunos, no todos, de los subcomponentes ilustrados. Los subcomponentes ilustrados se abordan en otros ejemplos de esta descripción. Algunas de las características se explican en relación con la primera y segunda validaciones. Para una mejor comprensión de ciertas características de la figura 14, se hace referencia a todas las publicaciones citadas en esta descripción, las cuales pertenecen al presente solicitante.
El primer circuito lógico 1403 incluye una primera dirección (indicada por un bloque 1402), que puede ser una primera dirección I2C, y que puede ser diferente de otros paquetes de otros componentes que deben conectarse al mismo aparato host al mismo tiempo. El segundo circuito lógico 1405 puede incluir una segunda dirección (indicada por el bloque 1404) que, al menos antes o al habilitar el segundo circuito lógico 1405, puede ser la misma que otros
paquetes de otros componentes que se conectarán al mismo aparato host al mismo tiempo. En o después de la habilitación del segundo circuito lógico 1405, la segunda dirección puede reconfigurarse, por ejemplo, para que sea diferente de otros paquetes 1401 conectados.
El primer circuito lógico 1403 incluye una memoria 1407 y una CPU (unidad central de procesamiento) 1409. La memoria 1407 puede incluir una porción firmada y sin firmar, por ejemplo, en dependencia de la seguridad deseada de una característica de datos particular, según lo desee un OEM y/o en parte por el espacio disponible de cada porción firmada o no firmada. La memoria 1407 puede almacenar al menos uno de los datos de características, estado e identidad 1415, 1419/1437 asociados con el componente de impresión reemplazable. Las características pueden incluir color, tipo de material de impresión, mapas de color 1411, recetas de conversión de color 1413 y otras características. La identidad 1415 podría incluir un número de producto, marca y/o cualquier código que se asociará con la identidad del componente del aparato de impresión reemplazable, por ejemplo, para la asociación con una garantía de un OEM si fuera necesario o por otras razones. En ciertos ejemplos, la identidad o identidades 1419/1437, 1415 pueden dejarse intencionalmente en blanco, por ejemplo, cuando un tercero que no sea el OEM suministra el paquete 1401. El estado puede incluir datos para la asociación con un nivel de material de impresión relativo o absoluto 1427, por ejemplo, en base a, al menos, uno de: recuento de páginas, recuento de gotas y/o en base a un estado de las celdas 1451, 1453, 1457, 1455 del segundo circuito lógico 1403, 1405. El primer circuito lógico 1403 puede incluir además una clave criptográfica 1441 para autenticar criptográficamente mensajes, estos mensajes pueden incluir cualquiera de dichos estados, características y/o identidad.
El paquete de circuitos lógicos 1401 incluye una interfaz 1423 para interconectar los subcomponentes del paquete que incluyen el primer y segundo circuito lógico 1403, 1405 al bus de interfaz del aparato de impresión, por ejemplo, que incluye tres o cuatro paneles de interconexión compatibles con I2C. El paquete 1401 de circuitos lógicos puede incluir una lógica 1417 de autenticación dedicada separada. La lógica de autenticación dedicada puede incluir su propio procesador dedicado separado de la CPU 1409, por ejemplo, especialmente diseñado para realizar un ciclo de cálculo específico un gran número de veces dentro de una ventana de tiempo corta 1421. La ventana de tiempo 1421 puede almacenarse en la memoria 1407. El paquete de circuitos lógicos 1401 puede incluir un primer temporizador 1429 para medir un período de temporizador como se indica en un comando, por ejemplo, para ejecutar una tarea específica tal como habilitar un segundo circuito lógico. El primer circuito lógico 1403 puede incluir, o conectarse a, una ruta de señal y/o conmutador para habilitar el segundo circuito lógico 1405 y/o determinar un tiempo a partir del cual el paquete de circuitos lógicos 1401 debe responder a los comandos dirigidos a la segunda dirección reconfigurable (indicada por un bloque 1404).
La memoria 1407 puede almacenar características relacionadas con el segundo circuito lógico 1405. La memoria 1407 puede almacenar un recuento de celdas 1431 para cada una de al menos una clase de celdas 1451, 1453, 1457, 1455, para asociarlas con un número de celdas de la clase o clases respectivas. La memoria 1407 puede almacenar un recuento de reloj 1433 que puede asociarse con una velocidad de reloj relativa o absoluta de un segundo temporizador 1435. La memoria 1407 puede almacenar un ID de revisión 1419 para asociarlo con un ID de revisión 1437 del segundo circuito lógico 1405.
Algunos de los datos mencionados anteriormente pueden incluirse como datos firmados digitalmente, como, por ejemplo, al menos uno de la ventana de tiempo 1421, el ID de revisión 1419, la receta de conversión de color 1413, los mapas de color 1411, el recuento de celdas 1433. En un ejemplo, la clave criptográfica 1441 se almacena en una memoria de hardware segura separada que debe entenderse que se incluye en la primera memoria 1407.
Además, la memoria 1407 puede almacenar al menos una de las instrucciones 1443 para autenticar criptográficamente mensajes mediante el uso de la clave 1441; instrucciones 1443 para proporcionar una respuesta de desafío autenticada dentro de la ventana de tiempo 1421; e instrucciones 1445 para habilitar/activar el segundo circuito lógico 1405 en base a un comando respectivo que incluye un período de temporizador y/o una tarea, que incluye medir el período de tiempo, por ejemplo, con el primer temporizador 1429; y otras instrucciones de autenticación o no autenticación. El paquete de circuitos lógicos 1401 puede configurarse de modo que las comunicaciones en respuesta a los comandos dirigidos a la primera dirección puedan autenticarse criptográficamente mediante el uso de la clave criptográfica 1441, por ejemplo, acompañadas de un código de autenticación de mensaje y/o identificador de clave de sesión, mientras que las respuestas a los comandos dirigidos a la segunda dirección pueden no autenticarse criptográficamente mediante el uso de la clave 1441, por ejemplo, no acompañarse de un código de autenticación de mensaje y/o un identificador de clave de sesión.
El segundo circuito lógico 1405 incluye varias celdas 1451, 1453 o conjuntos de celdas 1455, 1457 de diferentes clases, cuyos números pueden corresponder a los recuentos de celdas 1431, 1463. El ejemplo ilustrado incluye cuatro clases de celdas diferentes, pero puede haber más o menos clases de celdas diferentes. Por ejemplo, de cada clase, las celdas pueden tener una resistencia, tamaño, material u otra propiedad similar. Un conjunto de celdas puede incluir al menos 50 o al menos 100 celdas. Las celdas pueden adaptarse para calentar o detectar una determinada propiedad, como la presencia de material de impresión adyacente a la celda. Las celdas pueden incluir resistencias con o sin propiedades de detección o calentamiento, o celdas falsas para recibir señales solo sin influir en una acción de lectura o escritura. En dependencia del tipo de celdas, puede usarse al menos un ADC y/o DAC 1467 para convertir señales entre digitales y analógicas, por ejemplo, para facilitar las conversiones de señales a
través de la interfaz 1423.
El segundo circuito lógico 1405 puede incluir un segundo temporizador 1435 que puede determinar una velocidad de reloj interno, cuya velocidad de reloj puede corresponder al recuento de reloj almacenado 1433.
El segundo circuito lógico 1405 puede almacenar un ID de revisión 1437, que el aparato de impresión puede asociar con ciertas propiedades. El aparato de impresión puede comparar el primer y segundo ID de revisión almacenados en el primer y segundo circuito lógico 1403, 1405 respectivos, como se explica en relación con las respuestas de validación primera y segunda.
El segundo circuito lógico 1405 puede configurarse para comunicar, al menos un recuento de celdas 1463 perteneciente a cada clase respectiva de celdas, que puede corresponder al recuento de celdas 1431 del primer circuito lógico 1403. En otro ejemplo, las celdas por clase pueden probarse por el circuito lógico del aparato de impresión o el paquete de circuitos lógicos cuando se instalan en el aparato de impresión. Por ejemplo, un recuento de celdas del segundo circuito lógico 1405 puede determinarse al medir un último sensor o una propiedad del último sensor. El recuento de celdas leídas o probadas puede compararse con el recuento de celdas almacenado en el primer circuito lógico 1403.
El paquete de circuitos lógicos 1401 puede incluir un campo o porción de datos 1465 que almacena un historial de lectura/escritura asociado con acciones de lectura y escritura asociadas con la segunda dirección 1404, por ejemplo, la segunda dirección temporal 1404. El paquete de circuitos lógicos puede configurarse para actualizar ese campo después de cada sesión de lectura/escritura respectiva, mediante el uso de una función algorítmica que puede basarse en parte en el contenido de la sesión de lectura/escritura y/o en otras variables, cuya función puede formar alguna codificación de bits.
El segundo circuito lógico 1405 puede incluir una segunda disposición de memoria 1461 que almacena al menos una de estas características del segundo circuito lógico, como el recuento de celdas 1463, el historial de lectura y escritura 1465 y/o el ID de revisión 1437.
Como se mencionó anteriormente en relación con una primera y una segunda validación, en un ejemplo, las comunicaciones del segundo circuito lógico 1405 no se autentican criptográficamente mediante el uso de la misma clave criptográfica que las comunicaciones del primer circuito lógico 1403 y/o no se autentican criptográficamente en absoluto. En un ejemplo, la salida de señal del segundo circuito lógico 1405 puede ser cableada para codificar sus señales de salida que a su vez pueden decodificarse por el circuito lógico del aparato de impresión.
La Figura 15 ilustra un paquete 1501 de circuitos lógicos compatibles configurado para tener respuestas similares a los respectivos comandos del aparato de impresión que el paquete 1401 de circuitos lógicos de la figura 14. El paquete de circuitos lógicos 1501 incluye una interfaz 1523 para conectarse al bus de interfaz del aparato de impresión, por ejemplo, que incluye tres o cuatro paneles de interconexión compatibles con I2C. El primer paquete de circuitos lógicos 1501 incluye una memoria 1507 y una CPU (unidad central de procesamiento) 1509. El paquete 1501 puede almacenar instrucciones 1545 para responder a los comandos correspondientes dirigidos a (i) una primera dirección; y, en un comando de habilitación que incluye un período de tiempo, (ii) una segunda dirección inicial; y al recibir una dirección reconfigurada, (iii) una segunda dirección reconfigurada (como se indica en el bloque 1502, 1504). La memoria 1507 puede almacenar al menos una de las características 1515, 1519, 1537, que incluye datos de identidad y un estado 1527 asociado con el componente de impresión reemplazable.
Este paquete de ejemplo 1501 puede incluir ciertas LUT, algoritmos 1505 y/o cableado 1551, 1553, 1555, 1557 configurado para generar respuestas que el circuito lógico del aparato de impresión asociado con estas celdas. En un ejemplo, el cableado del paquete de circuitos lógicos 1501 tiene propiedades similares a las celdas y conjuntos de la figura 14, para ayudar a generar señales de salida compatibles o recibir señales de entrada. En un ejemplo, el cableado es para recibir señales de entrada y/o imitar celdas como resistencias y registros. En un ejemplo, el cableado puede incluir un segundo temporizador o reloj correspondiente al recuento de reloj 1533. En otro ejemplo, el segundo circuito lógico de la figura 14 puede reemplazarse por una emulación virtual completa, por ejemplo, mediante el uso de dicha LUT y/o algoritmo 1505, sin cableado adicional. La salida LUT 1505 puede configurarse para asociar ciertos comandos y señales recibidos con ciertas salidas aceptables, por ejemplo, al menos en parte en base a un estado actualizado 1527. Además de, o en lugar de, la salida lUt 1505, pueden proporcionarse algoritmos para generar salidas compatibles. Por lo tanto, los algoritmos 1505 de salida de LUT y el cableado 1551, 1553, 1555, 1557 pueden configurarse para representar un conjunto de sensores 1451, 1453, 1455, 1457 o un segundo circuito lógico completo 1405 (Figura 14), que en este ejemplo de la figura 15, es al menos parcialmente virtual y no necesita representar un estado real del componente de impresión en la forma en que el aparato de impresión lo interpretaría. Más bien, el algoritmo 1505 de LUT, y/o el cableado 1551, 1553, 1555, 1557 pueden facilitar un paquete 1501 de circuitos lógicos compatibles y de trabajo para poder imprimir con el aparato de impresión.
El paquete compatible 1501 almacena el ID de revisión 1519, 1537, por ejemplo, en un campo o en dos campos, o al menos se configura para proporcionarlo al aparato de impresión en base a una solicitud de lectura correspondiente.
El ID de revisión 1519, 1537 es otro ID que el circuito lógico del aparato de impresión puede asociar con el segundo circuito lógico, que como se explica en este ejemplo puede no estar presente físicamente, pero puede representarse virtualmente hasta cierto punto. De manera similar, el paquete 1501 puede almacenar un recuento de celdas 1531, 1563, un recuento de reloj 1533 que puede asociarse o no con una velocidad de reloj relativa o absoluta del temporizador 1529, 1535. El paquete de circuitos lógicos 1501 puede configurarse para almacenar y/o enviar el historial de lectura/escritura 1565 asociado con comandos a la segunda dirección reconfigurada 1504. El ID de revisión, el recuento de celdas, el recuento de reloj y el historial de lectura/escritura pueden proporcionarse de forma legible en respuesta a las solicitudes de lectura a través de la segunda dirección, por ejemplo, la segunda dirección reconfigurada, y en un ejemplo adicional puede que no se autentique criptográficamente mediante el uso de la clave criptográfica 1541.
Ciertas características de este paquete de circuitos lógicos 1501 pueden ser similares o iguales que el primer circuito lógico 1403 de la figura 14. Por ejemplo, las características pueden incluir color, tipo de material de impresión, mapas de color 1511, recetas de conversión de color 1513 y otras características. La identidad o identidades 1515 podrían incluir un número de producto, marca y/o cualquier código que se asociará con la identidad del componente del aparato de impresión reemplazable. El estado 1527 puede incluir datos que el aparato de impresión asocia con un nivel de material de impresión. El paquete de circuitos lógicos 1501 puede incluir una clave criptográfica 1541 para autenticar criptográficamente mensajes, estos mensajes pueden incluir cualquiera de dichos estados, características y/o identidad. El paquete de circuitos lógicos 1501 puede incluir una lógica de autenticación dedicada separada 1517 y almacenar una ventana de tiempo 1521 correspondiente. El paquete de circuitos lógicos 1501 puede incluir un primer temporizador 1529, 1535 para medir un período de temporizador como se indica en un comando respectivo. En un ejemplo, podría usarse un solo dispositivo temporizador 1529, 1535 para representar el primer y segundo temporizador.
Además, el paquete 1501 puede almacenar al menos una de las instrucciones 1543 para autenticar criptográficamente mensajes mediante el uso de la clave 1541; instrucciones 1543 para proporcionar una respuesta de desafío autenticada dentro de la ventana de tiempo 1421; e instrucciones 1545 para establecer la dirección 1502, 1504 en base a un comando respectivo que incluye un período de temporizador y/o una tarea, que incluye medir el período de tiempo, por ejemplo, con el temporizador 1529, 1535; y otras instrucciones de autenticación o no autenticación. El paquete de circuitos lógicos 1401 puede configurarse de modo que las comunicaciones en respuesta a los comandos dirigidos a la primera dirección se autentiquen criptográficamente mediante el uso de la clave criptográfica 1541, por ejemplo, acompañadas de un código de autenticación de mensaje y/o identificador de clave de sesión, mientras que las respuestas a los comandos dirigidos a la segunda dirección pueden no autenticarse criptográficamente mediante el uso de la clave 1541, por ejemplo no ir acompañado de un código de autenticación de mensaje y/o identificador de clave de sesión.
Algunas de las porciones de datos mencionadas anteriormente pueden almacenarse como datos firmados digitalmente, como, por ejemplo, al menos una de la ventana de tiempo 1521, el ID de revisión 1519, 1537, la receta de conversión de color 1513, los mapas de color 1511, el recuento de celda 1533 y otros datos, para permitir que una impresora decodifique/anule la firma correspondiente de los datos.
En los ejemplos de las Figuras 14 y 15 los paneles de conexión de interfaz de la interfaz 1423, 1523 del paquete de circuitos lógicos 1401, 1501 pueden corresponder a los contactos de interfaz ilustrados en las Figuras 13A y 13B. El ejemplo de la figura 15 puede proporcionarse total o ampliamente en el exterior del componente del aparato de impresión de la figura 13B, mientras que el ejemplo de la figura 14 puede proporcionarse en parte o en gran parte dentro del componente del aparato de impresión de la figura 13B (por ejemplo, contra una pared interior del depósito de material de impresión), a excepción de los paneles de conexión de la interfaz.
Cada uno de los paquetes de circuitos lógicos 400a-d, 806a-d, 900, 1401, 1501 descritos en la presente descripción puede tener cualquier característica de cualquier otro paquete de circuitos lógicos 400a-d, 806a-d, 900, 1401, 1501 descritos en la presente descripción o de los circuitos de procesamiento 424. El circuito de procesamiento 424 descrito en la presente descripción puede tener cualquier característica de los paquetes de circuitos lógicos 400a-d, 806a-d, 900, 1401, 1501. Cualquier paquete de circuitos lógicos 400a-d, 806a-d, 900, 1401, 1501 o los circuitos de procesamiento 424 pueden configurarse para llevar a cabo al menos un bloque de método de los métodos descritos en la presente descripción. Cualquier primer circuito lógico puede tener cualquier atributo de cualquier segundo circuito lógico y viceversa.
Los ejemplos en la presente descripción pueden proporcionarse como métodos, sistemas o instrucciones legibles por máquina, tales como cualquier combinación de software, hardware, firmware o similares. Dichas instrucciones legibles por máquina pueden incluirse en un medio de almacenamiento legible por máquina (que incluye, pero no se limita a, almacenamiento en disco, CD-ROM, almacenamiento óptico, etc.) que tiene códigos de programa legibles por máquina en el mismo o del mismo.
La presente descripción se describe con referencia a diagramas de flujo y a diagramas de bloques del método, dispositivos y sistemas de acuerdo con ejemplos de la presente descripción. Aunque los diagramas de flujo descritos anteriormente muestran un orden de ejecución específico, el orden de ejecución puede diferir del que se muestra.
Los bloques descritos en relación con un diagrama de flujo pueden combinarse con los de otro diagrama de flujo. Se entenderá que al menos algunos bloques en los diagramas de flujo y en los diagramas de bloques, así como combinaciones de los mismos, pueden realizarse mediante instrucciones legibles por máquina.
Las instrucciones legibles por máquina pueden, por ejemplo, ejecutarse mediante un ordenador de propósito general, un ordenador de propósito especial, un procesador integrado o procesadores de otros dispositivos programables de procesamiento de datos para realizar las funciones descritas en la descripción y en los diagramas. En particular, un procesador o circuitos de procesamiento pueden ejecutar las instrucciones legibles por máquina. Por lo tanto, los módulos funcionales del aparato y los dispositivos (por ejemplo, circuitos lógicos y/o controladores) pueden implementarse mediante un procesador que ejecuta instrucciones legibles por máquina almacenadas en una memoria, o mediante un procesador que funciona de acuerdo con instrucciones integradas en los circuitos lógicos. El término "procesador" debe interpretarse de manera amplia para incluir una CPU, una unidad de procesamiento, ASIC, una unidad lógica o un conjunto de compuertas programables, etc. Los métodos y módulos funcionales pueden todos realizarse mediante un solo procesador o dividirse entre varios procesadores.
Tales instrucciones legibles por máquina también pueden almacenarse en un almacenamiento legible por máquina (por ejemplo, un medio tangible legible por máquina) que puede guiar al ordenador u otros dispositivos programables de procesamiento de datos para funcionar en un modo específico.
Dichas instrucciones legibles por máquina también pueden cargarse en un ordenador u otros dispositivos programables de procesamiento de datos, de modo que el ordenador u otros dispositivos programables de procesamiento de datos realicen una serie de operaciones para producir un procesamiento implementado por ordenador, por lo tanto, las instrucciones ejecutadas en el ordenador u otros dispositivos programables realizan funciones especificadas por los bloques en los diagramas de flujo y/o en los diagramas de bloques.
Además, las enseñanzas en la presente descripción pueden implementarse en la forma de un producto de software de ordenador, donde el producto de software de ordenador se almacena en un medio de almacenamiento y comprende una pluralidad de instrucciones para hacer que un dispositivo informático implemente los métodos enumerados en los ejemplos de la presente descripción.
La invención se define únicamente por el alcance de las reivindicaciones adjuntas.
La palabra "que comprende" no excluye la presencia de elementos distintos de los enumerados en una reivindicación, "un" o "una" no excluye una pluralidad, y un solo procesador u otra unidad puede cumplir las funciones de varias unidades enumeradas en las reivindicaciones.
Las características de cualquier reivindicación dependiente pueden combinarse con las características de cualquiera de las reivindicaciones independientes u otras reivindicaciones dependientes.
Claims (20)
1. Un paquete de circuitos lógicos (204, 400a, 400b, 400c, 400d, 806a-d, 900, 1302, 1401, 1501) para un componente del aparato de impresión reemplazable (104, 200, 802a-d, 802) que es direccionable a través de una primera dirección (1402, 1502) y una segunda dirección reconfigurable (1404, 1504);
el paquete de circuitos lógicos almacena los datos de las características del componente del aparato de impresión y una primera clave (1441, 1541) para la autenticación criptográfica de los datos que se comunican, en donde la primera clave (1441, 1541) se relaciona con una segunda clave para la autenticación criptográfica almacenada en el aparato de impresión (804), en donde el paquete se configura para participar en un primer proceso de validación basado en comunicaciones enviadas a la primera dirección, que comprende enviar una respuesta autenticada criptográficamente que incluye los datos de características encriptados mediante el uso de la primera clave (1441, 1541), y al menos uno de un código de autenticación de mensaje y un identificador de clave de sesión derivado de al menos una de la primera clave (1441, 1541) y la segunda clave, en respuesta a una primera solicitud de validación autenticada criptográficamente a la primera dirección, proporcionar una respuesta autenticada criptográficamente mediante el uso de la primera clave (1441, 1541), en donde el paquete se configura además en respuesta a un comando que incluye un período de tiempo, responder a los comandos dirigidos a una segunda dirección predeterminada, en respuesta a un comando dirigido a la segunda dirección predeterminada, el comando incluye una nueva dirección, reconfigurar la segunda dirección predeterminada para que sea una segunda dirección temporal, en respuesta a una segunda solicitud de validación a la segunda dirección temporal reconfigurada, proporcionar una respuesta que no se encuentre autenticada criptográficamente mediante el uso de la primera clave, participar en un segundo proceso de validación basado en las comunicaciones enviadas a la segunda dirección al enviar respuestas de validación que comprenden un flujo de bits que no se encuentra encriptado mediante el uso de la primera clave y no acompañado de un código de autenticación de mensaje y/o un identificador de clave de sesión, y una vez finalizado el período de tiempo, responde nuevamente a los comandos dirigidos a la primera dirección.
2. El paquete de circuitos lógicos de acuerdo con 1, en donde el paquete de circuitos lógicos se configura para, al recibir un comando posterior indicativo de un período de tiempo enviado a la primera dirección, tener la misma segunda dirección predeterminada.
3. El paquete de circuitos lógicos de acuerdo con la reivindicación 1 o 2, que se configura para restablecer la segunda dirección (1404, 1504) a la misma dirección predeterminada antes o en cada comando, incluido el período de tiempo.
4. El paquete de circuitos lógicos de acuerdo con la reivindicación 3, que comprende un primer y un segundo circuito lógico (402a, 402b, 402c, 402d, 402e, 1403 y 406a, 406b, 406c, 1405, respectivamente) asociados con la primera y segunda dirección (1402 y 1404), respectivamente, el paquete configurado para habilitar el segundo circuito lógico (406a, 406b, 406c, 1405) en respuesta al comando que incluye el período de tiempo, y establecer la segunda dirección inicial (1404) en habilitación.
5. El paquete de circuitos lógicos de acuerdo con cualquier reivindicación anterior, en donde el paquete de circuitos lógicos es compatible con I2C, mediante el uso de direcciones compatibles con I2C.
6. El paquete de circuitos lógicos de acuerdo con cualquier reivindicación anterior, en donde el paquete comprende una memoria (423b, 426, 438, 1461, 1507) que comprende datos de identificación (1437, 1537) configurados para leerse a través de la segunda dirección (1404, 1504).
7. El paquete de circuitos lógicos de acuerdo con cualquier reivindicación anterior que comprende una memoria (423b, 426, 438, 1461, 1507) en donde la memoria comprende al menos un recuento de celdas (1463, 1563).
8. El paquete de circuitos lógicos de acuerdo con la reivindicación 7, en donde al menos un recuento de celdas (1463, 1563) se configura para leerse mediante la segunda dirección (1404, 1504).
9. El paquete de circuitos lógicos de acuerdo con la reivindicación 7 u 8, que comprende al menos una celda (450, 452, 454, 1451, 1453) o un conjunto de celdas (446, 1410, 1412, 1455, 1457) cuyo número corresponde al recuento de celdas almacenadas (1404, 1504).
10. El paquete de circuitos lógicos de acuerdo con cualquier reivindicación anterior, en donde la memoria (423b, 426, 438, 1461, 1507) almacena además un recuento de reloj (1433, 1533).
11. El paquete de circuitos lógicos de acuerdo con la reivindicación 10, en donde el recuento de reloj representa una velocidad de reloj relativa o absoluta de un temporizador (404b, 1435, 1535) del paquete.
12. El paquete de circuitos lógicos de acuerdo con cualquiera de las reivindicaciones anteriores, en donde el paquete comprende un primer modo operativo en el que responde a la comunicación enviada a la primera
dirección y no a la segunda dirección y un segundo modo operativo en el que responde a las comunicaciones enviadas a la dirección reconfigurable y no a la primera dirección.
13. El paquete de circuitos lógicos de acuerdo con cualquier reivindicación anterior, en donde el paquete comprende un primer circuito lógico (402a, 402b, 402c, 402d, 402e, 1403) asociado con la primera dirección y un segundo circuito lógico (406a, 406b, 406c, 1405) asociado con la dirección reconfigurable.
14. El paquete de circuitos lógicos de acuerdo con la reivindicación 13, configurado de modo que el segundo circuito lógico (406a, 406b, 406c, 1405) se habilita selectivamente por el primer circuito lógico (402a, 402b, 402c, 402d, 402e, 1403).
15. El paquete de circuitos lógicos de acuerdo con cualquier reivindicación anterior, en donde el paquete se configura de tal manera que, en respuesta a un primer comando indicativo de una tarea y un primer período de tiempo enviado a la primera dirección, el paquete es accesible a través de al menos una segunda dirección para una duración del período de tiempo.
16. El paquete de circuitos lógicos de acuerdo con la reivindicación 15, que comprende un temporizador (404a, 434, 1429, 1529) para medir el período de tiempo.
17. El paquete de circuitos lógicos de acuerdo con la reivindicación 16, que comprende un segundo temporizador (404b, 1435, 1535) para indicar una velocidad de reloj de los circuitos lógicos durante el período de tiempo.
18. Un componente del aparato de impresión reemplazable (104, 200, 802a-d, 802) que comprende un paquete de circuitos lógicos de acuerdo con cualquier reivindicación anterior, en donde el componente comprende además un volumen de líquido.
19. Un cartucho de impresión (1312) que comprende un paquete de circuitos lógicos de acuerdo con cualquiera de las reivindicaciones 1 a 17 y que tiene una carcasa (1314) que tiene un ancho (W) que es menor que una altura (H), en donde, en una cara frontal, de abajo hacia arriba, se proporcionan una salida de líquido de impresión, una entrada de aire (1318) y una cavidad (1320), respectivamente, la cavidad (1320) se extiende en la parte superior, el paquete comprende contactos de bus I2C (1322), en donde los contactos de bus I2C se proporcionan en un lado de la cavidad (1320) contra un lado interior de una pared lateral de la carcasa (1314) adyacente a la parte superior y frontal de la carcasa, y los contactos de bus I2C (1322) comprenden un contacto de datos, el contacto de datos es el más bajo de los contactos del bus I2C (1322).
20. El cartucho de impresión de acuerdo con la reivindicación 19, en donde se proporciona un circuito lógico (402a, 402b, 402c, 402d, 402e, 1403, 406a, 406b, 406c, 1405) del paquete contra el lado interior de la pared lateral.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2018/063638 WO2020117197A1 (en) | 2018-12-03 | 2018-12-03 | Logic circuitry |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2848998T3 true ES2848998T3 (es) | 2021-08-13 |
Family
ID=64949415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES18830066T Active ES2848998T3 (es) | 2018-12-03 | 2018-12-03 | Circuitos lógicos |
Country Status (17)
Country | Link |
---|---|
US (2) | US11250146B2 (es) |
EP (1) | EP3682359B1 (es) |
JP (1) | JP6995252B1 (es) |
KR (1) | KR20210087506A (es) |
CN (1) | CN113168443A (es) |
AR (1) | AR117235A1 (es) |
AU (1) | AU2018451612B2 (es) |
BR (1) | BR112021010760A2 (es) |
CA (1) | CA3121462A1 (es) |
CL (1) | CL2021001371A1 (es) |
DK (1) | DK3682359T3 (es) |
ES (1) | ES2848998T3 (es) |
MX (1) | MX2021005993A (es) |
PL (1) | PL3682359T3 (es) |
PT (1) | PT3682359T (es) |
TW (1) | TWI743594B (es) |
WO (1) | WO2020117197A1 (es) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3361765A1 (en) * | 2017-02-10 | 2018-08-15 | Kamstrup A/S | Radio frequency communication system and method |
EP3682359B1 (en) * | 2018-12-03 | 2021-01-06 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
WO2022086539A1 (en) * | 2020-10-22 | 2022-04-28 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
TWI808694B (zh) * | 2022-03-23 | 2023-07-11 | 英業達股份有限公司 | 以電路板之電路傳送指令測試連接介面之裝置、系統及方法 |
Family Cites Families (366)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE1249976B (de) | 1961-06-29 | 1967-09-14 | The National Cash Register Company, Dayton Ohio (V St A) | Nach Art einer erneut startbaren monostabilen Kippstufe arbeitende Steuereinrichtung |
US3553483A (en) | 1968-12-09 | 1971-01-05 | Cook Machinery Co Inc | Programing mechanism |
US3614576A (en) | 1969-12-08 | 1971-10-19 | Dytro Corp | Print wheel positioning system |
US4074284A (en) | 1976-06-07 | 1978-02-14 | Silonics, Inc. | Ink supply system and print head |
US4506276A (en) | 1977-06-16 | 1985-03-19 | System Industries, Inc. | Ink supply system |
DE2967046D1 (en) | 1978-04-21 | 1984-07-19 | Baldwin Gegenheimer Corp | Ink level control apparatus |
JPS58192188A (ja) | 1982-05-06 | 1983-11-09 | Alps Electric Co Ltd | ペン式記録装置の駆動方法 |
DE3427659A1 (de) | 1983-07-29 | 1985-02-07 | Canon K.K., Tokio/Tokyo | Vorlagenleser |
US4639738A (en) | 1985-04-12 | 1987-01-27 | Eastman Kodak Company | Ink level detection system for ink jet printing apparatus |
US5142909A (en) | 1986-09-29 | 1992-09-01 | Baughman James S | Material level indicator |
DE3712699A1 (de) | 1987-04-14 | 1988-11-03 | Wolfgang Dr Ruhrmann | Sensor |
US5079570A (en) | 1989-10-18 | 1992-01-07 | Hewlett-Packard Company | Capillary reservoir binary ink level sensor |
US5045811A (en) | 1990-02-02 | 1991-09-03 | Seagate Technology, Inc. | Tuned ring oscillator |
US5001596A (en) | 1990-05-07 | 1991-03-19 | Therm-O-Disc, Incorporated | Capacitive fluid level sensor |
JPH04220353A (ja) | 1990-12-20 | 1992-08-11 | Fujitsu Ltd | インク残量検知方法 |
US5745137A (en) | 1992-08-12 | 1998-04-28 | Hewlett-Packard Company | Continuous refill of spring bag reservoir in an ink-jet swath printer/plotter |
US5757406A (en) | 1992-08-12 | 1998-05-26 | Hewlett-Packard Company | Negative pressure ink delivery system |
JPH0548446A (ja) | 1991-08-09 | 1993-02-26 | Sony Corp | 半導体集積回路 |
US5293424A (en) * | 1992-10-14 | 1994-03-08 | Bull Hn Information Systems Inc. | Secure memory card |
US5680960A (en) | 1993-03-05 | 1997-10-28 | Keyes; Denis E. | Volumetric fluid dispensing apparatus |
US5438351A (en) | 1993-05-27 | 1995-08-01 | Xerox Corporation | Vacuum priming diagnostic cartridge |
US5369429A (en) | 1993-10-20 | 1994-11-29 | Lasermaster Corporation | Continuous ink refill system for disposable ink jet cartridges having a predetermined ink capacity |
US5471176A (en) | 1994-06-07 | 1995-11-28 | Quantum Corporation | Glitchless frequency-adjustable ring oscillator |
US5751323A (en) | 1994-10-04 | 1998-05-12 | Hewlett-Packard Company | Adhesiveless printhead attachment for ink-jet pen |
US5583544A (en) | 1994-10-06 | 1996-12-10 | Videojet Systems International, Inc. | Liquid level sensor for ink jet printers |
US5777646A (en) | 1995-12-04 | 1998-07-07 | Hewlett-Packard Company | Self-sealing fluid inerconnect with double sealing septum |
US5699091A (en) | 1994-12-22 | 1997-12-16 | Hewlett-Packard Company | Replaceable part with integral memory for usage, calibration and other data |
CA2164536A1 (en) | 1995-01-03 | 1996-07-04 | William G. Hawkins | Ink supply identification system |
JPH0939265A (ja) | 1995-07-29 | 1997-02-10 | Seiko Epson Corp | プリンタにおけるインクカートリッヂ並びにその識別装置 |
US5682184A (en) | 1995-12-18 | 1997-10-28 | Xerox Corporation | System for sensing ink level and type of ink for an ink jet printer |
US5731824A (en) | 1995-12-18 | 1998-03-24 | Xerox Corporation | Ink level sensing system for an ink jet printer |
JP3564855B2 (ja) | 1996-02-29 | 2004-09-15 | ソニー株式会社 | リングオシレータ及びpll回路 |
JP3368147B2 (ja) | 1996-07-04 | 2003-01-20 | キヤノン株式会社 | プリントヘッドおよびプリント装置 |
US5929875A (en) | 1996-07-24 | 1999-07-27 | Hewlett-Packard Company | Acoustic and ultrasonic monitoring of inkjet droplets |
US5788388A (en) | 1997-01-21 | 1998-08-04 | Hewlett-Packard Company | Ink jet cartridge with ink level detection |
US6151039A (en) | 1997-06-04 | 2000-11-21 | Hewlett-Packard Company | Ink level estimation using drop count and ink level sense |
EP1287998B1 (en) | 1997-06-04 | 2006-03-29 | Hewlett-Packard Company | Ink delivery system adapter |
JP3618514B2 (ja) | 1997-06-06 | 2005-02-09 | 理想科学工業株式会社 | バッグインカートン及びこれを用いた液体残量検知装置 |
US5964718A (en) | 1997-11-21 | 1999-10-12 | Mercury Diagnostics, Inc. | Body fluid sampling device |
US6089687A (en) | 1998-03-09 | 2000-07-18 | Hewlett-Packard Company | Method and apparatus for specifying ink volume in an ink container |
TW382089B (en) | 1998-06-16 | 2000-02-11 | Asustek Comp Inc | System clock frequency switching device and method for computer motherboard |
DE19906826B4 (de) | 1998-09-01 | 2005-01-27 | Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto | Auf Druck basierender Tintenpegeldetektor und Verfahren zum Erfassen eines Tintenpegels |
US6981215B1 (en) | 1998-12-31 | 2005-12-27 | Microsoft Corp. | System for converting event-driven code into serially executed code |
US6322189B1 (en) | 1999-01-13 | 2001-11-27 | Hewlett-Packard Company | Multiple printhead apparatus with temperature control and method |
US6098457A (en) | 1999-01-18 | 2000-08-08 | Cts Corporation | Fluid level detector using thermoresistive sensor |
US6729707B2 (en) | 2002-04-30 | 2004-05-04 | Hewlett-Packard Development Company, L.P. | Self-calibration of power delivery control to firing resistors |
JP2001063097A (ja) | 1999-04-27 | 2001-03-13 | Canon Inc | 液体供給システム及び該システムに用いられる液体供給容器 |
US6312074B1 (en) | 1999-04-30 | 2001-11-06 | Hewlett-Packard Company | Method and apparatus for detecting fluid level in a fluid container |
DE19920921B4 (de) | 1999-05-06 | 2005-03-03 | Artech Gmbh Design + Production In Plastic | Tintenversorgungstank für einen Tintenstrahldruckkopf |
GB9920301D0 (en) | 1999-08-27 | 1999-11-03 | Philipp Harald | Level sensing |
US6402299B1 (en) | 1999-10-22 | 2002-06-11 | Lexmark International, Inc. | Tape automated bonding circuit for use with an ink jet cartridge assembly in an ink jet printer |
JP2001175584A (ja) | 1999-12-16 | 2001-06-29 | Ricoh Co Ltd | オプション機器の制御方法 |
DE60026804T2 (de) | 2000-01-05 | 2006-10-19 | Hewlett-Packard Development Co., L.P., Houston | Tintenstrahlschreiber mit einem zweiteiligen Deckel |
US6431670B1 (en) | 2000-02-14 | 2002-08-13 | Hewlett-Packard Company | Ink level sensing method and apparatus |
JP2001292133A (ja) | 2000-04-06 | 2001-10-19 | Konica Corp | クロック発生装置、基板および画像形成装置ならびにクロック発生方法 |
JP2001301189A (ja) | 2000-04-18 | 2001-10-30 | Canon Inc | 記録用液体タンク、および、それを備える記録装置 |
WO2001087626A1 (fr) | 2000-05-18 | 2001-11-22 | Seiko Epson Corporation | Procede et dispositif de detection de consommation d'encre |
US6827411B2 (en) | 2000-06-16 | 2004-12-07 | Canon Kabushiki Kaisha | Solid semiconductor element, ink tank, ink jet recording apparatus provided with ink tank, liquid information acquiring method and liquid physical property change discriminating method |
US20020012616A1 (en) | 2000-07-03 | 2002-01-31 | Xiaochuan Zhou | Fluidic methods and devices for parallel chemical reactions |
CA2507422A1 (en) | 2000-07-07 | 2002-01-17 | Seiko Epson Corporation | Liquid container, ink jet recording apparatus, apparatus and method for controlling the same, apparatus and method for detecting liquid consumption state |
JP2002026471A (ja) | 2000-07-10 | 2002-01-25 | Canon Inc | フレキシブルプリント配線板ならびにこれを用いた液体吐出ヘッド,ヘッドカートリッジおよび画像形成装置 |
US6299273B1 (en) | 2000-07-14 | 2001-10-09 | Lexmark International, Inc. | Method and apparatus for thermal control of an ink jet printhead |
TW505572B (en) | 2000-10-20 | 2002-10-11 | Internat United Technoloy Co L | Ink container with pressure regulation device |
TW503186B (en) | 2001-02-02 | 2002-09-21 | Benq Corp | Detecting device for ink storage |
CA2371040A1 (en) | 2001-02-09 | 2002-08-09 | Nobuyuki Hatasa | Liquid container and recording apparatus |
US6648434B2 (en) | 2001-03-08 | 2003-11-18 | Hewlett-Packard Development Company, L.P. | Digitally compensated pressure ink level sense system and method |
US6546796B2 (en) | 2001-03-15 | 2003-04-15 | Therm-O-Disc, Incorporated | Liquid level sensor |
US6456802B1 (en) | 2001-04-02 | 2002-09-24 | Hewlett-Packard Co. | Capacity determination for toner or ink cartridge |
US6908179B2 (en) | 2001-04-04 | 2005-06-21 | Eastman Kodak Company | Ink level and negative pressure control in an ink jet printer |
US6494553B1 (en) | 2001-06-11 | 2002-12-17 | Xerox Corporation | Ink level sensing for ink printer |
US20030009595A1 (en) | 2001-07-09 | 2003-01-09 | Roger Collins | System and method for compressing data using field-based code word generation |
JP3577011B2 (ja) | 2001-07-31 | 2004-10-13 | キヤノン株式会社 | インクの残量検出方法およびインクジェット記録装置 |
CN2587643Y (zh) | 2001-11-26 | 2003-11-26 | 精工爱普生株式会社 | 墨盒及使用墨盒的喷墨记录装置 |
KR100403600B1 (ko) | 2001-12-20 | 2003-10-30 | 삼성전자주식회사 | 잉크 카트리지 및 이를 채용한 잉크젯 프린터 |
JP2003326726A (ja) | 2002-05-16 | 2003-11-19 | Sii Printek Inc | インクジェットヘッド及びインク吐出検査装置 |
JP3849867B2 (ja) | 2002-07-24 | 2006-11-22 | ソニー株式会社 | 液体検出装置及び液体量検出装置 |
US6802581B2 (en) | 2002-07-30 | 2004-10-12 | Hewlett-Packard Development Company, L.P. | Method, program product and system for ink management control |
US7077506B2 (en) | 2002-08-01 | 2006-07-18 | Benq Corporation | Identifiable inkjet cartridge and method of preventing misplacing inkjet cartridge in an inkjet apparatus |
US7201463B2 (en) | 2002-08-12 | 2007-04-10 | Seiko Epson Corporation | Container for printing material and detector used for container |
EP1389531B1 (en) | 2002-08-12 | 2007-07-18 | Seiko Epson Corporation | Container for printing material, technique of detecting information on printing material in container, and technique of allowing for transmission of information between container and printing device |
US7039734B2 (en) | 2002-09-24 | 2006-05-02 | Hewlett-Packard Development Company, L.P. | System and method of mastering a serial bus |
US6811250B2 (en) | 2002-11-19 | 2004-11-02 | Lexmark International, Inc. | Ink conduit plugs for an inkjet printhead and methods of laser welding same |
US7740347B2 (en) | 2002-12-02 | 2010-06-22 | Silverbrook Research Pty Ltd | Ink usage tracking in a cartridge for a mobile device |
US7152942B2 (en) | 2002-12-02 | 2006-12-26 | Silverbrook Research Pty Ltd | Fixative compensation |
US7529868B2 (en) | 2002-12-20 | 2009-05-05 | Transact Technologies Incorporated | Method and apparatus for controlling a peripheral via different data ports |
CN2603934Y (zh) | 2003-01-16 | 2004-02-18 | 杨伟雄 | 电子弹簧秤 |
US6685290B1 (en) | 2003-01-30 | 2004-02-03 | Hewlett-Packard Development Company, L.P. | Printer consumable having data storage for static and dynamic calibration data, and methods |
JP2004266783A (ja) | 2003-02-04 | 2004-09-24 | Vanfu Inc | 色画像印刷準備に於けるカラー・マッチング方法 |
CA2461959C (en) | 2003-03-26 | 2012-07-24 | Seiko Epson Corporation | Liquid container |
US6959599B2 (en) | 2003-04-10 | 2005-11-01 | Robert Feldstein | Level detector for storage tanks for fluids |
US7630304B2 (en) | 2003-06-12 | 2009-12-08 | Hewlett-Packard Development Company, L.P. | Method of overflow recovery of I2C packets on an I2C router |
US7240130B2 (en) | 2003-06-12 | 2007-07-03 | Hewlett-Packard Development Company, L.P. | Method of transmitting data through an 12C router |
US6796644B1 (en) | 2003-06-18 | 2004-09-28 | Lexmark International, Inc. | Ink source regulator for an inkjet printer |
WO2005000591A1 (ja) | 2003-06-26 | 2005-01-06 | Seiko Epson Corporation | 消耗品の残存量を計測可能な消耗品容器 |
US6902256B2 (en) | 2003-07-16 | 2005-06-07 | Lexmark International, Inc. | Ink jet printheads |
FR2859128B1 (fr) | 2003-08-29 | 2006-03-10 | Centre Nat Rech Scient | Procede et dispositif de fabrication d'un composant multimateriaux tridimensionnel par impression du type jet d'encre |
KR100497401B1 (ko) | 2003-10-29 | 2005-06-23 | 삼성전자주식회사 | 온도 센서 편차 보정 방법 및 장치 |
US7233876B2 (en) | 2003-12-05 | 2007-06-19 | Steris Inc. | Data acquisition system providing dual monitoring of sensor data |
US6966222B2 (en) | 2003-12-08 | 2005-11-22 | Hewlett-Packard Development Company, L.P. | Methods and apparatus for media level measurement |
US20050126282A1 (en) | 2003-12-16 | 2005-06-16 | Josef Maatuk | Liquid sensor and ice detector |
KR100633666B1 (ko) | 2004-02-25 | 2006-10-12 | 엘지전자 주식회사 | 홈 네트워크 시스템 및 그 제어 방법 |
JP4581440B2 (ja) | 2004-03-16 | 2010-11-17 | セイコーエプソン株式会社 | 液体カートリッジ |
US7107838B2 (en) | 2004-04-19 | 2006-09-19 | Fook Tin Technologies Ltd. | Apparatus and methods for monitoring water consumption and filter usage |
WO2005106403A2 (en) | 2004-04-21 | 2005-11-10 | Therm-O-Disc, Inc | Multi-function sensor |
US7093989B2 (en) | 2004-05-27 | 2006-08-22 | Silverbrook Research Pty Ltd | Printer comprising two uneven printhead modules and at least two printer controllers, one which spends print data to the other |
JP4525212B2 (ja) | 2004-07-07 | 2010-08-18 | 船井電機株式会社 | 熱転写プリンタ |
WO2006009235A1 (en) | 2004-07-22 | 2006-01-26 | Canon Kabushiki Kaisha | Ink jet recording head and recording apparatus |
GB0418991D0 (en) | 2004-08-25 | 2004-09-29 | Nujira Ltd | High efficiency variable voltage supply |
CN2734479Y (zh) | 2004-09-05 | 2005-10-19 | 珠海纳思达电子科技有限公司 | 利用电极片感应墨水量的墨盒 |
JP2006099410A (ja) | 2004-09-29 | 2006-04-13 | Mitsubishi Electric Corp | I2cバス制御方法 |
JP4706421B2 (ja) | 2004-11-15 | 2011-06-22 | セイコーエプソン株式会社 | 液体消費装置に液体を供給する液体収容容器用の液体検出装置、及びこの液体検出装置を内蔵した液体収容容器 |
JP4047328B2 (ja) | 2004-12-24 | 2008-02-13 | キヤノン株式会社 | 液体収納容器、該容器を用いる液体供給システムおよび記録装置、並びに前記容器用回路基板 |
JP2006224395A (ja) | 2005-02-16 | 2006-08-31 | Seiko Epson Corp | 機能液供給装置の制御方法、機能液供給装置、液滴吐出装置、電気光学装置の製造方法、電気光学装置、および電子機器 |
FR2885710B1 (fr) | 2005-05-11 | 2007-08-03 | Stmicroelectronics Maroc | Selection d'adresse pour bus i2c |
KR100677593B1 (ko) | 2005-06-01 | 2007-02-02 | 삼성전자주식회사 | 잉크젯 프린터에서 프린트헤드 온도 감지 장치 및 방법 |
KR100667804B1 (ko) | 2005-06-24 | 2007-01-11 | 삼성전자주식회사 | 잉크 잔량 검출 장치 및 방법 |
KR100694134B1 (ko) | 2005-07-05 | 2007-03-12 | 삼성전자주식회사 | 잉크잔량 감지수단을 구비한 잉크 카트리지 |
JP2007030508A (ja) | 2005-07-26 | 2007-02-08 | Oce Technol Bv | インクジェットプリンタの改良された制御方法、及びインクジェットプリンタ |
TWI309779B (en) | 2005-08-12 | 2009-05-11 | Hon Hai Prec Ind Co Ltd | Testing system and testing method for link control card |
JP4961802B2 (ja) | 2006-03-31 | 2012-06-27 | ブラザー工業株式会社 | インクカートリッジ |
US8721203B2 (en) | 2005-10-06 | 2014-05-13 | Zih Corp. | Memory system and method for consumables of a printer |
US20070088816A1 (en) | 2005-10-14 | 2007-04-19 | Dell Products L.P. | System and method for monitoring the status of a bus in a server environment |
US7458656B2 (en) | 2005-11-21 | 2008-12-02 | Hewlett-Packard Development Company, L.P. | Measuring a pressure difference |
US7380042B2 (en) | 2005-11-22 | 2008-05-27 | Dell Products L.P. | Method of detecting and monitoring master device communication on system bus |
JP4939184B2 (ja) | 2005-12-15 | 2012-05-23 | キヤノン株式会社 | 液体吐出ヘッドの製造方法 |
JP4144637B2 (ja) | 2005-12-26 | 2008-09-03 | セイコーエプソン株式会社 | 印刷材収容体、基板、印刷装置および印刷材収容体を準備する方法 |
US20080041152A1 (en) | 2006-01-06 | 2008-02-21 | Schoenberg Gregory B | Fuel level sensor apparatus |
US8562645B2 (en) | 2006-09-29 | 2013-10-22 | Biomet Sports Medicine, Llc | Method and apparatus for forming a self-locking adjustable loop |
CN101405939A (zh) | 2006-03-21 | 2009-04-08 | Nxp股份有限公司 | 极低功耗的伪同步小尺寸寄存器设计及其实现方法 |
US20070247497A1 (en) | 2006-04-25 | 2007-10-25 | Lexmark International Inc. | Ink supply systems and methods for inkjet printheads |
JP2008012911A (ja) | 2006-06-07 | 2008-01-24 | Canon Inc | 液体吐出ヘッド、及び液体吐出ヘッドの製造方法 |
KR20080003539A (ko) | 2006-07-03 | 2008-01-08 | 삼성전자주식회사 | 화상 형성 장치와 소모품에 장착된 비휘발성 메모리 간의통신 방법 및 시스템 |
JP2008030219A (ja) | 2006-07-26 | 2008-02-14 | Seiko Epson Corp | 液体噴射装置、液体収容体、及び液体収容体の液体残量判定方法 |
JP4400647B2 (ja) | 2006-07-28 | 2010-01-20 | セイコーエプソン株式会社 | 液体収容体 |
US20100138745A1 (en) | 2006-11-15 | 2010-06-03 | Depth Analysis Pty Ltd. | Systems and methods for managing the production of a free-viewpoint and video-based animation |
US20080143476A1 (en) | 2006-12-14 | 2008-06-19 | The Hong Kong Polytechnic University | Physimetric authentication of physical object by digital identification (DID) |
US20080298455A1 (en) | 2006-12-15 | 2008-12-04 | International Rectifier Corporation | Clock generator including a ring oscillator with precise frequency control |
US20080165232A1 (en) | 2007-01-10 | 2008-07-10 | Kenneth Yuen | Ink cartridge |
EP1974815A1 (en) | 2007-03-23 | 2008-10-01 | Koninklijke Philips Electronics N.V. | Integrated micofluidic device with sensing and control circuits |
GB2447985B (en) | 2007-03-30 | 2011-12-28 | Wolfson Microelectronics Plc | Pattern detection circuitry |
US20080246626A1 (en) | 2007-04-03 | 2008-10-09 | Vizionware, Inc. | Data transaction direction detection in an adaptive two-wire bus |
US20080307134A1 (en) | 2007-06-05 | 2008-12-11 | Geissler Andrew J | I2C bus interface and protocol for thermal and power management support |
US7890690B2 (en) | 2007-06-07 | 2011-02-15 | International Business Machines Corporation | System and method for dual-ported flash memory |
US7886197B2 (en) | 2007-06-14 | 2011-02-08 | Xerox Corporation | Systems and methods for protecting device from change due to quality of replaceable components |
US9137093B1 (en) | 2007-07-02 | 2015-09-15 | Comscore, Inc. | Analyzing requests for data made by users that subscribe to a provider of network connectivity |
JP2009023187A (ja) | 2007-07-19 | 2009-02-05 | Citizen Holdings Co Ltd | プリントシステム |
GB0720290D0 (en) | 2007-10-12 | 2007-11-28 | Videojet Technologies Inc | Ink jet printer |
US7841712B2 (en) | 2007-12-31 | 2010-11-30 | Lexmark International, Inc. | Automatic printhead and tank install positioning |
CN101477506A (zh) | 2008-01-04 | 2009-07-08 | 鸿富锦精密工业(深圳)有限公司 | 主设备对从设备的定址系统及其方法 |
US7970042B2 (en) | 2008-01-11 | 2011-06-28 | Lexmark International, Inc. | Spread spectrum clock interoperability control and inspection circuit |
JP5273536B2 (ja) | 2008-03-21 | 2013-08-28 | 富士ゼロックス株式会社 | 画像形成装置、消耗品収納装置および情報記憶備品 |
EP2280756B1 (en) | 2008-04-29 | 2014-07-23 | St. Jude Medical AB | An implantable medical lead and a method of manufacturing thereof |
WO2009140112A1 (en) | 2008-05-13 | 2009-11-19 | Rambus Inc. | Fractional program commands for memory devices |
PL2927815T3 (pl) | 2008-05-21 | 2017-11-30 | Hewlett-Packard Development Company, L.P. | Wielopunktowa szyna szeregowa z wykrywaniem położenia i sposób wykrywania położenia |
JP5088694B2 (ja) | 2008-05-26 | 2012-12-05 | セイコーエプソン株式会社 | 液体容器およびその製造方法 |
JP5104548B2 (ja) | 2008-05-27 | 2012-12-19 | セイコーエプソン株式会社 | 液体供給システムおよびその製造方法 |
KR101485624B1 (ko) | 2008-05-29 | 2015-01-22 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 교체 가능한 프린터 부품의 인증방법 |
US8132899B2 (en) | 2008-06-16 | 2012-03-13 | Eastman Kodak Company | Ink tank for inkjet printers |
ATE543139T1 (de) | 2008-07-16 | 2012-02-15 | St Microelectronics Rousset | Schnittstelle zwischen einem doppelleitungsbus und einem einzelleitungsbus |
JP2010079199A (ja) | 2008-09-29 | 2010-04-08 | Fuji Xerox Co Ltd | 情報記憶通信装置 |
US20100082271A1 (en) | 2008-09-30 | 2010-04-01 | Mccann James D | Fluid level and concentration sensor |
US8224602B2 (en) | 2008-11-11 | 2012-07-17 | Nxp B.V. | Automatic on-demand prescale calibration across multiple devices with independent oscillators over an I2C Bus interface |
US8386723B2 (en) | 2009-02-11 | 2013-02-26 | Sandisk Il Ltd. | System and method of host request mapping |
JP5644052B2 (ja) | 2009-02-17 | 2014-12-24 | 株式会社リコー | 画像形成装置、インクカートリッジ装着確認方法及びプログラム |
JP5478101B2 (ja) | 2009-03-31 | 2014-04-23 | シスメックス株式会社 | 試薬調製装置および検体処理システム |
EP2237163B1 (en) | 2009-04-01 | 2013-05-01 | Seiko Epson Corporation | System having a plurality of memory devices and data transfer method for the same |
JP5445073B2 (ja) | 2009-11-27 | 2014-03-19 | セイコーエプソン株式会社 | 複数の記憶装置を備えるシステム及びそのためのデータ転送方法 |
US8782326B2 (en) | 2009-04-01 | 2014-07-15 | Seiko Epson Corporation | Memory device and system including a memory device electronically connectable to a host circuit |
US8215018B2 (en) | 2009-04-08 | 2012-07-10 | Canon Kabushiki Kaisha | Method for manufacturing liquid discharge head |
AU2014202104A1 (en) | 2009-05-15 | 2014-05-01 | Seiko Epson Corporation | Recording material supply system, circuit board, structure, and ink cartridge for recording material consumption device |
JP5257236B2 (ja) | 2009-05-20 | 2013-08-07 | 株式会社リコー | 画像形成用媒体収容容器、インクカートリッジ及び画像形成装置 |
US8621116B2 (en) | 2011-08-26 | 2013-12-31 | Lexmark International, Inc. | Dynamic address change optimizations |
US8225021B2 (en) | 2009-05-28 | 2012-07-17 | Lexmark International, Inc. | Dynamic address change for slave devices on a shared bus |
JP5647822B2 (ja) | 2009-07-24 | 2015-01-07 | ローム株式会社 | サーマルプリントヘッド、サーマルプリンタおよびプリンタシステム |
JP5653010B2 (ja) | 2009-07-31 | 2015-01-14 | キヤノン株式会社 | 画像形成装置 |
US20110087914A1 (en) | 2009-08-28 | 2011-04-14 | Enfora, Inc. | I2c buffer clock delay detection method |
JP5515523B2 (ja) | 2009-08-31 | 2014-06-11 | セイコーエプソン株式会社 | 液体噴射装置 |
WO2011037284A1 (ko) | 2009-09-24 | 2011-03-31 | (주)싸이퍼일렉트로닉 | 카트리지칩 기종변환 방법 |
US8489786B2 (en) | 2009-11-09 | 2013-07-16 | Stmicroelectronics International N.V. | Acknowledgement management technique for supported command set of SMBUS/PMBUS slave applications |
US20150074304A1 (en) | 2009-11-13 | 2015-03-12 | Lexmark International, Inc. | Apparatus and method for polling addresses of one or more slave devices in a communications system |
JP5445072B2 (ja) | 2009-11-27 | 2014-03-19 | セイコーエプソン株式会社 | 複数の記憶装置を備えるシステム及びそのためのデータ転送方法 |
JP5656395B2 (ja) | 2009-12-01 | 2015-01-21 | キヤノン株式会社 | インクジェット記録装置 |
FR2954216B1 (fr) | 2009-12-23 | 2013-02-08 | Markem Imaje | Systeme de mesure dans un circuit de fluides d'une imprimante a jet d'encre continu, circuit de fluides associe et bloc destine a mettre en oeuvre un tel systeme de mesure |
JP5381757B2 (ja) | 2010-01-29 | 2014-01-08 | ブラザー工業株式会社 | インクカートリッジ |
US9582443B1 (en) | 2010-02-12 | 2017-02-28 | Marvell International Ltd. | Serial control channel processor for executing time-based instructions |
WO2011102440A1 (ja) | 2010-02-22 | 2011-08-25 | セイコーエプソン株式会社 | 記憶装置、基板、液体容器及びシステム |
US8562091B2 (en) | 2010-03-09 | 2013-10-22 | Xerox Corporation | Apparatus and method for detecting ink in a reservoir using an overdriven thermistor and an electrical conductor extending from the thermistor |
EP2558300B1 (en) | 2010-04-12 | 2016-11-02 | ZIH Corp. | Printer mobility and scalability |
US8812889B2 (en) | 2010-05-05 | 2014-08-19 | Broadcom Corporation | Memory power manager |
TW201208895A (en) | 2010-05-17 | 2012-03-01 | Silverbrook Res Pty Ltd | System for transporting media in printer |
US8723335B2 (en) | 2010-05-20 | 2014-05-13 | Sang-Yun Lee | Semiconductor circuit structure and method of forming the same using a capping layer |
JP5556371B2 (ja) | 2010-05-25 | 2014-07-23 | セイコーエプソン株式会社 | 記憶装置、基板、液体容器、データ記憶部に書き込むべきデータをホスト回路から受け付ける方法、ホスト回路に対し電気的に接続可能な記憶装置を含むシステム |
JP5393596B2 (ja) | 2010-05-31 | 2014-01-22 | キヤノン株式会社 | インクジェット記録装置 |
US9477634B2 (en) | 2010-06-04 | 2016-10-25 | Intersil Americas LLC | I2C address translation |
US8438919B2 (en) | 2010-07-23 | 2013-05-14 | Rosemount Aerospace Inc. | Systems and methods for liquid level sensing having a differentiating output |
IT1401525B1 (it) | 2010-08-13 | 2013-07-26 | Isanik S R L | Dispositivo sensore per misurare il flusso e/o il livello di un fluido o di una sostanza presente in un contenitore. |
CN201761148U (zh) | 2010-08-30 | 2011-03-16 | 珠海天威飞马打印耗材有限公司 | 墨盒 |
US8764172B2 (en) | 2010-09-03 | 2014-07-01 | Seiko Epson Corporation | Printing apparatus, printing material cartridge, adaptor for printing material container, and circuit board |
JP5720148B2 (ja) | 2010-09-03 | 2015-05-20 | セイコーエプソン株式会社 | 印刷材カートリッジ、及び、印刷材供給システム |
JP2012063770A (ja) | 2010-09-15 | 2012-03-29 | Samsung Electronics Co Ltd | 消耗品ユニットを備えた画像形成装置及びその電源供給方法 |
JP5692503B2 (ja) | 2010-09-16 | 2015-04-01 | 株式会社リコー | インクジェットヘッド、それを備えた画像形成装置およびインクジェットヘッドの製造方法 |
US8892798B2 (en) | 2010-09-27 | 2014-11-18 | Stmicroelectronics (Rousset) Sas | Identification, by a master circuit, of two slave circuits connected to a same bus |
US9454504B2 (en) | 2010-09-30 | 2016-09-27 | Hewlett-Packard Development Company, L.P. | Slave device bit sequence zero driver |
EP2621726B1 (en) | 2010-09-30 | 2020-05-06 | Hewlett-Packard Development Company, L.P. | Thermal sensing fluid ejection assembly and method |
US8990467B2 (en) | 2010-10-12 | 2015-03-24 | Canon Kabushiki Kaisha | Printing apparatus and operation setting method thereof |
ES2770150T3 (es) | 2010-10-22 | 2020-06-30 | Hewlett Packard Development Co | Cartucho de fluido |
US8651643B2 (en) | 2010-10-22 | 2014-02-18 | Hewlett-Packard Development Company, L.P. | Fluid cartridge |
CN108909192A (zh) | 2010-10-27 | 2018-11-30 | 惠普发展公司,有限责任合伙企业 | 压力袋 |
GB201019683D0 (en) | 2010-11-19 | 2011-01-05 | Domino Printing Sciences Plc | Improvements in or relating to inkjet printers |
JP5694752B2 (ja) * | 2010-12-15 | 2015-04-01 | キヤノン株式会社 | インクジェット記録装置 |
US8454137B2 (en) | 2010-12-21 | 2013-06-04 | Eastman Kodak Company | Biased wall ink tank with capillary breather |
US8350628B1 (en) | 2011-02-15 | 2013-01-08 | Western Digital Technologies, Inc. | Gate speed regulator dithering ring oscillator to match critical path circuit |
US8731002B2 (en) | 2011-03-25 | 2014-05-20 | Invensense, Inc. | Synchronization, re-synchronization, addressing, and serialized signal processing for daisy-chained communication devices |
US9132656B2 (en) | 2011-05-31 | 2015-09-15 | Funai Electric Co., Ltd. | Consumable supply item with fluid sensing and pump enable for micro-fluid applications |
CN102231054B (zh) | 2011-06-08 | 2013-01-02 | 珠海天威技术开发有限公司 | 芯片及芯片数据通信方法、耗材容器、成像设备 |
EP2723573B1 (en) | 2011-06-27 | 2021-04-28 | Hewlett-Packard Development Company, L.P. | Ink level sensor and related methods |
US10124582B2 (en) | 2011-07-01 | 2018-11-13 | Hewlett-Packard Development Company, L.P. | Method and apparatus to regulate temperature of printheads |
US9016593B2 (en) | 2011-07-11 | 2015-04-28 | Ecobee, Inc. | HVAC controller with dynamic temperature compensation |
CA2838514C (en) | 2011-07-27 | 2017-10-03 | Hewlett Packard Development Company, L.P. | Fluid level sensor and related methods |
US8556394B2 (en) | 2011-07-27 | 2013-10-15 | Hewlett-Packard Development Company, L.P. | Ink supply |
US9231926B2 (en) * | 2011-09-08 | 2016-01-05 | Lexmark International, Inc. | System and method for secured host-slave communication |
US9208476B2 (en) | 2011-09-12 | 2015-12-08 | Microsoft Technology Licensing, Llc | Counting and resetting broadcast system badge counters |
US8864277B2 (en) | 2011-09-30 | 2014-10-21 | Hewlett-Packard Development Company, L.P. | Authentication systems and methods |
BR112014007538B1 (pt) | 2011-09-30 | 2020-06-02 | Hewlett-Packard Development Company, L.P. | Sistema de autenticação e cartucho de tinta |
JP5780917B2 (ja) | 2011-10-25 | 2015-09-16 | キヤノン株式会社 | インクジェット記録ヘッド用配線保護封止剤、並びに、それを用いたインクジェット記録ヘッド及びその製造方法 |
CN103085487B (zh) | 2011-11-04 | 2015-04-22 | 珠海艾派克微电子有限公司 | 一种带自适应触点的成像盒芯片、成像盒及其自适应方法 |
WO2013077012A1 (ja) | 2011-11-25 | 2013-05-30 | 三菱電機株式会社 | 通信装置、通信方法、及び通信システム |
EP2857206A1 (en) | 2012-01-12 | 2015-04-08 | Seiko Epson Corporation | Cartridge and printing material supply system |
US8888207B2 (en) * | 2012-02-10 | 2014-11-18 | Visualant, Inc. | Systems, methods and articles related to machine-readable indicia and symbols |
US9787095B2 (en) | 2012-03-15 | 2017-10-10 | Abb S.P.A. | Method for managing the load profile of a low or medium voltage electric network and a control system thereof |
JP2013197677A (ja) | 2012-03-16 | 2013-09-30 | Ricoh Co Ltd | 画像処理装置、画像形成装置、異常管理処理方法及び異常管理処理プログラム |
JP5487230B2 (ja) | 2012-03-21 | 2014-05-07 | 東芝テック株式会社 | 部品支持装置およびインクジェット装置 |
US9357881B2 (en) | 2012-03-31 | 2016-06-07 | Pitco Frialator, Inc. | Oil level detection system for deep fat fryer |
US10214019B2 (en) | 2012-04-30 | 2019-02-26 | Hewlett-Packard Development Company, L.P. | Flexible substrate with integrated circuit |
PL3263347T3 (pl) | 2012-04-30 | 2018-10-31 | Hewlett-Packard Development Company, L.P. | Giętkie podłoże z układem scalonym |
CN102736627B (zh) | 2012-06-05 | 2014-12-24 | 燕山大学 | 多智能体目标搜捕自主决策协调控制装置 |
US8898358B2 (en) | 2012-07-04 | 2014-11-25 | International Business Machines Corporation | Multi-protocol communication on an I2C bus |
US9194734B2 (en) | 2012-07-09 | 2015-11-24 | United Technologies Corporation | Liquid level sensor system |
US8558577B1 (en) | 2012-07-31 | 2013-10-15 | Hewlett-Packard Development Company, L.P. | Systems and methods for bidirectional signal separation |
EP3263340B1 (en) | 2012-08-30 | 2018-12-12 | Hewlett-Packard Development Company, L.P. | Replaceable printing component with factory identity code |
WO2014045128A2 (en) | 2012-09-24 | 2014-03-27 | Funai Electric Co., Ltd. | Fluid level sensing apparatus and method of using the same for inkjet printing systems |
FR2996322A1 (fr) | 2012-10-02 | 2014-04-04 | St Microelectronics Rousset | Procede de gestion du fonctionnement d'un circuit connecte sur un bus a deux fils, en particulier un bus i²c, et circuit correspondant |
BR112015012291B1 (pt) | 2012-11-30 | 2021-01-26 | Hewlett-Packard Development Company, L.P. | dispositivo de ejeção de fluido com sensor de nível de tinta integrado |
US8990465B2 (en) | 2012-12-09 | 2015-03-24 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Device presence detection using a single channel of a bus |
US8978487B2 (en) | 2012-12-13 | 2015-03-17 | Blackberry Limited | Capacitive force sensor with magnetic spring |
CN103879149B (zh) | 2012-12-21 | 2015-06-17 | 北大方正集团有限公司 | 一种统计耗墨量的系统 |
US9030682B2 (en) | 2013-01-02 | 2015-05-12 | Static Control Components, Inc. | Systems and methods for universal imaging components |
CN103072380B (zh) | 2013-01-23 | 2015-07-15 | 杭州旗捷科技有限公司 | 墨盒再生控制芯片的使用方法 |
US9400204B2 (en) | 2013-03-13 | 2016-07-26 | Gregory B. Schoenberg | Fuel level sensor |
WO2014144482A1 (en) | 2013-03-15 | 2014-09-18 | Matterfab Corp. | Apparatus and methods for manufacturing |
US9959223B2 (en) | 2013-05-08 | 2018-05-01 | Nxp B.V. | Method and system for interrupt signaling in an inter-integrated circuit (I2C) bus system |
CN104239169A (zh) | 2013-06-14 | 2014-12-24 | 鸿富锦精密工业(深圳)有限公司 | 信号测试卡及方法 |
JP2015004568A (ja) | 2013-06-20 | 2015-01-08 | 愛三工業株式会社 | センサ装置 |
KR101906089B1 (ko) | 2013-07-31 | 2018-10-08 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 소모성 제품의 메모리 내 데이터의 보호 |
WO2015016860A1 (en) | 2013-07-31 | 2015-02-05 | Hewlett-Packard Development Company, L.P. | Printer cartridge and memory device containing a compressed color table |
EP3564037A1 (en) | 2013-07-31 | 2019-11-06 | Hewlett-Packard Development Company, L.P. | Communicating a classification of a consumbable product |
DE102013014100A1 (de) | 2013-08-23 | 2015-02-26 | Hella Kgaa Hueck & Co. | Füllstandssensor mit mehreren Thermoelementen und Verfahren zur Füllstandsmessung |
SG11201601156TA (en) | 2013-08-30 | 2016-03-30 | Hewlett Packard Development Co | Supply authentication via timing challenge response |
CN104417071B (zh) | 2013-09-06 | 2017-11-07 | 珠海艾派克微电子有限公司 | 存储器组、成像盒及更换盒芯片的方法 |
KR20150033895A (ko) * | 2013-09-25 | 2015-04-02 | 삼성전자주식회사 | 소모품 유닛에 탑재 가능한 crum 칩과 이를 인증하는 화상형성장치 및 그 인증 방법 |
JP6232906B2 (ja) * | 2013-10-09 | 2017-11-22 | 富士ゼロックス株式会社 | 画像処理装置及び画像処理プログラム |
WO2015080709A1 (en) | 2013-11-26 | 2015-06-04 | Hewlett-Packard Development Company, Lp | Fluid ejection apparatus with single-side thermal sensor |
US9413356B1 (en) | 2013-12-11 | 2016-08-09 | Marvell International Ltd. | Chip or SoC including fusible logic array and functions to protect logic against reverse engineering |
CN203651218U (zh) | 2013-12-30 | 2014-06-18 | 安徽循环经济技术工程院 | 一种大字符喷码机控制电路 |
US10229078B2 (en) | 2014-01-10 | 2019-03-12 | Philips Lighting Holding B.V. | Multi-master bus |
BR112016017602A2 (pt) | 2014-01-30 | 2018-05-15 | Hewlett Packard Development Co | cabeças de impressão com medição de impedância de placa de sensor |
JP6234255B2 (ja) | 2014-02-03 | 2017-11-22 | キヤノン株式会社 | 液体吐出ヘッドの製造方法および液体吐出ヘッド |
EP3102416B1 (en) | 2014-02-04 | 2021-04-14 | Hewlett-Packard Development Company, L.P. | Sensor assemblies and method to identify ink levels |
WO2015119593A1 (en) | 2014-02-04 | 2015-08-13 | Hewlett-Packard Development Company, L.P. | Encapsulants to retain wires at bond pads |
US9836123B2 (en) | 2014-02-13 | 2017-12-05 | Mide Technology Corporation | Bussed haptic actuator system and method |
GB2519181B (en) | 2014-03-31 | 2015-09-09 | Imagination Tech Ltd | Clock verification |
US9765984B2 (en) | 2014-04-02 | 2017-09-19 | Trane International Inc. | Thermostat temperature compensation modeling |
US9734121B2 (en) | 2014-04-28 | 2017-08-15 | Qualcomm Incorporated | Sensors global bus |
US9108448B1 (en) | 2014-08-06 | 2015-08-18 | Funai Electric Co., Ltd. | Temperature control circuit for an inkjet printhead |
DK3272539T3 (en) | 2014-08-19 | 2019-01-21 | Hewlett Packard Development Co | TRANSFORMATION CARD ON PRINTER CARTRIDGE |
JP6336863B2 (ja) | 2014-09-04 | 2018-06-06 | 東芝テック株式会社 | 液体吐出装置および液体吐出方法 |
US9213927B1 (en) | 2014-10-17 | 2015-12-15 | Lexmark International, Inc. | Methods for setting the address of a module |
US9298908B1 (en) * | 2014-10-17 | 2016-03-29 | Lexmark International, Inc. | Methods and apparatus for setting the address of a module using a voltage |
US9213396B1 (en) | 2014-10-17 | 2015-12-15 | Lexmark International, Inc. | Methods and apparatus for setting the address of a module using a clock |
FR3027669B1 (fr) | 2014-10-22 | 2018-05-25 | Dover Europe Sarl | Dispositif de mesure de niveau dans un reservoir |
WO2016068913A1 (en) | 2014-10-29 | 2016-05-06 | Hewlett-Packard Development Company, L.P. | Fluid ejection device with printhead ink level sensor |
US9813063B2 (en) | 2014-12-23 | 2017-11-07 | Apple Inc. | Method of using a field-effect transistor as a current sensing device |
US11188275B2 (en) | 2015-01-13 | 2021-11-30 | Hewlett-Packard Development Company, L.P. | Anticipating maintenance in a printing device |
FR3032540B1 (fr) | 2015-02-06 | 2018-09-07 | Dover Europe Sarl | Systeme de protection avancee d'elements consommables ou detachables |
JP6612885B2 (ja) | 2015-02-06 | 2019-11-27 | クアルコム,インコーポレイテッド | シリアルバスのための受信クロック較正 |
KR101980030B1 (ko) | 2015-02-13 | 2019-08-28 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 어드레스 데이터를 포함하는 데이터 패킷을 사용하는 프린트헤드 |
US9573380B2 (en) | 2015-03-23 | 2017-02-21 | Seiko Epson Corporation | Liquid discharging apparatus |
JP2016185664A (ja) | 2015-03-27 | 2016-10-27 | キヤノン株式会社 | 液体吐出装置および液体吐出ヘッドの温度検知方法 |
US10146608B2 (en) | 2015-04-06 | 2018-12-04 | Rambus Inc. | Memory module register access |
JP6579800B2 (ja) | 2015-05-25 | 2019-09-25 | キヤノン株式会社 | インクジェット記録装置 |
US10067895B2 (en) | 2015-06-03 | 2018-09-04 | Lexmark International, Inc. | Systems and methods for asynchronous toggling of I2C data line |
US10412461B2 (en) | 2015-06-12 | 2019-09-10 | Cable Television Laboratories, Inc. | Media streaming with latency minimization |
US10108511B2 (en) | 2015-06-15 | 2018-10-23 | Qualcomm Incorporated | Test for 50 nanosecond spike filter |
JP2017001374A (ja) | 2015-06-16 | 2017-01-05 | 東芝テック株式会社 | 液滴吐出装置、および液体循環装置 |
US10618301B2 (en) | 2015-07-24 | 2020-04-14 | Hewlett-Packard Development Company, L.P. | Semiconductor device including capacitive sensor and ion-sensitive transistor for determining level and ion-concentration of fluid |
BR112017023452B1 (pt) | 2015-07-31 | 2022-12-20 | Hewlett-Packard Development Company, L.P. | Aparelho compreendendo suprimentos de imageamento |
US10406801B2 (en) | 2015-08-21 | 2019-09-10 | Voxel8, Inc. | Calibration and alignment of 3D printing deposition heads |
HUE048045T2 (hu) | 2015-10-28 | 2020-05-28 | Hewlett Packard Development Co | Folyadékszint érzékelés |
WO2017074334A1 (en) | 2015-10-28 | 2017-05-04 | Hewlett-Packard Development Company, L.P. | Relative pressure sensor |
CN108472954A (zh) | 2015-11-25 | 2018-08-31 | 录象射流技术公司 | 用于喷墨打印机的墨水品质传感器和状态监测系统 |
JP2017100426A (ja) | 2015-12-04 | 2017-06-08 | セイコーエプソン株式会社 | 流路部材、液体噴射装置及び流路部材の製造方法 |
US9876794B2 (en) | 2015-12-07 | 2018-01-23 | Lexmark International, Inc. | Systems and methods for authentication of printer supply items |
US10169928B2 (en) | 2015-12-09 | 2019-01-01 | Hitachi, Ltd. | Apparatus for providing data to a hardware-in-the-loop simulator |
US10635629B2 (en) | 2015-12-09 | 2020-04-28 | Lockheed Martin Corporation | Inter-integrated circuit (I2C) bus extender |
WO2017099811A1 (en) | 2015-12-11 | 2017-06-15 | Hewlett-Packard Development Company, L.P. | Collapsible container and sensor |
US10562316B2 (en) | 2016-01-29 | 2020-02-18 | Hewlett-Packard Development Company, L.P. | Printing apparatus and methods for detecting fluid levels |
JP6663238B2 (ja) | 2016-02-10 | 2020-03-11 | キヤノン株式会社 | 画像形成装置、その制御方法、プログラム、及びカートリッジ |
US9886571B2 (en) | 2016-02-16 | 2018-02-06 | Xerox Corporation | Security enhancement of customer replaceable unit monitor (CRUM) |
CN105760318B (zh) | 2016-02-16 | 2019-03-08 | 烽火通信科技股份有限公司 | 一种基于Linux系统读写光模块寄存器的方法 |
US9496884B1 (en) | 2016-03-21 | 2016-11-15 | Applied Micro Circuits Corporation | DC offset calibration of ADC with alternate comparators |
US10031882B2 (en) | 2016-03-31 | 2018-07-24 | Intel Corporation | Sensor bus communication system |
DE102016106111A1 (de) | 2016-04-04 | 2017-10-05 | Khs Gmbh | Drucktintenbehälter für eine Vorrichtung zum Bedrucken von Behältern |
PL3505877T3 (pl) | 2016-04-21 | 2021-04-06 | Hewlett-Packard Development Company, L.P. | Wykrywanie poziomu atramentu |
JP2017196842A (ja) | 2016-04-28 | 2017-11-02 | キヤノン株式会社 | 画像形成装置、及び装着確認装置 |
WO2017189010A1 (en) | 2016-04-29 | 2017-11-02 | Hewlett-Packard Development Company, L.P. | Detecting fluid levels using a voltage comparator |
CN109070594B (zh) | 2016-04-29 | 2020-06-16 | 惠普发展公司,有限责任合伙企业 | 使用计数器检测流体水平的打印盒和感测管芯 |
CN109153263B (zh) | 2016-04-29 | 2020-07-07 | 惠普发展公司,有限责任合伙企业 | 使用可变阈值电压检测流体水平 |
WO2017189009A1 (en) | 2016-04-29 | 2017-11-02 | Hewlett-Packard Development Company, L.P. | Printing apparatus and methods for detecting fluid levels |
DE102016108206B4 (de) | 2016-05-03 | 2020-09-10 | Bury Sp.Z.O.O | Schaltungsanordnung und Verfahren zur Dämpfungskompensation in einer Antennensignalverbindung |
GB201608285D0 (en) | 2016-05-11 | 2016-06-22 | Videojet Technologies Inc | Printing |
US10467890B2 (en) | 2016-05-13 | 2019-11-05 | Microsoft Technology Licensing, Llc | Secured sensor interface |
ES2886773T3 (es) | 2016-06-17 | 2021-12-20 | Hewlett Packard Development Co | Autenticación de elemento reemplazable |
KR101785051B1 (ko) | 2016-06-24 | 2017-10-12 | 금오공과대학교 산학협력단 | 샘플링 회로 |
CN109074340A (zh) | 2016-06-30 | 2018-12-21 | 惠普发展公司,有限责任合伙企业 | 控制电路 |
US10960658B2 (en) | 2016-07-11 | 2021-03-30 | Hewlett-Packard Development Company, L.P. | Detecting a level of printable fluid in a container |
WO2018017066A1 (en) | 2016-07-19 | 2018-01-25 | Hewlett-Packard Development Company, L.P. | Fluid level sensors |
US9789697B1 (en) | 2016-07-27 | 2017-10-17 | Xerox Corporation | Fluid level sensor with combined capacitance and conductance |
JP6862546B2 (ja) | 2016-07-27 | 2021-04-21 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. | デジタル液体レベルセンサを有する流体供給カートリッジ用の水平方向インターフェース |
JP6579070B2 (ja) | 2016-09-21 | 2019-09-25 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置 |
US10576748B2 (en) | 2016-10-07 | 2020-03-03 | Hewlett-Packard Development Company, L.P. | Fluid reservoir with fluid property and level detection |
US10120829B2 (en) * | 2016-11-23 | 2018-11-06 | Infineon Technologies Austria Ag | Bus device with programmable address |
JP6859717B2 (ja) | 2017-01-20 | 2021-04-14 | セイコーエプソン株式会社 | 回路装置、リアルタイムクロック装置、電子機器、移動体及び検証方法 |
JP6589907B2 (ja) | 2017-02-22 | 2019-10-16 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置 |
US10338838B2 (en) | 2017-03-24 | 2019-07-02 | Samsung Electronics Co., Ltd. | Multi-mode NVMe over fabrics device for supporting CAN (controller area network) bus or SMBus interface |
JP6840592B2 (ja) | 2017-03-24 | 2021-03-10 | 東芝テック株式会社 | インクジェットヘッド制御装置及びインクジェットプリンタ |
JP6950245B2 (ja) | 2017-03-31 | 2021-10-13 | ブラザー工業株式会社 | 液体排出装置 |
JP6859811B2 (ja) | 2017-03-31 | 2021-04-14 | ブラザー工業株式会社 | 液体排出装置 |
WO2018186847A1 (en) | 2017-04-05 | 2018-10-11 | Hewlett-Packard Development Company, L.P. | On-die time-shifted actuator evaluation |
US10486429B2 (en) | 2017-04-21 | 2019-11-26 | Assa Abloy Ab | Print head ink supply |
EP3558681B1 (en) | 2017-04-24 | 2021-12-15 | Hewlett-Packard Development Company, L.P. | Fluid ejection dies including strain gauge sensors |
KR102271424B1 (ko) | 2017-04-24 | 2021-06-30 | 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. | 스트레인 게이지 센서를 포함하는 유체 토출 다이 |
JP7018966B2 (ja) | 2017-04-24 | 2022-02-14 | ヒューレット-パッカード デベロップメント カンパニー エル.ピー. | 歪みゲージセンサを含む流体吐出ダイ |
EP3526049B1 (en) | 2017-05-21 | 2023-06-28 | Hewlett-Packard Development Company, L.P. | Integrated circuit device for a replaceable printer component |
JP6983542B2 (ja) | 2017-06-08 | 2021-12-17 | ソニーセミコンダクタソリューションズ株式会社 | 通信装置、通信方法、プログラム、および、通信システム |
US11030142B2 (en) | 2017-06-28 | 2021-06-08 | Intel Corporation | Method, apparatus and system for dynamic control of clock signaling on a bus |
IT201700073773A1 (it) | 2017-07-05 | 2019-01-05 | St Microelectronics Srl | Modulo di controllo per un convertitore a commutazione a frequenza costante e metodo di controllo di un convertitore a commutazione |
US20190012663A1 (en) | 2017-07-06 | 2019-01-10 | Robert Masters | Systems and methods for providing an architecture for an internet-based marketplace |
WO2019017963A1 (en) | 2017-07-21 | 2019-01-24 | Hewlett-Packard Development Company, L.P. | FLUID LEVEL DETECTOR |
US11333810B2 (en) | 2017-08-25 | 2022-05-17 | Solutia Canada Inc. | System of networked controllers, and method of operating a system of networked controllers |
US20190097785A1 (en) | 2017-09-27 | 2019-03-28 | Silicon Laboratories Inc. | Apparatus for Clock-Frequency Variation in Electronic Circuitry and Associated Methods |
WO2019078845A1 (en) | 2017-10-18 | 2019-04-25 | Hewlett-Packard Development Company, L.P. | ORIENTATION DETECTION |
WO2019078844A1 (en) | 2017-10-18 | 2019-04-25 | Hewlett-Packard Development Company, L.P. | CONTAINER FOR FLUIDS |
CN111372783B (zh) | 2017-10-18 | 2021-10-12 | 惠普发展公司,有限责任合伙企业 | 流体性质传感器 |
EP3661753A1 (en) | 2017-10-18 | 2020-06-10 | Hewlett-Packard Development Company, L.P. | Fluid property sensor |
WO2019078843A1 (en) | 2017-10-18 | 2019-04-25 | Hewlett-Packard Development Company, L.P. | CONTAINER FOR FLUIDS |
US11487864B2 (en) | 2017-10-18 | 2022-11-01 | Hewlett-Packard Development Company, L.P. | Print apparatus component authentication |
WO2019078839A1 (en) | 2017-10-18 | 2019-04-25 | Hewlett-Packard Development Company, L.P. | COMPONENTS OF REPLACEABLE PRINTING APPARATUS |
CN108819486B (zh) | 2018-05-11 | 2019-06-21 | 杭州旗捷科技有限公司 | 耗材芯片及其通信方法,耗材芯片与成像设备通信系统、方法 |
CN209014461U (zh) | 2018-10-25 | 2019-06-21 | 青岛北琪实业有限公司 | 一种数字印刷墨水检测设备 |
AU2018452256B2 (en) * | 2018-12-03 | 2022-09-08 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
US11338586B2 (en) * | 2018-12-03 | 2022-05-24 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
ES2902154T3 (es) | 2018-12-03 | 2022-03-25 | Hewlett Packard Development Co | Circuitos lógicos |
EP3682359B1 (en) * | 2018-12-03 | 2021-01-06 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
BR112021010563A2 (pt) * | 2018-12-03 | 2021-08-24 | Hewlett-Packard Development Company, L.P. | Circuitos lógicos |
US10894423B2 (en) | 2018-12-03 | 2021-01-19 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
EP3681723B1 (en) | 2018-12-03 | 2021-07-28 | Hewlett-Packard Development Company, L.P. | Logic circuitry |
-
2018
- 2018-12-03 EP EP18830066.9A patent/EP3682359B1/en active Active
- 2018-12-03 PT PT188300669T patent/PT3682359T/pt unknown
- 2018-12-03 AU AU2018451612A patent/AU2018451612B2/en active Active
- 2018-12-03 CN CN201880099970.8A patent/CN113168443A/zh active Pending
- 2018-12-03 ES ES18830066T patent/ES2848998T3/es active Active
- 2018-12-03 CA CA3121462A patent/CA3121462A1/en active Pending
- 2018-12-03 BR BR112021010760-6A patent/BR112021010760A2/pt unknown
- 2018-12-03 US US16/495,227 patent/US11250146B2/en active Active
- 2018-12-03 DK DK18830066.9T patent/DK3682359T3/da active
- 2018-12-03 PL PL18830066T patent/PL3682359T3/pl unknown
- 2018-12-03 KR KR1020217016997A patent/KR20210087506A/ko not_active Application Discontinuation
- 2018-12-03 WO PCT/US2018/063638 patent/WO2020117197A1/en unknown
- 2018-12-03 MX MX2021005993A patent/MX2021005993A/es unknown
- 2018-12-03 JP JP2021531321A patent/JP6995252B1/ja active Active
-
2019
- 2019-11-18 TW TW108141803A patent/TWI743594B/zh not_active IP Right Cessation
- 2019-12-03 AR ARP190103529A patent/AR117235A1/es unknown
-
2021
- 2021-05-26 CL CL2021001371A patent/CL2021001371A1/es unknown
-
2022
- 2022-01-05 US US17/569,273 patent/US11625493B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20220129570A1 (en) | 2022-04-28 |
JP6995252B1 (ja) | 2022-02-09 |
PL3682359T3 (pl) | 2021-05-17 |
AU2018451612B2 (en) | 2022-09-08 |
TW202028994A (zh) | 2020-08-01 |
US20210334391A1 (en) | 2021-10-28 |
EP3682359B1 (en) | 2021-01-06 |
PT3682359T (pt) | 2021-02-04 |
DK3682359T3 (da) | 2021-02-01 |
BR112021010760A2 (pt) | 2021-08-31 |
EP3682359A1 (en) | 2020-07-22 |
WO2020117197A1 (en) | 2020-06-11 |
AU2018451612A1 (en) | 2021-06-24 |
CN113168443A (zh) | 2021-07-23 |
TWI743594B (zh) | 2021-10-21 |
MX2021005993A (es) | 2021-07-06 |
US11250146B2 (en) | 2022-02-15 |
KR20210087506A (ko) | 2021-07-12 |
US11625493B2 (en) | 2023-04-11 |
AR117235A1 (es) | 2021-07-21 |
CL2021001371A1 (es) | 2021-12-03 |
JP2022515594A (ja) | 2022-02-21 |
CA3121462A1 (en) | 2020-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2886253T3 (es) | Circuitos lógicos | |
ES2902154T3 (es) | Circuitos lógicos | |
ES2848998T3 (es) | Circuitos lógicos | |
ES2955564T3 (es) | Sistema de circuitos lógicos | |
TWI731474B (zh) | 邏輯電路、可置換列印設備組件、邏輯電路封裝體及相關方法 |