Cómo programar EEPROM

3

Al buscar una EEPROM paralela de 64K x 8, uno de los chips más disponibles es el 27SF512 . Google indicaría que esto es comúnmente usado por los entusiastas de los autos para reemplazar los chips en varios autos. He encontrado programadores dedicados que cuestan hasta cientos de dólares, pero realmente no quiero hacer eso. Me gustaría programarlo desde mi computadora a través de un Arduino en una conexión serial.

De la hoja de datos:

  

El modo de programación para SST27SF512 está activado   afirmando 11.4-12V en el pin OE # / VPP, VDD = 4.5-5.5V,   y VIL en el pin CE #. Estos dispositivos se programan byteby-byte con los datos deseados en la dirección deseada usando   un solo pulso (CE # pin bajo para SST27SF512 y PGM #   pin bajo para SST27SF010 / 020) de 20 µs. Usando el algoritmo de programación MTP, el proceso de programación de bytes continúa byte a byte hasta que todo el chip ha sido   programado.

Entiendo que debo aplicar alto voltaje al pin VPP, y que CE se convierte en un pin de reloj de algún tipo. Simplemente no tengo idea de lo que es el algoritmo de programación MTP.

En el mejor de los casos, solo puedo poner la dirección que quiero escribir y los datos en los pines apropiados y poner el CE bajo para almacenar los datos. Parece que tal vez tengo que escribir cada byte en secuencia aunque. Eso también está bien, pero no he podido encontrar ningún detalle firme sobre el protocolo exacto a usar.

También parece que necesito borrar por completo el chip a todos los 1's antes de cualquier programación, pero eso parece mucho más sencillo.

Me gustaría asegurarme de que entiendo lo que estoy haciendo antes de pagar un lote de chips.

    
pregunta captncraig

3 respuestas

1

Consulte las páginas 15 a 18 de la hoja de datos. Encontrará algunos Diagramas que explican los procedimientos implicados bastante bien. También hay diagramas de tiempo en la página 12 y 13.

Por ejemplo, para borrar el chip tienes que hacer lo siguiente:

  1. Establezca A9 y OE # / VPP en 12V
  2. Mantenga el CE # bajo durante al menos 100 ms
  3. Elimine 12V de A9 y OE # / VPP
  4. Espere un momento (1µs)
  5. Verifique todas las direcciones para 0xFF (si esto falla, hubo algún problema con la operación de borrado)

Para la programación, haga lo siguiente:

  1. Establezca OE # / VPP en 12V
  2. Establecer dirección de bytes en A0-A15
  3. Establecer datos en D0-D7
  4. Pulso CE # bajo para 20µs
  5. Vuelve a 2. para obtener más información
  6. Eliminar 12V de OE # / VPP
  7. Espere un momento (1µs)
  8. Verificar todos los datos escritos
respondido por el Nico Erfurth
2

La hoja de datos tiene todo lo que necesita para poder programarlo.

Echa un vistazo a la página 17 donde te proporciona un bonito diagrama de flujo para mostrarte cómo hacerlo.

El diagrama de tiempo en la página 13 también es muy útil.

El algoritmo "MTP" es el algoritmo para este chip, un chip "Programable muchas veces". Donde dice "El algoritmo de programación MTP" solo significa "El algoritmo que usamos para este chip".

    
respondido por el Majenko
2

El algoritmo de programación se encuentra en la página 16 de la hoja de datos. Parece bastante sencillo, y no debería tener problemas para implementarlo en su Arduino.

    
respondido por el Leon Heller

Lea otras preguntas en las etiquetas