Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial Internet of Things >> Incrustado

Cómo el ruido a nivel del sistema en las interfaces digitales puede provocar errores falsos en la memoria Flash en serie

En la búsqueda incesante de un mayor rendimiento a nivel de sistema, los fabricantes de dispositivos integrados (IDM) se han convertido en expertos en el desarrollo de interfaces digitales que pueden operar a altas velocidades en entornos eléctricamente desafiantes. Las interfaces estándar, como SPI e I2C, proporcionan una forma relativamente sencilla de interconectar dispositivos de diferentes proveedores de forma fiable y eficaz. Lo mismo ocurre con otros tipos de interfaces.

Se puede pensar en el dominio digital como un refugio seguro para los desarrolladores que buscan construir sistemas complejos rápidamente utilizando tecnologías "estándar". De hecho, la industria integrada depende en gran medida de interfaces basadas en estándares que "simplemente funcionan", ya que proporcionan el marco para la innovación. Cuando no "simplemente funcionan", puede generar confusión, especialmente si se malinterpreta la causa de una falla. Cualquier confusión sería comprensible, dado que las interfaces están desarrolladas para ser robustas y confiables cuando se aplican de acuerdo con la especificación. El hecho de que la interfaz física subyacente esté fijada en silicio también proporcionaría tranquilidad.

Ruido del sistema, en todas sus formas

Cualquier distorsión de una señal puede interpretarse como ruido y probablemente sea razonable suponer que el ruido es aparente con mayor frecuencia en un entorno de comunicaciones; la señal recibida no es la señal enviada. Esta correlación directa es relativamente fácil de encontrar, pero en algunos casos la causa y el efecto no se identifican tan fácilmente. El desafío se agrava cuando la falla se vuelve intermitente.

Los microcontroladores actuales están diseñados para brindar un funcionamiento confiable con una configuración mínima. En el caso de una interfaz en serie, esto puede incluir la configuración predeterminada de altas corrientes de excitación en los pines de E / S para combatir la influencia de largas pistas de PCB o altas cargas capacitivas. En algunos casos, esto puede resultar en sobrecargar una interfaz que, a su vez, puede conducir a efectos derivados que se interpretan como errores o fallas.

Por ejemplo, los dispositivos de memoria Flash en serie ofrecen una serie de funciones avanzadas que garantizan un funcionamiento fiable y permiten interrogar al dispositivo. Esto puede incluir filtros de ruido, programación adaptativa avanzada y algoritmos de borrado que administran los márgenes de las celdas. Algunos fabricantes también incluyen ECC en los elementos de almacenamiento que guardan metadatos adicionales con cada operación de escritura para permitir que se detecten y corrijan errores de uno o varios bits, pero esta corrección de ECC no ayudará cuando el ruido corrompe la transacción de mensajes básicos en el bus de interfaz de comunicación.

El ruido en la interfaz SPI puede malinterpretarse como pulsos de reloj adicionales. Como SPI es una interfaz impulsada por reloj, esto tendría repercusiones, como que se ignoren los comandos, se malinterpreten los datos, se usen comandos incorrectos, etc. Sin embargo, el ruido también transporta energía y, en algunos casos, esta energía puede introducir errores en el funcionamiento de un dispositivo. .

Cargue bombas y rebase

En la mayoría de los casos, las interfaces digitales pueden tolerar cierto sobreimpulso o subimpulso en una señal. Sin embargo, no debe olvidarse que la energía debajo de la curva todavía está presente y en algunos circuitos esto puede ser perjudicial.

Un ejemplo es el circuito de la bomba de carga en la memoria Flash en serie. Si las señales del bus SPI contienen un ruido significativo, existe la posibilidad de que la energía de esa señal se propague a la bomba de carga e interrumpa su funcionamiento.

La bomba de carga en la memoria Flash es una función crítica, ya que proporciona la energía necesaria para cambiar el sesgo de una celda de memoria y, efectivamente, almacenar un 1 o 0 lógico. El proceso de escritura / borrado es un momento crucial en el funcionamiento de Flash. memoria, cualquier interrupción en la bomba de carga durante este tiempo puede causar errores de escritura o borrado y, si bien estos errores pueden detectarse, existe la posibilidad de que no sean evidentes.

