Tabla de contenido:

Bus Pirate 3EEPROM Explorer Board: 5 pasos
Bus Pirate 3EEPROM Explorer Board: 5 pasos

Video: Bus Pirate 3EEPROM Explorer Board: 5 pasos

Video: Bus Pirate 3EEPROM Explorer Board: 5 pasos
Video: #04 - How To Get The Firmware - Hardware Hacking Tutorial 2024, Noviembre
Anonim
Bus Pirate 3EEPROM Explorer Board
Bus Pirate 3EEPROM Explorer Board

Si tienes uno de los piratas de autobuses de Hack a Day, ¿qué haces con él? Aprenda sobre EEPROM de 1 cable, I2C y SPI con la placa exploradora 3EEPROM (la llamamos THR-EE-PROM). EEPROM es un tipo de chip de memoria que almacena datos sin una fuente de alimentación continua. Es útil para el almacenamiento permanente de datos en pequeños circuitos de registradores o para mantener páginas personalizadas en un mini servidor web. Las EEPROM vienen en muchos tamaños y protocolos. La 3EEPROM tiene tres chips EEPROM comunes: DS2431 (1 cable), 24AA- (I2C) y 25AA- (SPI). Los tres se demostraron previamente en Hack a Day, pero cada demostración usa una versión diferente del hardware y firmware de Bus Pirate, es difícil para un principiante seguir usando un Bus Pirate v2go. las EEPROM DS2431, 24AA- y 25AA- con Bus Pirate v2go. También tenemos los registros de sesión completos como archivos de texto para que no se pierda ni un solo detalle. Podemos tener kits o PCB de la placa exploradora 3EEPROM producidos en Seeed Studio. Los PCB cuestan alrededor de $ 10, los kits cuestan alrededor de $ 15 y se envían a todo el mundo. Necesitamos organizar una compra grupal de 10 PCB o 20 kits para comenzar. Si estás interesado en un Bus Pirate, se acerca la versión 3. No pude incluir algunos elementos de formato y tablas HTML en un Instructable, puedes ver la publicación original en el blog Dangerous Prototypes.

Paso 1: Descripción general del hardware 3EEPROM

Descripción general del hardware 3EEPROM
Descripción general del hardware 3EEPROM
Descripción general del hardware 3EEPROM
Descripción general del hardware 3EEPROM
Descripción general del hardware 3EEPROM
Descripción general del hardware 3EEPROM

El objetivo de este prototipo es aprender sobre EEPROM y tres protocolos de bus comunes. Primero, miramos el PCB 3EEPROM, luego demostramos cada EEPROM usando una herramienta de interfaz serial universal Bus Pirate. Si no tiene un Bus Pirate, aún puede seguirlo porque el orden básico de las operaciones de la interfaz sigue siendo el mismo sin importar cómo las implemente. Circuito Esquema de tamaño completo [PNG]. Hicimos el circuito y la PCB usando la versión gratuita de Cadsoft Eagle. Puede descargar el esquema y la PCB del archivo Bus Pirate SVN. La PCB 3EEPROM contiene una EEPROM DS2431 de 1 cable (IC1), una EEPROM 24AA-I2C (IC4) y una EEPROM 25AA-SPI (IC5). IC1) extrae energía de forma parásita del bus de 1 cable, no tiene un pin de fuente de alimentación externa y no requiere un condensador de desacoplamiento. IC2 e IC3 son espacios vacíos para dispositivos adicionales de 1 cable, como otro sensor de temperatura DS2431 o DS1822. C1 (0.01uF) es opcional y solo se necesita si IC2 o IC3 están equipados con un dispositivo de 1 cable alimentado. 1 cable requiere una resistencia de pull-up fuerte, un máximo de 2.2K ohmios. Las resistencias pull-up integradas del Bus Pirate son de 10K, demasiado débiles para alimentar adecuadamente el DS2431 durante las escrituras. La placa exploradora 3EEPROM incluye una resistencia pull-up de 1.8k ohmios y 1/8 de vatio (R1) en el bus de 1 cable para que no se necesite una resistencia pull-up adicional. cada uno obtiene un condensador de 0.1uF para desacoplarlos de la fuente de alimentación (C2, C3). Probablemente no necesite los condensadores en un circuito tan simple, los omitimos de la placa prototipo en la demostración. El bus I2C utilizado por el 24AA- también requiere resistencias pull-up, pero las resistencias pull-up de 10K ohmios integradas del Bus Pirate son suficientes. Todos los componentes operarán desde 2.8 voltios a 5 voltios DC. El circuito se alimenta a través de los pines VCC y GND del puente 3. Hay dos pines VCC, uno es para la alimentación, el otro es para el pin de entrada de voltaje de la resistencia pull-up del Bus Pirate (Vpullup). versión gratuita de Cadsoft Eagle. Puede descargar el esquema y la PCB del archivo Bus Pirate SVN. Si desea un PCB preparado profesionalmente o un kit 3EEPROM, es posible que podamos organizar una compra grupal si 10 o 20 personas están interesadas. Lista de piezas R1 Resistencia de 1800 ohmios (1/8 de vatio) C2, 3 condensador de 0,1 uF / 10 voltios + JP1-4 Conector de clavija macho de 0,1 "IC1 DS2431 EEPROM 1K de 1 cable TO-92IC4 ** 24AA014-I / P I2C EEPROM DIP8IC5 ** 25AA010A-I / P SPI EEPROM DIP8ICS4, 5 zócalo DIP de 8 pines para IC5, 6 ** IC4, IC5 podría ser de cualquier tamaño, nos vinculamos a chips pequeños, usamos 128bytes y 128Kbytes. No pude incluir algunos formatos y tablas HTML en un Instructable, puedes ver la publicación original en el blog Dangerous Prototypes.

