Quando a fonte de alimentação de um microcontrolador fica abaixo de um certo limite, ocorrem condições de escurecimento e a memória RAM pode ser corrompida. Desde que todas as sequências de desligamento do circuito possam significar uma possível condição de queda de energia, eu sempre ativei o mecanismo Redefinir a detecção de queda de energia ao trabalhar com microcontroladores.
Gostaria de saber se há alguma situação em que não é recomendável ativar o recurso Redefinição de Brown-out?
microcontroller
brownout
m.Alin
fonte
fonte
Respostas:
Como observado, a ativação do circuito de desativação geralmente aumenta o consumo de corrente. Além disso, porque os fabricantes geralmente querem garantir que o circuito brown-out vai tropeçar em qualquer tensão que pode ser baixa o suficiente para fazer com que outras partes do chip para funcionar, muitas partes será capaz de operar a uma tensão mais baixa com marrom-out desativado . Por exemplo, um controlador pode trabalhar na maioria das vezes até 1,5 volts em temperatura ambiente, mas, sob certas condições estressantes (como temperatura elevada), pode funcionar mal em 1,99 volts. Para garantir que o dispositivo seja redefinido sob qualquer condição em que possa ocorrer um mau funcionamento, o circuito de interrupção pode ser projetado para disparar a 2,1 volts +/- 100mV.
Se um dispositivo com um controlador desse tipo fosse alimentado por duas pilhas alcalinas AA, a ativação do circuito de indisponibilidade de energia pode causar a inutilização do dispositivo com uma voltagem de 1,1 volts por célula e provavelmente interromperá a operação no momento em que a voltagem for atingida. 1,05 volts por célula. Desabilitar o circuito de queda de energia provavelmente estenderia a operação para pelo menos 0,9 volts por célula e possivelmente até 0,75 volts por célula. Se nenhum mau funcionamento plausível que possa ocorrer em baixa voltagem possa causar algum dano além do aumento do consumo de baterias inúteis, desativar o circuito de interrupção seria uma maneira simples de melhorar a vida útil da bateria, mesmo que não reduzisse o consumo de corrente das baterias utilizáveis.
fonte
Tudo tem tolerâncias, portanto, o nível de redefinição de escurecimento deve ser definido um pouco acima do nível mínimo no qual o chip é garantido para funcionar corretamente.
Portanto, o desmaio pode ocorrer bem antes que o chip funcione mal. Então você deve se perguntar, para esta região, onde o chip pode funcionar bem, mas você não pode ter certeza, escolheria
Se o custo do mau funcionamento não for muito maior do que o custo de não funcionar, a primeira opção é a preferida. Pense no recurso de ping na 'caixa preta' de um avião. Por todos os meios, deixe-o continuar se houver a menor chance de dar um ping!
Por outro lado, considere o acionamento de uma bomba ou de um airbag do carro. Se houver a menor chance de ocorrer um acidente por causa de uma baixa tensão de energia, é melhor desligar-se. Isso, é claro, pressupõe que o fechamento de meios não acenda!
Existem situações em que nenhuma boa escolha está disponível. Considere o infame primeiro lançamento do foguete Ariane V. O (s) computador (es) de controle de direção estão com defeito (neste caso, não devido à baixa energia). O que deveria fazer? Seguir em frente provavelmente significa dirigir na direção errada, mas parar significa não dirigir, o que tem o mesmo resultado. Também não é uma boa perspectiva para as pessoas no bunker de controle nas quais o foguete pode entrar :(
Como comenta Ross, é claro que um backup é uma boa idéia para um sistema de missão-circular. Mas isso muda o problema de design para esse backup. E se isso falhar? (Na prática, geralmente existem 3, ativos o tempo todo, com voto majoritário.) No caso do Ariane 5, os computadores primário e de backup falharam (embora não por culpa própria, mas essa é outra história.) foi que outro sistema (talvez até um humano na sala de controle) detectou que tudo estava fora de controle e desencadeou a autodestruição. É melhor que o foguete exploda no ar e caia em pedaços pequenos no mar, para que continue seu vôo em uma peça em alguma direção aleatória.
fonte
Se você não se importa com a redefinição (por exemplo, pode-se confiar no usuário para desligá-lo e ligá-lo novamente se as coisas não funcionarem perfeitamente e nenhum dano for possível) e o consumo de energia for importante, desligá-lo pode economizar alguns microamperes. (ou se você se importa, pode usar um circuito externo melhor que o mais ou menos embutido).
Se o BOR interno for inadequado para a tarefa (as tolerâncias podem não ser apropriadas, por exemplo), é possível desativá-lo e usar algo externo.
Um requisito interessante para alguns propósitos é que você precise saber a voltagem máxima abaixo da qual é garantido que coisas como EEPROMs não funcionem, para que o BOR possa inibir a operação e garantir nenhuma corrupção. Isso pode ser um pouco sutil para alguns circuitos BOR embutidos.
fonte
Você pode optar por desativar o BOR se houver um erro em que o BOR não funcione corretamente.
Consulte a edição 15 no PIC32MX534 / 564/664/764 Erratas de silício da família e esclarecimentos sobre as fichas técnicas .
fonte
Se você deseja reduzir o consumo atual no modo de suspensão. Por exemplo, para o ATmega328P, você pode reduzi-lo em 17uA desligando o BOD. Desligue todo o resto enquanto dorme e o chip consome 1,8 minA!
(Fonte: http://www.rocketscream.com/blog/2011/07/04/lightweight-low-power-arduino-library/ )
fonte
Há situações em que você pode usar um circuito brown-out externo personalizado.
Existem microcontroladores em que a resolução dos níveis de marrom é muito pequena.
Vamos supor que você trabalhe com um µc em que os dois níveis mais altos de escurecimento são 4,3 V e 2,7 V (comum no caso de AVR). Você determinou que nas frequências que você usa, 2,7 V é inseguro. No entanto, 4,3 V seria muito alto, pois limitaria o tempo de execução após uma falha de energia.
Muitas vezes tenho que trabalhar com dispositivos que frequentemente perdem a conexão com a fonte de alimentação externa e depois tenho que sobreviver com capacitores ou baterias. Ter um nível de escurecimento de 4,3 V levaria o dispositivo a desligar muito cedo. 2.7 levaria à corrupção de dados. No entanto, se, por exemplo, 3,5 V for um nível de escurecimento seguro, convém criar um circuito de escurecimento externo que funcione puxando a linha de redefinição do seu microcontrolador. Nesse caso, o circuito interno de escurecimento é inútil e pode ser desativado.
Caso você tenha mais processadores no mesmo sistema, faz sentido usar um único controlador de redefinição externa para todos eles. Nesse caso, desabilitar os detectores de indisponibilidade individuais nos processadores não é apenas útil para a vantagem marginal de economizar energia, mas também é necessário para evitar a situação em que alguns processadores estão em redefinição e outros ainda estão em execução.
fonte
Tivemos que ativar e desativar o VBOR durante uma parte da inicialização devido a um erro no silício nos microcontroladores que estávamos usando. Carregar as tampas da bomba de voltagem drenaria o dispositivo momentaneamente um pouco acima do mínimo e o VBOR continuava disparando. Então, desligamos o VBOR durante a inicialização e o ligamos cerca de 10 ms depois.
fonte