Speicherprobleme in GUI-basierten Mikrocontroller-Designs lösen

Seite: 2/3

Firmen zum Thema

Anwender erwarten Bedienung wie auf dem Smartphone

Viele Highend-MCUs verfügen heute serienmäßig über 512 kB SRAM. Dies reicht zur Ansteuerung einfacher statischer GUIs, die nur einen Bildspeicher benötigen, oftmals aus. Oder auch für GUIs, die nur 8 Bit pro Pixel bei der Farbauswahl und kleinere Bildschirme mit geringer Auflösung verwenden.

Der Trend weist jedoch eindeutig in eine andere Richtung: Endanwender erwarten auf der GUI ihres Embedded-Systems die gleiche Erfahrung, die sie mit ihren Lieblings-Apps auf ihren Smartphones haben. Unternehmen haben darüber hinaus ein Interesse daran, dass eine GUI ihre Markenidentität hervorhebt – sie sehen darin eine Möglichkeit, die Kundenbindung zu erhöhen.

Bildergalerie

Das Ansteuern einer ansprechenden grafischen Benutzeroberfläche kann mehrere Bildpuffer, Layer-Overlays und größere Farbtiefen erfordern. Letzteres gilt besonders dann, wenn die Grafik in der Applikation fotorealistisch sein soll oder genau einer bestimmten Markenfarbe entsprechen soll. Diese beiden Anwendungen überschreiten damit den integrierten Speicher fast jeder erhältlichen MCU. Somit ist zusätzlicher Speicher außerhalb der MCU erforderlich. Neben einer für die Applikationen passenden Kapazität muss dieser Daten schnell lesen und schreiben können.

Für diese Aufgabe bietet sich asynchrones SRAM an. Diese Speichererweiterung stellt Kapazitäten von typisch 8 MByte zur Verfügung und lässt sich auch relativ einfach einbinden – nämlich mit nicht-gemultiplexten Adressleitungen und Pin-Belegungen, die zu den externen Parallel-Ports vieler MCUs kompatibel sind. Entwickler müssen aber beim Einsatz von externem SRAM Kompromisse eingehen: Erstens ist die Speicherkapazität begrenzt – 8 MByte ist für viele grafikintensive Anwendungen nicht ausreichend. Zweitens sind die Stückkosten für den Speicher oft höher als für die MCU. Drittens benötigen die Memory-Bausteine viel Platz auf der Leiterplatte (Printed Circuit Board, PCB).

Viele MCUs bieten heute eine SDRAM-Schnittstelle, die sich zum Übertragen von Grafikdaten eignet. Meistens unterstützt sie Speicherkapazitäten von 8 bis 16 MByte. SDRAMs sind leicht erhältlich und kostengünstiger als externes SRAM. Dieses kommt allerdings ohne regelmäßiges Auffrischen der Speicherzellen aus. 8 MByte sollten als untere Grenze betrachtet werden. Einige GUI-Anwendungen wie die Fotoverzerrungs-Demo überschreiten diese Grenze.

Hohe Bus-Taktraten erschweren das Schaltungsdesign

Auch die Auslegung der Leiterplatte spielt beim Einsatz von SDRAM-Speicher eine wichtige Rolle. Busse, die mit 120 MHz und mehr getaktet sind, stellen hohe Anforderungen unter anderem hinsichtlich elektromagnetischer Verträglichkeit, Signaldämpfung, Übersprechen.

Für bestimmte Anwendungen mit End-to-End-SDRAM-Designs haben sich Leiterplatten mit sechs Lagen bewährt. Externer Hochleistungsspeicher kann bis zu vier zusätzliche Lagen in einem Embedded-PCB-Design erfordern und somit auch an dieser Stelle höhere Kosten für die Stückliste des Gesamtsystems verursachen. Die Leistungsfähigkeit von SDRAM kann ein weiteres Problem sein. Übliche 100-MHz-/16-Bit-Busse erreichen theoretisch Datenübertragungsraten von maximal 200 MByte/s. Ein WVGA-Display mit einer Auflösung von 800 x 480, einer Bildwiederholfrequenz von 60 Hz und einer Farbtiefe von 16 Bit pro Pixel erfordert bereits einen Datendurchsatz von 46 MByte/s.

Eng wird es, wenn eine CPU oder eine GPU die Bildberechnung übernimmt und zusätzlich Overlays erstellt werden – was für Embedded-Grafik-MCUs immer selbstverständlicher wird. Ein solches Design überlastet ein SDRAM-basiertes System schnell. Entwickler geraten angesichts des Trends zu einer mit Smartphones vergleichbaren Nutzererfahrung unter Druck. Sie benötigen eine Systemarchitektur mit höherer Rechenleistung, Speicherdichte und -Performance.

(ID:44915639)