Prototyper
Embed heeft in eigen beheer een prototyper gemaakt. Dit is een platform waarmee Embed snel en efficiënt nieuwe projecten kan uitvoeren. De prototyper is inmiddels in meerdere projecten gebruikt en is krachtig en multi-inzetbaar.
Belangrijkste kenmerken
De prototyper bestaat uit een embedded platform. De belangrijkste kernmerken van de prototyper zijn:
- Op de prototyper draait een speciaal voor Embed aangepaste versie van Linux.
- Het bevat een snelle FPGA.
- Deze FPGA is gekoppeld aan de CPU en aan een connector.
- Door de connector kan Embed externe ‘custom designed hardware’ koppelen aan de prototyper.
- De prototyper beschikt over een ethernet poort en een RS232 poort.
- De prototyper is gebouwd op een multilayer-PCB.
- Door een koppeling te maken via de connector, ontstaat de mogelijkheid om externe PCB’s te koppelen die enkel-laags of meer zijn.
- Het routeren van de externe print is versimpeld doordat de pin functies van de connector softwarematig gekozen kunnen worden vanuit de FPGA.
Door de koppeling met een FPGA is het mogelijk om processor intensieve taken in losse VHDL hardware blokken te implementeren. Er is een directe koppeling tussen de FPGA en de hoofd CPU. Daardoor is het mogelijk om snel data uit te wisselen tussen de FPGA en de CPU. De FPGA is onder andere benaderbaar via ‘direct memory mapping’, waardoor Embed op een snelle manier drivers kan schrijven voor het Linux systeem. Daarnaast kan Embed softcores implementeren op de FPGA. Hierdoor is het mogelijk om microprocessor specifieke randapparatuur te gebruiken.
Dankzij deze kenmerken is de prototyper een krachtige basis voor de meest uiteenlopende ontwikkelingen.
Toepassing in een project
Embed heeft de prototyper inmiddels in meerdere projecten gebruikt. Een voorbeeld hiervan is een project waarbij een complexe externe PC wordt aangestuurd. Deze externe PCB leest meerdere datastreams uit en verwerkt deze datastreams. De externe PCB bevat 8 ARM processoren.
Zoals gezegd draait op de prototyper een embedded Linux systeem. Dit Linux systeem doet opeenvolgens het volgende:
- het stelt C firmware samen;
- het compileert C firmware;
- het verdeelt de firmware over de ARM processoren.
Vervolgens implementeert de FPGA een gedeeld geheugen (shared memory) voor de ARM processoren. Via het shared memory worden de datastreams afgeleverd aan de ARM processoren. Deze ARM processoren bewerken de data en sturen het resultaat naar het Linux systeem. In het Linux systeem wordt het signaal gelogd en tenslotte inzichtelijk gemaakt via een website.