Flash Technologie für Mikrocontroller

Blitzkarriere

Mit Einführung der Flash-MCUs möchte Mitsubishi den Anforderungen der immer kürzeren Entwicklungszeiten im Bereich der Embedded-Applikationen gerecht werden.

Die Einführung von MCUs mit embedded Flash stellt eine tiefgreifende Veränderung im Mikrocontrollerbereich dar. Schon mit der Entwicklung von herkömmlichen Flashspeichern Mitte der achtziger Jahre war ein Umdenken angesagt. Erstmals gab es einen Speicher, der ohne Batteriepufferung beschrieben und gelöscht werden konnte. Ein nächster Schritt war die Implementation des Flashspeichers in einer MCU. 1994 brachte die Firma Mitsubishi Flash Memory MCUs auf den Markt.
Mit der M16C-Familie konnte man nun nahtlos an die Erfolge der 7700-Serie anknüpfen. Neben der umfangreichen Peripherie, dem sehr guten EMV-Verhalten sowie dem geringen Stromverbrauch, hat die Einführung der Flash-Technologie nicht unwesentlich zum Erfolg der Familie beigetragen.

Spezifikationen
Mit Hilfe der DINOR-Technologie (DIvided Bit Line NOR) lassen sich große Flashkapazitäten auf der MCU realisieren. Der Flashspeicher kann über die Betriebsspannung 3 oder 5 V programmiert werden. Dies hat den Vorteil, dass keine separate Programmierspannung benötigt wird. Weitere Vorteile dieser Technologie:
• Schnelle Reprogrammierung: Zwei Sekunden für 64 KByte.
• Hohe Zuverlässigkeit: Nach der Bestückung weist das Flash eine hohe Zuverlässigkeit hinsichtlich des Lösch- und Schreibvorganges auf. Auch nach Jahren ist die Datensicherheit noch gegeben.
• Anzahl Schreib-/Löschzyklen: 100 Mal wird standardmäßig garantiert. Die Erweiterung der Garantie auf 100.000 Zyklen wird momentan durchgeführt.
• Sicherheitsfunktion: Das Flash wird durch eine „Protect“-Funktion gegen illegales Beschreiben oder Auslesen geschützt.
• CPU „Selfprogramming“ Mode: Die CPU kann das Flash aus dem RAM- Bereich heraus selbst programmieren.

Interner Aufbau
Der M30624FG beispielsweise verfügt über ein 256 KByte Flash-ROM. Dieses ROM ist in sieben Blöcke unterteilt. Jeder einzelne Block kann separat gelöscht und beschrieben werden. Das Schreiben erfolgt in 256 Byte großen Dateneinheiten. Das Löschen funktioniert blockweise. Die einzelnen Blöcke lassen sich über das „Lock Bit“ gegen ungewolltes Löschen bzw. Beschreiben schützen.
Resistente Daten, wie z. B. ein Bootloaderprogramm oder Versions-/Seriennummern können z. B. in Block 0 abgelegt werden. Das Bootloaderprogramm steuert die Freigabe zum Löschen/Schreiben der anderen Blöcke.

Programmierung
Zum Programmieren des Flashspeichers stehen drei Modi zur Verfügung.
• Parallel-Programmierung: Im parallelen Programmiermode wird der Mikrocontroller wie ein Standard Flash-Memory programmiert. Dies geschieht über Adress- und Datenbus. Hierzu wird ein Parallel-Programmierer benötigt. Nur im parallelen Programmiermode kann auch der Bootblock des M16C programmiert werden. Im Parallel-Programmiermode lässt sich das Flash schnell und effizient für die Bestückung programmieren.
• Serielle Programmierung: Mit einem seriellen Programmierer kann das Flash in der Hardware programmiert werden. So kann man z. B. kundenspezifische Anpassungen vor Auslieferung der Applikation implementieren.
• CPU-Selfprogramming: Durch den „Selfprogramming Mode“ kann der Controller das Flash selbst beschreiben. Genutzt wird dieser Mode z. B. von Programmen wie emLoad. Mit Hilfe eines derartigen Programmes kann das Flash über eine serielle Schnittstelle programmiert werden. In diesem Fall wird kein Programmiergerät benötigt. Dies ist vor allem für den Endkunden interessant, um Programm-Updates durchzuführen.

Resümee
Mit den M16C-Mikrocontrollern (Bild 2) steht eine Produktreihe zur Verfügung, die einen nahtlosen Übergang von der Entwicklung bis zum Endprodukt ermöglicht. D. h. im Endprodukt wird derselbe Controller, wie in der Entwicklungsphase benutzt. Verifizierungen sind im Nachhinein noch möglich.

Impact Memec
Tel. (01) 895 76 27
info@impact.at.memec.com
http://www.impact.at.memec.com