Paso 2: señales
Salí de mi soldador, un cable de cinta (solía ser un cable IDE de un ordenador antiguo) y un cuchillo. Cortar 6 cable de cinta ancha unos 30cm de largo, pelado los extremos cuidadosamente con el cuchillo (mucho más fácil utilizar un cuchillo para pelar un cable de cinta que un par de tijeras o pinzas) y a había soldado en la placa de circuito que se acopla con los cartuchos de tinta.
También desnudaron los otros extremos y soldado en algunos pines por lo que pude conectar en mi analizador de lógica.
Después de conectar el analizador de lógica en la placa de circuito y echar un vistazo a las señales, encontré que inmediatamente el SCK, SDA mira nada como I2C, estoy seguro de que Epson debe haber inventado su propio protocolo serial para hablar con EEPROMs dentro de los cartuchos de tinta.
Lo que encontré es CVDD consigue encendido y poco después, CRST y CSDA suben al mismo tiempo exacto poco seguido de CSCK que pulsos. CSDA cambia el borde de levantamiento de la CSCK y supondré que consigue leer en el borde de caer.
CSCK es el Serial de reloj
CSDA es datos en serie
CRST se restablece
y CVDD es el poder
¿Parece bastante fácil, pero yo quería más información sobre este protocolo, hubo alguna direcciones de envío?
He subido la frecuencia de muestreo en mi analizador de lógica y encontró que existen 4 reloj de ciclos, una pausa, luego de 8 ciclos, pausa, 8 más y así sucesivamente. Los ciclos de 4 reloj al principio me dieron la idea de que los cuatro primeros podrían ser una dirección de 4 bits del cartucho. Una gran cantidad de información seguía siendo desconocido sobre este protocolo. Así que hice algunas investigaciones.
Googlear alrededor no encontré nada sobre este protocolo, el siguiente mejor lugar para buscar patentes.
Sí, las patentes, busqué "Epson SDA SCK RST memoria eeprom" http://www.freepatentsonline.com/ y una de las patentes que encontré (US7660008 ) contiene exactamente lo que estaba buscando. Contorneó el SCK, SDA, RST y VDD del protocolo.
Ahorrará la molestia y me señalan lo que encontré:
1. diagramas de flujo que describe lo que hace el Host y esclavo
2. un diagrama de tiempo del Protocolo de
3. los primeros 3 bits son una dirección de 3 bits seguida por un bit de lectura/escritura (lectura = 0, escritura = 1)
4. el contador de dirección siempre comienza en 0 x 00 e incrementa en 1 cada ciclo de reloj (esto debe significar que escribe en bits, no bytes)
5. el momento primero va bajo, la EEPROM todo detiene y se reinicia
6. hay 252 bits para leer, los últimos 3 bits (realmente son al principio) es la dirección del cartucho de tinta.
Con lo que encontré, decidí comenzar a escribir código