Der Markt für Embedded-Systeme stellt besondere Anforderungen Videoadapter für Embedded-Systemanwendungen

Embedded-Computing-Lösungen setzen sich in vielen Branchen gegenüber standardbasierten PC-Lösungen immer mehr durch. Systemintegratoren müssen nun die CPU mit den am meisten nachgefragten Peripheriegeräten verbinden. Eines der am häufigsten benötigten Peripheriegeräte im Embedded-Computing ist der Videoadapter.

Der Markt für Embedded-Systeme stellt besondere Anforderungen

Embedded-Computing-Lösungen setzen sich in vielen Branchen gegenüber standardbasierten PC-Lösungen immer mehr durch. Systemintegratoren müssen nun die CPU mit den am meisten nachgefragten Peripheriegeräten verbinden. Eines der am häufigsten benötigten Peripheriegeräte im Embedded-Computing ist der Videoadapter.

Embedded-Computing-Lösungen setzen sich in vielen Branchen- und Verbrauchermarktsegmenten gegenüber standardbasierten PC-Lösungen immer mehr durch. Systemintegratoren sehen sich daher einer neuen Aufgabe gegenüber: die Kern-CPU mit den am meisten nachgefragten Peripheriegeräten zu verbinden und trotzdem noch die Bedürfnisse des Systems hinsichtlich Performance, Hard- und Software-Kompatibilität zu erfüllen sowie nicht zuletzt die Verfügbarkeit der einzelnen Bestandteile und die Kosteneffizienz zu wahren.

Eines der am häufigsten benötigten Peripheriegeräte im Embedded-Computing ist der Videoadapter: Industrie-Terminals, Automaten, portable Geräte und viele andere Embedded-Systemanwendungen benötigen ein Display als wichtigste Mensch-Maschine-Schnittstelle. Der PC-Markt bietet verschiedene leistungsfähige Videoadapter-Lösungen. Dennoch stellt der Markt für Embedded-Systeme einige spezielle Anforderungen, die mit dem Angebot an PC-Peripheriegeräten nicht 100-prozentig erfüllt werden:

  • Der verfügbare Systembus zählt nur selten zum aktuellen PC-Standard, AGP, und noch seltener ist ein PCI-Bus verfügbar. Zudem sind PCI-Videochips heutzutage nur schwer erhältlich, da sie hauptsächlich von Nischenunternehmen hergestellt werden.
  • Insbesondere im industriellen Markt sind die Verfügbarkeit und die schnelle Überalterung von Geräten zwei wichtige Aspekte: Da häufig mehrere Produktionsjahre garantiert werden müssen, ist das sich schnell verändernde PC-Angebot hier keinesfalls ideal.
  • Anwendungsspezifische Standardprodukte (ASSP) für PC-orientierte Videoadapter sind im Allgemeinen dafür konzipiert, sehr hohe 2D/3D-Beschleunigungen in einer Microsoft-Windows-Umgebung, bei der MPEG-Reproduktion usw. zu erreichen. Die Anforderungen an Embedded-Systeme sind im Allgemeinen weitaus einfacher gestaltet: beinahe statische Bilder oder einfache Videoreproduktion, keine 2D/3D-Beschleunigung, kein Hardware-Support für Video-Codierer-Decodierer.
  • In einem Embedded-System kann das Display ein bloßes LCD-Panel darstellen, das direkt an den Videoadapter angeschlossen ist, oder es kann ein externes Gerät sein, das über einen analogen VGA-, DVI-, LVDS-Anschluss verbunden wird: Daher muss die Flexibilität während der Entwicklungsphase größer sein als bei den typischen PC-orientierten ASSPs.
  • Andererseits wird das Anzeigegerät wohl kaum während des Systemlebens ausgetauscht: Daher ist es in den meisten Fällen möglich, Auflösung, Farbtiefe, physische Schnittstelle und an-dere entsprechende Parameter schon während der Entwicklungsphase festzulegen und somit mehr Möglichkeiten für eventuelle Konstruktionsoptimierungen und Einsparungen zu erhalten.

Ausgehend von den oben genannten allgemeinen Anforderungen für ein typisches Embedded-Computing-System stellt dieser Artikel eine Videoadapter-Lösung vor, die auf einer programmierbaren Logik und einem RAM als Bildspeicher basiert.

