Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial Internet of Things >> Eingebettet

Wie Rauschen auf Systemebene in digitalen Schnittstellen zu falschen Fehlern im seriellen Flash-Speicher führen kann

Im unermüdlichen Streben nach höherer Leistung auf Systemebene haben sich Integrated Device Manufacturers (IDMs) mit der Entwicklung digitaler Schnittstellen, die in elektrisch anspruchsvollen Umgebungen mit hohen Geschwindigkeiten arbeiten können, vertraut gemacht. Standardschnittstellen wie SPI und I2C bieten eine relativ einfache Möglichkeit, Geräte verschiedener Anbieter zuverlässig und effektiv miteinander zu verbinden. Das gleiche gilt für andere Arten von Schnittstellen.

Die digitale Domäne kann als sicherer Hafen für Entwickler angesehen werden, die komplexe Systeme mit „Standard“-Technologien schnell erstellen möchten. Tatsächlich ist die Embedded-Industrie weitgehend von standardbasierten Schnittstellen abhängig, die „einfach funktionieren“, da sie den Rahmen für Innovationen bieten. Wenn sie nicht „nur“ funktionieren, kann dies zu Verwirrung führen, insbesondere wenn die Ursache einer Störung falsch interpretiert wird. Jede Verwirrung wäre verständlich, da die Schnittstellen so entwickelt wurden, dass sie robust und zuverlässig sind, wenn sie gemäß der Spezifikation angewendet werden. Die Tatsache, dass die zugrunde liegende physikalische Schnittstelle in Silizium fixiert ist, würde auch Sicherheit geben.

Systemgeräusche in all seinen Formen

Jede Verzerrung eines Signals kann als Rauschen interpretiert werden, und es ist wahrscheinlich anzunehmen, dass Rauschen am häufigsten in einer Kommunikationsumgebung auftritt; das empfangene Signal ist nicht das gesendete Signal. Dieser direkte Zusammenhang ist relativ einfach zu finden, aber in manchen Fällen lassen sich Ursache und Wirkung nicht so leicht identifizieren. Die Herausforderung wird verschärft, wenn der Fehler zeitweilig auftritt.

Die heutigen Mikrocontroller sind darauf ausgelegt, einen zuverlässigen Betrieb mit minimaler Konfiguration zu gewährleisten. Im Falle einer seriellen Schnittstelle kann dies die Vorgabe hoher Ansteuerströme an den I/O-Pins umfassen, um dem Einfluss langer Leiterbahnen oder hoher kapazitiver Lasten entgegenzuwirken. Dies kann in einigen Fällen zu einer Übersteuerung einer Schnittstelle führen, was wiederum zu abgeleiteten Effekten führen kann, die als Fehler oder Störungen interpretiert werden.

Beispielsweise bieten serielle Flash-Speichergeräte eine Reihe fortschrittlicher Funktionen, die einen zuverlässigen Betrieb gewährleisten und eine Abfrage des Geräts ermöglichen. Dies kann Rauschfilter, fortschrittliche adaptive Programmierung und Löschalgorithmen umfassen, die Zellenränder verwalten. Einige Hersteller integrieren auch ECC in die Speicherelemente, die bei jedem Schreibvorgang zusätzliche Metadaten speichern, damit Einzel- oder Mehrbitfehler erkannt und korrigiert werden können, aber dieser ECC-Fix hilft nicht, wenn Rauschen die grundlegende Nachrichtentransaktion auf dem Kommunikationsschnittstellenbus beschädigt.

Rauschen auf der SPI-Schnittstelle kann als zusätzliche Taktimpulse fehlinterpretiert werden. Da es sich bei SPI um eine taktgesteuerte Schnittstelle handelt, hätte dies Auswirkungen wie beispielsweise das Ignorieren von Befehlen, die Fehlinterpretation von Daten, die Verwendung falscher Befehle usw. Rauschen trägt jedoch auch Energie und in einigen Fällen kann diese Energie selbst zu Fehlern beim Betrieb eines Geräts führen .

Ladepumpen und Überschwingen

In den meisten Fällen kann ein gewisses Über- oder Unterschwingen eines Signals von digitalen Schnittstellen toleriert werden. Es sollte jedoch nicht vergessen werden, dass die Energie unter der Kurve noch vorhanden ist und in einigen Schaltkreisen störend sein kann.

Ein typisches Beispiel ist die Ladungspumpenschaltung in einem seriellen Flash-Speicher. Wenn die SPI-Bussignale erhebliches Rauschen enthalten, besteht die Möglichkeit, dass sich die Energie in diesem Signal bis zur Ladungspumpe ausbreitet und deren Betrieb stört.

Die Ladungspumpe im Flash-Speicher ist eine kritische Funktion, da sie die erforderliche Leistung bereitstellt, um die Vorspannung einer Speicherzelle zu ändern und effektiv eine logische 1 oder 0 zu speichern. Der Schreib-/Löschprozess ist eine entscheidende Zeit beim Betrieb von Flash Speicher, jede Unterbrechung der Ladungspumpe während dieser Zeit kann zu Schreib- oder Löschfehlern führen und diese Fehler werden zwar erkannt, sind aber möglicherweise nicht sichtbar.