Un error de este tipo se puede interpretar fácilmente como un fallo en el dispositivo de memoria Flash. Los diseñadores integrados comprenden bien el hecho de que la memoria Flash tiene un número finito de ciclos de lectura y escritura garantizados por el fabricante, pero lo que quizás no se comprende tan bien es la importancia de proporcionar una interfaz limpia sin demasiados sobreimpulsos o subimpulsos.

Como ejemplo, considere la imagen de la Figura 1. Muestra márgenes de células saludables para seis dispositivos Flash. Surgen dos patrones distintos entre las celdas programadas con datos que representan un 1 lógico (2V a 5V) y 0 (> 6v). En comparación, la imagen de la Figura 2 muestra el margen de la celda de memoria para tres dispositivos Flash que han sufrido daños en los datos causados ​​por sobreimpulso y subimpulso en las líneas de control.


Figura 1:Esta imagen muestra buenos datos de separación de márgenes de celda para la memoria Flash que se ha programado y borrado. (Fuente:Adesto)


Figura 2:Esta imagen muestra datos de separación de márgenes de celda deficientes para la memoria Flash donde ha habido un ruido significativo presente en las líneas SPI. (Fuente:Adesto)

Múltiples factores pueden contribuir al nivel de ruido, como la frecuencia de operación, la amplitud de la señal, los niveles de activación del MCU y la energía contenida en los picos de ruido. El diseño de PCB y la diafonía entre señales también pueden ser factores contribuyentes.

Los datos de la Figura 2 muestran los efectos de un sobreimpulso y subimpulso excesivo en la interfaz en serie. La Figura 3 a continuación muestra una representación de cómo se vería este rebasamiento en una aplicación real.

haz clic para ampliar la imagen

Figura 3:Esta imagen de seguimiento muestra claramente que el exceso y el defecto presentes en las líneas SPI dieron como resultado un voltaje pico a pico de 5,65 V, que excede el valor máximo absoluto documentado en la especificación de la memoria Flash. . (Fuente:Adesto)

El resultado de este ruido fue un funcionamiento erróneo del dispositivo, que se mostró como errores en los valores almacenados en la memoria flash en serie. Inicialmente, se pasó por alto el verdadero impacto de los errores, ya que al sondear el registro STATUS con menos frecuencia se reportaron menos errores, lo que llevó al diseñador a hacer suposiciones incorrectas sobre la causa raíz de la falla.

Identificación de la verdadera causa raíz

Aunque esta falla apareció como una falla de memoria, la causa raíz no fue con los dispositivos Flash. Esto fue descubierto por los ingenieros de Adesto al sondear las señales SPI e identificar el ruido del sistema presente. Si bien el ruido podría atribuirse en parte a una falta de coincidencia de impedancia presente en la pista de PCB entre la MCU y la memoria Flash, no fue toda la historia.

La fuente del ruido era en realidad la interfaz MCU, que por defecto tiene un nivel de unidad alto en el encendido. El impulso excesivo fue suficiente para causar sobreimpulso y subimpulso en las líneas SPI, que en algunos casos pueden malinterpretarse como transiciones de señal, lo que lleva a errores de lectura o escritura. Sin embargo, en este caso se encontró que el sobreimpulso contenía suficiente energía para interrumpir la bomba de carga Flash, que a su vez estaba causando los errores.

En el diseño del cliente, el microcontrolador que se estaba utilizando proporcionó una corriente de accionamiento configurable para su E / S, que por defecto es ALTA en el arranque. Como el código de la aplicación no modificó este nivel durante la inicialización, permaneció alto en el funcionamiento normal.

El impacto de esto puede no ser evidente para otros dispositivos en el bus SPI, ya que las interfaces digitales generalmente están diseñadas para ser robustas. La naturaleza sensible de la memoria Flash, la necesidad de operar a frecuencias mucho más altas y, en particular, el funcionamiento de la bomba de carga, hizo que la memoria fuera susceptible de sobreimpulso / suboscilación. Esto llevó a una operación errónea que inicialmente se interpretó erróneamente como una falla en el dispositivo de memoria Flash.

Corregir el error

La reducción de la corriente de la unidad a través del firmware redujo el sobreimpulso y el subimpulso a cero de manera efectiva (Figura 4) y, a su vez, resultó en un funcionamiento sin errores de la memoria Flash.