Paso 2: 25AA- / 25LC- SPI EEPROM

25AA- / 25LC- SPI EEPROM
25AA- / 25LC- SPI EEPROM
25AA- / 25LC- SPI EEPROM
25AA- / 25LC- SPI EEPROM
25AA- / 25LC- SPI EEPROM
25AA- / 25LC- SPI EEPROM

Demostraciones Todas las demostraciones de EEPROM se ven prácticamente iguales. Escribiremos algunos números en el chip y luego los leeremos. Cada dispositivo tiene condiciones que se aplican una vez que desea escribir más de unos pocos valores, como el tamaño de la página y las limitaciones de los límites. Lea más sobre esto en la hoja de datos para su dispositivo específico. Si no puede hacer que una demostración funcione, descargue el registro completo del terminal para no perderse nada de lo que hicimos. Las resistencias pull-up son el problema más común, verifique el voltaje del pin pull-up usando el menú 'v' en el terminal Bus Pirate. Chip: 25AA, SPI EEPROM (1Kbyte). Bus: SPI. Solo se requieren resistencias pull-up para interfaces de voltaje mixto Requisitos de energía: 1.8 voltios a 5.5 voltios (AA), 2.5 voltios a 5.5 voltios (LC) Referencias: hoja de datos, demostración de Hack a Day Registro de sesión completo de Bus Pirate para esta demostración No pude incluir algunos formatos y tablas HTML en un Instructable, puede ver el original en el blog de Dangerous Prototypes. IC5 es una EEPROM I2C de la serie 25AA de Microchip, estas EEPROM vienen en una tonelada de tamaños. Las piezas AA funcionan desde 1,8 voltios a 5,5 voltios, mientras que las piezas 25LC- tienen un requisito mínimo de 2,5 voltios. C3 (0,1 uF) desacopla la EEPROM SPI de la fuente de alimentación. Los pines de protección contra escritura (WP) y retención podrían ser controlados por un microcontrolador, pero los desactivamos manteniendo estos pines en alto. Los pines del bus SPI, CS, DO, CLK y DI, se llevan al encabezado JP4. Configuración Si está utilizando un Bus Pirate, conéctelo al 3EEPROM o 25AA-IC como se muestra en la imagen de la tabla a continuación. SPI normalmente no requiere resistencias pull-up. Interfaz En la terminal Bus Pirate presione 'm' para el menú de modo y seleccione SPI. Configure la biblioteca SPI para salida de pin normal, use los valores predeterminados para todas las demás configuraciones del modo SPI. Habilite las fuentes de alimentación ('W' grande) en el indicador del modo SPI. Finalmente, obtenga un informe de voltaje para asegurarse de que las fuentes de alimentación estén funcionando ('v'). Vamos a demostrar cómo conectar la EEPROM directamente a 3.3 voltios usando la biblioteca SPI en modo de pin normal. No se requieren resistencias pull-up para esta demostración. Si desea conectar una EEPROM alimentada por 5 voltios, use la biblioteca SPI en modo de pin de colector abierto (HiZ) y habilite las resistencias pull-up con el pin Vpullup (Vpu) conectado a la fuente de alimentación de la EEPROM. Paso 1, apague la protección contra escritura 'SPI> [0b110] CS ENABLED <<< selección de chip habilitada ESCRITURA: 0x06 <<< deshabilite el comando de protección contra escritura CS DISABLED <<El 25AA- está protegido contra escritura al encenderlo. Seleccione el chip inferior (CS) ([), envíe el comando de desactivación de protección contra escritura (0x06) y luego eleve CS (]) para activar las escrituras en la EEPROM. El comando de desactivación de protección contra escritura es 0b00000110 en binario, pero podemos acortarlo a 0b110 y Bus Pirate todavía lo entienden. Paso 2, escriba algunos valores 'SPI> [0b10 0 3 2 1] CS ENABLED <<< selección de chip habilitadaWRITE: 0x02 <<< comando de escrituraWRITE: 0x00 <<< escriba la dirección de inicioWRITE: 0x03 <<< 3 valores para escribir (3, 2, 1) ESCRIBIR: 0x02 ESCRIBIR: 0x01CS DESHABILITADO <<Ahora se puede escribir en la EEPROM. Primero, baje el CS para activar el 25AA- ([). A continuación, envíe el comando de escritura (0x02) y la ubicación para comenzar a escribir (0). Envíe los datos para almacenar (3 2 1), luego suba CS (]) para guardar los valores. Nota: utilizamos una pequeña EEPROM de 128 bytes, los chips más grandes usarán una dirección de 16 bits (2 bytes). Este comando sería [0b10 0 '' '0' '' 3 2 1] para EEPROM mayores de 256 bytes, observe el segundo 0. Revise la hoja de datos de su EEPROM para estar seguro. Paso 3, vuelve a leer los valores SPI> [0b11 0 r: 3] CS ENABLED <<< selección de chip habilitada ESCRITURA: 0x03 <<< comando de lectura ESCRITURA: 0x00 <<< leer dirección de inicio BULK LEER 0x03 BYTES: <<< leer 3 valores 0x03 0x02 0x01CS DISCAPACITADO <<Finalmente, vuelva a leer los datos para verificar que la escritura fue exitosa. Seleccione 25AA- ([), envíe el comando de lectura (0x03) y la dirección de inicio (0), y luego lea tres valores (r: 3). Levante CS para completar la transacción (]). Los valores coinciden, la escritura se realizó correctamente. Nota: utilizamos una pequeña EEPROM de 128 bytes, los chips más grandes usarán una dirección de 16 bits (2 bytes). Este comando sería [0b11 0 '' '0' '' r: 3] para EEPROM mayores de 256 bytes, observe el segundo 0. Revise la hoja de datos de su EEPROM para estar seguro.

