Update: Der STM32H7R und STM32H7S werden jetzt mit der NeoChrom-GPU geliefert. Weitere Informationen finden Sie in unserem Blogbeitrag: STM32H7R, STM32H7S: Erster STM32 mit Bootflash und On-the-fly-Verschlüsselung #STM32Summit
ST kündigt heute die NeoChromVG-GPU an, den ersten Vektorgrafikbeschleuniger für Universal-Mikrocontroller. Er ist für die kommenden STM32U5G9 und STM32U5F9 verfügbar und baut auf der Neochrom-GPU auf, die 2023 auf den Markt gebracht wurde. Er hebt Funktionen wie Vektorschriftarten, die mit TouchGFX 4.23 verfügbar sind, auf die nächste Stufe, indem er eine völlig neue Art der Optimierung auf Embedded-Systemen ermöglicht. Aufmerksamen Lesern des ST-Blogs wird auffallen, dass die NeoChromVG-GPU der Höhepunkt unserer Bemühungen um Vektorgrafik ist, in der Hoffnung, den Herstellern zu helfen, ihren Speicherbedarf zu reduzieren. Wir bieten sogar Entwicklungskits und Demos an, damit Ingenieure wissen, ob diese Lösung für ihr Projekt geeignet ist.
Inhaltsverzeichnis
Was gibt’s Neues? Die NeoChromVG-GPU!
Die Herausforderung, Benutzeroberflächen mit weniger Speicherplatz zu erstellen
Der Grund für die Entscheidung von ST, eine spezielle Hardware-IP zur Beschleunigung von Vektoroperationen auf den Markt zu bringen, ist die zunehmende Nachfrage von Kunden, die ihre Abhängigkeit von externen Flash-Modulen verringern möchten. Die Speichermärkte waren schon immer volatil, aber viele Analysten erwarten laut Forbeseine starke Nachfrage nach Flash im Jahr 2024, die zum Teil durch neue KI-Anwendungen gestützt wird, die versuchen, „All-Flash-Objektspeichersysteme“ zu schaffen. Folglich könnten kleinere Unternehmen mit geringerer Einkaufsmacht ernsthafte Probleme bei der Beschaffung von Modulen bekommen oder einfach mit zu hohen Preisen konfrontiert werden, um ihre Produkte rentabel zu machen. Daher versuchen viele, ihren Bedarf an externem NAND zu reduzieren oder ganz darauf zu verzichten. Das hat uns dazu veranlasst, NeoChromVG-GPU in den neuen STM32U5F9 und STM32U5G9 MCUs anzubieten.
Die NeoChromVG-GPU-Lösung
Im Wesentlichen handelt es sich bei der NeoChromVG-GPU um eine herkömmliche Neochrom-GPU mit einer Hardwareeinheit, die Vektorgrafikberechnungen beschleunigt, wie z.B. quadratische Bézier-Kurven, die in Vektorschriftarten sehr häufig vorkommen, Bézier-Tesselation zum Rendern von Oberflächen und Vektorberechnungen für Vertex-Transformationen, um Vektorgrafiken schnell auf dem Bildschirm zu zeichnen. Sie basiert immer noch auf demselben Textur-Mapper wie der reguläre Neochrom-Grafikprozessor und verfügt über ähnliche Funktionen wie die L8-Kompression. Die Vektorgrafik-Beschleunigung wird einfach zu einem zusätzlichen Werkzeug im Arsenal eines Entwicklers, um seine Benutzeroberfläche zu optimieren. Die Funktion folgt auch auf TouchGFX 4.23, das gerade die Unterstützung für Vektorschriftarten hinzugefügt hat. Die Ingenieure sehen also die übergreifende Strategie, mit der ST die Speicherabhängigkeit verringern will.
Die NeoChromVG-GPU wird auf dem neuen STM32U5G9 und dem STM32U5F9 verfügbar sein, wobei der STM32U5F9 die Version ist, die einen Krypto-Kern enthält. Beide werden mit 3 MB RAM und 4 MB Dual-Bank-Flash ausgestattet sein. Diese Hardwarekonfiguration hat es einigen unserer Kunden ermöglicht, zu einem Single-Chip-Design überzugehen, das überhaupt keinen externen Speicher benötigte, während die Vergrößerung des internen Speichers und die Unterstützung von Vektorgrafiken anderen geholfen hat, kleinere NAND-Bausteine zu verwenden. In beiden Fällen hilft es, das Leiterplattendesign zu vereinfachen, indem nur vier Lagen verwendet werden und die Materialliste reduziert wird. Da Embedded-Systeme dazu neigen, ihren NOR-Speicher für eine größere Optimierung zu mappen, bedeutet es eine erhebliche Zeitersparnis, alles über 32 MB nicht mappen zu müssen.
Der beste Weg, um Vektorgrafiken auf STM32 zu verwenden
Vektorgrafiken sind nicht für jedes System geeignet. Selbst mit Hardware-Beschleunigung kann der Leistungsverlust, der durch das Vektor-Rendering entsteht, bei bestimmten Benutzeroberflächen zu groß sein. Wir sorgen jedoch dafür, dass Entwickler schnelle Prototyping-Tools erhalten, mit denen sie die NeoChromVG-GPU in wenigen Minuten testen können. Wir veröffentlichen das STM32U5G9J-DK mit einem 480 x 480 Display und das STM32U5G9J-DK2 mit einem 800 x 480 Bildschirm sowie eine UI-Demo, die zeigt, was Entwickler dank Vektorgrafik erreichen können. Auch der ST-Partner Riverdi, bekannt für seine STM32-Embedded-Displays, wird bald ein Modell mit dem STM32U5G9 anbieten, um die Entwicklung zu unterstützen und die Vorteile des Vektorgrafikbeschleunigers zu nutzen.
Von Chrom-ART zur NeoChrom-GPU
Was sind Chrom-ART und NeoChrom-GPU?
Leser, die mit ST-Technologien vertraut sind, können sich denken, dass die NeoChrom-GPU die nächste Evolution von Chrom-ART ist. Letzterer ist ein 2D-Beschleuniger (DMA2D), der in mehrere STM32-MCUs eingebettet ist und den Speicherzugriff optimiert, um Bilder schneller zu bearbeiten. Viele Tools und Produkte von ST-Partnern nutzen ihn, z.B. Storyboard von Crank, Microvisor von Twilio oder die Schnittstellen von PsiControl, einem TouchGFX-Implementer, um nur drei zu nennen. Die NeoChrom-GPU basiert auf der gleichen Philosophie, bietet aber eine größere Bandbreite an Optimierungen. Dank Textur-Mapping mit bilinearem und Punkt-Sampling bietet die neue Technologie eine neue Zeichenbeschleunigung und unterstützt Animationen. Was früher eine Desktop-PC-GPU-Karte erforderte, kann jetzt auf einem Mikrocontroller laufen.

