Este sencillo tutorial le guiará a los usuarios a través del proceso de interconexión una EEPROM chip a una frambuesa Pi usando los pines GPIO y realizar operaciones con los scripts de Python.
Vamos a empezar con algunos conceptos básicos en la EEPROM:
1) CE, OE,-¿qué significa?
Para leer, escribir y borrar datos de un chip EEPROM, primero hay que traer el chip en el estado correcto. Esto se hace usando las 3 clavijas de control típicamente llamado Chip permiten, salida permitir y permitir que escriba.
Activar chip controla si o no el chip se enciende. Dependiendo del tipo de chip, este perno de conexión a tierra o a voltaje se convertirá el chip de encendido o apagado. No hace falta decirlo, eso si queremos realizar cualquier operación que tenemos que activar el chip. Deshabilitar el chip nos permite apagar el chip dejando eléctricamente conectado a nuestro circuito. De esta manera el chip consume menos energía.
Salida activar es un pin que decía el chip que quieres leer de él. Una vez más, dependiendo del chip, este perno de conexión a tierra o a voltaje dirá el chip le presentaremos el contenido de dado la dirección de memoria (más sobre esto más adelante). Desactivación de la salida completa la operación de lectura.
Escriba que enable es similar para permitir salida pero usados para escribir datos en el chip. Dependiendo del tipo de chip, conectar a tierra o a voltaje hará que los datos de escritura del chip a una dirección de memoria seleccionada (más sobre esto más adelante).
2) entonces, ¿cómo puedo controlar las clavijas?
¡ Es fácil! Dependiendo de tu chip EEPROM, usted activar o desactiva estos pines al conectarlos a una fuente de tensión o a la tierra. La jerga utilizada para la operación es "tirar" para conectar a la tensión y "hacia abajo" para conectar a tierra. En algunos casos (y en nuestro caso en particular), tirando hacia arriba un pin hace que el estado correspondiente se desactivarán en lugar habilitado. Puede parecer contra intuitivo ya que esperas que tire hacia arriba para encender algo pero así es la vida a veces.
ADVERTENCIA!!!: dejando a uno de estos pines desconectados del circuito no es igual que ser tirado hacia abajo! Si ninguna de las patillas se dejan desconectar el circuito les llamamos "flotante" y esencialmente su estado es aleatorio e indeterminado. Por ejemplo, interferencias de RF pueden causar una señal alta o baja y por lo tanto hacen el perno actúa como si está habilitada o deshabilitada. Siempre Conecte las clavijas a tu circuito!
3) se trata de la secuencia.
¿Supongamos que quiero leer algunos datos de mi EEPROM, lo que necesito hacer con estos pernos para hacer que todo el trabajo? Realizar operaciones en EEPROM es hacer las cosas en el orden correcto. Así que si queremos leer el chip, la secuencia sería la siguiente:
La dirección de memoria (tirar hacia arriba/abajo pines del bus de dirección para formar una dirección en formato binario)
Activar chip (encendido)
Activar salida (leer esa dirección)
Leer la dirección de memoria (los pines del bus de datos ahora se establecerá alto o bajo, según los datos de la dirección)
Desactivar salida (la salida del bus de datos está todavía habilitada en este momento por lo que puedo leer los datos)
Desactivar el chip (de la energía abajo, no hay salida en el bus de datos en este momento)
Repita lo anterior para la próxima dirección que desea leer.
4) ¿cuál fue ese autobús que ha hablado?
Bus de datos y Bus de direcciones. El chip EEPROM, junto con los pernos ya OE, CE, también tendrá un conjunto de pines para configurar una dirección y un conjunto de pines para lectura/escritura de datos a la dirección seleccionada. El número de pines del bus de dirección depende de la capacidad del chip. Cuanto mayor sea la capacidad, las direcciones más se necesitan y por lo tanto los pasadores más el autobús tendrá. Para establecer una dirección que tirar hacia arriba/abajo los pernos para representar 1/0. Cada dirección representada por cualquier combinación de bits contiene 1 byte. Así que un chip con 2048 direcciones tendrá capacidad de 2048 bytes. Los pines en el Bus de direcciones se numeran típicamente así: A0, A1, A2, A3,... A (n)
El Bus de datos, en contraste con el Bus de direcciones, puede ser cualquiera o salida, dependiendo de la operación seleccionado. Si decidimos escribir en el chip, que establecer la dirección que queremos escribir a través el Bus de direcciones y luego juego el Bus de datos tirando sus pernos arriba/abajo para representar un byte. Si decidimos leer el chip, entonces los pines del Bus de datos se establecerá alta/baja para representar el 1/0 del byte en la dirección que hemos seleccionado. Los pines en el Bus de datos como números: D0, D1, D2,... D7
5) una última cosa: Bit más significativo
La mayoría del pedacito significativo es esencialmente el bit que representa el valor más alto en un byte. Diversas virutas pueden utilizar un esquema de pedido diferente cuando almacenar bytes. La documentación de tu chip se definirá si el Bit más significativo está en el número de pin más alto o más bajo en el Bus de datos. Una vez que sepa qué pin tiene el MSB, el resto de los pines representan el resto de los bits en orden ascendente o descendente. Por ejemplo, si el MSB es el pin D7 del Bus de datos, entonces el menos pedacito significativo va el ser en el pin D0.