Paso 3: EEPROM 24AA- / 24LC I2C

EEPROM 24AA- / 24LC I2C
EEPROM 24AA- / 24LC I2C
EEPROM 24AA- / 24LC I2C
EEPROM 24AA- / 24LC I2C
EEPROM 24AA- / 24LC I2C
EEPROM 24AA- / 24LC I2C

Chip: 24AA, I2C EEPROM (1 Kbyte). Bus: I2C, se requieren resistencias pull-up. Requisitos de energía: 1.8 voltios a 5.5 voltios (24AA), 2.5 voltios a 5.5 voltios (24LC). Referencias: hoja de datos, demostración de Hack a Day. Registro de sesión completo de Bus Pirate para esta demostración. No pude incluir algunos formatos y tablas HTML en un Instructable, puede ver el original en el blog de Dangerous Prototypes. IC4 es una EEPROM I2C de la serie 24AA de Microchip, estas EEPROM vienen en un tonelada de tamaños. Las piezas AA funcionan desde 1,8 voltios a 5,5 voltios, mientras que las piezas 24LC- tienen un requisito mínimo de 2,5 voltios. Un condensador de 0,1 uF (C2) desacopla el IC4 de la fuente de alimentación. El pin de protección contra escritura (WP) podría controlarse desde un microcontrolador, pero para esta simple demostración lo desactivamos con una conexión a tierra. Los pines del bus I2C, SDA y SCL, se llevan al encabezado JP2. La dirección de la mayoría de las EEPROM 24AA es 1010AAAS, con los cuatro bits finales determinados por los pines de dirección (A0, A1, A2) y el bit de selección del modo de lectura / escritura. (S). Todos los bits de dirección están conectados a tierra en este ejemplo, por lo que la dirección de escritura de la EEPROM es 10100000 (hoja de datos, página 6). Configuración Si está utilizando un Bus Pirate, conéctelo al 3EEPROM o 24AA-IC como se muestra en la imagen de la tabla a continuación. I2C es un bus bidireccional que requiere resistencias pull-up en ambos pines. Puede usar las resistencias pull-up integradas del Bus Pirate conectando el pin Vpullup (Vpu) a la fuente de alimentación de 3.3 voltios y habilitándolos en el terminal. Interfaz Nota: No todas las EEPROM I2C funcionan igual. El diminuto 24AA01, por ejemplo, tiene un sistema de comando y direccionamiento completamente diferente. Asegúrese de consultar la hoja de datos de su chip. Presione 'm' en la terminal Bus Pirate y seleccione I2C en el menú de modo. Habilite las fuentes de alimentación ('W' grande) y las resistencias pull-up ('p', opción 2) en el indicador I2C. Obtenga un informe de voltaje ('v') para asegurarse de que las fuentes de alimentación estén encendidas y que el pin Vpullup esté conectado a un voltaje. I2C> (0) <<(1) <<< utilizar macro de búsqueda de direcciones Buscando espacio de direcciones I2C de 7 bits. Dispositivos encontrados en: 0xA0 0xA1 <<Ya sabemos que la dirección I2C es 10100000, pero también podemos usar la macro de búsqueda I2C de Bus Pirate (1) para buscar el 24AA-. La macro de búsqueda encontró el dispositivo en las direcciones de escritura (0xA0) y lectura (0xA1) esperadas. Paso 1, escriba algunos valores I2C> [0b10100000 0 0 3 2 1] CONDICIÓN DE INICIO I2C <<< Condición de inicio I2C ESCRIBIR: 0xA0 GOT ACK: YES <<< 24AA- escribir direcciónWRITE: 0x00 GOT ACK: YES <<< escribir byte de dirección 1WRITE: 0x00 GOT ACK: YES <<< escribir byte de dirección 2WRITE: 0x03 GOT ACK: YES <<< 3 valores para escribir (3, 2, 1) WRITE: 0x02 GOT ACK: YESWRITE: 0x01 GOT ACK: YESI2C STOP CONDITION < <Comience la escritura con una condición de inicio I2C ([), seguida de la dirección de escritura 24AA- (0xa0). A continuación, envíe la dirección de 16 bits para escribir en (0 0) y los datos para escribir (3 2 1). Finalice la transacción I2C con una condición de parada (]). Paso 2, coloque el puntero de lectura I2C> [0b10100000 0 0] CONDICIÓN DE INICIO I2C <<< Condición de inicio I2C ESCRIBIR: 0xA0 GOT ACK: YES <<< 24AA- escribir direcciónWRITE: 0x00 GOT ACK: YES <<< escribir dirección byte 1WRITE: 0x00 GOT ACK: YES <<< escribir dirección byte 2I2C STOP CONDITION <<Se necesitan dos operaciones para leer desde el 24AA-. Uno coloca el puntero de lectura / escritura, el otro devuelve los valores. Comience con una condición de inicio I2C ([) y la dirección de escritura (0xa0). Envíe la dirección de 16 bits para leer (0 0) y luego la condición de parada (]). No enviamos ningún dato para escribir esta vez, simplemente colocamos el puntero de lectura / escritura de nuevo al comienzo de los datos que escribimos en el paso 1. Paso 3, lea algunos valores I2C> [0b10100001 r: 3] I2C START CONDITION <<< Condición de inicio I2C WRITE: 0xA1 GOT ACK: SI <<< 24AA- leer dirección BULK READ 0x03 BYTES: <<< leer 3 valores 0x03 0x02 0x01I2C STOP CONDITION <<El paso 2 establece el puntero de lectura / escritura al comienzo de los datos que queremos leer. Ahora podemos leer los datos usando la dirección de lectura 24AA. Comience con la condición de inicio I2C ([) y la dirección de lectura 24AA (0xa1). Lea los tres valores que escribimos en el paso 1 (r: 3) y termine con una condición de parada (]). Si los valores coinciden, entonces su escritura fue exitosa.

