Ferrospeicher Embedded FRAM in Mikrocontrollern übernimmt ROM-, RAM- und EEPROM-Funktionen

Redakteur: Jan Vollmuth

FRAM schreibt Daten so schnell, wie es sie liest, hat einen geringen Stromverbrauch und eine praktisch unbegrenzte Schreibe-Lebensdauer. Eingebetteter FRAM kann zudem die Aufgaben aller Speichertypen übernehmen, eine Speicherpartitionierung wird überflüssig. Dies reduziert den Platz auf der Platine und vereinfacht das Systemdesign deutlich.

Anbieter zum Thema

Mike Alwais*

Ferroelektrisches Random-Access-Memory (FRAM) wird bei Entwicklungsingenieuren als nichtflüchtige Speicheralternative zunehmend populär. Grund dafür sind verschiedene Vorteile dieser Speicherchips:

FRAM schreibt Daten mit Busgeschwindigkeit und damit so schnell wie es Daten liest. Daher sind keine Verzögerungen erforderlich, um die Schreibdaten nichtflüchtig zu machen. Bei nicht flüchtigen Speicherbausteinen auf Floating-Gate-Basis treten hingegen lange Schreibverzögerungen auf. So dauert es beispielsweise bei einem herkömmlichen EEPROM rund 10 ms, bis die bereits in den Eingangspuffer geschriebenen Daten tatsächlich im Chip gespeichert sind. Bei FRAM entfällt zudem die Löschoperation, da es hier keinen Ursprungs- oder Vorgabezustand gibt. Wie bei anderen RAM-Technologien wie etwa SRAM werden die Daten ohne Rücksicht auf den vorhergehenden Zustand geschrieben.

FRAM hat eine praktisch unbegrenzte Schreib-Lebensdauer. Der Chip verschleißt nicht, wie es bei anderen nicht flüchtigen Memory-Alternativen der Fall ist. Floating-Gate-Bausteine können keine Daten mehr halten, sobald sie zu oft gelöscht worden sind, und es treten Hardwarefehler auf. Eine ermüdete Speicherzelle kann den programmierten Zustand nicht mehr speichern. FRAM kennt diese Art von Verschleiß nicht.

FRAM arbeitet ohne Ladungspumpe und hat daher einen niedrigen Stromverbrauch. Floating-Gate-Techniken benötigen hohe Spannungen, um einen neuen Zustand zu programmieren. Schreiboperationen haben daher einen viel höheren Stromverbrauch als Leseoperationen. FRAM-Speicher schreibt mit der Core-Spannung des Prozesses, also mit 5 V, 3 V oder noch weniger bei moderneren Prozessen. Diese Vorteile machen FRAM besonders attraktiv für Systementwickler, die an schreibintensiven Applikationen arbeiten, bei denen das System häufig oder schnell Daten schreiben soll. Keine besonderen Vorteile bietet FRAM dagegen für leseintensive Applikationen.

FRAM an der Stelle von Flash oder EEPROM

Als im System programmierbares nicht flüchtiges Memory kann FRAM an die Stelle aller anderen Speicheralternativen wie Flash oder EEPROM treten. FRAM ist jedoch weniger ausgereift sowie teurer als diese Alternativen. Es wird daher meist dort eingesetzt, wo die beschrieben Vorteile in der Applikation wirklich zum Tragen kommen – also bei schreibintensiven Applikationen mit Datenerfassung oder potenziell häufigen Konfigurationsänderungen. Das gilt auch für Situationen, in denen die Servicekosten hoch sind und es besser wäre, eine Lösung ohne integrierten Ausfallmechanismus zu verwenden.

Embedded FRAM bietet Systementwicklern darüber hinaus zusätzliche Vorteile beim Design: Embedded-Memory bietet generell eine höhere Performance als unabhängiges Memory, denn es kann mit breiteren internen Speicherbussen arbeiten und vermeidet externe I/Os. Busbreiten von 32 Bit und mehr sind auf demselben Chip leicht zu erreichen – bei diskretem Memory schaffen sie jedoch Verbindungsprobleme auf Gehäuse- und Platinenebene. Werden Schnittstellen zwischen Chips vermieden, sinken die Zykluszeiten um 10 bis 15 ns. So bietet beispielsweise bietet ein diskreter FRAM-Speicher mit 55 ns Zykluszeit und x16-Anordnung eine Speicherbandbreite von etwa 290 Mbit/s. Wird die gleiche Core-Technologie auf einer Embedded-MCU implementiert, kann sich durch den Wegfall von Chip-zu-Chip-Schnittstellen eine Zykluszeit von 40 ns ergeben. Ordnet man das Speicherarray mit x32-Busbreite an, kommt man auf 800 MBit/s. Das entspricht bei gleicher Technologie einer Steigerung der Geschwindigkeit um den Faktor 2,75.

Embedded-FRAM vereinfacht das Systemdesign

Embedded-FRAM vereinfacht das Systemdesign: Der Entwickler kann die festen Partitionierungen beseitigen, die in einem Mikrocontroller (MCU) wegen der unterschiedlichen Fähigkeiten der Speichertechnologien Flash, RAM und EEPROM bestehen. So ist es gewöhnlich nicht möglich, SRAM zuzuteilen, wenn die Größe des Applikationsprogramms die auf dem Chip vorhandene Flash-Kapazität übersteigt. Ähnlich kann Flash nicht als Arbeitsspeicher eingesetzt werden, wenn es im SRAM eng wird.

