Op weg naar embedded plug-and-play

Reading time: 5 minutes

Author:

Embedded computertechnologie bouwt voort op communicatiestandaarden en -bussen uit de pc-wereld. Deze technieken raken steeds verder verfijnd. Het ideaalbeeld van plug-and-play komt steeds dichterbij. Norbert Hauser en Clemens Mathijsen van Kontron geven een overzicht van de beschikbare technologieƫn en de toekomstige ontwikkelingen.

Embedded computertechnologie bestaat al sinds jaar en dag uit modulair opgebouwde systemen. De generieke bussen voor het uitbreiden van de borden met applicatiespecifieke uitbreidingskaarten spelen daarin een essentiƫle rol. De koplopers hierin zijn Isa, PCI en als recente aanvulling PCI Express. Deze pc-standaarden zijn tot nu toe ingezet op embedded moederborden zoals ATX, Flex-ATX, MicroATX en Mini-ATX. Met identieke elektronische en fysieke interfaces zijn deze bussen ook op uitbreidingskaarten bij Pisa, PCI-gebaseerde systemen en de eerste industriƫle standaard van de PicMG toegepast.

De volgende generatie PicMG, CompactPCI, nam samen met PC/104 echter fysiek afscheid van deze standaarden. Beide vormfactoren gebruiken robuustere pressfit-connectoren om de stabiliteit van de tussenverbindingen te vergroten. De elektronische signalen zijn wel gelijk gebleven. Dat is ook het geval bij Computer-on-modules. Deze hebben wel aanzienlijk meer connectorpennen, maar dat komt doordat hier wezenlijk meer interfaces over lopen. Zo bevat ETX naast diverse toegesneden interfaces ook Isa en PCI. ETXExpress/COM Express biedt meervoudig PCI Express alsook PCI. Maar ook hier is de elektronica niet wezenlijk gewijzigd. Voor de generieke functies blijft steeds pc-technologie in gebruik, slechts hier en daar aangepast aan de uiteenlopende wensen van de gebruikers.

Pressfit

Embedded moederborden onderscheiden zich ten aanzien van de standaard interfaces via rechtopstaande pennenrijen, de zogenaamde headers. Hiermee zijn uitbreidingskaarten parallel aan het bord aan te brengen, wat de inbouwhoogte reduceert.

De PicMG 1-standaard definieert onder meer de slot-single board computer (SBC), een enkelkaartscomputer als insteekmodule. Meestal betreft het hier klassieke PCI Express-, PCI- of Isa-kaarten. Bij Pisa levert de slot-SBC de PCI- en Isa-bussen op de halve kaartlengte via een connector met dubbele rijen op het achterwandpaneel. Uitbreidingskaarten worden net als bij PicMG 1 ingestoken.

PC/104plus definieert stapelbare, min of meer vierkante SBCā€˜s en uitbreidingsmodules voor PCI en Isa. Epic voert deze traditie door voor I/O-modules op een minimoederbordvormfactor. De chipsets beschikken hier over steeds meer geĆÆntegreerde functies.

Hoe uiteenlopend de verschillende vormfactoren ook zijn, de basis plug-and-playfunctionaliteit krijgen de borden via de gestandaardiseerde bussen Isa, PCI of PCI Express en het besturingssysteem. Uniforme Apiā€˜s vergemakkelijken daarnaast de klantspecifieke ontwikkeling van applicaties.

JRex/JFlex houdt zich geheel afzijdig van de pressfit-connector en Isa. Het levert puur PCI en connectoren voorzien van SMT voor oppervlaktemontage. Deze technologie heeft qua afmetingen een flexibel uitbreidingsmoduleconcept. Modules worden ook hier parallel aan de SBC ingestoken om ruimte te besparen.

Computer-on-modules bieden een bundel van interfaces naar de basiskaart. De betreffende standaard definieert de bijbehorende pennenbezetting. De meest gangbare zijn Dim-PC, ETX, en Com Express/ETXExpress.

CompactPCI, oftewel PicMG 2, maakt gebruik van PCI- en switch fabric-transport over het achterwandpaneel. Daarbij komt nog hotswap en aanvullende signalering voor de Intelligent Platform Management Interface (IPMI)-hardwarebewaking die de systeembetrouwbaarheid vergroot.

De AdvancedTCA-standaard, ofwel PicMG 3, en de nieuwe MicroTCA-standaard beschikken beiden over PCI Express en Gigabit Ethernet via het achterwandpaneel, alsook hotswap en IPMI.

Windows 95

Deze fysiek zeer uiteenlopende concepten hebben vanuit de pc-bustechnologie gezien identieke plug-and-playfuncties. Bij al deze vormfactoren ging het er in het begin echter allesbehalve plug-and-play aan toe. Met Windows 95 werd het begrip al wel in het midden van de jaren 90 ingevoerd, maar dat was echter nog zeer ver verwijderd van het ideale beeld. Dat impliceert namelijk een spontane opname van alle mogelijke elektronische apparaten of subsystemen die hun diensten ad hoc in het netwerk aanbieden. Clients kunnen deze diensten spontaan aantreffen en toepassen.