Ein solcher Fehler kann leicht als Fehler im Flash-Speichergerät interpretiert werden. Die Tatsache, dass Flash-Speicher über eine begrenzte Anzahl von Lese- und Schreibzyklen verfügt, die vom Hersteller garantiert werden, wird von Embedded-Designern gut verstanden, aber was vielleicht nicht so gut verstanden wird, ist die Bedeutung einer sauberen Schnittstelle ohne zu viel Über- oder Unterschwingen.

Betrachten Sie als Beispiel das Bild in Abbildung 1. Es zeigt gesunde Zellenränder für sechs Flash-Geräte. Zwischen Zellen, die mit Daten programmiert sind, die die logische 1 (2 V bis 5 V) und 0 (> 6 V) darstellen, treten zwei unterschiedliche Muster auf. Im Vergleich dazu zeigt das Bild in Abbildung 2 die Speicherzellenmarge für drei Flash-Bausteine, bei denen eine Datenbeschädigung durch Über- und Unterschwingung auf den Steuerleitungen aufgetreten ist.


Abbildung 1:Dieses Bild zeigt gute Zellenrandtrennungsdaten für Flash-Speicher, der programmiert und gelöscht wurde. (Quelle:Adesto)


Abbildung 2:Dieses Bild zeigt schlechte Daten zur Zellrandtrennung für Flash-Speicher, bei denen erhebliches Rauschen auf den SPI-Leitungen vorhanden war. (Quelle:Adesto)

Mehrere Faktoren können zum Rauschpegel beitragen, wie z. B. Betriebsfrequenz, Amplitude des Signals, MCU-Treiberpegel und die in den Rauschspitzen enthaltene Energie. PCB-Design und Übersprechen zwischen Signalen können ebenfalls Faktoren sein.

Die Daten in Abbildung 2 zeigen die Auswirkungen von übermäßigem Über- und Unterschwingen auf die serielle Schnittstelle. Abbildung 3 unten zeigt eine Darstellung, wie dieses Überschwingen in einer realen Anwendung aussehen würde.

Klicken für größeres Bild

Abbildung 3:Dieses Kurvenbild zeigt deutlich, dass das auf den SPI-Leitungen vorhandene Über- und Unterschwingen zu einer Spitze-zu-Spitze-Spannung von 5,65 V führte, die den absoluten Maximalwert überschreitet, der in der Flash-Speicherspezifikation dokumentiert ist . (Quelle:Adesto)

Das Ergebnis dieses Rauschens war ein fehlerhafter Gerätebetrieb, der sich als Fehler in den im seriellen Flash-Speicher gespeicherten Werten zeigte. Anfänglich wurde die wahre Auswirkung der Fehler übersehen, da bei einer selteneren Abfrage des STATUS-Registers weniger Fehler gemeldet wurden, was dazu führte, dass der Konstrukteur falsche Annahmen über die Grundursache des Fehlers machte.

Identifizieren der wahren Ursache

Obwohl dieser Fehler als Speicherfehler auftrat, lag die Ursache nicht bei den Flash-Geräten. Dies wurde von Adesto-Ingenieuren entdeckt, indem sie die SPI-Signale untersucht und das vorhandene Systemrauschen identifiziert haben. Obwohl das Rauschen teilweise auf eine Impedanzfehlanpassung auf der PCB-Spur zwischen der MCU und dem Flash-Speicher zurückgeführt werden konnte, war dies nicht die ganze Geschichte.

Die Quelle des Rauschens war eigentlich die MCU-Schnittstelle, die beim Einschalten standardmäßig auf einen hohen Treiberpegel eingestellt ist. Der übermäßige Antrieb reichte aus, um auf den SPI-Leitungen Über- und Unterschwingungen zu verursachen, die in einigen Fällen als Signalübergänge fehlinterpretiert werden können und zu Lese- oder Schreibfehlern führen. In diesem Fall wurde jedoch festgestellt, dass das Überschwingen genügend Energie enthielt, um die Blitzladungspumpe zu unterbrechen, was wiederum die Fehler verursachte.

Im Kundendesign lieferte der verwendete Mikrocontroller einen konfigurierbaren Ansteuerstrom für seine E/A, der beim Start standardmäßig auf HIGH steht. Da der Anwendungscode diesen Wert während der Initialisierung nicht verändert hat, blieb er im Normalbetrieb hoch.

Für andere Geräte am SPI-Bus sind die Auswirkungen möglicherweise nicht erkennbar, da digitale Schnittstellen typischerweise robust ausgelegt sind. Die empfindliche Natur des Flash-Speichers, die Notwendigkeit, bei viel höheren Frequenzen zu arbeiten, und insbesondere der Betrieb der Ladungspumpe, machten den Speicher anfällig für Überschwingen/Unterschwingen. Dies führte zu einem fehlerhaften Betrieb, der zunächst als Fehler im Flash-Speichergerät fehlinterpretiert wurde.

