Mir fiel das Treffen von Entscheidungen immer dann leichter, wenn die Optionen klar umrissen waren. Schwarz oder Weiß, richtig oder falsch – in solchen Fällen lässt sich eine Entscheidung treffen, ohne es jemals zu bereuen. Entscheidungen, die jedoch Schwarz, Weiß und einen der vielen dazwischenliegenden Grautöne umfassen, sorgen bei mir für Stress. Ich war stets damit zufrieden, meiner binären Logik treu zu bleiben... bis das Ferromagnetic Random Access Memory (FRAM) auf den Markt kam. So wurde ich letztendlich gezwungen, einen dieser Grautöne anzunehmen und mich dafür zu begeistern.
Bis zu diesem Zeitpunkt bezogen sich meine einzigen Auswahlmöglichkeiten im Bereich der Datenerfassungshardware für Embedded-Systeme auf Static Random Access Memory (SRAM) und Flash. Diejenigen, die noch im Prä-FRAM-Zeitalter gearbeitet haben, verstehen wahrscheinlich mein Ringen um einen Kompromiss zwischen den Datenintegritätsproblemen von SRAM und der relativ niedrigen Schreib-Endurance der Flash-Speicher. Für diejenigen, die diese Zeit nicht mehr erlebt haben, erkläre ich es gerne ...
Erstmals kam ich mit FRAM im Jahr 2005 in Kontakt und war von seinen Eigenschaften sofort fasziniert. Die Implementierungskosten waren allerdings hoch, sodass ich 3 Jahre warten musste, bis ich FRAM endlich in meinen Designs einsetzen konnte. Bevor ich die Vorzüge der Technologie glorifiziere, lassen Sie uns einen kurzen Blick auf SRAM und Flash werfen, zwei beliebte Speicherchips mit ihren eigenen Vor- und Nachteilen.
Bei SRAM handelt es sich um einen flüchtigen Speicher. Dies bedeutet, dass die im Speicher abgelegten Daten gelöscht werden, wenn die Stromversorgung entfernt oder abgeschaltet wird. Großartig an SRAM ist, dass bei dieser Technologie unbegrenzt viele Schreibvorgänge vorgenommen werden können. Der Speicher nutzt sich also im Laufe seiner Verwendung nicht ab.
Begeben Sie sich mit Ihren Daten nicht in die Abhängigkeit von einer winzigen Batterie.
Am anderen Ende des Spektrums finden wir den Flash-Speicher, ein nichtflüchtiges Speichermedium. Dies macht ihn besonders für die Speicherung von Transaktionsaufzeichnungen nützlich, die intakt bleiben müssen – auch dann, wenn die Stromversorgung entfernt wird. Der einzige Nachteil dieser Technologie ist die niedrige Schreib-Endurance, die oft bei nur einigen zehntausend Schreibvorgängen liegt. Ist dieses Limit einmal erreicht, werden alle weiteren Schreibversuche nicht mehr in den entsprechenden Speicherzellen hinterlegt.
FRAM ist ein Speicherchip, der die Vorteile von SRAM- und Flash-Speichern in sich vereint. FRAM ist ein nichtflüchtiger Speicher, der über eine extrem hohe Schreib-Endurance verfügt. Die Technologie unterstützt derzeit Milliarden, wenn nicht gar Billionen von Schreibvorgängen. Und es kommt noch besser: Da der Herstellungsprozess von FRAM-Elementen mittlerweile ausgereift ist, haben sich deren Kosten drastisch verringert. Erwartungsgemäß hat dies Auswirkungen auf die Entwicklung von Datenerfassungsarchitekturen in Embedded-Systemen gehabt.
Verlässliche Datenerfassung in Embedded-Systemen war unabhängig von der eigentlichen Anwendung schon immer unerlässlich. So erfordern zum Beispiel Brandmeldesysteme für den Fall einer Prüfung die ordnungsgemäße Aufzeichnung aller Ereignisse. Systeme für das Anwesenheitsmanagement erfordern eine genaue Aufzeichnung der Bewegungen von Beschäftigten innerhalb der vom Hardware-Controller abgedeckten Bereiche.
Datenintegrität ist neben dem Auslösen des Alarms der wichtigste Aspekt.
Während die meisten Elektronik-Designer kein Problem bei der Implementierung einer präzisen Architektur für die Datenerfassung haben, ist die Wahrung der Datenintegrität bei Stromausfall eine gemeinsame Herausforderung. Das gleiche gilt auch mit Blick auf die Verlängerung der Lebensdauer von Speicherchips.
Großartig veranschaulichen lässt sich die Datenerfassung mit den vielen tausend Büchern in Ihrer Uni-Bibliothek. Wenn alles richtig organisiert ist, werden Sie Ihr Lieblingsbuch aus der Harry-Potter-Serie in wenigen Minuten in Händen halten. Wenn jedoch die Regale plötzlich keine Bezeichnungen mehr haben oder die Bücher am falschen Ort deponiert wurden, können Sie sich auf eine lange und mühsame Suche einstellen. In Embedded-Systemen werden Zehntausende von Aufzeichnungen im Speicher abgelegt. Sie werden dabei ständig von Software-Anwendungen in eine externe Datenbank abgerufen. Das bedeutet, dass der Mikrocontroller (MCU) selbst intelligent genug sein muss, um den Überblick über die neuesten und ältesten Daten zu behalten und entsprechende Effekte zu minimieren, die bei einem vollen Speicher auftreten.
Datenerfassung ist einfach, solange Sie nicht den Überblick über Ihre Einträge verlieren.
Der alte und einfache Weg, um dies zu erreichen, ist die Speicherung aller Transaktionsaufzeichnungen in einem SRAM mit Stützbatterie sowie die Zuweisung von einigen Datenzeigern, die nachverfolgen, was von der Software aufgezeichnet und abgerufen wurde. Dieser Ansatz krankt daran, dass die Datenintegrität zu 100 % von der Stützbatterie abhängig ist. Dies wiederum bedeutet, dass Sie die Daumen drücken und darauf hoffen müssen, dass Ihre Batterie im Falle eines Stromausfalls oder eines allgemeinen Hardware-Fehlers noch immer funktionstüchtig ist.
Auf der anderen Seite räumen Flash-Speicher die meisten Bedenken in puncto Datenspeicherung aus. Während Transaktionsdaten im Flash-Speicher gespeichert werden können, müssen Datenzeiger nach wie vor in einem SRAM mit Stützbatterie abgelegt werden. Andernfalls riskieren Sie eine Beschädigung der individuellen Speicherzellen des Flash-Speichers, die eine geringe Schreib-Endurance aufweisen. Alternativ könnten Firmware-Entwickler einen anspruchsvollen Datenverwaltungs-Algorithmus entwickeln. Dadurch entfällt die Notwendigkeit von Datenzeigern, jedoch verkompliziert es das gesamte System und kann unnötige Fehler hervorrufen.
Als FRAM-Speicher in den späten 2000er Jahren zu einem wirtschaftlich tragfähigen Elektronikbauteil wurden, gestaltete sich die Datenerfassung absurd einfach. Datenzeiger konnten ohne Angst vor einer Beschädigung durch einen Stromausfall oder der physischen Abnutzung des Speicherchips in FRAM gespeichert werden. Seitdem nehmen FRAM und Flash eine prominente Rolle in meinen Embedded-System-Designs ein, zu denen Controller zur Prozessüberwachung und die Nachverfolgung und Aufzeichnung von Vorgängen auf mehreren Maschinen gehören.
Bedeutet dies, dass Flash und SRAM damit vollständig von FRAM verdrängt werden? Das kommt darauf an. FRAM bewährt sich besser in Bereichen, in denen Flash und SRAM Probleme haben. Seine Fähigkeit, Daten langfristig zu speichern, macht es zur idealen Wahl für Anwendungen, die ein Speichern von Konfigurationen und dynamischen Aufzeichnungen erfordern. Abgesehen davon ist Flash noch immer die bessere Alternative zum Speichern umfangreicher Transaktionen, da seine Kapazität weitaus höher als die der FRAM-Speicher ist.
Was SRAM betrifft: Diese Speicher benutze ich für meine Embedded-Systeme gar nicht mehr. Infolge der sinkenden Kosten für FRAM-Speicher und deren Nichtflüchtigkeit überwiegt die Technologie insgesamt betrachtet den von SRAMs gebotenen Vorteil der unbegrenzt vielen Schreibvorgänge. Jedoch mache ich hier eine Ausnahme: und zwar für Embedded-Systeme, bei denen der Microcontroller aus einem externen SRAM-Speicher gebootet werden muss.
Entwickeln Sie datenabhängige Hardware und fragen sich dabei, ob Sie nach der Auslieferung großer Stückzahlen mit Datenintegritäts-Problemen zu tun haben könnten? Professionelle Software wie CircuitStudio von Altium kann Ihnen den Einstieg erleichtern.
Haben Sie weitere Fragen zum Thema FRAM? Dann sprechen Sie gerne mit unserem Team bei Altium.