¿Cuántas veces puede volver a actualizar el firmware de Marlin a una placa RAMPS 1.4 antes de que degrade la ROM?

9

En primer lugar, estoy trabajando con un kit Folger Tech Prusa i3, si eso marca la diferencia. También creo que el Arduino es un Mega 2560.

Sé en algún lugar en la parte posterior de mi cabeza que la ROM programable eléctricamente como lo que debe estar en la placa Arduino que almacena el firmware se degrada un poco, cada vez que le escribes. En este momento estoy tratando de calibrar otro problema de impresión, y creo que necesito modificar el firmware una vez más, lo que ya he hecho varias veces. Así que estoy empezando a preocuparme por cuántas veces puedo hacer eso.

Bueno, una vez que recordé el acrónimo "EEPROM", y después de buscar un poco en Google, me encontré con esto, Arduino - EEPROM , que dice que puede manejar 100k ciclos, así que creo que estoy en la respuesta, pero el problema es que yo ¿No estoy seguro de si un ciclo es un archivo completo que se está cargando? ¿No sería una simple muestra de datos? Y si es así, ¿cuántos ciclos consumiría el archivo Marlin promedio?

También encontré esto:

pero me sorprendería si lo hubiera subido más de 2000 veces

en Mega2560 ladrillo? no detectado, DFU falla , lo que indica que la respuesta podría ser tan baja como 2000.

También esto:

Modos de fallo

Hay dos limitaciones de la información almacenada; resistencia y retención de datos.

Durante las reescrituras, el óxido de puerta en los transistores de puerta flotante acumula gradualmente electrones atrapados. El campo eléctrico de los electrones atrapados se suma a los electrones en la puerta flotante, bajando la ventana entre los voltajes de umbral para ceros frente a unos. Después de un número suficiente de ciclos de reescritura, la diferencia se vuelve demasiado pequeña para ser reconocible, la celda se atasca en el estado programado y se produce una falla de resistencia. Los fabricantes generalmente especifican que el número máximo de reescrituras es de 1 millón o más. [5]

Durante el almacenamiento, los electrones inyectados en la puerta flotante pueden derivar a través del aislante, especialmente a temperaturas elevadas, y causar pérdida de carga, volviendo la celda al estado borrado. Los fabricantes generalmente garantizan la retención de datos de 10 años o más. [6]

de Wikipedia: EEPROM - Modos de falla , lo que indica que la respuesta podría estar en millones.

En este punto, me pregunto si un experto podría ver esto y aliviar mi angustia ...

usuario273872
fuente
El AT Mega2560 tiene almacenamiento flash interno, pero ayuda a buscar información en dispositivos flash externos. Hay varios grados diferentes de dispositivos flash externos. Algunos se pueden mostrar solo un número muy pequeño de veces, y de estas partes puede venir el número 2000. Otras piezas de grado superior se pueden volver a actualizar un millón de veces. En mi trabajo, generalmente vemos clasificaciones de 10,000 para piezas de bajo costo y 100,000 para piezas de mayor costo. Para el flash integrado, es posible que no exista un rango de precio y vida útil de este tipo, ya que complicaría el canal de prueba y distribución del fabricante.
cmm

Respuestas:

14

La EEPROM no es donde se almacena el programa en sí, lo que es relevante para su pregunta es el flash. El flash en el ATmega2560 tiene una capacidad de 10,000 ciclos (es decir, puede reprogramarlo al menos 10,000 veces).

Tom van der Zanden
fuente
Un "ciclo" para el almacenamiento flash no es la escritura sino el borrado. Cuando se escribe Flash, primero debe borrarse. El proceso de borrado estresa al dispositivo, y durante muchos ciclos conduce a varios modos de falla. Escribir datos en la parte borrada es más benigno. Por lo tanto, no importa cuán grande sea el programa. "Re-Flashing" comienza con un ciclo de borrado, seguido de tantos ciclos de programación como sea necesario.
cmm
1

El AVR tiene SRAM para variables (lo que generalmente se llama RAM), tiene EEPROM para variables no volátiles y tiene flash para el código ejecutable. (Arquitectura de Harvard!)

Para volver a flashear el firmware, ni las velocidades de escritura SRAM ni EEPROM son importantes, pero las velocidades de flash sí lo son. Las tasas de escritura flash están en la región de 100 mil a un millón, por lo que no debería ser un problema.

El artículo que vinculó también afirma que no hizo más de 2000 reescrituras y, por lo tanto, debería estar bien. Solo puedo estar de acuerdo. Unos pocos miles de flashes no son un problema. Una vez que te acercas a 100 mil, puedes comenzar a preocuparte.

Los bits de flash solo se pueden escribir de 1 a 0. Al borrar el flash, se escriben todos los bits a 1. El borrado solo se puede realizar en una página de flash (el tamaño depende del dispositivo, pero generalmente es un múltiplo de 512).

Lars Pötter
fuente