EEPROM 93C66 ¿problema de bit ficticio?

0

¿Alguien podría explicar la razón por la que el 93C66 EEPROM genera un dummy 0 durante una operación de lectura?

De la hoja de datos:

  

5.1 Lectura de datos desde la memoria La instrucción Leer datos de la memoria (READ) genera datos en la salida de datos en serie (Q). Cuando el   se recibe la instrucción, se decodifican el código de operación y la dirección, y   los datos de la memoria se transfieren a un registro de desplazamiento de salida. UNA   primero se emite el bit 0 ficticio, seguido por el byte de 8 bits o el de 16 bits   Palabra, con el bit más significativo primero. Los cambios en los datos de salida son   desencadenado por el flanco ascendente del reloj serie (C). El M93Cx6   Incrementa automáticamente el registro interno de direcciones y se desconecta.   el siguiente byte (o palabra) siempre que se mantenga presionada la entrada de selección de chip (S)   Alto. En este caso, el bit 0 ficticio no se emite entre bytes (o   palabras) y se puede leer un flujo continuo de datos.

Si la entrada / salida está orientada a bytes, y el primer bit de una lectura es un bit ficticio 0, todos los datos posteriores se desplazan (retrasan) un bit para hacer espacio para este bit ficticio.

Por ejemplo, si los datos almacenados en la EEPROM son:

byte1:[000000001] byte2:[000000001] 

se lee desde la EEPROM como:

byte1:[000000000] byte2:[100000000] byte3:[100000000]

Me gustaría almacenar algunos datos en EEPROM pero este cambio es el problema, ¿cuál es el uso de esta cosa del demonio llamada dummy 0?

EDITAR:

Solo quiero dejar un comentario sobre mi solución. Como pude cambiar el IC en mi caso, seguí usando 25LC640A-I / P DIL, se comporta como quería, así que si alguien necesita una pista aquí es.

    
pregunta user505160

1 respuesta

0

Usamos el 9346 en varios de nuestros productos, y tiene este mismo dummy "0".

Creo que la razón por la que hace esto es que necesita tener el último bit de dirección (A0) sincronizado antes de leer los datos y comenzar a sincronizar los datos solicitados. Si observa la hoja de datos, puede ver que el bit Dummy se superpone al bit de dirección A0.

Puedes arreglar esto combatiendo fuego con fuego :-). Agregue su propio bit de demonio ficticio al final de la palabra de dirección (Haga que la Longitud sea más larga), de modo que su puerto SPI ignore ese primer bit de la respuesta y comience a sincronizar la respuesta en el límite correcto.

Además, siempre necesito mirar detenidamente para ver que mi configuración de CPOL y CPHA es correcta. A veces, las cosas casi funcionan cuando estos ajustes son incorrectos, pero están desactivados en un bit (CPHA incorrecto) o, a veces, simplemente no son confiables (CPOL incorrecto).

    
respondido por el harry courtice

Lea otras preguntas en las etiquetas