• No results found

6. Specificatie

6.2. Initieel ontwerp

6.3.2. Software

Nu de hardware is gedefinieerd, kan er worden gekeken naar welke software er moet worden verkregen en/of ontwikkeld. Hieronder is het proces beschreven dat is doorlopen om tot de software eisen te komen.

Inlezen

Voordat er dieper in kan worden gegaan op de software, zal er eerst moeten worden verdiept in de MPC8313e PowerPC processor, en hoe deze functioneert. Hiervoor is er ruim voldoende documentatie beschikbaar op de website van Freescale;

Link: http://www.Freescale.com/webapp/sps/site/prod_summary.jsp?code=MPC8313E Uit de documentatie kan onder andere worden geconcludeerd dat de software die vanuit de fabriek op het bord draait niet geschikt is voor integratie in het beoogde eindproduct.

De website van Freescale levert een lijst aan met software leveranciers die dit product ondersteunen. Freescale noemt een dergelijk software pakket; Board Support Package, afgekort BSP. Een BSP bevat een OS met alle drivers voor het betreffende bord.

Analyse van real-time eisen

Als we kijken naar het eindproduct hebben de real-time eisen maar betrekking op 2 onderdelen. Namelijk de tijdsynchronisatie, en het op tijd verzenden van pakketten. Uit de analyse van de MPC8313e is gebleken dat beide taken waarschijnlijk kunnen worden opgelost met een paar interrupt service routines en enige configuratie. Deze routines moeten het volgende gaan doen:

Een timer ISR zal een registerbit aanpassen in de Ethernet controller. Dit bit is een teken voor de Ethernet hardware om een vooraf klaargezet pakket te versturen. Dit

mechanisme is als enige bepalend voor de timing van het verzenden van pakketten.

De timer die het verzenden van pakketten moet timen, zal extern gesynchroniseerd moeten worden. Dit kan gedaan worden via PPS en IEEE1588;

Via PPS zal er een mechanisme moeten zijn dat de timing van de PPS puls vastlegt, en hierop de interne timer synchroniseert. Dit kan worden opgelost met een ISR die wordt ge-triggered door een PPS flank. Het is vanwege het ontwerp van het ontwikkelbord niet mogelijk om een externe trigger via de hardware aan een timer te koppelen.

Er is ervoor gekozen door de opdrachtgever om IEEE1588 nog niet te ondersteunen vanuit de software. De reden hiervan is tweeledig. Ten eerste is de IEC61850-9-2 standaard op dit punt nog niet duidelijk genoeg. Deze standaard is namelijk ook nog deels in ontwikkeling. Ten tweede is het niet van essentieel belang voor de huidige tests, aangezien er nog geen apparaten op de markt zijn die dit protocol ondersteunen. Deze functionaliteit kan later worden toegevoegd, doordat hier bij de hardware eisen wel rekening mee is gehouden.

Software eisen

Hieronder staat beschreven hoe voorgaande eisen zich vertalen naar de eisen van de software voor het betreffende platform.

Functionele eisen

De software moet commando's accepteren via een TCP verbinding.

De software moet diagnostische en performance informatie geven via een TCP verbinding.

De software moet signaalbestanden kunnen verwerken om bepaalde testcases te kunnen simuleren.

De software moet het verzenden van pakketten kunnen synchroniseren met PPS.

De software moet voorgedefinieerde testcases kunnen uitvoeren.

De software moet pakketten uit kunnen sturen conform IEC61850-9-2.

De software moet geüpdate kunnen worden via het Ethernet.

De software moet geschreven zijn in C/C++

Technische eisen

De software moet precies 4000 pakketten kunnen uitsturen met een foutmarge van 1 procent elke seconde

De software moet precies 4800 pakketten kunnen uitsturen met een foutmarge van 1 procent elke seconde

De software moet een jitter hebben van minder dan 100 microseconden tussen de pakketten

Aangekochte software moet niet meer kosten dan 300 euro De software moet TCP verbindingen ondersteunen

De software moet hardware drivers bezitten die geschikt zijn voor het MPC8313 ontwikkelbord

De software moet real-time mogelijkheden hebben De software moet bestands overdacht ondersteunen

De software moet in het geheugen van het ontwikkelbord passen De software moet ondersteund worden door de fabrikant

Voor de software moet documentatie beschikbaar zijn De software moet debug mogelijkheden hebben

De software moet multitask mogelijkheden hebben.

In bijlage III is een vergelijking opgenomen van de verschillende gevonden producten, met een vergelijking van de opties, en een verantwoording van de gemaakte keus.

Korte conclusie

Uit de vergelijking is naar voren gekomen dat de originele BSP met de real-time ADEOS-IPIPE patch de beste keus is. De originele BSP ondersteunt bijna alle gebruikte hardware, en ondersteund de belangrijkste eisen zoals een IP stack met ondersteuning voor TCP.

Ook is overal de source van beschikbaar, hierdoor kan functionaliteit eenvoudig worden uitgebreid. De oplossing is volledig gratis en voldoende gedocumenteerd op de website van Xenomai;

Link: http://www.xenomai.org/index.php/Main_Page

Omdat er eigenlijk geen noodzaak is voor een volledig real-time operating system met real-time taken, real-time memory management en real time IP-stack, is ADEOS-IPIPE ook een logische keuze. Er zal namelijk waarschijnlijk alleen gebruik worden gemaakt van interrupts om de diverse real-time taken in goede banen te leiden. Een Beschrijving van ADEOS-IPIPE is opgenomen in bijlage IV.