Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial Internet of Things >> Integrado

Como o ruído no nível do sistema em interfaces digitais pode levar a erros espúrios na memória Flash serial


Na busca incessante de maior desempenho em nível de sistema, os Fabricantes de Dispositivos Integrados (IDMs) se tornaram bem versados ​​no desenvolvimento de interfaces digitais capazes de operar em altas velocidades em ambientes eletricamente desafiadores. Interfaces padrão, como SPI e I2C, fornecem uma maneira relativamente simples de interconectar dispositivos de diferentes fornecedores de uma forma confiável e eficaz. O mesmo se aplica a outros tipos de interface.

O domínio digital pode ser considerado como um refúgio seguro para desenvolvedores que buscam construir sistemas complexos rapidamente usando tecnologias "padrão". Na verdade, a indústria incorporada é amplamente dependente de interfaces baseadas em padrões que "simplesmente funcionam", pois fornecem a estrutura para a inovação. Quando eles não "apenas funcionam", pode levar à confusão, especialmente se a causa de uma falha for mal interpretada. Qualquer confusão seria compreensível, visto que as interfaces são desenvolvidas para serem robustas e confiáveis ​​quando aplicadas de acordo com a especificação. O fato de a interface física subjacente ser fixada em silício também forneceria garantia.

Ruído do sistema, em todas as suas formas

Qualquer distorção de um sinal pode ser interpretada como ruído e é provavelmente razoável presumir que o ruído é mais frequentemente aparente em um ambiente de comunicação; o sinal recebido não é o sinal enviado. Essa correlação direta é relativamente simples de encontrar, mas em alguns casos a causa e o efeito não são identificados tão facilmente. O desafio é agravado quando a falha se torna intermitente.

Os microcontroladores de hoje são projetados para fornecer operação confiável com configuração mínima. No caso de uma interface serial, isso pode incluir a padronização de altas correntes de inversor nos pinos de E / S para combater a influência de trilhas longas de PCB ou altas cargas capacitivas. Em alguns casos, isso pode resultar no controle excessivo de uma interface que, por sua vez, pode levar a efeitos derivados que são interpretados como erros ou falhas.

Como exemplo, os dispositivos de memória Flash serial oferecem vários recursos avançados que garantem uma operação confiável e permitem que o dispositivo seja interrogado. Isso pode incluir filtros de ruído, programação adaptativa avançada e algoritmos de apagamento que gerenciam as margens das células. Alguns fabricantes também incluem ECC nos elementos de armazenamento, salvando metadados adicionais com cada operação de gravação para permitir que erros de um ou vários bits sejam detectados e corrigidos, mas esta correção ECC não ajudará quando o ruído corromper a transação de mensagem básica no barramento de interface de comunicação.

O ruído na interface SPI pode ser mal interpretado como pulsos de clock adicionais. Como o SPI é uma interface acionada por relógio, isso teria repercussões como comandos sendo ignorados, dados sendo mal interpretados, comandos errados sendo usados, etc. No entanto, o ruído também carrega energia e em alguns casos esta energia pode por si mesma introduzir erros na operação de um dispositivo .

Bombas de carga e ultrapassagem

Na maioria dos casos, alguns overshoot ou undershoot em um sinal podem ser tolerados por interfaces digitais. Não deve ser esquecido, entretanto, que a energia sob a curva ainda está presente e em alguns circuitos isso pode ser perturbador.

Um caso em questão é o circuito da bomba de carga na memória Flash serial. Se os sinais de barramento SPI contiverem ruído significativo, há uma chance de que a energia desse sinal se propague até a bomba de carga e interrompa sua operação.

A bomba de carga na memória Flash é uma função crítica, pois fornece a energia necessária para alterar a polarização de uma célula de memória e, efetivamente, armazenar um 1 ou 0. lógico. O processo de escrever / apagar é um momento crucial na operação do Flash memória, qualquer interrupção na bomba de carga durante esse tempo pode causar erros de gravação ou exclusão e, embora esses erros possam ser detectados, há uma chance de que não sejam aparentes.

