Confiabilidad de la memoria del microcontrolador: memoria de información frente a flash externo

1

Tuve una pequeña consulta que no pude encontrar una respuesta corta en google. para almacenar una pequeña cantidad de datos (por ejemplo, 8 bytes) en un sistema integrado (que también contiene un Flash externo), se prefiere almacenar en FLASH EXTERNO en lugar de INFO MEMORY del controlador (MSP430 en mi caso).

Mi consulta no es específica de MSP430, pero en general.

Mi mensaje me dijo que la memoria INFO no es confiable y que se debería usar Flash externo. No tengo experiencia.

Esperaba que hubiera algún razonamiento técnico sobre qué memoria es más confiable (considerando que se toma el cuidado adecuado al escribir en la memoria).

Gracias de antemano.

    
pregunta Feroze Mohamed

3 respuestas

1

Desde un punto de vista puramente técnico, no veo ninguna razón inmediata por la que un flash externo sea mejor dado el conteo equivalente de ciclos de borrado / escritura y el volumen de almacenamiento.

Si ha revisado todas las hojas de datos, puede abordar esto con su cliente potencial, ya que podría ahorrarle dinero a la compañía y obtener algunos "puntos" para su próxima revisión anual o cuando sea el momento de renovar un contrato, etc. < fuerte> Pero no vayas en contra de lo que dice tu líder sin primero ponerlo / a de tu lado.

Además, la solución técnicamente superior, podría no ser la solución adecuada para su empresa o su proyecto.

Es posible que esté "malgastando" dinero en fichas para ahorrar dinero en otra parte, por ejemplo. tal vez esos chips flash te ponen justo por encima de un límite mínimo de dólares para obtener soporte gratuito que de otra forma costaría más que el flash innecesario.

O podría estar usando una memoria flash externa porque el cliente final lo espera / lo requiere. He visto a clientes decir: "aunque no usaremos ninguno de los componentes X" por razones aparentemente sin sentido, pero los clientes pagan las cuentas :).

O tal vez tenga toda la razón, pero es demasiado tarde / costoso hacer un cambio en la junta o en la lista de materiales.

Ser punto: cuando estás en el negocio de hacer un producto físico real, hay muchos factores detrás de las decisiones que podrían no tener ningún sentido para un desarrollador de nivel de entrada o incluso un desarrollador muy experimentado que es nuevo en Embedded trabajo.

    
respondido por el Brian McFarland
0

No conozco ninguna razón por la que el FLASH externo sea más confiable que la memoria FLASH interna. Si no fuera técnicamente confiable entonces, programar el chip sería como jugar a la ruleta ;-).

Pero, en comparación con la memoria RAM, la memoria FLASH solo puede realizar una pequeña cantidad de ciclos de reescritura (~ 1000 hasta ~ 10,000 veces, según el tipo). Pero ese es el caso con flash externo también. Por lo tanto, si desea escribir datos de manera continua, sería mejor utilizar la RAM con respaldo de batería (por ejemplo, DS1307 es un RTC con 56 bytes adicionales de RAM no volátil). Una alternativa es la EEPROM que se puede programar de ~ 1,000,000 a ~ 100,000,000 veces.

Si usa su MCU para probar con frecuencia nuevos programas en los que los datos adicionales que mencionó no cambiarán, es probable que sea mejor usar un FLASH externo para evitar la sobrescritura accidental de los datos. Tal vez esa fue la intención de su liderazgo.

Y también es posible que los datos se deriven de la ejecución de los programas. (?) Entonces, si no tiene cuidado, la reprogramación del chip podría sobrescribir los datos recopilados anteriormente. Ese no sería el caso de la memoria externa. Así que es posible que destruyas datos valiosos reprogramando el chip. Ese también podría ser el significado de lo que dijo tu líder.

    
respondido por el Peter Paul Kiefer
0

Bueno, esto puede depender de tantas cosas. Pero antes que nada: le preguntaste "¿Por qué?" ¿Cuál fue la respuesta?

De todos modos, todas las cosas son iguales (incluida la resistencia de escritura - Por cierto, especifique el chip flash externo para que podamos ser más específicos), hay problemas como:

  • El propósito & ciclo de vida de los datos que necesita conservar: ¿necesita sobrevivir a una falla / actualización de MCU? (Ver también el comentario de Weather Vane sobre la pregunta).

  • A lo que se refería Peter P. Kiefer: además de los errores de programación genéricos que representan el mismo riesgo para el flash interno y externo, la memoria de información también puede ser sobrescrita accidentalmente por un código específico para manipular el Sólo MSP.

  • Energía: escribir en el flash MSP requiere cierto nivel de voltaje mínimo.

  • Tiempo: la configuración incorrecta del reloj del sistema o el tiempo de escritura incorrecto (por ejemplo, demasiado largo) puede dañar la actualización del flash.

Etc. Dependiendo del chip externo, es posible que estas fallas potenciales no se apliquen allí. (Pero entonces, bien puede haber otros ...)

Vea (mucho) más detalles sobre las consideraciones de flash del MSP430, p. ej. aquí:

respondido por el Sz.

Lea otras preguntas en las etiquetas