Allerdings ist es kein leichtes Unterfangen PC/104-SBCs (Single-Board-Computer) mit aktueller Prozessortechnologie und voller ISA-Kompatibilität zu finden. Das PC/104-plus-SBC-Microspace MSM-eO(-N) mit den AMD-Embedded-APUs der G-Serie bietet genau das und ist damit sehr gut für ein solches Nachfolgedesign geeignet.
PC/104 ist einer der am längsten verfügbaren Standards für SFF- Single-Board-Computer und zählt auch heute noch mit seinen Abmessungen von nur 90 mm x 96 mm zu den kompaktesten SBC-Formfaktoren der Embedded-Technologie. Bis zu fünf Erweiterungsboards können parallel und platzsparend auf oder unter den zentralen SBC gesteckt werden. Über Montageverschraubungen in den Ecken werden die Boards fixiert. Diese Lösung macht PC/104 nicht nur zu einem äußerst kompakten Formfaktor, sondern auch von Haus aus resistent gegen mechanische und thermische Belastungen. Der Original-PC/104-Standard basiert auf der PC-Industrial-Standard-Architektur (ISA). Im Lauf der Jahre hat sich PC/104 parallel zu der Einführung schnellerer Bussysteme stetig weiterentwickelt und neue PC-Technologien wie PCI und PCI-Express übernommen. Und das bei voller Rückwärtskompatibilität. So sind heute fünf Standards mit verschiedenen Kombinationen der Bussysteme verfügbar.
In der Pole-Position für SFF-Systemdesigns
Und genau dieses komfortable Stackable-Konzept mit validierten, langzeitverfügbaren COTS Building Blocks und die integrierte Flexibilität der unterschiedlichen Erweiterungsbusse machen PC/104 heutzutage attraktiver als je zuvor. Insbesondere da Markteinführungszeit und Entwicklungskosten entscheidende Kriterien für OEMs bei der Wahl eines Embedded-Formfaktors sind. Anwendungsfelder für PC/104 lassen sich in nahezu jedem vertikalen Marktsegment finden, inklusive derjenigen mit sehr hohen Anforderungen an Langzeitverfügbarkeit und Robustheit, wie beispielsweise Transport- und Verkehrswesen, die Automatisierung sowie der Verteidigungstechnik. Marktsegmente, die zudem auch nach langen Produktlebenszyklen und individuellen I/Os verlangen.
Was ist mit dem Legacy-Support?
PC/104 bietet somit gute Voraussetzungen für eine gute Zukunft im SFF-Trend und OEMs finden innerhalb dieses Embedded-Standards das komplette Spektrum an generischen PC-Bussystemen und I/O-Erweiterungsboards. Allerdings nur so lange es auch SBCs mit aktuellen Prozessoren und vollem ISA-Support gibt. Mit der Einführung neuer PC-Bussysteme wie PCI und PCI-Express, wurden jedoch zahlreiche Komponenten wie das BIOS ROM, die Realtime Clock sowie Interrupt- und DMA-Controller in die Chipsätze integriert. Auch machte Intel ab dem Controller-Hub ICH6 sogar die klassischen ISA-Speicherbereiche, die für Datenaustausch und Kommunikation zwischen CPU und ISA-Board benötigt werden, unzugängig für den Nutzer. Das macht ISA-Support auf heutigen Prozessoren und Chipsätzen zu einer echten Herausforderung.
ISA-Support – Nur volle Kompatibilität bringt Vorteile
Dabei ist der Marktbedarf nach ISA immer noch immens im PC/104-Segment. Unabhängige Marktforschungsunternehmen gehen davon aus, dass mindestens 50 Prozent aller PC/104-Installationen entweder auf PC/104 (ISA) oder PC/104-Plus (ISA und PCI) basieren. Damit ist es Aufgabe der Board-Hersteller PC/104-Plus-SBCs zu entwickeln, die vollen Support für ISA und PCI bieten. Denn nur mit dieser vollen Kompatibilität sind sie als echtes „Drop-in-Replacement“ für alle ISA- und PCI-Erweiterungsboards zu nutzen und machen damit eine Hard- und Softwareumstellung für OEMs überflüssig.
Für einen vollen Hard- und Software-kompatiblen ISA-Support auf SBCs mit neuesten Prozessoren und Chipsätzen müssen Board-Hersteller hardwareseitig vier Voraussetzungen erfüllen. Dazu zählen ein ISA-kompatibles Interrupt-System, ISA-konforme I/O Ports und Speicherbereiche sowie frei definierbare DMA-Kanäle. Diese Hardware-Kompatibilität mit aktueller Prozessortechnologie zu erfüllen, ist allerdings nicht einfach. Da die typischen Low-Pin-Busse wie LPC und SPI nicht tauglich für vollen ISA-Hardware-Support sind, suchte Kontron nach einer Prozessor/Chipsatz-Kombination für volle ISA-Kompatibilität.
Eine Lösung, die sehr gute Voraussetzungen für die Kombination von ISA und neuester Prozessortechnologie bot, ist die AMD-Embedded-G-Series. Der Grund liegt in dem Controller-Hub AMD A55E, der volle PCI-Unterstützung integriert. Insbesondere die Möglichkeit den ISA- Speicherbereich auf den PCI-Bus abzubilden, ermöglichte Kontron den Einsatz einer PCI-auf-ISA-Bridge, die vollen Zugriff auf den Speicherbereich ermöglicht und damit Hardware-kompatiblen ISA-Support auf dem Kontron PC/104-Plus Single-Board-Computer MSM-eO(-N) einzudesignen. Eine geeignete PCI-zu-ISA-Bridge einzubinden, ist allerdings nur der erste Schritt in einem komplexen Prozess, der nicht nur tiefgehendes Hardware-Wissen voraussetzt, sondern auch nach einer umfassenden Software-Expertise verlangt, beispielsweise für den DMA-Zugriff.
ISA Interrupt-System
Als erstes gilt es, ein konfigurierbares Interrupt-System für eine ISA-kompatible Geräte-Verwaltung zu erstellen. Heutige PC-Systeme sind nicht mehr auf 16 Interrupts beschränkt und haben keine fixe Zuweisung der IRQs zu bestimmten Funktionen. Für ISA-basierte Applikationen muss die PIC-basierte Interrupt-Verwaltung wieder abgebildet werden, um den ISA-Boards eine kompatible Umgebung zu bieten. Um möglichst viele freie IRQs bereitzustellen, hat Kontron zudem die ISA-Interrupts frei gemacht, die auf nicht mehr benötigte Legacy-Geräte verweisen, wie zum Beispiel für Floppy und PS/2-Maus. Damit stehen diese IRQs nun Nutzern für andere Aufgaben zur Verfügung.
ISA I/O-Ports
Im zweiten Schritt galt es, die typischen ISA I/O für die Kommunikation zwischen ISA-Geräten und dem Prozessor bereitzustellen. Frühere ISA-Designs lösten lediglich die ersten 10 bit der Adresse auf. Das begrenzte die Zahl auf dem ISA-Bus auf 1024 I/O-Ports, was sie zu einer wertvollen Ressource machte. Moderne Systeme dekodieren die vollen 16 bit der Adresse. Sie weisen den unteren Bereich (0 bis FFFh) der internen Peripherie und/oder dem LPC-Bus zu. Der obere Bereich (1000h bis FFFFh) ist für PCI reserviert. Auf PCI-Systemen wird dieser obere Bereich für die Plug & Play-Konfiguration genutzt. In der Regel wird keiner dieser oberen Ports auf ISA geroutet. Auf dem Microspace MSM-eO(-N) werden alle ungenutzten PCI Cycles auf ISA abgebildet (siehe Bild 2) und stehen damit dem ISA-Bus zur Verfügung. Dadurch gewinnen OEMs zusätzliche wertvolle Ressourcen für ihre applikationsspezifischen I/O-Boards, was die ISA-Konfiguration vereinfacht.
ISA-Speicherbereiche
Die dritte Voraussetzung ist ein ISA-kompatibler 8 und 16 bit Speicherbereich, der für den Datenaustausch zwischen dem ISA-Board und der CPU benötigt wird. Auf dem Microspace MSM-eO(-N) wurde der Chipsatz so konfiguriert, dass der Adressbereich zwischen 640 kB und 1 MB (A0000 bis DFFFFh) zugängig ist. Das BIOS belegt die obersten 128 kB ab E0000h. Die On-board-Grafik (sofern vorhanden) beansprucht den Bereich von A0000 bis C7FFFh. Die unbenutzten Bereiche von A0000h bis DFFFFh überträgt das MSM-eO(-N) auf den ISA-Bus und überlässt dem User den Zugriff auf den Bereich von C8000h (A0000h für Board ohne Grafik) bis DFFFFh.
Die komplexeste Aufgabe bestand allerdings darin, den Direct Memory Access (DMA) für die Erweiterungsboards mit vollem 8 und 16 bit DMA-Support bereitzustellen. Dies erforderte eine individuelle Programmierung der Firmware. Da die im AMD-Controller-Hub A55E integrierten DMA-Controller keinen Zugriff auf die PCI-auf-ISA-Bridge ermöglichen, setzte Kontron auf eine dedizierte Hardware- und Firmware-Programmierung. Der Chipsatz des Microspace MSM-eO(-N) weist zwei 8237 DMA-Controller für eine volle PC/AT-Kompatibilität auf. Aber die DMA-Controller des Chipsatzes können keine Übertragungen zwischen dem PCI-Bus und dem Host-Bus initiieren. Daher integriert die ITE 8888 PCI-zu-ISA-Bridge zwei zusätzliche 8237 DMA-Controller. Ein Distributed DMA wurde implementiert, um die ISA-DMA-Controller und die Chipsatz-internen DMA-Controller simultan zu betreiben. Die DMA-Kanäle für den ISA-Bus werden im BIOS-Setup konfiguriert und das System allokiert den DMA-Kanal vom System-Controller auf den ITE8888 DMA-Controller.
PC/104: Die hohe Kunst der Flexibilität
Wenn es um die Integration neuester Prozessortechnologie in existierenden und neuen Applikationen geht, bietet PC/104 ein breites Angebot an aktuellen und Legacy-PC-Bussen. Mit dem PC/104-plus-Single-Board-Computer MSM-eO(-N) bietet Kontron neueste Prozessortechnologie für ein Upgrade von ISA- und PCI-basierten Designs. OEMs profitieren dadurch von einer höheren Investitionssicherheit ihrer bestehenden Designs. Damit ist PC/104 immer noch einer der besten Standards für die schnelle Entwicklung von langzeitverfügbaren und robusten SFF-Applikationen. OEMs erhalten bei PC/104 passende SBCs für ihre Legacy-Boards, oder sie können sich für ein neues Systemdesign entscheiden. Aber egal wofür sie sich heute entscheiden, die Entscheidung für PC/104, die sie in der Vergangenheit getroffen haben, bietet ihnen auch heute noch hohe Flexibilität auf COTS Level.
Der PC/104-plus SBC Microspace MSM-eO(-N) im Detail
Kontron führt den PC/104-plus Single-Board-Computer Microspace MSM-eO in zwei Versionen: Der Microspace MSM-eOPC/104-Plus-Single-Board-Computer integriert einen Single-Core-AMD-T44R-Prozessor mit 1,2 GHz zusammen mit der AMD-Radeon-HD6250-Grafikeinheit. Er unterstützt neueste 3D-Grafikbibliotheken wie Open GL 3.2 und Direct X 11. Damit eignet sich der SBC auch sehr gut als Upgrade für bestehende PC/104-Plus-Designs, die mehr Grafik-Performance bei geringer Stromaufnahme erfordern.
Für tief eingebettete Systeme
Der Kontron Microspace MSM-eO-N ist eine besonders kosten- und energieeffiziente Lösung für tief eingebettete Systeme, die keine Grafikausgabe benötigen. Mit seiner platzsparenden Zwei-Chip Lösung auf Basis des AMD-Embedded-Prozessors T24L und des Fusion-Controller-Hubs A55E ist der langzeitverfügbare PC/104-Plus-Single-Board-Computer eine sehr gute Lösung für lüfterlose Small- Form-Factor-Designs, die als reine Rechenknechte vorgesehen sind.
(ah)