Um erro desse tipo pode ser facilmente interpretado como uma falha no dispositivo de memória Flash. O fato de a memória Flash ter um número finito de ciclos de leitura e gravação garantidos pelo fabricante é bem compreendido pelos designers incorporados, mas o que talvez não seja tão bem compreendido é a importância de fornecer uma interface limpa, sem muitos overshoot ou undershoot.

Como exemplo, considere a imagem na Figura 1. Ela mostra margens saudáveis ​​de células para seis dispositivos Flash. Dois padrões distintos emergem entre células programadas com dados que representam lógico 1 (2V a 5V) e 0 (> 6v). Por comparação, a imagem na Figura 2 mostra a margem da célula de memória para três dispositivos Flash que sofreram corrupção de dados causada por overshoot e undershoot nas linhas de controle.


Figura 1:Esta imagem mostra bons dados de separação de margem de célula para a memória Flash que foi programada e apagada. (Fonte:Adesto)


Figura 2:Esta imagem mostra dados de separação de margem de célula insuficientes para a memória Flash, onde houve ruído significativo presente nas linhas SPI. (Fonte:Adesto)

Vários fatores podem contribuir para o nível de ruído, como frequência de operação, amplitude do sinal, níveis de acionamento de MCU e a energia contida nos picos de ruído. O design do PCB e a interferência entre os sinais também podem ser fatores contribuintes.

Os dados na Figura 2 mostram os efeitos de overshoot e undershoot excessivos na interface serial. A Figura 3 abaixo mostra uma representação de como esse overshoot ficaria em um aplicativo real.

clique para ampliar a imagem

Figura 3:Esta imagem de rastreamento mostra claramente que o overshot e undershoot presentes nas linhas SPI estavam resultando em uma tensão de pico a pico de 5,65 V, que excede o valor máximo absoluto documentado na especificação da memória Flash . (Fonte:Adesto)

O resultado desse ruído era a operação incorreta do dispositivo, que aparecia como erros nos valores armazenados da memória flash serial. Inicialmente, o verdadeiro impacto dos erros foi perdido, pois a pesquisa do registro STATUS em uma base menos frequente relatou menos erros, levando o designer a fazer suposições incorretas sobre a causa raiz da falha.

Identificar a verdadeira causa raiz

Embora essa falha tenha aparecido como uma falha de memória, a causa raiz não estava nos dispositivos Flash. Isso foi descoberto pelos engenheiros da Adesto sondando os sinais SPI e identificando o ruído do sistema presente. Embora o ruído pudesse ser parcialmente atribuído a uma incompatibilidade de impedância presente na trilha do PCB entre o MCU e a memória Flash, não era tudo.

A fonte do ruído era, na verdade, a interface MCU, cujo padrão é um alto nível de inversor na inicialização. O drive excessivo foi suficiente para causar overshoot e undershoot nas linhas SPI, o que em alguns casos pode ser mal interpretado como transições de sinal, levando a erros de leitura ou gravação. No entanto, neste caso, foi descoberto que o overshoot continha energia suficiente para interromper a bomba de carga do Flash, que por sua vez estava causando os erros.

No projeto do cliente, o microcontrolador sendo usado forneceu uma corrente de acionamento configurável para sua E / S, cujo padrão é ALTO na inicialização. Como o código do aplicativo não modificou este nível durante a inicialização, ele permaneceu alto na operação normal.

O impacto disso pode não ser aparente para outros dispositivos no barramento SPI, já que as interfaces digitais são normalmente projetadas para serem robustas. A natureza sensível da memória Flash, a necessidade de operar em frequências muito mais altas e, em particular, a operação da bomba de carga, tornou a memória suscetível a overshoot / undershoot. Isso levou a uma operação incorreta que foi inicialmente mal interpretada como uma falha no dispositivo de memória Flash.

Corrigindo o erro