Tegenwoordig komt dit ideaal al veel dichterbij. Standaard uitbreidingskaarten worden onder de tegenwoordig gangbare besturingssystemen ingestoken en automatisch herkend door de SBC. De driver actualiseert of installeert het systeem in een automatische routine en stelt daarmee de basisfuncties van de uitbreidingskaarten meteen of na het opstarten van het systeem ter beschikking. Hebben de uitbreidingskaarten eigen gebruikersinterfaces aan boord, dan zijn de door de gebruiker gewenste parameters meteen in te stellen en de interfaces met geschikte software te gebruiken.

Vergelijkbare plug-and-playfunctionaliteit is tegenwoordig ook te vinden in randapparaten die bijvoorbeeld met USB werken en in intelligente busklemmen, zoals het gepatenteerde Wago I/O System. Ook de AdvancedTCA- en de nieuwe MicroTCA-standaard definiƫren met nieuwe intelligente bord-naar-bordinterfaces een grotere bandbreedte en een hogere systeembetrouwbaarheid. Die zijn bijvoorbeeld op PCI Express of Gigabit Ethernet gebaseerd. Daardoor vervagen de interne en externe communicatie-interfaces steeds verder en functies zoals Wake-on-lan of USB-boot kunnen wat plug-and-play betreft nog tot geheel nieuwe systeembenaderingen leiden.

Het blijft echter speculeren hoe de computertechnologie zich ten aanzien van deze mogelijkheden zal ontwikkelen, want dat is in hoge mate afhankelijk van wat de fabrikanten van periferiemodules zullen aanbieden. Op dit moment voltrekt zich voor interne uitbreidingsmodules de omslag van PCI naar PCI Express, hetgeen een hele generatie van nieuwe vormfactoren met zich meebrengt. Bovendien komt het ideaal van plug-and-play hardwaretechnisch een hele stap verder. PCI Express gebruikt een gescheiden seriƫle punt-naar-puntverbinding tussen periferie en chipset, in tegenstelling tot het parallelle systeem met gedeelde bus van PCI. Dat omzeilt veel knelpunten voor dataconflicten.

Standaardinvoer

Maar wat hebben we nu echt aan al deze functies bij embedded computertechnologie? Een analoge of digitale I/O-kaart leert nog steeds niet automatisch welke sensor of actuator erop is aangesloten en welke data bij welke parameters hoort. En hoe zit het dan met de gegevensuitwisseling tussen twee kaarten? Dit is de allesbeslissende uitdaging waarmee ontwerpers van embedded computertechnologie ook nu nog steeds worden geconfronteerd. Een embedded systeem werkt pas als de verschillende componenten via de meestal individueel ontwikkelde applicatiesoftware zijn eigenlijke intelligentie krijgt. Hierbij stoeien ontwerpers met de meest uiteenlopende stuurprogrammaā€˜s van de I/O-fabrikanten, want de meest alledaagse informatie kan zich afhankelijk van de module op een volledig verschillende geheugenplaats bevinden. Het wordt al een stuk handiger wanneer de I/Oā€˜s over een abstracte Api beschikken. Maar ook hier kan het zijn dat de manier waarop de informatie over bijvoorbeeld de temperatuur wordt geleverd per module anders is opgebouwd en aan een andere instructie is gekoppeld.

Zelfs de meest verfijnde plug-and-playoplossingen, inclusief UPNP voor embedded computertechnologie, zullen nooit de applicatiespecifieke programmering kunnen vervangen. Alleen de mate van abstractie en daarmee het comfort bij het programmeren is op te trekken. Dit geldt eveneens voor de embedded computer zelf. Kontron werkt er daarom sinds enige tijd aan om uniformiteit te brengen in de Api van de betreffende vormfactoren over alle prestatieschaalbaarheidstrappen en om stap voor stap ook de Api vormfactoroverkoepelend te standaardiseren, zodat ontwerpers van embedded systeemoplossingen de bibliotheken direct voor de meest uiteenlopende ontwikkelsystemen als standaardinvoer voor de borden kunnen leveren. Doel is om daarmee het ontwikkelen van software te vereenvoudigen en de zo belangrijke time-to-market verder te reduceren. Wanneer elke fabrikant dit zou doen en daarbij referentieprogrammering zou leveren, dan zou dit het programmeren van applicaties die verschillende modules koppelen aanzienlijk versnellen. Op dit moment is het echter nog een luchtkasteel.

Door steeds vaker interne netwerken toe te passen en webtechnologieƫn te gebruiken zal dit na verloop van tijd wel realiteit kunnen worden. Interoperabele plug-and-play wordt bijgevolg ook voor embedded systemen haalbaar. Dat reduceert de zeer complexe wereld van de meest uiteenlopende systemen tot de functieparameters van de sensoren en actuatoren en tot datgene wat programmeurs uit het samenspel van deze plug-and-playcomponenten maken.

Norbert Hauser is vicepresident marketing bij Kontron. Clemens Mathijssen is sales manager Benelux aldaar.