Fehler korrigieren

Die Reduzierung des Antriebsstroms durch die Firmware reduzierte das Über- und Unterschwingen auf effektiv Null (Abbildung 4) und führte wiederum zu einem fehlerfreien Betrieb des Flash-Speichers.

Klicken für größeres Bild

Abbildung 4:Die Ladungspumpe des seriellen Flash-Speichers war ohne erkennbares Überschwingen in der Lage, korrekt zu arbeiten und eine zuverlässige Funktionalität bereitzustellen. (Quelle:Adesto)

Die Art des Fehlers zeigte, dass das Flash-Gerät alle Anstrengungen unternahm, um die Auswirkung des Fehlers, nämlich das übermäßige Systemrauschen auf der SPI-Schnittstelle, auszugleichen.

Der vielleicht wichtigste Punkt hier ist, dass die Ursache tatsächlich ein Konstruktionsmerkmal der verwendeten MCU war, die standardmäßig auf einen Betriebsmodus eingestellt war, der in den meisten Situationen völlig akzeptabel wäre. Die Kombination aus hoher Antriebsleistung und mangelhafter PCB-Induktivität führte zu einer Bedingung, die zu zeitweiligen Ausfällen führte. Das Reduzieren der Antriebsleistung an der MCU durch eine einfache Firmware-Änderung hat das Problem behoben.

Dies unterstreicht die eigentliche Lektion hier:Was als echter Komponentenfehler erscheinen mag, kann tatsächlich ein Versehen im Design sein. Der Austausch der Speichergeräte wäre eine natürliche Reaktion auf den ursprünglich vermuteten Fehler gewesen, aber durch eine enge Zusammenarbeit zwischen Kunde und Lieferant sowie Hardware- und Softwareentwicklungsteams wurde die eigentliche Ursache gefunden und die richtige Lösung angewendet . Das Ergebnis war ein deutlich besseres Design, eine höhere Systemleistung und eine größere Zuverlässigkeit.

Schlussfolgerung

Systemgeräusche können leicht abgetan werden, wenn es keine sichtbaren Auswirkungen gibt. Intermittierende Fehler sind unter optimalen Bedingungen besonders schwer zu lokalisieren, aber wenn die Fehler falsch interpretiert werden, wird die Herausforderung noch schwieriger.

Überschwingen ist möglicherweise die am wenigsten sichtbare Form von Systemrauschen, aber wie hier erläutert, kann seine Auswirkung erheblich sein. Flash-Speicher ist eine zuverlässige Technologie, die jedoch von einer sorgfältig gestalteten Schnittstelle abhängt. Übermäßiges Rauschen an der seriellen Schnittstelle kann sich bis zur Ladungspumpenschaltung ausbreiten und den Betrieb der Programmier- und Löschschaltung beeinträchtigen. Dies führt zu unvorhergesehenen Eigenschaften, die leicht als Fehler am Gerät selbst interpretiert werden können, der sich als Speicherzellenfehler zeigt, sowie inkonsistente oder unzuverlässige Programmier- und Löschvorgänge.

In diesem Fall hätte der Austausch des Flash-Speichers und die Annahme, dass das Problem behoben wurde, dazu führen können, dass Produkte auf den Markt kommen, die wahrscheinlich irgendwann ausfallen. Stattdessen konnte der Designer die Programmier- und Löschkonsistenz um einen signifikanten Faktor verbessern, wobei die effektive Lebensdauer von inakzeptablen ~20K Zyklen, bevor Fehler erkannt wurden, auf über 2,5 Mio. Zyklen ohne Fehler und ohne Erfordernis zusätzlicher Fehlererkennungs- und Korrekturroutinen sprunghaft war.

Die Konfigurierbarkeit moderner Mikrocontroller kann sowohl als Hilfe als auch als Hindernis gesehen werden; die Tatsache, dass der Antriebsstrom konfigurierbar ist, war möglicherweise die Ursache für das Überschwingen in diesem Beispiel. Die Möglichkeit, die Antriebsstärke zu reduzieren, war jedoch auch zur Lösung des Problems wirksam.


Eingebettet

  1. Keysight bringt neues Phasenrausch-Testsystem auf den Markt
  2. Winbond:NOR+NAND-Dual-Die-Speicherchip unterstützt jetzt NXP Layerscape LS1012A
  3. Zutritt:Fahrzeug-PC mit CAN, GbE, PoE, 4G, 3G und WLAN
  4. Wie digitale Zwillinge die Logistikleistung steigern können
  5. Wie Cloud Analytics die Transformation der digitalen Lieferkette beschleunigen kann
  6. Warum Materiallieferanten auf digitales Marketing setzen sollten – und wie wir helfen können!
  7. Wie Medizingeräte-OEMs Industrie-4.0-Geschäftsmodelle implementieren können
  8. Wie Verunreinigungen in der Druckluft Prozesse beeinflussen können
  9. Wie kann die Anzahl der Fehler reduziert und das Produktionsqualitätssystem verbessert werden?
  10. Wie kleine Geschäfte digital werden können – wirtschaftlich!