Hinsichtlich der Funktionen kann ein FRAM-Array die Aufgaben aller Speichertypen übernehmen – die Speicherpartitionierung wird überflüssig. Ein Beispiel: Übersteigt bei einer 8 Bit-MCU mit 16 KByte Flash, 1 KByte SRAM und 256 Byte EEPROM der Bedarf für Code, Arbeitsdaten oder Konfiguration die jeweils vorhandene Speicherkapazität, dann muss die MCU ausgetauscht werden. Ein 16-KByte-FRAM würde es dem Entwickler hingegen ermöglichen, den Speicher für jeden beliebigen Zweck zu verwenden, solange das Byte-Gesamtvolumen die Bausteinkapazität nicht übersteigt. Zudem ist keine externe Schnittstelle zum FRAM-Speicher erforderlich, was die Hardware vereinfacht und Platinenfläche einspart.

Eine Möglichkeit, die Lücke zwischen unabhängigem und Embedded Memory zu überbrücken, besteht im Einsatz von Multichip-Gehäusen (MCP), insbesondere wenn die zu Grunde liegenden Bausteine für einen MCP-Ansatz konzipiert wurden. Dies gestattet eine engere Integration zwischen Prozessor und Memory als eine separate Anordnung. Zwar werden nicht alle Vorteile des Embedded-Ansatzes genutzt, verglichen mit unabhängigem Memory wird jedoch eine Verbesserung erreicht.

Ist die Interaktion zwischen Prozessor und Memory für ein MCP konzipiert, kann das Memory als Prozessor-Ressource statt als externer Baustein abgebildet werden. Aus Firmware-Perspektive würde das Memory im Gehäuse wie Embedded-Memory arbeiten. Prozessor und Memory werden zu einer untrennbaren Einheit, obwohl es sich um zwei Chips handelt. Abhängig von der Schnittstelle zwischen den Chips wäre die Geschwindigkeit höher als bei einer diskreten Implementierung, aber nicht so hoch wie bei echtem Embedded-Memory. Der MCP-Ansatz bietet gute Vorteile im Hinblick auf Platinennutzung und Designvereinfachung. Der Kompromiss von MCP gegenüber echtem Embedded-FRAM liegt hauptsächlich in der Performance.

Am Ende entscheidet die Applikation welcher Ansatz am besten passt

Letztendlich entscheidet die Applikation über den jeweils am besten geeigneten Ansatz. Geht es in erster Linie um niedrigen Stromverbrauch oder hohe Schreib-Lebensdauer, bietet die MCP-Lösung das Beste beider Welten. Abhängig von der Implementierung kann die Speicherpartitionierung vermieden werden.

FRAM gewinnt wegen seiner vielseitigen Verwendbarkeit an Popularität. Mit verstärkter Verbreitung der Speichertechnologie werden immer mehr Embedded-Alternativen verfügbar werden. Wie gezeigt, können die tatsächlichen Implementierungen unterschiedlich ausfallen. Davon hängt ab, wie stark die Vorteile von eingebettetem Memory zum Tragen kommen.

Der VRS51L3074 im Überblick

Der VRS51L3074 von Ramtron ist ein 8-Bit-Mikrocontroller mit nicht flüchtigem Speicher. Das voll integrierte System-on-Chip enthält einen Single-Cycle-8051-Core mit 40 MIPS Leistung, 8 KByte FRAM als Programm , Daten und Registerspeicher (ohne Batteriepufferung oder Doppelkondensator zur Datenerhaltung) und 64 KByte Flash-Speicher (Programmspeicher) jeweils mit Programmierbarkeit im System und in der Applikation sowie 4 KByte SRAM (für Programme und Daten).

Der mit 40 MHz getaktete Single-Cycle-8051-Prozessor ist kompatibel zum 8051-Standardchip. Die MULT/ACCU/DIV-Einheit mit 32-Bit-Barrel-Shifter übertrifft 8-Bit-Prozessoren bei der Ausführung von DSP-Operationen wie FIR-Filterung, Sensor-Output-Linearisierung oder von arithmetischen Operationen mit mehreren Bytes deutlich. Der interne 40-MHz-Präzisionsoszillator hat eine Genauigkeit von 2 % und senkt die Systemkosten, da er einen externen Oszillator überflüssig macht. Die JTAG-Schnittstelle ermöglicht Programmierung und Debugging,

Die Digitalperipherie umfasst u.a. zwei UARTs mit bis zu 1,25 MBit/s und integriertem mit Baudratengenerator. Der VRS51L3074 verfügt zudem über zweii Pulsbreitenzählermodule und acht Pulsbreitenmodulatoren (PWM) mit max. 16 Bit Auflösung. Weitere Supportperipherien sind ein I²C-Interface, drei 16-Bit-Universal-Timer/ Zähler mit drei Timer-Capture-Inputs, ein Watchdog-Timer und 49 Interrupts mit 16 gemeinsamen Interrupt-Vektoren.

Der VRS51L3074 arbeitet mit einer Spannung von 3,3 V im gesamten industriellen Temperaturbereich. Er eignet sich etwa für eingebettete Datenerfassungs-, Sensor- und Kontrollapplikationen in Industrie, Medizintechnik, Consumer-Elektronik, Mess- und Kfz-Technik. Er ist im QFP-64-Gehäuse erhältlich.

*Mike Alwais, Marketingleiter, Ramtron

(ID:184889)