ES2902154T3 - Circuitos lógicos - Google Patents

Circuitos lógicos Download PDF

Info

Publication number
ES2902154T3
ES2902154T3 ES18821923T ES18821923T ES2902154T3 ES 2902154 T3 ES2902154 T3 ES 2902154T3 ES 18821923 T ES18821923 T ES 18821923T ES 18821923 T ES18821923 T ES 18821923T ES 2902154 T3 ES2902154 T3 ES 2902154T3
Authority
ES
Spain
Prior art keywords
address
logic circuit
command
time period
examples
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
Application number
ES18821923T
Other languages
English (en)
Inventor
Stephen D Panshin
Jefferson P Ward
Scott A Linn
James Michael Gardner
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Application granted granted Critical
Publication of ES2902154T3 publication Critical patent/ES2902154T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/005Typewriters 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/01Ink jet
    • B41J2/015Ink jet characterised by the jet generation process
    • B41J2/04Ink jet characterised by the jet generation process generating single droplets or particles on demand
    • B41J2/045Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
    • B41J2/04501Control methods or devices therefor, e.g. driver circuits, control circuits
    • B41J2/04541Specific driving circuit
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/005Typewriters 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/01Ink jet
    • B41J2/17Ink jet characterised by ink handling
    • B41J2/175Ink supply systems ; Circuit parts therefor
    • B41J2/17503Ink cartridges
    • B41J2/17543Cartridge presence detection or type identification
    • B41J2/17546Cartridge presence detection or type identification electronically
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/005Typewriters 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/01Ink jet
    • B41J2/015Ink jet characterised by the jet generation process
    • B41J2/04Ink jet characterised by the jet generation process generating single droplets or particles on demand
    • B41J2/045Ink jet characterised by the jet generation process generating single droplets or particles on demand by pressure, e.g. electromechanical transducers
    • B41J2/04501Control methods or devices therefor, e.g. driver circuits, control circuits
    • B41J2/04573Timing; Delays
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/005Typewriters 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/01Ink jet
    • B41J2/17Ink jet characterised by ink handling
    • B41J2/175Ink supply systems ; Circuit parts therefor
    • B41J2/17503Ink cartridges
    • B41J2/17513Inner structure
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J2/00Typewriters or selective printing mechanisms characterised by the printing or marking process for which they are designed
    • B41J2/005Typewriters 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/01Ink jet
    • B41J2/17Ink jet characterised by ink handling
    • B41J2/175Ink supply systems ; Circuit parts therefor
    • B41J2/17566Ink level or ink residue control
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01FMEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
    • G01F25/00Testing or calibration of apparatus for measuring volume, volume flow or liquid level or for metering by volume
    • G01F25/20Testing or calibration of apparatus for measuring volume, volume flow or liquid level or for metering by volume of apparatus for measuring liquid level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

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)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Fluid Mechanics (AREA)
  • Power Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Small-Scale Networks (AREA)
  • Logic Circuits (AREA)
  • Ink Jet (AREA)

Abstract

Un paquete de circuitos lógicos: configurado para ser direccionable a través de una primera dirección y al menos una segunda dirección y que comprende un primer circuito lógico, en donde la primera dirección es una dirección para el primer circuito lógico, en donde el paquete de circuitos lógicos está configurado de manera que: en respuesta a un primer comando indicativo de un período de tiempo del primer comando enviado a la primera dirección, el paquete de circuitos lógicos es accesible a través de dicha al menos una segunda dirección para una duración del período de tiempo del primer comando; y en respuesta a un segundo comando indicativo de un período de tiempo del segundo comando enviado a la primera dirección, el primer circuito lógico debe, durante la duración del período de tiempo del segundo comando, ignorar el tráfico enviado a la primera dirección.

Description