haz clic para ampliar la imagen

Figura 4:Sin sobreimpulso aparente, la bomba de carga de la memoria Flash en serie pudo funcionar correctamente y proporcionar una funcionalidad confiable. (Fuente:Adesto)

La naturaleza de la falla mostró que el dispositivo Flash estaba haciendo todo lo posible para compensar el efecto del error, que era el ruido excesivo del sistema en la interfaz SPI.

Quizás el punto más significativo aquí es que la causa fue en realidad una característica de diseño de la MCU utilizada, que adoptó un modo de funcionamiento predeterminado que, en la mayoría de las situaciones, sería completamente aceptable. La combinación de una alta salida del variador y una inductancia de PCB imperfecta creó una condición que resultó en fallas intermitentes. La reducción de la salida de la unidad en la MCU, mediante un simple cambio de firmware, resolvió el problema.

Esto resalta la verdadera lección aquí:que lo que puede parecer una falla genuina de un componente, en realidad puede ser un descuido en el diseño. Reemplazar los dispositivos de memoria habría sido una respuesta natural a lo que inicialmente se creía que era la falla, pero a través de una sólida relación de trabajo entre el cliente y el proveedor, así como los equipos de ingeniería de hardware y software, se encontró la causa real y se aplicó la solución correcta. . El resultado fue un diseño significativamente mejor, un mayor rendimiento del sistema y una mayor confiabilidad.

Conclusión

El ruido del sistema se puede descartar fácilmente cuando no hay un impacto aparente. Los errores intermitentes son particularmente difíciles de localizar en condiciones óptimas, pero cuando los errores se malinterpretan, el desafío es aún más difícil.

El sobreimpulso es posiblemente la forma menos aparente de ruido del sistema, pero como se explica aquí, su impacto puede ser significativo. La memoria flash es una tecnología confiable pero que depende de una interfaz cuidadosamente diseñada. El ruido excesivo en la interfaz en serie tiene el potencial de propagarse a través de los circuitos de la bomba de carga, desmereciendo el funcionamiento de los circuitos de programación y borrado. Esto da como resultado características imprevistas que pueden interpretarse fácilmente como una falla en el dispositivo mismo que se muestra como fallas en la celda de memoria, así como operaciones de borrado y programación inconsistentes o poco confiables.

En este caso, reemplazar la memoria Flash y asumir que el problema se resolvió podría haber dado lugar a que los productos salieran al mercado que probablemente fallaran en algún momento. En cambio, el diseñador pudo mejorar la programación y borrar la consistencia en un factor significativo, con un salto de resistencia efectivo desde un inaceptable ~ 20K ciclos antes de que se detectaran errores a más de 2.5M ciclos sin errores y sin requisitos de detección de errores y rutinas de corrección suplementarias.

El nivel de configurabilidad que ofrecen los microcontroladores modernos puede considerarse tanto una ayuda como un obstáculo; el hecho de que la corriente del variador sea configurable fue posiblemente la causa del sobreimpulso en este ejemplo. Sin embargo, ser capaz de reducir la fuerza de la unidad también resultó eficaz para resolver el problema.


Incrustado

  1. Keysight lanza un nuevo sistema de prueba de ruido de fase
  2. Winbond:El chip de memoria de doble matriz NOR + NAND ahora es compatible con NXP Layerscape LS1012A
  3. Acceed:PC del vehículo con CAN, GbE, PoE, 4G, 3G y WLAN
  4. Cómo los gemelos digitales pueden ayudar a impulsar el rendimiento logístico
  5. Cómo Cloud Analytics puede acelerar la transformación de la cadena de suministro digital
  6. ¿Por qué los proveedores de materiales deberían adoptar el marketing digital y cómo podemos ayudar?
  7. Cómo los OEM de dispositivos médicos pueden implementar modelos comerciales de la Industria 4.0
  8. Cómo los contaminantes en el aire comprimido pueden afectar los procesos
  9. ¿Cómo reducir el número de errores y mejorar el sistema de calidad de la producción?
  10. Cómo las tiendas pequeñas pueden volverse digitales, ¡económicamente!
  11. Cómo nivelar un torno