A redução da corrente da unidade por meio do firmware reduziu o overshoot e undershoot para efetivamente zero (Figura 4) e, por sua vez, resultou em uma operação livre de erros da memória Flash.

clique para ampliar a imagem

Figura 4:Sem ultrapassagem aparente, a bomba de carga da memória Flash serial foi capaz de operar corretamente e fornecer funcionalidade confiável. (Fonte:Adesto)

A natureza da falha mostrou que o dispositivo Flash estava fazendo todos os esforços para compensar o efeito do erro, que era o ruído excessivo do sistema na interface SPI.

Talvez o ponto mais significativo aqui seja que a causa foi, na verdade, um recurso de design do MCU usado, que foi padronizado para um modo de operação que, na maioria das situações, seria inteiramente aceitável. A combinação de uma alta saída do inversor e indutância imperfeita do PCB criou uma condição que resultou em falha intermitente. Reduzir a saída do inversor no MCU, por meio de uma simples mudança de firmware, resolveu o problema.

Isso destaca a verdadeira lição aqui:o que pode parecer uma falha genuína de componente pode, na verdade, ser um descuido no projeto. Substituir os dispositivos de memória teria sido uma resposta natural ao que inicialmente se acreditava ser a falha, mas por meio de um forte relacionamento de trabalho entre cliente e fornecedor, bem como equipes de engenharia de hardware e software, a causa real foi encontrada e a solução certa aplicada . O resultado foi um design significativamente melhor, maior desempenho do sistema e maior confiabilidade.

Conclusão

O ruído do sistema pode ser facilmente descartado quando não há impacto aparente. Erros intermitentes são particularmente difíceis de localizar em condições ideais, mas quando os erros são mal interpretados, o desafio fica ainda mais difícil.

Overshoot é possivelmente a forma menos aparente de ruído do sistema, mas, conforme explicado aqui, seu impacto pode ser significativo. A memória flash é uma tecnologia confiável, mas depende de uma interface cuidadosamente projetada. Ruído excessivo na interface serial tem o potencial de se propagar através dos circuitos da bomba de carga, prejudicando a operação dos circuitos de programação e exclusão. Isso resulta em características imprevistas que podem ser facilmente interpretadas como uma falha no próprio dispositivo, apresentando-se como falhas na célula de memória, bem como programação inconsistente ou não confiável e operações de apagamento.

Nesse caso, substituir a memória Flash e presumir que o problema foi resolvido pode ter resultado na entrada no mercado de produtos que provavelmente falhariam em algum ponto. Em vez disso, o designer foi capaz de melhorar a programação e apagar a consistência por um fator significativo, com a resistência efetiva saltando de inaceitáveis ​​~ 20K ciclos antes que os erros fossem detectados para mais de 2,5 milhões de ciclos sem erros e sem necessidade de rotinas de correção e detecção de erros suplementares.

O nível de configurabilidade oferecido pelos microcontroladores modernos pode ser visto como uma ajuda e um obstáculo; o fato de a corrente do inversor ser configurável foi possivelmente a causa do overshoot neste exemplo. No entanto, ser capaz de reduzir a força do impulso também foi eficaz na resolução do problema.

Integrado

  1. A Keysight lança um novo sistema de teste de ruído de fase
  2. Winbond:chip de memória dual-die NOR + NAND agora suporta NXP Layerscape LS1012A
  3. Aceito:PC veicular com CAN, GbE, PoE, 4G, 3G e WLAN
  4. Como gêmeos digitais podem ajudar a impulsionar o desempenho logístico
  5. Como o Cloud Analytics pode acelerar a transformação da cadeia de suprimentos digital
  6. Por que os fornecedores de materiais devem adotar o marketing digital – e como podemos ajudar!
  7. Como os OEMs de dispositivos médicos podem implementar os modelos de negócios da Indústria 4.0
  8. Como os contaminantes no ar comprimido podem afetar os processos
  9. Como reduzir o número de erros e melhorar o sistema de qualidade de produção?
  10. Como pequenas lojas podem se tornar digitais — economicamente!