DESCRIPCIÓN
Circuitos lógicos
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.
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 que se exponen en la presente descripción pueden usarse en otros contextos. La invención se describe en las reivindicaciones adjuntas.
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 tensión por encima de x puede indicar un "1" lógico, mientras que un valor de tensión por debajo de x voltios puede indicar un "0" lógico, donde x es un valor numérico predeterminado. Al generar una tensión apropiada en cada serie de períodos de reloj, los datos se pueden comunicar 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, incorporada en la presente descripción como referencia); 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, incorporada en la presente descripción como referencia); 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, incorporada en la presente descripción como referencia); 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 (incorporada en la presente descripción como referencia). 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 (incorporada en la presente descripción como referencia), la publicación de patente de Estados Unidos Núm. 9561662 (incorporada en la presente descripción como referencia), y/o la publicación de patente de Estados Unidos Núm. 9893893 (incorporada en la presente descripción como referencia).
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.
Ejemplos de sensores y conjuntos de sensores se describen en las anteriores publicaciones de solicitud de patente internacional WO2017/074342 (incorporada en la presente descripción como referencia), WO2017/184147 (incorporada en la presente descripción como referencia), y WO2018/022038 (incorporada en la presente descripción como referencia). 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 paquete de ejemplo 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 se puede adherir o integrar al componente reemplazable del aparato de impresión. 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 son manejadas 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, se puede proporcionar 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 se puede configurar 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 reemplazables del aparato de impresión 104, 200 puede adquirirse en esos años, por ejemplo, se usa 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 reemplazables del aparato de impresión 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 se puede asociar 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 a) el tráfico I2C enviado a la primera dirección durante el período de tiempo para 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 a 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 las 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, incorporada en la presente descripción como referencia) 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 se puede asociar 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, se puede establecer 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 se puede configurar cuando la señal de habilitación está presente o alta, pero no cuando está ausente o baja. La segunda dirección se puede establecer 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 energía 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, una pluralidad de circuitos lógicos adicionales puede 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 los documentos WO2017/074342 (incorporado en la presente como referencia), WO2017/184147 (incorporado en la presente como referencia), y WO2018/022038 (incorporado en la presente como referencia). 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 de manera más rápida 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, tal como una función o funciones de detección diferentes. Por ejemplo, el primer y el 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ógicodigital (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 uno 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, EPROM, 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 (incorporada en la presente descripción como referencia) 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 I2C, 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-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. El polarizador analógico y el convertidor analógico-digital 444 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-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 desenergizarse 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-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, energía 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. En una cara frontal del cartucho 1312 se proporcionan una salida de líquido de impresión 1316 (en este ejemplo, una salida de agente de impresión proporcionada en el lado inferior del cartucho 1312), una entrada de aire 1318 y una cavidad 1320. 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, tal 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 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 las 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 tales 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 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 (15)

REIVINDICACIONES
1. Un paquete de circuitos lógicos:
configurado para ser direccionable a través de una primera dirección y al menos una segunda dirección y que comprende un primer circuito lógico,
en donde la primera dirección es una dirección para el primer circuito lógico, en donde el paquete de circuitos lógicos está configurado de manera que:
en respuesta a un primer comando indicativo de un período de tiempo del primer comando enviado a la primera dirección, el paquete de circuitos lógicos es accesible a través de dicha al menos una segunda dirección para una duración del período de tiempo del primer comando; y
en respuesta a un segundo comando indicativo de un período de tiempo del segundo comando enviado a la primera dirección, el primer circuito lógico debe, durante la duración del período de tiempo del segundo comando, ignorar el tráfico enviado a la primera dirección.
2. Un paquete de circuitos lógicos de acuerdo con la reivindicación 1, en donde, en respuesta al segundo comando, el circuito lógico está configurado para realizar una tarea de procesamiento durante al menos el período de tiempo del primer o el segundo comando.
3. Un paquete de circuitos lógicos de acuerdo con la reivindicación 2, en donde la tarea de procesamiento comprende al menos uno de: monitorear un temporizador y realizar una tarea computacional que tiene un tiempo de finalización que excede el período de tiempo del primer comando y/o el período de tiempo del segundo comando.
4. Un paquete de circuitos lógicos de acuerdo con cualquier reivindicación anterior, en donde el paquete de circuitos lógicos comprende un segundo circuito lógico y el paquete de circuitos lógicos está configurado para hacer que el segundo circuito lógico sea accesible durante el período de tiempo del primer comando.
5. Un paquete de circuitos lógicos de acuerdo con cualquier reivindicación anterior, en donde el paquete de circuitos lógicos está configurado de manera que, en respuesta al segundo comando, el paquete de circuitos lógicos sea accesible a través de una segunda dirección durante el período de tiempo del segundo comando.
6. Un paquete de circuitos lógicos de acuerdo con la reivindicación 5, en donde el paquete de circuitos lógicos está configurado para:
(i) proporcionar un primer conjunto de respuestas en respuesta a las instrucciones enviadas a la primera dirección y proporcionar un segundo conjunto de respuestas en respuesta a las instrucciones enviadas a una segunda dirección.
(ii) operar en un primer modo en respuesta a las instrucciones enviadas a la primera dirección y operar en un segundo modo en respuesta a las instrucciones enviadas a la primera dirección; y/o
(iii) proporcionar un conjunto de respuestas autenticadas criptográficamente en respuesta a las instrucciones autenticadas criptográficamente enviadas a la primera dirección y proporcionar un segundo conjunto de respuestas autenticadas no criptográficamente en respuesta a las instrucciones enviadas a la segunda dirección.
7. Un paquete de circuitos lógicos de acuerdo con la reivindicación 5 o la reivindicación 6, en donde la segunda dirección es una dirección del segundo circuito lógico y/o en donde el paquete de circuitos lógicos no es accesible a través de la segunda dirección durante un período de tiempo anterior al período de tiempo del primer comando y/o durante un período de tiempo posterior al período de tiempo del primer comando.
8. Un paquete de circuitos lógicos de acuerdo con cualquiera de las reivindicaciones 5 a 7, en donde la segunda dirección está configurada para ser una segunda dirección inicial al comienzo del período de tiempo del primer comando.
9. Un paquete de circuitos lógicos de acuerdo con la reivindicación 8, en donde el paquete de circuitos lógicos está configurado para reconfigurar su segunda dirección a una dirección temporal en respuesta a un comando enviado a la segunda dirección inicial y que incluye esa dirección temporal durante el período de tiempo del primer comando y/o en donde, al recibir un comando subsiguiente indicativo del período de tiempo del primer comando enviado a la primera dirección, el paquete de circuitos lógicos se configura para tener la misma segunda dirección inicial.
10. Un paquete de circuitos lógicos de acuerdo con cualquier reivindicación anterior que se configura para:
responder a los comandos dirigidos a la primera dirección y no a los comandos dirigidos a una segunda dirección fuera del período de tiempo del primer comando; y
responder a los comandos dirigidos a una segunda dirección de dicha al menos una segunda dirección y no a los comandos dirigidos a la primera dirección durante el período de tiempo del primer comando.
11. Un método, que comprende:
en respuesta a un primer comando indicativo de un primer período de tiempo de comando enviado a una primera dirección de los circuitos de procesamiento a través de un bus I2C, permitir, mediante los circuitos de procesamiento, el acceso a la misma a través de al menos una segunda dirección durante la duración del período de tiempo del primer comando; y
en respuesta a un segundo comando indicativo de un período de tiempo del segundo comando enviado a la primera dirección a través del bus I2C, y durante la duración del período de tiempo del segundo comando, ignorar el tráfico I2C enviado a la primera dirección;
el método que comprende además monitorear al menos uno del período de tiempo del primer y segundo comando usando un temporizador de los circuitos de procesamiento.
12. Un método de acuerdo con la reivindicación 11, en donde la segunda dirección está configurada para ser una segunda dirección inicial al comienzo del período de tiempo del primer comando.
13. Un método de acuerdo con la reivindicación 12, en donde el circuito de procesamiento está configurado para reconfigurar su segunda dirección a una dirección temporal en respuesta a un comando enviado a la segunda dirección inicial y que incluye esa dirección temporal durante el período de tiempo del primer comando.
14. Un método de acuerdo con cualquiera de las reivindicaciones 11 a 13, en donde el circuito de procesamiento comprende un primer circuito lógico y un segundo circuito lógico del circuito de procesamiento, en donde el método comprende enviar, mediante el primer circuito lógico, una señal de activación al segundo circuito lógico durante el período de tiempo del primer comando.
15. Un cartucho de impresión que comprende un paquete de circuitos lógicos de acuerdo con cualquiera de las reivindicaciones 1 a 10 y que tiene una carcasa que tiene un ancho que es menor que una altura, en donde, en una cara frontal, de abajo hacia arriba, se proporcionan una salida de líquido de impresión, una entrada de aire y una cavidad, respectivamente, la cavidad que se extiende en la parte superior, en donde los contactos de bus I2C del paquete se proporcionan en un lado de la cavidad contra un lado interior de una pared lateral de la carcasa adyacente a la parte superior y frontal de la carcasa, y los contactos de bus I2C que comprenden un contacto de datos, el contacto de datos que es el más bajo de los contactos.
ES18821923T 2018-12-03 2018-12-03 Circuitos lógicos Active ES2902154T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2018/063630 WO2020117194A1 (en) 2018-12-03 2018-12-03 Logic circuitry

Publications (1)

Publication Number Publication Date
ES2902154T3 true ES2902154T3 (es) 2022-03-25

Family

ID=64734241

Family Applications (1)

Application Number Title Priority Date Filing Date
ES18821923T Active ES2902154T3 (es) 2018-12-03 2018-12-03 Circuitos lógicos

Country Status (12)

Country Link
US (1) US11364716B2 (es)
EP (2) EP3954539A1 (es)
KR (1) KR20210087502A (es)
CN (1) CN113165385B (es)
AR (1) AR117238A1 (es)
AU (1) AU2018451720B2 (es)
BR (1) BR112021010672A2 (es)
CA (1) CA3121147C (es)
ES (1) ES2902154T3 (es)
MX (1) MX2021005988A (es)
TW (1) TWI741408B (es)
WO (1) WO2020117194A1 (es)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2018451721B2 (en) 2018-12-03 2023-05-18 Hewlett-Packard Development Company, L.P. Logic circuitry
BR112021010760A2 (pt) 2018-12-03 2021-08-31 Hewlett-Packard Development Company, L.P. Circuitos lógicos
BR112021010672A2 (pt) 2018-12-03 2021-08-24 Hewlett-Packard Development Company, L.P. Circuitos lógicos
CN113168442B (zh) * 2018-12-03 2023-12-22 惠普发展公司,有限责任合伙企业 逻辑电路系统
US20210221122A1 (en) 2018-12-03 2021-07-22 Hewlett-Packard Development Company, L.P. Logic circuitry package
WO2022086538A1 (en) 2020-10-22 2022-04-28 Hewlett-Packard Development Company, L.P. Logic circuitry

Family Cites Families (354)

* Cited by examiner, † Cited by third party
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 半導体集積回路
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 プリンタにおけるインクカートリッヂ並びにその識別装置
US5731824A (en) 1995-12-18 1998-03-24 Xerox Corporation Ink level sensing system for an ink jet printer
US5682184A (en) 1995-12-18 1997-10-28 Xerox Corporation System for sensing ink level and type of ink 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
ES2251562T3 (es) 1997-06-04 2006-05-01 Hewlett-Packard Company Adaptador para sistema de entrega de tinta.
US6151039A (en) 1997-06-04 2000-11-21 Hewlett-Packard Company Ink level estimation using drop count and ink level sense
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 オプション機器の制御方法
EP1114725B1 (en) 2000-01-05 2006-03-22 Hewlett-Packard Company, A Delaware Corporation ink-jet pen with two-part lid and techniques for filling
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 記録用液体タンク、および、それを備える記録装置
CN100346978C (zh) 2000-05-18 2007-11-07 精工爱普生株式会社 墨水罐
EP1990201B1 (en) 2000-06-16 2010-05-19 Canon Kabushiki Kaisha Communication system with solid semiconductor element, ink tank, ink jet recording apparatus provided with ink tank.
EP1301268A2 (en) 2000-07-03 2003-04-16 Xeotron Corporation Devices and methods for carrying out chemical reactions using photogenerated reagents
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 キヤノン株式会社 インクの残量検出方法およびインクジェット記録装置
DE60214813T2 (de) 2001-11-26 2007-09-13 Seiko Epson Corp. Tintenpatrone und Tintenstrahldruckvorrichtung mit einer derartigen Tintenpatrone
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
DE60314947T2 (de) 2002-08-12 2008-04-17 Seiko Epson Corp. Druckmaterialbehälter, Detektionstechnik für die Information über das Druckmaterial in dem Behälter und Technik zur Nachrichtenübertragung zwischen dem Behälter und dem Druckgerät
US7201463B2 (en) 2002-08-12 2007-04-10 Seiko Epson Corporation Container for printing material and detector used for container
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
ATE504446T1 (de) 2002-12-02 2011-04-15 Silverbrook Res Pty Ltd Totdüsenausgleich
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
US7240130B2 (en) 2003-06-12 2007-07-03 Hewlett-Packard Development Company, L.P. Method of transmitting data through an 12C router
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
US6796644B1 (en) 2003-06-18 2004-09-28 Lexmark International, Inc. Ink source regulator for an inkjet printer
CN101054026A (zh) 2003-06-26 2007-10-17 精工爱普生株式会社 可测量消耗品剩余量的消耗品容器
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 セイコーエプソン株式会社 液体収容体
EP2097874A4 (en) 2006-11-15 2011-05-04 Depth Analysis Pty Ltd SYSTEMS AND METHODS FOR MANAGING THE PRODUCTION OF ANIMATION BASED ON FREE-VIEWING VIDEO
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 富士ゼロックス株式会社 画像形成装置、消耗品収納装置および情報記憶備品
WO2009134171A1 (en) 2008-04-29 2009-11-05 St. Jude Medical Ab An implantable medical lead and a method of manufacturing of the same
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 セイコーエプソン株式会社 液体供給システムおよびその製造方法
KR101485750B1 (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 シスメックス株式会社 試薬調製装置および検体処理システム
CN101859235B (zh) 2009-04-01 2013-09-18 精工爱普生株式会社 具有多个存储装置的系统以及用于该系统的数据传输方法
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
JP5445073B2 (ja) 2009-11-27 2014-03-19 セイコーエプソン株式会社 複数の記憶装置を備えるシステム及びそのためのデータ転送方法
US8215018B2 (en) 2009-04-08 2012-07-10 Canon Kabushiki Kaisha Method for manufacturing liquid discharge head
AU2014202105B2 (en) 2009-05-15 2016-02-25 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 株式会社リコー 画像形成用媒体収容容器、インクカートリッジ及び画像形成装置
US8225021B2 (en) 2009-05-28 2012-07-17 Lexmark International, Inc. Dynamic address change for slave devices on a shared bus
US8621116B2 (en) 2011-08-26 2013-12-31 Lexmark International, Inc. Dynamic address change optimizations
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 セイコーエプソン株式会社 液体噴射装置
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
US8364859B2 (en) 2010-02-22 2013-01-29 Seiko Epson Corporation Storage device, board, liquid container and system
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
CN104999801B (zh) 2010-04-12 2017-05-31 Zih公司 标签剥离、通用打印头和相关方法
US8812889B2 (en) 2010-05-05 2014-08-19 Broadcom Corporation Memory power manager
EP2571697B1 (en) 2010-05-17 2016-11-16 Memjet Technology Limited System for distributing fluid and gas within 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 珠海天威飞马打印耗材有限公司 墨盒
JP5720148B2 (ja) 2010-09-03 2015-05-20 セイコーエプソン株式会社 印刷材カートリッジ、及び、印刷材供給システム
US8764172B2 (en) 2010-09-03 2014-07-01 Seiko Epson Corporation Printing apparatus, printing material cartridge, adaptor for printing material container, and circuit board
EP2431812B1 (en) 2010-09-15 2021-05-26 Hewlett-Packard Development Company, L.P. Image forming apparatus including consumable unit and method of controlling power supply thereof
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
US8651643B2 (en) 2010-10-22 2014-02-18 Hewlett-Packard Development Company, L.P. Fluid cartridge
ES2796610T3 (es) 2010-10-22 2020-11-27 Hewlett Packard Development Co Cartucho de fluido
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 珠海天威技术开发有限公司 芯片及芯片数据通信方法、耗材容器、成像设备
CN103619605B (zh) 2011-06-27 2015-11-25 惠普发展公司,有限责任合伙企业 墨水液面传感器和相关方法
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
US8556394B2 (en) 2011-07-27 2013-10-15 Hewlett-Packard Development Company, L.P. Ink supply
MX346742B (es) 2011-07-27 2017-03-29 Hewlett Packard Development Co Lp Sensor de nivel de fluido y métodos relacionados.
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
US10412235B2 (en) 2011-09-30 2019-09-10 Hewlett-Packard Development Company, L.P. Identification bit memory cells in data storage chip
JP5780917B2 (ja) 2011-10-25 2015-09-16 キヤノン株式会社 インクジェット記録ヘッド用配線保護封止剤、並びに、それを用いたインクジェット記録ヘッド及びその製造方法
CN103085487B (zh) 2011-11-04 2015-04-22 珠海艾派克微电子有限公司 一种带自适应触点的成像盒芯片、成像盒及其自适应方法
US9671820B2 (en) 2011-11-25 2017-06-06 Mitsubishi Electric Corporation Communication device, communication method, and communication system
BR112013006402A2 (pt) 2012-01-12 2016-07-05 Seiko Epson Corp cartucho e sistema de suprimento de material de impressão
WO2013119824A1 (en) 2012-02-10 2013-08-15 Visualant, Inc. Systems, methods and articles related to machine-readable indicia and symbols
BR112014022567B1 (pt) * 2012-03-15 2020-09-29 Abb S.P.A Método e sistema de controle para gerenciar o perfil de carga de uma rede elétrica de baixa ou média tensão
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
PL3085538T3 (pl) 2012-04-30 2018-06-29 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
EP2849948B1 (en) 2012-08-30 2018-03-21 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
EP2925528B1 (en) 2012-11-30 2019-01-02 Hewlett-Packard Development Company, L.P. Fluid ejection device with integrated ink level sensor
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 愛三工業株式会社 センサ装置
US9621764B2 (en) 2013-07-31 2017-04-11 Hewlett-Packard Development Company, L.P. Printer cartridge and memory device containing a compressed color table
KR101906089B1 (ko) 2013-07-31 2018-10-08 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 소모성 제품의 메모리 내 데이터의 보호
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
PT3738775T (pt) 2013-08-30 2021-12-06 Hewlett Packard Development Co Autenticação de alimentação através de resposta de pedido de acesso de sincronização
CN104417071B (zh) * 2013-09-06 2017-11-07 珠海艾派克微电子有限公司 存储器组、成像盒及更换盒芯片的方法
KR20150033895A (ko) 2013-09-25 2015-04-02 삼성전자주식회사 소모품 유닛에 탑재 가능한 crum 칩과 이를 인증하는 화상형성장치 및 그 인증 방법
CN105764695B (zh) 2013-11-26 2018-08-07 惠普发展公司,有限责任合伙企业 具有单侧热传感器的流体喷射装置
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 安徽循环经济技术工程院 一种大字符喷码机控制电路
WO2015116092A1 (en) 2014-01-30 2015-08-06 Hewlett-Packard Development Company, L.P. Printheads with sensor plate impedance measurement
JP6234255B2 (ja) 2014-02-03 2017-11-22 キヤノン株式会社 液体吐出ヘッドの製造方法および液体吐出ヘッド
US20170182786A1 (en) 2014-02-04 2017-06-29 Hewlett-Packard Development Company, Lp. Encapsulants to retain wires at bond pads
EP3102416B1 (en) 2014-02-04 2021-04-14 Hewlett-Packard Development Company, L.P. Sensor assemblies and method to identify ink levels
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
NZ728666A (en) 2014-08-19 2018-08-31 Hewlett Packard Development Co Transform map at printer cartridge
JP6336863B2 (ja) 2014-09-04 2018-06-06 東芝テック株式会社 液体吐出装置および液体吐出方法
US9213396B1 (en) * 2014-10-17 2015-12-15 Lexmark International, Inc. Methods and apparatus for setting the address of a module using a clock
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
FR3027669B1 (fr) 2014-10-22 2018-05-25 Dover Europe Sarl Dispositif de mesure de niveau dans un reservoir
US10155379B2 (en) 2014-10-29 2018-12-18 Hewlett-Packard Development Company, L.P. Fluid ejection device with printhead ink level sensor
US9413354B2 (en) 2014-12-23 2016-08-09 Apple Inc. Method for communication across voltage domains
WO2016114759A1 (en) 2015-01-13 2016-07-21 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
KR102445344B1 (ko) 2015-02-06 2022-09-19 퀄컴 인코포레이티드 시리얼 버스를 위한 수신 클록 캘리브레이션
DK3256324T3 (da) * 2015-02-13 2020-02-17 Hewlett Packard Development Co Printerhoved med anvendelse af datapakker indbefattende adressedata, udskrivningssystem og fremgangsmåde til anvendelse af et printerhoved
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 東芝テック株式会社 液滴吐出装置、および液体循環装置
WO2017018973A1 (en) 2015-07-24 2017-02-02 Hewlett-Packard Development Company, L.P. Sensing a property and level of a fluid
CN108111708B (zh) 2015-07-31 2020-11-03 惠普发展公司,有限责任合伙企业 调色剂盒及成像耗材
US10406801B2 (en) 2015-08-21 2019-09-10 Voxel8, Inc. Calibration and alignment of 3D printing deposition heads
PL3311126T3 (pl) 2015-10-28 2020-06-01 Hewlett-Packard Development Company, L.P. Wskazywanie poziomu cieczy
EP3368874A4 (en) 2015-10-28 2019-06-05 Hewlett-Packard Development Company, L.P. RELATIVE PRESSURE SENSOR
US20170144448A1 (en) 2015-11-25 2017-05-25 Videojet Technologies, Inc. Ink quality sensor and a condition monitoring system for an inkjet printer
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
US10635629B2 (en) 2015-12-09 2020-04-28 Lockheed Martin Corporation Inter-integrated circuit (I2C) bus extender
US10169928B2 (en) 2015-12-09 2019-01-01 Hitachi, Ltd. Apparatus for providing data to a hardware-in-the-loop simulator
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 キヤノン株式会社 画像形成装置、その制御方法、プログラム、及びカートリッジ
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
JP6660489B2 (ja) 2016-04-21 2020-03-11 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. 液位検出
JP2017196842A (ja) 2016-04-28 2017-11-02 キヤノン株式会社 画像形成装置、及び装着確認装置
US10933648B2 (en) 2016-04-29 2021-03-02 Hewlett-Packard Development Company, L.P. Detecting fluid levels using a counter
CN109073441A (zh) 2016-04-29 2018-12-21 惠普发展公司,有限责任合伙企业 使用电压比较器检测流体水平
WO2017189009A1 (en) 2016-04-29 2017-11-02 Hewlett-Packard Development Company, L.P. Printing apparatus and methods for detecting fluid levels
EP3436275B1 (en) 2016-04-29 2021-11-24 Hewlett-Packard Development Company, L.P. Detecting fluid levels using a variable threshold voltage
DE102016108206B4 (de) 2016-05-03 2020-09-10 Bury Sp.Z.O.O Schaltungsanordnung und Verfahren zur Dämpfungskompensation in einer Antennensignalverbindung
US10467890B2 (en) 2016-05-13 2019-11-05 Microsoft Technology Licensing, Llc Secured sensor interface
NZ729380A (en) 2016-06-17 2020-07-31 Hewlett Packard Development Co Replaceable item authentication
KR101785051B1 (ko) 2016-06-24 2017-10-12 금오공과대학교 산학협력단 샘플링 회로
EP3433754A1 (en) 2016-06-30 2019-01-30 Hewlett-Packard Development Company, L.P. Control circuit
WO2018013078A1 (en) 2016-07-11 2018-01-18 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
EP3798001A1 (en) 2016-07-27 2021-03-31 Hewlett-Packard Development Company, L.P. Horizontal interface for fluid supply cartridge having digital fluid level sensor
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 ブラザー工業株式会社 液体排出装置
CN110325371B (zh) 2017-04-05 2020-11-17 惠普发展公司,有限责任合伙企业 管芯上时移的致动器评估
US10486429B2 (en) 2017-04-21 2019-11-26 Assa Abloy Ab Print head ink supply
JP6892515B2 (ja) 2017-04-24 2021-06-23 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. 歪みゲージセンサを含む流体吐出ダイ
WO2018199891A1 (en) 2017-04-24 2018-11-01 Hewlett-Packard Development Company, L.P. Fluid ejection dies including strain gauge sensors
CN109996681B (zh) 2017-05-21 2021-09-03 惠普发展公司,有限责任合伙企业 用于可更换的打印机组件的集成电路设备
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
EP3697617A1 (en) 2017-10-18 2020-08-26 Hewlett-Packard Development Company, L.P. Fluid property sensor
WO2019078844A1 (en) 2017-10-18 2019-04-25 Hewlett-Packard Development Company, L.P. CONTAINER FOR FLUIDS
US20210095958A1 (en) 2017-10-18 2021-04-01 Hewlett-Packard Development Company, L.P. Orientation sensing
WO2019078840A1 (en) 2017-10-18 2019-04-25 Hewlett-Packard Development Company, L.P. AUTHENTICATION OF COMPONENT OF PRINTING APPARATUS
WO2019078843A1 (en) 2017-10-18 2019-04-25 Hewlett-Packard Development Company, L.P. CONTAINER FOR FLUIDS
WO2019078839A1 (en) 2017-10-18 2019-04-25 Hewlett-Packard Development Company, L.P. COMPONENTS OF REPLACEABLE PRINTING APPARATUS
EP3661753A1 (en) 2017-10-18 2020-06-10 Hewlett-Packard Development Company, L.P. Fluid property sensor
CN108819486B (zh) 2018-05-11 2019-06-21 杭州旗捷科技有限公司 耗材芯片及其通信方法,耗材芯片与成像设备通信系统、方法
CN209014461U (zh) 2018-10-25 2019-06-21 青岛北琪实业有限公司 一种数字印刷墨水检测设备
AU2018451721B2 (en) * 2018-12-03 2023-05-18 Hewlett-Packard Development Company, L.P. Logic circuitry
US20210046760A1 (en) 2018-12-03 2021-02-18 Hewlett-Packard Development Company, L.P. Logic circuitry
BR112021010672A2 (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

Also Published As

Publication number Publication date
CN113165385A (zh) 2021-07-23
TWI741408B (zh) 2021-10-01
CA3121147A1 (en) 2020-06-11
US11364716B2 (en) 2022-06-21
BR112021010672A2 (pt) 2021-08-24
WO2020117194A1 (en) 2020-06-11
EP3687815A1 (en) 2020-08-05
AU2018451720A1 (en) 2021-06-24
AU2018451720B2 (en) 2022-11-17
MX2021005988A (es) 2021-07-06
TW202027423A (zh) 2020-07-16
EP3954539A1 (en) 2022-02-16
CN113165385B (zh) 2022-10-14
CA3121147C (en) 2023-08-22
KR20210087502A (ko) 2021-07-12
EP3687815B1 (en) 2021-11-10
US20210221125A1 (en) 2021-07-22
AR117238A1 (es) 2021-07-21

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
ES2868132T3 (es) Componente reemplazable del aparato de impresión
TWI731474B (zh) 邏輯電路、可置換列印設備組件、邏輯電路封裝體及相關方法