Paso 4: EEPROM de 1 cable DS2431

DS2431 EEPROM de 1 cable
DS2431 EEPROM de 1 cable
EEPROM de 1 cable DS2431
EEPROM de 1 cable DS2431
DS2431 EEPROM de 1 cable
DS2431 EEPROM de 1 cable

Chip: DS2431, EEPROM de 1 cable (1 Kbyte) Bus: 1 cable, <2.2Kohm Se requiere resistencia pull-up Requisitos de energía: 2.8 voltios a 5.25 voltios Referencias: hoja de datos, demostración de Hack a Day Registro completo de sesión de Bus Pirate para esta demostración. No pude incluir algunas tablas de formato y HTML en un Instructable, puede ver el original en el blog de Dangerous Prototypes.. 1-Wire necesita una fuerte resistencia pull-up, un máximo de 2.2Kohms. Las resistencias pull-up integradas del Bus Pirate son de 10K, demasiado débiles para alimentar adecuadamente el DS2431 durante las escrituras. Debe usar una resistencia externa de 2.2Kohm o más pequeña entre la alimentación y el pin de bus de 1 cable. Si tiene dificultades para escribir datos, asegúrese de que su resistencia pull-up sea lo suficientemente grande. La placa exploradora 3EEPROM incluye una resistencia pull-up de 1800 ohmios (R1) en el bus de 1 cable, por lo que no se necesita una resistencia externa. Configuración Si está utilizando un Bus Pirate, conéctelo a la placa 3EEPROM o DS2431 como se muestra en la imagen de la tabla a continuación. El DS2431 no requiere el pin de la fuente de alimentación, se usa en la placa 3EEPROM para alimentar la gran resistencia pull-up para el bus de 1 cable. Interfaz Presione 'm' en la terminal Bus Pirate y seleccione el modo 1-Wire. Habilite las fuentes de alimentación integradas ('W' grande) y verifique el monitor de voltaje (v). Paso 1, busque la dirección del dispositivo 1-WIRE> (0xf0) <<< Macro de búsqueda de 1-Wire 1WIRE ROM COMMAND: SEARCH (0xF0) Dispositivos encontrados en: Macro 1WIRE address1.0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B <<< DS2431 ID único * DS2431 1K EEPROM <<Cada dispositivo de 1 cable tiene una identificación única de 8 bytes. 1-Wire tiene un procedimiento de búsqueda que detecta la identificación de todos los dispositivos conectados. El Bus Pirate implementa la búsqueda 1-Wire como macro (240). Escriba '(240)' en la terminal Bus Pirate para iniciar la búsqueda de 1 cable. Se imprime la dirección de cada dispositivo y se identifican los dispositivos conocidos. Las primeras diez direcciones de dispositivos de 1 cable se almacenan como macros; en este ejemplo, nuestra dirección DS2431 está disponible escribiendo '(1)' en el terminal. Paso 2, escriba 8 bytes en el bloc de notas 1-WIRE> (0x55) (1) 0x0f 0 0 8 7 6 5 4 3 2 11WIRE BUS RESET OK <<< también {comando 1WIRE WRITE ROM COMMAND: MATCH (0x55) * seguir con la dirección de 64 bits 1 DIRECCIÓN DE CABLE MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2B 'ESCRIBIR: 0x0F <<< DS2431 escribir comando de bloc de notas ESCRIBIR: 0x00 <<< DS2431 escribir dirección byte 1 ESCRIBIR: 0x00 <<< DS2431 escribir dirección byte 2: 0x08 <<A continuación, escribiremos 8 bytes en una ubicación temporal en el DS2431 llamada scratch pad. Inicie la transacción con un reinicio de bus de 1 cable y un comando MATCH (0x55). Ambos están disponibles como macro '(0x55)'. Esto también se puede hacer sin una macro escribiendo '{0x55', {envía el reinicio de 1 cable, 0x55 es el comando MATCH de 1 cable. Después del comando MATCH, envíe el ID de 8 bytes del dispositivo a la dirección. Usamos la macro (1) que se completó con el ID de DS2431 en el paso 1. También puede ingresar el ID de 8 bytes manualmente. En este punto, el DS2431 debería haber recibido su dirección y estar listo para los comandos. 0x0f es el comando de escritura del bloc de notas, le dice al DS2431 que espere datos. Los siguientes dos bytes le dicen dónde poner los datos, los guardaremos al principio (0 0). Finalmente, enviamos 8 bytes de valores para almacenar, los números del 8 al 1. Debe escribir 8 bytes completos en el DS2431. Además, la dirección de escritura debe estar en un límite de 8 bytes. Consulte la hoja de datos para obtener una descripción general completa de las limitaciones de escritura. Paso 3, verifique el bloc de notas y obtenga el código de autorización 1-WIRE> (0x55) (1) 0xaa r: 3 r: 8 r: 2 r: 21WIRE BUS RESET OK <<< direccione el dispositivo 1WIRE WRITE ROM COMMAND: MATCH (0x55) * seguir con dirección de 64 bits 1 DIRECCIÓN DE CABLE MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<< leer comando de bloc de notas 0x07 0x06 0x05 0x04 0x03 0x02 0x01 BULK READ 0x02 BYTES: <<< CRC para los datos 0xC8 0x86 BULK READ 0x02 BYTES: <<Verifique que los datos se hayan recibido correctamente y obtenga un código de autorización de escritura. Comience nuevamente con un reinicio de 1 cable y una macro de comando MATCH (0x55), y la macro de dirección del dispositivo (1). Esta vez envíe el comando del bloc de notas de lectura DS2431 (0xAA), y luego lea un total de 15 bytes. Los primeros 3 bytes leídos (r: 3) son el código de autorización de escritura, lo necesitaremos en el siguiente paso para copiar el bloc de notas a la EEPROM. Los siguientes 8 bytes (r: 8) deben coincidir con los datos que enviamos en el paso 2. Los 2 bytes finales (r: 2) son un CRC16 para los datos. Lee después de que el CRC devuelva todos unos. Paso 4, escriba el bloc de notas en la EEPROM 1-WIRE> (0x55) (1) 0x55 0x00 0x00 0x071WIRE BUS RESET OK <<< direccione el dispositivo 1WIRE WRITE ROM COMMAND: MATCH (0x55) * siga con la dirección de 64bit1WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0x55 <<< copiar comando scratch padWRITE: 0x00 <<< código de autorización de 3 bytes del paso 3WRITE: 0x00WRITE: 0x071-WIRE EEPROM. Adireccione el dispositivo, luego envíe el comando del bloc de notas de copia DS2431 (0x55) seguido del código de autorización de tres bytes que recuperamos en el paso 3 (0x00 0x00 0x07). Si el código de autorización es correcto, los datos se mueven a la EEPROM. Paso 5, verifique que el bloc de notas escriba 1-WIRE> (0x55) (1) 0xaa r: 31WIRE BUS RESET OK <<< direccione el dispositivo 1WIRE WRITE ROM COMMAND: MATCH (0x55) * siga con la dirección de 64bit1WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xAA <<< leer comando de bloc de notas BULK READ 0x03 BYTES: 0x00 0x00 0x87 <<El DS2431 establece el bit más alto del código de autorización de escritura después de un comando de copia borrador exitoso. Envíe otro comando de lectura del bloc de notas (0xAA) para obtener el código de autorización actualizado, pero solo lea los primeros tres bytes (r: 3). El valor anterior 0x07 ha cambiado a 0x87, el comando de copia se recibió correctamente. Paso 6, vuelva a leer los valores 1-WIRE> (0x55) (1) 0xf0 0x00 0x00 r: 8 r: 81WIRE BUS RESET OK <<< direccione el dispositivo1WIRE WRITE ROM COMMAND: MATCH (0x55) * siga con la dirección de 64bit1WIRE ADDRESS MACRO 1: 0x2D 0x54 0xD2 0xEF 0x00 0x00 0x00 0x2BWRITE: 0xF0 <<< DS2431 comando de lecturaWRITE: 0x00 <<< 2 bytes de dirección de lecturaWRITE: 0x00BULK READ 0x08 BYTES: <<< leer los 8 bytes que escribimos 0x08 0x0x07 0x0AD01 0x08 BYTES: <<Verifique que la escritura haya funcionado correctamente recuperando los valores. Direccione el DS2431, luego envíe el comando de lectura (0xf0) y la dirección para leer (0x00 0x00). Es posible leer todo el rango de memoria con un solo comando. Leemos los ocho bytes que escribimos anteriormente (r: 8), que devolvieron los valores esperados. Los ocho bytes más allá de estos valores no se han escrito y devuelven 0.

Paso 5: Conclusión

Conclusión
Conclusión

Conclusión Este prototipo enseña sobre la memoria EEPROM y demuestra cómo usar el Bus Pirate con tres protocolos comunes: 1-Wire, I2C y SPI La placa exploradora 3EEPROM asegura las conexiones adecuadas a cada EEPROM y proporciona una resistencia pull-up externa para el bus de 1 cable más exigente con componentes alimentados por parásitos. Podemos tener kits o PCB de placa exploradora 3EEPROM producidos en Seeed Studio. Los PCB cuestan alrededor de $ 10, los kits cuestan alrededor de $ 15 y se envían a todo el mundo. Necesitamos organizar una compra grupal de 10 PCB o 20 kits para comenzar.

Recomendado: