ES2811328T3 - Aparato para establecer la dirección de un módulo utilizando un reloj - Google Patents
Aparato para establecer la dirección de un módulo utilizando un reloj Download PDFInfo
- Publication number
- ES2811328T3 ES2811328T3 ES15788281T ES15788281T ES2811328T3 ES 2811328 T3 ES2811328 T3 ES 2811328T3 ES 15788281 T ES15788281 T ES 15788281T ES 15788281 T ES15788281 T ES 15788281T ES 2811328 T3 ES2811328 T3 ES 2811328T3
- Authority
- ES
- Spain
- Prior art keywords
- module
- pin
- clock
- address
- asic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Power Sources (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
Un circuito integrado específico de la aplicación (ASIC) que comprende: un pin (902) de alimentación; un pin (908) de masa; un pin (904) de reloj I2C; un pin (906) de datos I2C; un módulo (910) de comunicación serie que tiene un registro (912) de direcciones que tiene una pluralidad de bits que incluyen un bit menos significativo (LSB 916) y estando el módulo (910) de comunicación serie acoplado al pin (902) de alimentación, al pin (908) de masa, al pin (904) de reloj I2C y al pin (906) de datos I2C; caracterizado porque, un convertidor (920) de analógico a digital tiene una entrada acoplada al pin (904) de reloj I2C y una primera salida acoplada al bit menos significativo (LSB 916) del registro (912) de direcciones, en donde el ASIC tiene una memoria (918) no volátil y el registro (912) de direcciones está configurado para mantener una dirección de comunicación I2C y tiene un bit más significativo establecido por la memoria (918) no volátil.
Description
DESCRIPCIÓN
Aparato para establecer la dirección de un módulo utilizando un reloj
Antecedentes
Campo de la Descripción
La presente descripción se refiere en general a dispositivos esclavos en un bus de comunicación, y más en particular a módulos esclavos en un bus I2C.
Descripción de la técnica relacionada
I2C (también conocido como I2C) es un estándar de comunicación entre dispositivos. Un bus I2C tiene un dispositivo maestro y uno o más dispositivos esclavos. Cada dispositivo esclavo tiene una dirección de comunicación única de modo que el dispositivo maestro pueda dirigir la comunicación a un dispositivo esclavo en particular.
Las impresoras tienen elementos de suministro reemplazables por el usuario, tal como botellas de tóner. Estos elementos de suministro pueden tener circuitos de autenticación para distinguir las botellas de tóner fabricadas por el equipo original, de las botellas de tóner de terceros, ya que pueden aplicarse diferentes procedimientos operativos. Los circuitos de autenticación pueden implementar algoritmos de criptografía para aumentar la confianza en la autenticación. Una impresora de un solo color, tal como una impresora mono, puede tener un circuito de autenticación en una botella de tóner y otro circuito de autenticación en una unidad de formación de imagen. Estos módulos que contienen los circuitos de autenticación pueden ser casi idénticos, siendo la única diferencia una variable de memoria no volátil que contiene la dirección del módulo. Durante la fabricación, se debe hacer un gasto adicional para realizar un seguimiento de estos dos módulos similares, pero no idénticos, y el sistema no podrá funcionar correctamente si los módulos se mezclan. Lo que se necesita es una forma de usar módulos idénticos en varios elementos de suministro. El documento US2010/231262 se refiere a un descodificador de direcciones y un método para configurar las direcciones de un módulo conectado a un bus. El documento US2008/177917 se refiere a un sistema y un método de comunicación para asignar direcciones.
Compendio
La presente invención está definida por las reivindicaciones adjuntas.
Breve descripción de los dibujos
Los dibujos adjuntos incorporados en, y que forman parte de la descripción ilustran varios aspectos de la presente divulgación y, junto con la descripción, sirven para explicar los principios de la presente divulgación.
La Figura 1 es un diagrama esquemático que representa una red de módulos de impresora según una realización de la presente divulgación;
La Figura 2 es un diagrama esquemático de un módulo de autenticación según una realización de la presente divulgación;
La Figura 3 es un diagrama esquemático que representa una red de módulos de impresora según una realización de la presente descripción;
La Figura 4 es un diagrama de una condición de inicio I2C;
La Figura 5 es un diagrama esquemático que representa un módulo de autenticación según una realización de la presente divulgación;
La Figura 6, la Figura 7 y la Figura 8 representan diagramas de flujo de métodos de realizaciones de la presente divulgación;
La Figura 9 y la Figura 10 son representaciones de diagramas esquemáticos de circuitos integrados específicos de la aplicación según realizaciones de la presente descripción.
Descripción detallada
En la descripción que sigue, se hace referencia a los dibujos que se acompañan, donde los números iguales representan elementos iguales. Las realizaciones se describen con suficiente detalle como para permitir que un experto en la materia ponga en práctica la presente divulgación. Debe entenderse que pueden utilizarse otras realizaciones y que se pueden realizar cambios de proceso, eléctricos y mecánicos, etc., sin apartarse del alcance de la presente divulgación. Los ejemplos simplemente tipifican posibles variaciones. Las porciones y las características de algunas realizaciones pueden estar incluidas en, o ser sustituidas por, las de otras. La descripción que sigue, por lo tanto, no debe ser tomada en un sentido limitativo y el alcance de la presente descripción está definido solamente por las reivindicaciones adjuntas y sus equivalentes.
Con referencia ahora a los dibujos y más en particular a la Figura 1, se muestra un diagrama esquemático que representa un circuito conforme a una realización de la presente divulgación. Una red 100 de módulos de impresora tiene un circuito integrado específico de la aplicación (ASIC) 102 de sistema, acoplado a un primer módulo 104 y a un segundo módulo 106 a través de un bus I2C. El bus I2C tiene una línea de reloj 108 controlada por el ASIC 102 del sistema y una línea de datos 110 dirigida bidireccionalmente por el ASIC 102 del sistema, el primer módulo 104 y el segundo módulo 106. La línea de reloj y la línea de datos son conexiones de comunicación serie.
El ASIC 102 de sistema está ubicado en una placa de circuito impreso (PCB) 103 de sistema. El primer módulo 104 está ubicado en un componente reemplazable por el usuario, por ejemplo, según se ha mostrado, una botella de tóner 105. El primer módulo 104 incluye una PCB. Una conexión 112 de alimentación, una conexión 114 a masa, una conexión 116 de reloj y una conexión 118 de datos son, por ejemplo, almohadillas conductoras ubicadas en la PCB del primer módulo. Dedos metálicos compatibles tocan las almohadillas conductoras formando conexiones eléctricas entre la PCB de sistema y el primer módulo 104. Alternativamente, la conexión 112 de alimentación, la conexión 114 de masa, la conexión 116 de reloj y la conexión 118 de datos pueden ser realizadas con otras conexiones reutilizables, tal como conectores con pines de enchufe. El segundo módulo 106 tiene conexiones similares y está ubicado, por ejemplo, según se muestra, en una unidad 119 de imagen.
El ASIC 102 de sistema es un maestro I2C, el primer módulo 104 y el segundo módulo 106 son esclavos I2C. Como se sabe en la técnica, una comunicación serie en el formato de datos I2C contiene un encabezado que tiene una dirección I2C esclava. Cada esclavo solamente responderá a las comunicaciones que sean dirigidas a su dirección de comunicación, p. ej. la dirección I2C. Por lo tanto, para evitar conflictos, cada esclavo en el bus I2C tiene una dirección de comunicación única. En el formato de datos I2C, un paquete de datos sigue al encabezado. El paquete de datos puede tener uno o más bytes de longitud. El paquete de datos puede contener un primer byte que es un comando, y cero o más bytes siguientes que son datos relacionados con el comando tal como, por ejemplo, una dirección de memoria y un valor para escribir en esa dirección de memoria. Algunos comandos pueden tener cero bytes siguientes tal como, por ejemplo, un comando de reinicio. Un esclavo puede responder a un comando escribiendo en serie uno o más bytes sobre la línea de datos I2C. La línea de datos I2C es una línea de drenaje abierto, es decir, el maestro puede hacerla descender a un nivel lógico bajo, y un esclavo puede hacerla descender a un nivel lógico bajo; en otro caso, un resistor 113 de subida la elevará a un nivel lógico alto. El resistor 113 de subida está conectado a la tensión 111 de alimentación del ASIC de sistema, que en este ejemplo de realización es de 3.0V. El ASIC 102 de sistema activa la línea de reloj 108 a través de un circuito de push-pull de activación de salida alimentado por la tensión 111 de alimentación del ASIC de sistema. Preferiblemente, el primer módulo 104 y el segundo módulo 106 alimentan sus memorias intermedias de entrada I2C a partir de una tensión que es mayor que la tensión 111 de alimentación del ASIC de sistema para evitar la activación de diodos de protección ESD ubicados en las memorias intermedias de entrada I2C.
El primer módulo 104 y el segundo módulo 106 son idénticos. La dirección de comunicación del primer módulo 104 no es fija. En cambio, está controlada por una primera tensión 120 de alimentación acoplada a la conexión 112 de alimentación. La primera tensión 120 de alimentación es, por ejemplo, 4V, y la dirección de comunicación del primer módulo 104 es, por ejemplo, el valor binario 0000010. La dirección de comunicación del primer módulo 104 se establece mediante un circuito ubicado dentro del primer módulo 104, como se describirá más adelante. De manera similar, una segunda tensión 124 de alimentación está acoplada a la conexión 126 de alimentación del segundo módulo 106. La segunda tensión 124 de alimentación es, por ejemplo, 5V, y la dirección de comunicación del segundo módulo 106 es, por ejemplo, el valor binario 0000011. Obsérvese que si, por ejemplo, el segundo módulo 106 estuviera alimentado por la primera tensión 120 de alimentación en lugar de por la segunda tensión 124 de alimentación, entonces el segundo módulo 106 tendría la misma dirección de comunicación que el primer módulo 104 ya que ambos módulos estarían alimentados desde la misma tensión.
Obsérvese que el sistema divulgado tiene dos módulos idénticos en el mismo bus I2C pero en diferentes direcciones, y esta función se proporciona sin agregar conexiones adicionales. Esto permite que módulos idénticos sean montados en múltiples componentes de sistema, lo que simplifica la fabricación y reduce los costos.
Obsérvese que se pueden utilizar otros sistemas de comunicación en lugar de I2C. Por ejemplo, un sistema de bus serie universal (USB) también tiene dispositivos esclavos con direcciones de comunicación únicas. Las direcciones de comunicación de módulo no se limitan a una de dos direcciones posibles. Por ejemplo, cuatro direcciones posibles podrían ser ventajosas para botellas de tóner de una impresora de cuatro colores.
La Figura 2 muestra detalles del primer módulo 104. El primer módulo 104 es un módulo de autenticación que contiene un circuito 202 de autenticación que implementa un procedimiento de autenticación. Un ejemplo de procedimiento de autenticación implica un protocolo de "desafío" en el que se proporciona un conjunto de datos a dos "motores de autenticación", estando el primero en el circuito 202 de autenticación y estando el segundo en el ASIC 102 de sistema. Durante la autenticación, tanto el circuito 202 de autenticación como el ASIC 102 de sistema "siembran" el conjunto de datos con un "valor secreto" que no es revelado por el circuito 202 de autenticación ni por el ASIC 102 de sistema. Típicamente, se calcula un valor hash unidireccional de los "datos sembrados" por medio del circuito 202 de autenticación y del ASIC 102 de sistema. El circuito 202 de autenticación pone a continuación el valor hash unidireccional a disposición para el ASIC 102 de sistema, el cual compara el valor hash (calculado por el circuito 202 de autenticación) con un valor hash calculado por el ASIC 102 de sistema. Si los valores hash coinciden,
la botella de tóner 105 queda autorizada para su uso. El circuito 202 de autenticación puede implementar otros procedimientos de autenticación. El circuito 202 de autenticación y el primer módulo 104 pueden estar configurados de modo que realicen uno o más de los métodos detallados a continuación. Dicha configuración puede ser firmware integrado en el circuito 202 de autenticación para ser ejecutado por un microcontrolador integrado en el circuito 202 de autenticación, una máquina de estado de hardware integrada en el circuito 202 de autenticación, etc.
La conexión 112 de alimentación está acoplada a un regulador 204 de tensión que genera una tensión 206 operativa para alimentar el circuito 202 de autenticación. El regulador 204 de tensión regula la tensión 206 operativa hasta un valor predeterminado, p. ej. 3.3V. Por supuesto, si el circuito 202 de autenticación está diseñado para que opere a través de una amplia gama de tensiones operativas, el regulador 204 de tensión puede ser omitido si, por ejemplo, el circuito 202 de autenticación contiene un regulador de tensión integrado. En este ejemplo, el regulador de tensión es un regulador lineal y, por lo tanto, la tensión 206 operativa es al menos doscientos milivoltios menor que la tensión de DC en la conexión 112 de alimentación. Alternativamente, el regulador 204 de tensión puede ser un resistor en serie y un diodo Zener conectado a masa.
La conexión 112 de potencia está acoplada a un divisor resistivo que está formado por un resistor 208 y un resistor 210. El resistor 208 y el resistor 210 pueden ser, por ejemplo, de 1 kilo ohmio, proporcionando cada uno de ellos una atenuación de tensión de 1/2. La salida del divisor de tensión está acoplada a una entrada 212 de address_ADC del circuito 202 de autenticación. Dentro del circuito 202 de autenticación, esta entrada está conectada a un convertidor de analógico a digital (ADC) tal como, por ejemplo, un comparador, un ADC de aproximación sucesiva, etc. La salida del ADC es uno o más bits binarios que se usan para establecer la dirección de comunicación serie del circuito 202 de autenticación. Por ejemplo, si Vin es inferior a 4,5 V, la dirección de comunicación puede ser establecida en el valor binario 0000010, de lo contrario la dirección de comunicación puede ser establecida en el valor binario 0000011. Por supuesto, se pueden usar otras tensiones predeterminadas. Por ejemplo, el circuito de autenticación puede estar configurado para establecer su dirección I2C en 0000010 si Vin es 3 .3 v , y en 0000011 si Vin es 5V.
El ADC puede usar la fuente de tensión 206 operativa como referencia de tensión. Alternativamente, el circuito 202 de autenticación puede generar una referencia de tensión dedicada para el ADC. La entrada 212 de address_ADC es un pin externo del encapsulamiento de IC que aloja el circuito de autenticación, es decir, el nodo de entrada de dirección es un pin externo del circuito de autenticación. Alternativamente, el divisor resistivo puede estar integrado en el encapsulamiento de IC y la entrada address_ADC puede ser un nodo interno. En este ejemplo, el bit menos significativo (LSB) depende de la tensión acoplada a la conexión de alimentación del módulo. Los otros bits son independientes de la tensión acoplada a la conexión de alimentación del módulo. Uno o más de estos bits independientes pueden estar almacenados en una memoria no volátil ubicada dentro de un módulo. De esta manera, la dirección base de un módulo puede ser cambiada para evitar conflictos con otros dispositivos sobre el mismo bus I2C, tal como por ejemplo, módulos de no autenticación. En este ejemplo, el nodo de entrada de dirección está acoplado a la conexión de alimentación a través de un divisor resistivo. Alternativamente, se puede usar un atenuador de tensión diferente, como por ejemplo, un amplificador operacional configurado para atenuar.
La tensión en la conexión 112 de alimentación también puede controlar el conjunto de comandos reconocidos por el primer módulo 104. Por ejemplo, el circuito 202 de autenticación puede estar configurado para que responda a un primer comando dirigido a su dirección I2C cuando la tensión 212 (Vain) en la entrada de address_ADC es 2V, y que no responda al primer comando cuando Vain es 3V. De manera similar, el circuito de autenticación puede estar configurado para que responda a un segundo comando cuando Vain es 3V, y que no responda al segundo comando cuando Vain es 2V. Este comportamiento puede continuar para una Vain múltiple, por ejemplo, el circuito de autenticación puede estar configurado para que responda a un tercer comando dirigido a su dirección I2C cuando Vain es 2.5V, y que no responda al tercer comando cuando Vain es 2V o 3V. Esto puede ser implementado mediante comparación de Vain con umbrales predeterminados para segmentar el intervalo de tensión de Vain. Por ejemplo, el circuito 202 de autenticación puede estar configurado para que responda al segundo comando solo si Vain es mayor que 2.75V. El primer comando, el segundo comando y el tercer comando son diferentes entre sí. De esta manera, el comportamiento operativo de, por ejemplo, un módulo de autenticación fijado a una botella de tóner puede ser diferente del comportamiento operativo de un módulo de autenticación fijado a un fusor, incluso aunque los módulos de autenticación sean idénticos. Esto mejora aún más la eficiencia de fabricación como se ha comentado anteriormente. Además, en este ejemplo, la entrada 212 de address_ADC realiza dos funciones: establecer la dirección I2C y controlar el conjunto de comandos reconocidos por el circuito 202 de autenticación. Esto es beneficioso puesto que reduce el recuento de pines del circuito 202 de autenticación y, por lo tanto, puede reducir su costo.
La Figura 3 muestra un diagrama esquemático que representa un circuito según otra realización de la presente divulgación. Una red 300 de módulos de impresora tiene un ASIC 302 de sistema acoplado a un tercer módulo 304 y a un cuarto módulo 306 a través de un bus I2C. El bus I2C tiene una línea de reloj 308 controlada por el ASIC 302 de sistema, y una línea de datos 310 controlada bidireccionalmente por el ASIC 302 de sistema, por el tercer módulo 304 y por el cuarto módulo 306. La línea de reloj y la línea de datos son conexiones de comunicación serie. El ASIC 302 de sistema excita la línea de reloj 308 con un circuito de excitación de salida de push-pull alimentado desde una fuente de alimentación 336 de la PCB 303 de sistema. La línea de datos tiene un resistor 313 de subida conectado a la fuente de alimentación 336.
El ASIC 302 de sistema está ubicado en una PCB 303 de sistema. El tercer módulo 304 está ubicado en un componente reemplazable por el usuario, p. ej. según se muestra en una botella de tóner 305. El tercer módulo 304 incluye una PCB. Una conexión 312 de alimentación, una conexión 314 de masa, una conexión 316 de reloj y una conexión 318 de datos son, por ejemplo, almohadillas conductoras ubicadas en la PCB del primer módulo. Los dedos metálicos compatibles tocan las almohadillas conductoras formando conexiones eléctricas entre la PCB 303 de sistema y el primer módulo 104. Alternativamente, la conexión 312 de alimentación, la conexión 314 de masa, la conexión 316 de reloj y la conexión 318 de datos se pueden hacer con otras conexiones reutilizables, tal como conexiones de pines enchufables. El cuarto módulo 306 tiene conexiones similares y está ubicado, por ejemplo, como se muestra en una unidad 319 de formación de imágenes. El ASIC 302 de sistema es idéntico al ASIC 102 de sistema descrito anteriormente.
El tercer módulo 304 y el cuarto módulo 306 son idénticos. La dirección de comunicación del tercer módulo 304 no es fija. En cambio, está controlada por la tensión lógica alta (LHV) de la línea de reloj 308. La LHV de la línea de reloj 308 es activada por el ASIC 303 de sistema y es, por ejemplo, 3,3V. La línea de reloj 308 está directamente acoplada a la conexión 316 de reloj del tercer módulo 304. Por lo tanto, la LHV de la conexión 316 de reloj es, en este ejemplo, 3.3V, y la dirección de comunicación del tercer módulo 304 es, por ejemplo, el valor binario 0000101. La dirección de comunicación del tercer módulo 304 se establece mediante circuitería ubicada dentro del tercer módulo 304, como se describirá más adelante. Para el cuarto módulo 306, la línea de reloj 308 pasa a través de un divisor resistivo realizado con el resistor 330 y el resistor 332. La salida del divisor de resistivo está acoplada a la conexión 334 de reloj del cuarto módulo 306. Por lo tanto, la LHV de la conexión 334 de reloj es menor que la LHV de la conexión 316 de reloj. En este ejemplo, el resistor 330 es de 1 kilo ohmio, el resistor 332 es de 5 kilo ohmios y, por lo tanto, la LHV de la conexión 334 de reloj es de 2.75V. La dirección de comunicación del cuarto módulo 306 está controlada por la LHV de la conexión 334 de reloj y es, por ejemplo, el valor binario 0000100.
Es preferible ajustar la alta tensión lógica del reloj I2C en lugar de la baja tensión lógica ya que la alta tensión lógica de un módulo se puede individualizar agregando dos resistores baratos, como se muestra en la Figura 3. Individualizar la baja tensión lógica de un módulo es más complicado y puede ser más costoso de implementar
El tercer módulo 304 puede establecer su dirección de comunicación cuando el bus I2C está inactivo, es decir, entre transmisiones. Alternativamente, el tercer módulo 304 puede muestrear la conexión 116 de reloj en la condición de inicio I2C, como se muestra en la Figura 4. Como se conoce en la técnica, una condición 402 de inicio I2C ocurre cuando una línea de datos 404 de I2C transita desde una tensión lógica alta (p. ej. 3.3V) a un nivel lógico bajo (p. ej.
0V) mientras que una línea de reloj 406 de I2C está en una tensión lógica alta. De ese modo, el tercer módulo 304 puede disparar la configuración de su dirección de comunicación cuando se detecta la condición de inicio I2C ya que, por definición de una condición de inicio I2C, la conexión 116 de reloj estará en LHV. El disparo en la condición de inicio es preferible al disparo cuando el bus I2C está inactivo debido a que la lógica para determinar cuándo está el bus I2C inactivo puede ser complicada de implementar.
La Figura 5 muestra detalles del tercer módulo 304. El tercer módulo 304 es un módulo de autenticación que contiene un circuito 502 de autenticación que implementa un procedimiento de autenticación. El circuito 502 de autenticación y el tercer módulo 304 pueden estar configurados de modo que realicen uno o más de los métodos detallados a continuación. El circuito 502 de autenticación tiene un pin 501 de Vcc que está directamente acoplado a la conexión 312 de alimentación.
La conexión 316 de reloj está directamente acoplada a una entrada 504 de reloj del circuito 502 de autenticación. La entrada 504 de reloj puede ser, por ejemplo, una entrada digital con una entrada de tensión alta (VIH) del 60% de la del pin 501 de Vcc, y una entrada de tensión baja (VIL) del 40% de la del pin 501 de Vcc. Por lo tanto, en este ejemplo, mientras la LHV de la conexión 316 de reloj sea mayor que el 60% de la del pin 501 de Vcc, la entrada 504 de reloj estará en un estado lógico alto. En consecuencia, la VIH de la entrada 504 de reloj establece la LHV mínima de la conexión 316 de reloj que está disponible para la individualización de la dirección de comunicación. Por supuesto, se pueden usar otras configuraciones de entrada digital tal y como se conoce en la técnica. Por ejemplo, la entrada 504 de reloj puede tener una VIH de 1.1V y una VIL de 0.9V. La entrada de datos puede tener las mismas VIH y VIL que la entrada del reloj.
La conexión 316 de reloj también está directamente acoplada a una entrada 506 de address_ADC del circuito 502 de autenticación. Dentro del circuito 502 de autenticación, esta entrada está conectada a un convertidor de analógico a digital (ADC) tal como, por ejemplo, un comparador, un ADC de aproximación sucesiva, etc. La salida del ADC es uno o más bits binarios que se utilizan para establecer la dirección de comunicación serie del circuito 202 de autenticación. Por ejemplo, si la LHV de la conexión 316 de reloj es inferior al 90% de la del pin 501 de Vcc, la dirección de comunicación puede establecerse en un valor binario 0000100; de lo contrario, la dirección de comunicación puede establecerse en un valor binario 0000101. En este ejemplo, el ADC usa el pin 501 de Vcc como referencia de tensión y las mediciones de LHV de la entrada 316 de reloj serán relativas a la conexión 312 de alimentación, es decir, el tercer módulo 304 realiza "mediciones relativas". Alternativamente, el tercer módulo 304 puede generar una referencia de tensión dedicada para el ADC y las mediciones de LHV de la entrada 316 de reloj no serán relativas a la conexión 312 de alimentación, es decir, el tercer módulo 304 realiza "mediciones absolutas". Aquí, es preferible usar mediciones relativas puesto que evita errores debidos a diferencias entre una referencia de tensión del tercer módulo 304 y una fuente de alimentación 336 de una PCB 303 de sistema, que alimenta el ASIC
302 de sistema que activa la línea de reloj 308 en subida y en bajada. Alternativamente, la entrada de address_ADC puede estar conectada internamente a la entrada de reloj 504.
La Figura 6 muestra un ejemplo de realización de un método para operar un módulo de autenticación según una realización. El método 600 establece una dirección de comunicación del módulo en base a una tensión entre la conexión de alimentación del módulo y la conexión a masa. Esto permite que módulos idénticos se acoplen al mismo bus de comunicación en diferentes direcciones. El módulo tiene una conexión de alimentación, una conexión a masa y una conexión de comunicación serie, p. ej. I2C, USB, etc. Si la conexión de comunicación serie es I2C, entonces las comunicaciones serie serán formateadas en el formato de datos I2C como se conoce en la técnica.
En el bloque 602, una dirección de comunicación del módulo se inicializa a un valor por defecto. Esto se puede realizar, por ejemplo, durante una secuencia de encendido.
En el bloque 604, el método determina si una tensión entre la conexión de alimentación y la conexión a masa excede un umbral predeterminado. Si así se determina, en el bloque 606, la dirección de comunicación del módulo se establece en una primera dirección. El umbral predeterminado puede ser una tensión tal como, por ejemplo, 4.5V. En el bloque 608, se recibe una comunicación serie a través de la conexión de comunicación serie. En el bloque 610, el método determina si la comunicación serie está dirigida a la dirección de comunicación del módulo. Si así se determina, en el bloque 612 se responde a la comunicación serie a través de la conexión de comunicación serie; de lo contrario, en el bloque 614 no se responde a la comunicación serie. El método vuelve en bucle al bloque 604 y se repite.
La Figura 7 muestra un ejemplo de realización de un método de operación de un módulo de autenticación según una realización. El módulo tiene una conexión de alimentación, una conexión a masa, una conexión de reloj I2C y una conexión de datos I2C.
En el bloque 702, se genera una fuente de tensión operativa a partir de la conexión de alimentación. La tensión de operación puede ser generada, por ejemplo, por un regulador lineal y, por lo tanto, la tensión de operación puede ser al menos doscientos milivoltios menor que la tensión de DC en la conexión de alimentación. La tensión de operación puede ser regulada a un valor predeterminado, por ejemplo 3,3 V, a una tolerancia predeterminada, por ejemplo del 5%, en un intervalo de corrientes operativas, por ejemplo de 0 mA a 10 mA. En el bloque 704, se alimenta un circuito de autenticación desde la fuente de tensión operativa.
En el bloque 706, se establece una dirección de comunicación del módulo en base a la magnitud de una tensión de DC presente en la conexión de alimentación. En el bloque 708, se recibe un primer comando a través de la conexión de reloj I2C y de la conexión de datos I2C. El primer comando va dirigido a la dirección de comunicación del módulo. En el bloque 710, se responde al primer comando.
La Figura 8 muestra un ejemplo de realización de un método de operación de un módulo según una realización. El módulo tiene una conexión a masa, una conexión de reloj I2C y una conexión de datos I2C.
En el bloque 802, se detecta una condición de inicio I2C de un primer comando. Esto dispara el bloque 804, para determinar una tensión entre la conexión de reloj I2C y la conexión a masa y el bloque 805 para establecer una dirección de comunicación del módulo basada en la tensión determinada. La configuración puede basarse en la tensión medida entre la conexión de reloj I2C y la conexión a masa en relación con una tensión medida entre la conexión de alimentación y la conexión a masa. Preferiblemente, el bloque 802, el bloque 804 y el bloque 805 ocurren en cada condición de inicio I2C, de modo que la dirección de comunicación del módulo puede ser cambiada dinámicamente.
En el bloque 806, se recibe un primer comando direccionado a la dirección de comunicación del módulo a través de la conexión de reloj I2C y de la conexión de datos I2C. En el bloque 808, el método responde al primer comando. En el bloque 810, se recibe un segundo comando direccionado a una dirección diferente a la dirección de comunicación del módulo a través de la conexión de reloj I2C y de la conexión de datos I2C. En el bloque 812, el método no responde al segundo comando.
Los actos de los métodos pueden realizarse en órdenes diferentes a los ejemplos dados.
La Figura 9 muestra un diagrama esquemático que representa un circuito según otra realización de la presente divulgación. Un ASIC 900 tiene un pin 902 de alimentación, un pin 904 de reloj I2C, un pin 906 de datos I2C y un pin 908 de masa. La circuitería del interior del ASIC está acoplada al pin 902 de alimentación y al pin 908 de masa. El ASIC tiene un módulo 910 de comunicación serie que implementa el protocolo de comunicación I2C como un esclavo I2C. El módulo 910 de comunicación serie tiene un registro 912 de dirección que contiene la dirección de esclavo I2C. El registro 912 de dirección tiene siete bits que incluyen un bit más significativo 914 (MSB) y un bit menos significativo 916 (LSB). Los bits 6 - 2 son establecidos por una memoria 918 no volátil.
Los bits 1 y 0 (LSB 916) son establecidos por las salidas de un convertidor 920 de analógico a digital (ADC). Por supuesto, el número mayor o menor de bits del registro de direcciones puede ser establecido por el ADC 920. El
ADC 920 es un ADC de aproximación sucesiva. Alternativamente, el ADC 920 puede ser un grupo de comparadores con diferentes umbrales de comparación, u otro tipo de ADC como se conoce en la técnica. El ADC 920 tiene una entrada de referencia que está conectada al pin 902 de alimentación. De ese modo, las mediciones de ADC serán relativas a la tensión presente en el pin 902 de alimentación. La entrada de ADC está conectada al pin 904 de reloj I2C. La entrada de disparo del ADC está conectada a la salida de un detector 922 de condición de inicio I2C. El detector 922 de condición de inicio I2C está construido según se conoce en la técnica. Por ejemplo, puede contener un detector de transición de alto a bajo con una entrada conectada al pin 906 de datos I2C y una salida conectada a una puerta AND, otra entrada de la puerta AND está conectada al pin 904 de reloj I2C, y la salida de la puerta AND está conectada a la salida del detector 922 de condición de inicio I2C. El detector 922 de condición de inicio I2C puede estar configurado para detectar cuándo el pin 904 de reloj I2C es mayor que 1V mientras el pin 906 de datos I2C pasa desde un valor mayor de 1V a uno menor de 1V. En esta configuración de circuito, el ADC establecerá el registro de dirección LSB en base a la tensión en el pin 904 de reloj I2C en la condición de inicio I2C. La velocidad de conversión del ADC es más rápida que el tiempo de transmisión del encabezado I2C, de modo que el registro 912 de direcciones sea estable antes de que un maestro I2C termine de enviar una dirección de transmisión. El ADC puede contener una compensación tal que se produzca una salida con todos los bits iguales a cero cuando la tensión de entrada sea, por ejemplo, igual o menor al 70% de la tensión de referencia. El ASIC 900 puede ser usado, por ejemplo, en el módulo 304 y en el módulo 306 que se muestran en la Figura 3. El ASIC 900 puede contener un módulo de autenticación configurado para realizar un procedimiento de autenticación.
Es preferible establecer los bits menos significativos del registro de dirección 910 en base a la tensión de reloj I2C de modo que las direcciones potenciales del ASIC, al menos las direcciones potenciales establecidas por la tensión de reloj I2C, sean contiguas en el espacio de direcciones I2C. Esto hace que sea más fácil para un usuario verificar si hay conflictos entre dispositivos sobre el mismo bus I2C que si se usara la tensión de reloj I2C para establecer los bits más significativos del registro de direcciones.
La Figura 10 muestra un diagrama esquemático que representa un circuito según otra realización de la presente divulgación. El ASIC 1000 tiene un diseño similar al ASIC 900, y los designadores de referencia que sean iguales significan componentes iguales. El registro 1012 de direcciones tiene un LSB 1016 establecido por un ADC que en este ejemplo es un comparador 1030. La entrada positiva del comparador 1030 está conectada al pin 1004 de reloj. La entrada negativa del comparador 1030 está conectada a un divisor resistivo formado por el resistor 1032 y el resistor 1034 que son excitados por medio del pin 1002 de alimentación. El resistor 1032 puede ser, por ejemplo, de 1 kilo ohmio, y el resistor 1034 puede ser de 10 kilo ohmios. El registro 1012 de direcciones tiene una entrada 1036 de enganche conectada a la salida de un detector 1022 de condición de inicio I2C. El enganche mantiene estable el registro 1012 de direcciones mientras el pin 1004 de reloj transita durante una transmisión I2C. El ASIC 1000 puede ser usado, por ejemplo, en el módulo 304 y en el módulo 306 que se muestran en la Figura 3. El ASIC 1000 puede contener un módulo de autenticación configurado para realizar un procedimiento de autenticación.
Claims (5)
1. Un circuito integrado específico de la aplicación (ASIC) que comprende: un pin (902) de alimentación; un pin (908) de masa; un pin (904) de reloj I2C; un pin (906) de datos I2C; un módulo (910) de comunicación serie que tiene un registro (912) de direcciones que tiene una pluralidad de bits que incluyen un bit menos significativo (LSB 916) y estando el módulo (910) de comunicación serie acoplado al pin (902) de alimentación, al pin (908) de masa, al pin (904) de reloj I2C y al pin (906) de datos I2C; caracterizado porque,
un convertidor (920) de analógico a digital tiene una entrada acoplada al pin (904) de reloj I2C y una primera salida acoplada al bit menos significativo (LSB 916) del registro (912) de direcciones, en donde el ASIC tiene una memoria (918) no volátil y el registro (912) de direcciones está configurado para mantener una dirección de comunicación I2C y tiene un bit más significativo establecido por la memoria (918) no volátil.
2. El ASIC de la reivindicación 1, en donde el convertidor (920) de analógico a digital tiene una segunda salida acoplada a un bit del registro (912) de direcciones que no es el bit menos significativo (LSB 916).
3. El ASIC de la reivindicación 1, en donde el convertidor (920) de analógico a digital tiene una entrada de disparo y el ASIC tiene un detector de condición de inicio I2C que tiene una salida acoplada a la entrada de disparo.
4. El ASIC de la reivindicación 1, en donde el registro (912) de direcciones tiene una entrada de enganche y el ASIC tiene un detector de condición de inicio I2C que tiene una salida acoplada a la entrada de enganche.
5. El ASIC de la reivindicación 1, en donde el convertidor (920) de analógico a digital tiene una entrada de referencia acoplada al pin (902) de alimentación.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/517,394 US9223741B1 (en) | 2014-10-17 | 2014-10-17 | Systems for setting the address of a module |
US14/703,376 US9213396B1 (en) | 2014-10-17 | 2015-05-04 | Methods and apparatus for setting the address of a module using a clock |
PCT/US2015/055979 WO2016061480A2 (en) | 2014-10-17 | 2015-10-16 | Methods and apparatus for setting the address of a module using a clock |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2811328T3 true ES2811328T3 (es) | 2021-03-11 |
Family
ID=58161134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES15788281T Active ES2811328T3 (es) | 2014-10-17 | 2015-10-16 | Aparato para establecer la dirección de un módulo utilizando un reloj |
Country Status (2)
Country | Link |
---|---|
ES (1) | ES2811328T3 (es) |
MX (1) | MX2016010299A (es) |
-
2015
- 2015-10-16 ES ES15788281T patent/ES2811328T3/es active Active
- 2015-10-16 MX MX2016010299A patent/MX2016010299A/es unknown
Also Published As
Publication number | Publication date |
---|---|
MX2016010299A (es) | 2016-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3092575B1 (en) | Methods and apparatus for setting the address of a module using a clock | |
US9298908B1 (en) | Methods and apparatus for setting the address of a module using a voltage | |
ES2870094T3 (es) | Sistemas para establecer la dirección de un módulo | |
US11515797B2 (en) | Apparatus for dynamic learning of voltage source capabilities | |
US10368423B2 (en) | Bus protocol for dynamic lighting application | |
US9007951B2 (en) | Self synchronizing data communication method and device | |
ES2912900T3 (es) | Circuitos Lógicos | |
US20140198833A1 (en) | Self synchronizing data communication method and device | |
WO2010117674A1 (en) | Usb isolator with advanced control features | |
KR20150132313A (ko) | 단선식 프로그래밍 및 디버깅 인터페이스 | |
ES2811328T3 (es) | Aparato para establecer la dirección de un módulo utilizando un reloj | |
US9994179B2 (en) | Circuit arrangements and a method for receiving information | |
WO2019045562A1 (en) | DIGITAL COMMUNICATION SYSTEM AND METHOD OF TRANSFERRING POWER AND DATA BETWEEN CIRCUITS OF THE SYSTEM | |
JP6545583B2 (ja) | 半導体装置 | |
US11126234B2 (en) | Safe power up generating circuit having reset mechanism activating a chip select and command signal | |
EP3092573B1 (en) | Methods for setting the address of a module | |
ES2791899T3 (es) | Módulo de control con un circuito electrónico integrado para montar en un cartucho de material consumible | |
CN111522423B (zh) | 重置信号产生电路及计算机系统 | |
One | PSoC™ High Voltage (HV) Mixed Signal (MS) MCU-64K | |
KR20230109270A (ko) | 신호 처리 장치, 이미지 출력 장치 및 이를 이용한 이미지 투사 방법 | |
KR20230124396A (ko) | Can 통신을 위한 신호 레벨 변환 장치 및 그의 동작 방법 |