Technische Herausforderungen bestimmen die Kosten

Es gibt zwei große Herausforderungen, mit denen Ingenieure bei der Entwicklung eines Videoadapters konfrontiert werden: die Gesamtdatenbandbreite und die Gesamtkomplexität der erforderlichen Steuerlogik. Diese beiden Elemente bestimmen zu weiten Teilen die Kosten der Lösung und somit die Realisierbarkeit. Dazu hier nun einige grobe Berechnungen.

Hinsichtlich der benötigten Geschwindigkeit ist es sinnvoll, das schwierigste Szenario anzunehmen: Es soll ein kontinuierlicher, vom MPU-Bus kommender Videostrom wiedergeben werden auf einem Display mit 1024 x 768 Pixel x 16 bit/Pixel (bpp, für die Farbinformation) und einer Bildwiederholfrequenz von 60 Hz. Für eine flüssige Bewegungsdarstellung sind mindestens 25 Bilder/s (fps) von der MPU-Seite bereitzustellen (vorausgesetzt, die MPU ist in der Lage, einen derartigen Durchsatz zu leisten), d.h., es ergibt sich eine eingehende Bandbreite von

1024 x 768 x 16 bit x 25/s = 315 Mbit/s

Auf der Videoausgabe-Seite sollte der Videoadapter einen kontinuierlichen Strom von 60 fps leisten, einschließlich der notwendigen Zeilen- und Bildrücklaufzeiten (alle aktuellen Displays weisen diese technischen Daten auf). In der Berechnung wird eine Rücklaufzeit von 20 % der gesamten Vollbildzeit angenommen (siehe Tabelle):

(1024 x 768 x 16 bit x 60/s) x 1,2 = 906 Mbit/s

Es gibt zwei Gründe, weshalb eine Bildwiederholfrequenz von mindestens 60 Hz zu berücksichtigen ist: Erstens muss den aktuellen Display-Spezifikationen entsprochen werden und zweitens stört das Flackern bei niedrigen Bildwiederholfrequenzen, sogar auf einem LCD. Insgesamt erreicht die Bandbreite im schlechtesten Fall 1300 Mbit/s; ausgehend von einem 32-bit-Bus bedeutet das 40 MWorte/s.

Wieviel Videospeicher wird benötigt, um ein komplettes Bild zu erreichen (Tabelle)? 1024 x 768 x 16 bit entsprechen zum Beispiel 12,6 Mbit, daher ist es praktisch notwendig, auf 16 Mbit als Standard-Speicherdichte zurückzugreifen. Für eine derartige Speicherdichte und Zugriffsgeschwindigkeit ist SDRAM die wirtschaftlichste Lösung. Leider kann aufgrund der bestehenden Latenzen, die bei bis zu acht Bus-Taktzyklen liegen, während des ersten Taktzyklus nicht direkt auf dynamische RAM-Daten zugegriffen werden. Um die Latenz bei Direktzugriffen zu minimieren, empfiehlt es sich, über so viele sequenzielle Zugriffe wie möglich zu verfügen, da sequenzielle Zugriffe nur einen Taktzyklus erfordern. Als Faustregel gilt: Die SDRAM-Latenz kann in einer guten Konstruktion, bei der die sequenziellen Zugriffe im Vergleich zu Direktzugriffen überwiegen, ungefähr zu einer Halbierung des verfügbaren Durchsatzes führen.

Für einen SDRAM-basierten XGA/16-bpp-Bildspeicher sind mindestens 2500 Mbit/s (oder 80 MWorte/s auf einem 32-bit-Bus) als Brutto-Bandbreite zu berücksichtigen. Derzeit könnte SRAM eine gute Wahl für Auflösungen bis zu 640 x 480 x 16 bit (= 5 Mbit) sein, da die höheren Kosten pro Bit im Vergleich zu SDRAM durch eine sehr viel geringe Komplexität des Speicher-Controllers ausgeglichen werden. Folglich hängt die Gesamtkomplexität der Konstruktion direkt von der benötigten Videoauflösung und der verwendeten Speichertechnologie ab.