¿Qué es una solución para representar los bits físicamente? (en un cartucho, para que lo lea el soporte del cartucho ... como una impresora)

0

¿Estoy tratando de recrear el tipo de microchips que están en los cartuchos de la impresora para poder hacer cartuchos que puedan tener sus datos programados y leídos? Solo necesito almacenar 8 bits, así que estaba pensando que un microchip podría ser excesivo. ¿Cómo puedo obtener 8 bits de datos de un cartucho que está enchufado?

También estaba pensando en simplemente conectar la alimentación a través de un interruptor (0/1), que representa los bits. Esto se conectaría a través de una resistencia pull-up y, por lo tanto, cuando el interruptor estuviera cerrado, obtendría una lectura de voltaje.

Otro diseño en el que pensé puede diferenciar 16 corrientes distintas en base a 4 interruptores y 4 valores de resistencia elegidos estratégicamente. El interruptor que está abierto representa un cero. La corriente fue igual al valor del bit (es decir, los interruptores que se cerraron en 1010 dieron 10 mA de corriente). ¿Qué tan confiable es el ADC actual y sería fácil repetir esto para varios soportes de cartuchos?

De todos modos, estas son las soluciones potenciales en las que he estado pensando hoy. Avíseme si todos pueden pensar en otra solución para diferenciar los cartuchos cuando están conectados.

Disculpe las muchas etiquetas, pero la solución podría estar en cualquiera de estas categorías.

¡Gracias!

    
pregunta Charles Andre

1 respuesta

3

La solución común más simple, similar en estilo a sus ideas, es hacer una PCB con una cantidad de almohadillas de contacto y cablearlas juntas en diferentes patrones. Luego puede leer el patrón de cableado conectando cada uno a un pin GPIO en su dispositivo host (debe tener entrada con pullup o pulldown como una opción) e impulsando un pin y leyendo los demás.

(También funcionaría con un conector en lugar de un PCB personalizado; la elección depende de cuál sea la mejor interfaz mecánica para su cartucho.)

Si usa diodos en lugar de cables, entonces puede tener tantos bits como combinaciones de contactos por pares (por lo que 8 bits solo requieren 5 contactos); Si desea un esquema de lectura paralelo simple, entonces usaría 9 contactos (1 "fuente de alimentación" y 8 líneas de datos).

En cualquiera de esos casos, puedes construirlo con switches en lugar de cableado para propósitos de prueba.

Si desea usar menos pines GPIO, almacenar más datos o poder escribirlos eléctricamente, entonces usaría algún tipo de chip de memoria que se comunica a través de una interfaz serie, como una EEPROM I2C. Este es un enfoque común para "identificar el periférico adjunto" en aplicaciones que desean muchos bytes de datos pero que no necesitan un microcontrolador en el periférico.

  

Otro diseño en el que pensé puede diferenciar 16 corrientes distintas en base a 4 interruptores y 4 valores de resistencia elegidos estratégicamente.

Se puede hacer uso de resistencias para comunicar más bits a través de una sola línea (hay una técnica clásica de multiplexación de pulsadores de esta manera), pero en su caso, puede interrumpirse por una resistencia no intencionada en la conexión del cartucho. En principio, puede solucionarlo utilizando detección de cuatro terminales, también conocida como conexión de Kelvin , pero en ese momento Probablemente sea más fácil usar múltiples líneas digitales en su lugar.

    
respondido por el Kevin Reid

Lea otras preguntas en las etiquetas