Die Anzahl von Kaffeemaschinen, Kühlschränken, Verkaufsautomaten und anderen Geräten mit TFT-Displays wird in den kommenden Jahren voraussichtlich deutlich steigen. Mir ist kürzlich aufgefallen, dass in vielen Geschäften der Plastikstreifen, auf dem man normalerweise den Kassenbon unterschreibt, durch einen 7-Zoll-TFT-Bildschirm ersetzt wurde, auf dem Werbung für die im Geschäft erhältlichen Produkte angezeigt wird. Der zunehmende Einsatz von Werbung in Toilettenräumen durch Unternehmen in ganz Europa und weltweit zeigt, dass man dem TFT-Display bald nicht mehr entkommen kann.
Was benötigen Sie also für Ihre Anwendung?
Beginnen wir mit der Hauptfrage: Was genau benötigen Sie, um ein TFT-Display anzusteuern? Die meisten TFT-Panels verwenden heutzutage eine digitale RGB-Schnittstelle, entweder RGB888 oder RGB565. Der RGB-Wert ist ein Standard, der die Rot-, Grün- und Blaufarben jedes Pixels mit der entsprechenden Bitanzahl darstellt. Bei RGB888 erhält jede Farbe 8 Bit (insgesamt 24 Bit pro Pixel), während bei RGB565 Rot und Blau jeweils mit 5 Bit und Grün mit 6 Bit dargestellt werden (insgesamt 16 Bit pro Pixel). Alternativ können Sie anstelle einer herkömmlichen digitalen Display-Schnittstelle einen LVDS-Anschluss verwenden, der sich zunehmend als Standard für große Displays etabliert. In diesem Fall werden die RGB-Signale über ein Differenzsignal übertragen, das Datenformat bleibt jedoch gleich. Sie benötigen also zunächst ein Gerät, das die Generierung eines RGB-Signals und/oder eine LVDS-Schnittstelle unterstützt.
Zweitens müssen die RGB-Daten aus einem Framebuffer stammen, der üblicherweise im Arbeitsspeicher (RAM) gespeichert ist. Dieser Framebuffer ist ein Bitmap-Bild im gewünschten Format. Daher benötigt eine Bildschirmauflösung wie WVGA (480x800) etwas mehr als 1 MB RAM, um ein RGB888-Bild zu speichern (480 x 800 x 24 Bit = 1,125 MB).
Zusätzlich zum Framebuffer, der das aktuell anzuzeigende Bild speichert, verfügt eine typische Anwendung über einen „Backbuffer“, der das nächste anzuzeigende Bild speichert. Dadurch kann die CPU das nächste Bild verarbeiten, ohne dass der Benutzer ein flackerndes, nur teilweise verarbeitetes Bild auf dem Bildschirm wahrnimmt, bevor die CPU die Verarbeitung abgeschlossen hat. Dieses Dual-Buffer-System ist weit verbreitet und sorgt für eine insgesamt höhere Qualität der Benutzeroberfläche (HMI). Allerdings benötigt Ihr WVGA-Display dadurch zusätzlich 1,125 MB RAM, um den Puffer zu speichern.
Die Geschichte des Arbeitsspeichers (RAM) endete damit jedoch leider nicht. In einer typischen HMI-Anwendung ist es nicht immer notwendig, den gesamten Bildschirm zu bearbeiten. Wird beispielsweise ein Symbol oder eine Schaltfläche angeklickt, kann diese animiert, aufleuchten, sich drehen oder auf andere Weise reagieren, bevor die Aktion ausgeführt wird. In diesem Fall definiert ein HMI-Designer eine separate Ebene neben der Bildebene. Es gäbe eine Hintergrundebene, die unverändert bliebe, und das Symbol oder die Schaltfläche wäre eine Vordergrundebene, die animiert würde. Dies erfordert natürlich zusätzlichen Arbeitsspeicher – nicht den gesamten Bildschirm-RAM, aber etwas. Die benötigte Menge hängt von der Bildgröße ab. Nehmen wir beispielsweise eine Schaltfläche mit 200 x 200 Pixeln an. Dann bräuchten wir zusätzliche 100 KB RAM. Außerdem wäre es wichtig, all diese verschiedenen Ebenen miteinander kombinieren und gegebenenfalls Transparenz auf einige dieser Bilder anwenden zu können. Dies kann in Software erfolgen, wenn die CPU schnell genug ist, oder in Hardware, falls verfügbar.
Um die Übersicht über die RAM-Anforderungen zu vervollständigen: Eine gängige HMI-Anwendung benötigt für eine WVGA-Bildschirmgröße etwa 3 MB Bilddaten. Wird der Code, wie bei den meisten Prozessoren üblich, aus dem RAM ausgeführt, sind zusätzlich 0,5 MB erforderlich. Daher sollte man für ein WVGA-Display mindestens 3,5 MB RAM einplanen.
Natürlich ist auch die RAM-Zugriffsgeschwindigkeit von entscheidender Bedeutung. Wie Sie wahrscheinlich bemerkt haben, wird der RAM hier gleichzeitig von mehreren Quellen beschrieben und gelesen. Beispielsweise liest der IP-Block den Frontpuffer (die ursprünglichen Bilddaten), um die Daten auf dem Bildschirm darzustellen. Gleichzeitig wird der Backpuffer möglicherweise von der CPU oder durch eine DMA-Übertragung eines anderen Bildes aktualisiert. Parallel dazu bearbeitet die CPU möglicherweise das erwähnte Symbol und liest ihren eigenen Code aus dem RAM. Dies belastet die RAM-Busbandbreite stark. Dieser Bus ist oft der Flaschenhals der Anwendung, daher ist eine gute Busarchitektur erforderlich, um das Risiko einer Busüberlastung zu minimieren. Eine solche Überlastung könnte dazu führen, dass dem Benutzer nur unvollständige Bilder angezeigt werden oder, schlimmer noch, dass die grafische Benutzeroberfläche nicht funktioniert.
Besonderes Augenmerk muss auch auf die CPU-Leistung gelegt werden. Ein System, das 24 Bilder pro Sekunde an den Bildschirm ausgibt, muss Daten (in unserem Beispiel einen WVGA-Bildschirm) mit einer Geschwindigkeit von über 24 MB pro Sekunde verarbeiten und erzeugen. Dies kann vollständig softwareseitig oder teilweise hardwareseitig erfolgen, aber in jedem Fall muss die CPU schnell genug sein, um diese Anforderungen zu erfüllen.
Da wir nun eindeutig über eine Prozessorlösung sprechen, die voraussichtlich keinen On-Chip-Flashspeicher besitzen wird, ist die nächste Anforderung die Anbindung an externen Flashspeicher. Üblicherweise wird heutzutage ein externer paralleler NOR-Flashspeicher verwendet, um den Code zu speichern und ihn dann beim Booten in den RAM zu laden, um eine schnelle Ausführung zu ermöglichen. Modernere Geräte unterstützen jedoch andere Speichertechnologien, sodass Systemarchitekten die Systemkosten senken können, ohne den Overhead eines teuren On-PCB-NOR-Flashspeichers in Kauf nehmen zu müssen.
Die meisten dieser Anwendungen steuern nicht nur ein Display, sondern müssen auch mit dem restlichen System verbunden werden. Anwendungen im Automobilbereich sind üblicherweise an einen CAN- oder MOST-Bus angeschlossen. Industrielle und Consumer-Geräte benötigen heutzutage Ethernet- und USB-Anschlüsse. Diese Verbindungen bedeuten auch, dass das optimale Produkt nicht nur Hardware-IP integrieren, sondern auch über ausreichend Leistung für den Betrieb und genügend Speicherplatz für die zugehörigen Architekturen verfügen muss.
Über die RZ/A-Familie:
Die RZ/A-Familie ist eine Embedded-MPU-Lösung auf Basis eines ARM Cortex A9-Kerns, die zahlreiche Vorteile für den HMI-Anwendungsmarkt bietet. Die RZ/A verfügt über bis zu 10 MB On-Chip-SRAM und bietet damit den größten verfügbaren On-Chip-RAM. Die Familie umfasst drei Varianten: die RZ/A1H mit vollen 10 MB RAM, die RZ/A1M mit 5 MB RAM und die RZ/A1L, das kleinste Gerät mit 3 MB RAM.
Ausgehend von der vorangegangenen Diskussion, in der berechnet wurde, dass die HMI-Anwendung etwa 3,5 MB RAM benötigt, scheint der RZ/A1M ideal für diese Anforderungen geeignet zu sein. Natürlich gibt es auf dem Markt auch andere Lösungen, die externen RAM nutzen, sei es DDR-SDRAM oder sogar größere Speicherkapazitäten. Die RZ/A-Familie ist jedoch das einzige Produkt, das dem Autor bekannt ist, das diese hohe Menge an internem RAM bietet.
Der RZ/A1H gibt dem Systemdesigner die Möglichkeit, die Bildschirmgröße je nach Bedarf zu vergrößern oder zu verkleinern und eine kostenoptimierte Version für Produkte mit niedrigerer Auflösung zu erstellen.
Die 400-MHz-Leistung der CPU ist mehr als ausreichend, um eine einfache HMI-Anwendung auszuführen und die Kommunikation über jedes vom System vorgegebene Protokoll aufrechtzuerhalten, da alle Versionen der RZ/A-Familie CAN (bis zu 5 Kanäle), Ethernet, USB (bis zu 2 Kanäle) beinhalten und sogar MOST für Automobilanwendungen unterstützen.
Tatsächlich ist die 400-MHz-CPU dank zweier einzigartiger Merkmale des RZ/A mehr als ausreichend. Das erste Merkmal ist der VDC (Video Display Controller). Dieser von Renesas entwickelte Bildschirmcontroller bietet Hardware-Unterstützung für viele Funktionen, die zur Erzeugung des finalen Bildes auf dem Bildschirm erforderlich sind. Der VDC unterstützt bis zu vier verschiedene Grafikebenen, von denen zwei von einer externen Kamera eingespeist werden können. Er verfügt außerdem über Hardware zur Unterstützung von Alpha-Blending. Beim Alpha-Blending wird jedem Pixel ein zusätzlicher 8-Bit-Alphawert zugewiesen. Dieser Alphawert bestimmt die Transparenz des Pixels und ermöglicht so die Überlagerung mit einem anderen Pixel, um das resultierende Bild zu erzeugen. Der VDC unterstützt auch Chroma-Key-Operationen, die vor allem in der Videografie für Greenscreen-Effekte verwendet werden. Dabei wird eine bestimmte Farbe als transparent definiert, um ein Objekt in ein anderes Bild einzufügen. In manchen Systemen würde all dies softwareseitig realisiert, der RZ/A hingegen hardwareseitig. Daher entspricht die 400-MHz-CPU einer deutlich höheren Leistung. Das VDC unterstützt nicht nur digitale RGB-Verbindungen zu einem TFT-Display, sondern auch LVDS.
Der zweite Faktor der RZ/A-Familie, der die CPU-Leistung steigert, ist die Beseitigung des bereits erwähnten Bandbreitenproblems. Ein Quad-Core-Prozessor mit Terahertz-Auflösung arbeitet nur so schnell, wie er Daten abrufen kann. Werden Daten in einem einzigen RAM-Block gespeichert, auf den über einen einzigen Bus zugegriffen werden muss, wird der Kern dadurch verlangsamt. Die RZ/A-Familie hingegen verfügt über fünf separate RAM-Bänke.
Jede Bank ist mit einem eigenen 128-Bit-Bus verbunden. Dadurch ist es möglich, in den Backbuffer zu schreiben, aus dem Frontbuffer zu lesen, ein Symbol zu bearbeiten und eine DMA-Übertragung durchzuführen – alles während der Ausführung von Code aus dem internen RAM. Dies führt zu einer deutlichen Leistungssteigerung.
Selbstverständlich ist, wie bereits erwähnt, auch eine Verbindung zu externem Flash-Speicher erforderlich. Der RZ/A ist mit allen gängigen nichtflüchtigen Speicheranschlüssen wie NOR, NAND, SDIO, MMC usw. kompatibel, verfügt aber auch über eine spezielle serielle SPI Multi-I/O Flash-Verbindung, die das neue Quad-SPI-Protokoll unterstützt.
Dieses QSPI kann Leistungswerte erzielen, die denen eines parallelen Flash-Speichers ähnlich oder sogar überlegen sind, bietet aber die wirtschaftlichen Vorteile eines seriellen Flash-Speichers, wie z. B. die Einsparung von Mikroprozessor-Pins und die Reduzierung der Leiterplattengröße.
Kurz gesagt: Das RZ/A ist einfach.
Das kürzlich von Renesas vorgestellte RZ/A-Gerät wurde speziell für den Markt der Mensch-Maschine-Schnittstellen entwickelt. In diesem Markt gibt es mehrere Anforderungen, die zwar einzeln betrachtet nicht einzigartig sind, in ihrer Gesamtheit jedoch die Erfüllung mit herkömmlichen Systemen erheblich erschweren. Der RAM-Bedarf ist beträchtlich, aber nicht so hoch wie bei einem Mikroprozessor mit 128 MB DDR3-RAM. Die Betriebsanforderungen sind gering, sofern das Gerät von einem Display-Controller unterstützt wird, aber nicht so gering,
dass ein Mikrocontroller mit beispielsweise 100 MHz sie erfüllen könnte.
Die RZ/A bietet umfangreiche Anschlussmöglichkeiten für alle HMI-Anwendungen, mehr als ausreichend Leistung und großzügigen Arbeitsspeicher für maximale Flexibilität. Sie ist eine dedizierte, kostenoptimierte Lösung, die nicht nur dem boomenden Markt für Displaytechnologie zugutekommt, sondern auch dessen Wachstum vorantreibt.
Autor: Robert Kalman, Produktmarketing-Manager,
Geschäftsbereich Industriekommunikation, Renesas Electronics Europe GmbH
