Suchen

FRAM oder Flash? So finden Sie den richtigen Mikrocontroller für Ihre Anwendung

| Autor / Redakteur: Caleb Overbay* / Michael Eckstein

Mikrocontroller sind die Triebwerke zahlreicher moderner Applikationen. Für ihre Arbeit benötigen sie Speicher. Zum Einsatz kommt meist Flash – doch es gibt sinnvolle Alternativen.

Schneller, sparsamer, einfacher: Gegenüber Flash-Speicher bieten FRAM-basierte MCUs einige Vorteile.
Schneller, sparsamer, einfacher: Gegenüber Flash-Speicher bieten FRAM-basierte MCUs einige Vorteile.
(Bild: gemeinfrei / CC0 )

Bei der Wahl des richtigen Mikrocontrollers (MCU) für ihre Applikationen stehen Entwickler immer wieder vor der Wahl: Soll er Flash-basiert arbeiten – oder doch eine andere, möglicherweise etwas teurere Variante wie FRAM (Ferroelectric Random Access Memory) nutzen?

Während Flash seit langem bewährt und bekannt ist, handelt es sich bei FRAM um eine im Vergleich junge Speichertechnologie, auch bekannt als remanentes DRAM. Schreib- und Lesevorgänge erfolgen durch eine Polarisationsänderung in einer ferroelektrischen Schicht. Die Technologie soll die Vorteile von DRAM und SRAM mit denen von Flash kombinieren: hohes Schreib- und Lesetempo und nichtflüchtiges Ablegen von Daten.

Darüber hinaus bietet FRAM tatsächlich weitere praktische Eigenschaften: Eine Unterteilung in Code- und Datenspeicher kann entfallen, die Schreibvorgänge benötigen wenig Energie, außerdem ist vor dem Schreiben kein Löschen der Speicherzellen erforderlich. In Stromspar-Anwendungen ergeben sich daraus handfeste Vorteile auf funktionaler Ebene.

Beispiel aus der Praxis: Firmware-Update

Ein Beispiel: Eine Applikation, die Firmware-Updates im Feld per OTA (Over-The-Air) erfordert. Angenommen, es muss ein 4 kB großes Firmware-Image per SPI (Serial Peripheral Interface) in den Speicher übertragen werden – und Sie sollen entscheiden, ob ein Flash- oder ein FRAM-basierter Baustein zum Einsatz kommt.

Ein schnelles Experiment mit beiden Varianten bei identischen SPI-Einstellungen verdeutlicht den Vorteil von FRAM gegenüber Flash in dieser Applikation. Dabei kommen neben dem Master-Controller MSP430FR4133 ein Flash-Slave MSP430F5529 sowie ein FRAM-Slave MSP430FR5969 zum Einsatz. Die SPI-Taktrate beträgt 1 MHz, insgesamt werden 4.096 Bytes Daten gesendet und empfangen.

Ergebnis: Mit FRAM können Sie ihre Firmware 16-mal schneller aktualisieren! Die FRAM-Schreibdauer entspricht in diesem Beispiel in etwa gleich der SPI-Übertragungszeit der Flash-Lösung. Dies ist kein Zufall: Der Großteil der Zeit, die in dieser Anwendung für das Programmieren des FRAM-Speichers aufgewendet wird, entfällt auf das Übertragen der Daten per SPI. Insgesamt lässt sich FRAM-Speicher mit einer Rate von deutlich mehr als 100 MB/s beschreiben – das entspricht ungefähr der 100-fachen Schreibgeschwindigkeit von Flash-Speicher!

16-mal schneller: FRAM beschleunigt den Firmware-Update-Prozess deutlich, da unter anderem das Löschen von Speicherzellen entfällt.
16-mal schneller: FRAM beschleunigt den Firmware-Update-Prozess deutlich, da unter anderem das Löschen von Speicherzellen entfällt.
(Bild: Texas Instruments)

Ein großer Teil der Zeit beim Flash-Baustein entfällt auf das Löschen der alten Firmware. FRAM kommt ohne initiales Löschen aus. Das spart Energie im Vergleich zur Flash-Technologie. Das Schaubild verdeutlicht den Unterschied bei Flash- und FRAM-Updates.

Für Langläufer: Das Flash zu programmieren erfordert im Beispiel über 20-mal mehr Energie.
Für Langläufer: Das Flash zu programmieren erfordert im Beispiel über 20-mal mehr Energie.
(Bild: Texas Instruments)

Bei der Messung an einem LaunchPad-Entwicklungs-Kit von Texas Instruments zeigte sich, dass der FRAM-Baustein beim Update von 4 kB Speicher 21-mal weniger Energie verbrauchte als die Flash-Version. Das kann die Batterielebensdauer in einer Applikation drastisch verlängern. Das Energiesparpotenzial kommt nicht nur OTA-Applikationen zugute, sondern wirkt sich auch in Remote-Sensing- und Datenaufzeichnungs-Anwendungen positiv aus.

Einer der größten Vorteile aber, den FRAM in dieser Applikation bietet, liegt eher im Verborgenen und wird deshalb oft übersehen. Um eine „1“ in einen Flash-Speicher einzuprogrammieren, ist zunächst das Löschen der anvisierten Speicherzelle nötig – und nicht nur der. Die kleinste Einheit, die sich bei Flash-Speicher löschen lässt, ist ein Segment. Bei einer MCU der MP430-Reihe von TI enthält dieses Segment 512 Bytes.

Stückwerk: Besonders beim teilweisen Beschreiben von Speichersegmenten spielt FRAM seine Vorteile aus.
Stückwerk: Besonders beim teilweisen Beschreiben von Speichersegmenten spielt FRAM seine Vorteile aus.
(Bild: Texas Instruments)

Soll nun beispielsweise nicht die gesamte, 4 kB umfassende Firmware aktualisiert werden, sondern nur ein Teilabschnitt von 1,25 kB, hat FRAM erneut die Nase vorn. Denn für das FRAM bringt diese Anwendung kaum eine Änderung gegenüber dem Aktualisieren der gesamten Firmware mit sich.

Beim Einsatz von Flash-Speicher hingegen verkompliziert sich der Vorgang aufgrund der Segmentgrenzen erheblich. Das Bild zeigt, dass das Firmware-Update das Segment Nr. 4 halbiert. Damit dieses Segment programmiert werden kann, muss es zunächst komplett gelöscht werden. Wie lässt sich in diesem Fall aber der übrige Code in diesem Segment intakt halten? Sie müssen den Segmentinhalt zunächst in das RAM kopieren, mit dem neuen Update zusammenführen und ihn danach wieder in den Flash-Speicher programmieren. Dies erfordert sehr viel RAM, erhöht den Zeitaufwand und die Komplexität des Updatevorgangs.

Unter dem Strich bietet FRAM gegenüber Flash in vielen Anwendungen Vorteile. Die hohe Schreibgeschwindigkeit, der durchgängige Speicher, die hohe Haltbarkeit (Endurance) und der geringe Energiebedarf setzen einen neuen Maßstab für MCU-Speicher und machen auf der ganzen Welt innovative Lösungen möglich.

* Caleb Overbay ist MSP430 Customer Applications Engineer bei Texas Instruments

(ID:44968595)