Quantas vezes você pode re-atualizar o firmware do Marlin para uma placa RAMPS 1.4 antes de degradar a ROM?

9

Antes de tudo, estou trabalhando com um kit Folger Tech Prusa i3, se isso faz alguma diferença. Também acredito que o Arduino é um Mega 2560.

Eu sei em algum lugar na minha cabeça que a ROM eletricamente programável, como o que deve estar na placa Arduino, armazenando o firmware, diminui um pouco, toda vez que você escreve nele. No momento, estou tentando calibrar outro problema de impressão e acho que preciso modificar o firmware novamente, o que já fiz várias vezes. Então, estou começando a me preocupar com quantas vezes posso fazer isso.

Bem, depois que me lembrei do acrônimo "EEPROM", e depois de pesquisar um pouco, me deparei com isso, o Arduino - EEPROM , que diz que ele pode lidar com ciclos de 100 mil, então acho que estou na resposta, mas o problema é que eu não tenho certeza se um ciclo está carregando um arquivo inteiro? Não seria um único bloco de dados? E se sim, quantos ciclos o arquivo Marlin médio consumiria?

Eu também encontrei isso:

mas ficaria muito surpreso se eu carregasse mais de 2000 vezes

no Mega2560 emparelhado? não detectado, falha no DFU , indicando que a resposta pode ser tão baixa quanto 2000.

Além disso, isso:

Modos de falha

Existem duas limitações de informações armazenadas; resistência e retenção de dados.

Durante a reescrita, o óxido de porta nos transistores de porta flutuante acumula gradualmente elétrons presos. O campo elétrico dos elétrons presos aumenta os elétrons no portão flutuante, abaixando a janela entre as voltagens limiares para zeros versus zeros. Após um número suficiente de ciclos de reescrita, a diferença se torna pequena demais para ser reconhecida, a célula fica presa no estado programado e ocorre uma falha de resistência. Os fabricantes geralmente especificam o número máximo de reescritas sendo 1 milhão ou mais. [5]

Durante o armazenamento, os elétrons injetados no portão flutuante podem deslizar pelo isolador, especialmente a temperaturas elevadas, e causar perda de carga, revertendo a célula para o estado apagado. Os fabricantes geralmente garantem a retenção de dados de 10 anos ou mais. [6]

da Wikipedia: EEPROM - Modos de falha , indicando que a resposta pode estar na casa dos milhões.

Neste ponto, estou me perguntando se um especialista pode ver isso e aliviar minha angústia ...

user273872
fonte
O AT Mega2560 possui armazenamento flash interno, mas ajuda a procurar informações em dispositivos flash externos. Existem vários tipos diferentes de dispositivos flash externos. Alguns podem ser exibidos apenas um número muito pequeno de vezes e, a partir dessas partes, pode chegar o número 2000. Outras peças de nível superior podem sofrer reflash um milhão de vezes. No meu trabalho, geralmente vemos classificações de 10.000 para peças de baixo custo e 100.000 para peças de custo mais alto. Para o flash integrado, pode não haver uma faixa de preço e tempo de vida útil, pois isso complicaria o canal de teste e distribuição do fabricante.
Cmd

Respostas:

14

A EEPROM não é onde o próprio programa está armazenado, o que é relevante para sua pergunta é o flash. O flash no ATmega2560 é classificado para 10.000 ciclos (ou seja, você pode reprogramar pelo menos 10.000 vezes).

Tom van der Zanden
fonte
Um "ciclo" para armazenamento em flash não é a gravação, mas a eliminação. Quando o Flash é gravado, ele deve ser apagado primeiro. O processo de exclusão estressa o dispositivo e, ao longo de muitos ciclos, leva a vários modos de falha. A gravação de dados na parte apagada é mais benigna. Portanto, não importa o tamanho do programa. "Re-piscando" começa com um ciclo de apagamento, seguido por quantos ciclos de programação forem necessários.
Cmd
1

O AVR possui SRAM para variáveis ​​(o que geralmente é chamado de RAM), possui EEPROM para variáveis ​​não voláteis e pisca para o código executável. (Arquitetura de Harvard!)

Para re-piscar o firmware, nem as taxas de gravação SRAM nem EEPROM são importantes, mas as taxas de Flash são importantes. As taxas de gravação em flash estão na faixa de 100 mil a um milhão, portanto isso não deve ser um problema.

O artigo que você vinculou também afirma que ele não reescreve mais de 2000 e, portanto, deve ficar bem. Eu só posso concordar. Alguns milhares de re-flashes não são problema. Quando você se aproximar dos 100 mil, pode começar a se preocupar.

Os bits do Flash podem ser gravados apenas de 1 a 0. A exclusão do flash grava todos os bits em 1. A exclusão pode ser feita apenas em uma página flash (o tamanho depende do dispositivo, mas geralmente um múltiplo de 512).

Lars Pötter
fonte