Wie lässt sich die NeoChrom-GPU in das TouchGFX-Ökosystem integrieren?
In der Vergangenheit war Chrom-ART einer der ersten Vorstöße von ST in die grafische Optimierung. Seitdem haben wir TouchGFX übernommen und mit TouchGFX-Designer, -Simulator und -Generator ein ganzes Ökosystem aufgebaut. Infolgedessen integriert ST die NeoChrom-GPU von Anfang an in diese Tools. TouchGFX-Designer enthält Demos, die eine flüssige Animation mit 60 FPS auf einem runden Display zeigen. Noch wichtiger ist, dass die Auswirkungen auf die Bildwiederholrate gezeigt werden, wenn NeoChrom-GPU ausgeschaltet ist, damit die Entscheidungsträger die Bedeutung von NeoChrom-GPU erkennen können. In ähnlicher Weise verwendet das Textur-Mapping-Widget automatisch die neue GPU, wenn die MCU dies unterstützt. Daher ist die sofortige Integration der neuen IP in TouchGFX ein Beweis für das kohärente Ökosystem von ST und nicht nur eine einfache Funktionsliste.
Von der NeoChrom-GPU zur Leistung in der realen Welt
Was sind die Herausforderungen für grafische Leistungen?

Es gibt zwei große Herausforderungen für die grafische Leistung: eine Begrenzung der Anweisungen pro Takt und ein Speicherproblem. Die erste folgt oft auf architektonische Innovationen. Mikrocontroller haben aufgrund ihrer Größe und ihres geringen Stromverbrauchs Einschränkungen bei ALU und FPU, aber Verbesserungen bei den Herstellungsprozessen ermöglichen mehr Transistoren, die mehr Operationen verarbeiten können. NeoChrom-GPU folgt solchen Trends mit einer Hardware-IP, die mehr Arten von grafischen Berechnungen beschleunigt. Die zweite Herausforderung ist schwieriger, aber umso wichtiger, weil Speicher immer eine knappe Ressource bleiben wird. Während der STM32U599 mit 2,5 MB internem RAM ausgestattet ist, das zwei Framebuffer speichern kann, benötigen viele Embedded-Systeme externen RAM. Das Problem ist, dass dies mit erheblichen Leistungseinbußen verbunden ist.
Was sind einzigartige STM32-Implementierungen?
Um diese zweite Herausforderung zu lösen, verfügt die NeoChrom-GPU über spezifische Hardware-Optimierungen für STM32-MCUs. So nutzt der STM32U5 entweder eine 8-Bit-Octal-Serial-Peripheral-Interface (OSPI) oder eine 16-Bit-High-Speed-Schnittstelle (HSPI) mit 160 MHz zu externen Speichermodulen, um die Abrufvorgänge in den L2-Cache zu beschleunigen. Ebenso kann der L1-Cache direkt auf zwei 832 KB große Rahmenpuffer im internen RAM zugreifen. Das Ergebnis ist eine deutlich schnellere Tesselierung dank des schnellen Zugriffs auf alle Daten, die für das Rendern des Bildes in Echtzeit erforderlich sind. Vereinfacht ausgedrückt, haben unsere Ingenieure die Leistung optimiert, indem sie die Zeit, die für den Zugriff auf Texturen und andere Assets benötigt wird, verkürzt haben, was letztendlich das Rendering um das Sechsfache beschleunigt hat.
Was kommt als Nächstes?
Das erste Feedback aus der Industrie zur NeoChrom-GPU war sehr positiv. Während viele MCU-Hersteller über ähnliche IPs zur Beschleunigung grafischer Berechnungen verfügen, haben die spezifischen STM32-Optimierungen und das TouchGFX-Ökosystem viele frühe Alpha-Tester dazu veranlasst, NeoChrom-GPU anstelle konkurrierender Lösungen einzusetzen. Die neue Technologie wird bereits von TouchGFX 4.19 unterstützt, und einige Alpha-Kunden haben bereits mit einem kommenden STM32U599-Entwicklungskit an produktionsreifen UIs gearbeitet. ST wird die NeoChrom-GPU auch in andere kommende Mikrocontroller integrieren. Wir werden diesen Blogbeitrag aktualisieren, sobald sie veröffentlicht werden.