RUGGED COMPUTER DEMONSTRATOR · CES-SWaP designs and manufactures rugged embedded computers for...
Transcript of RUGGED COMPUTER DEMONSTRATOR · CES-SWaP designs and manufactures rugged embedded computers for...
RUGGED COMPUTER DEMONSTRATOR
Yann CHENAUX – René BEUCHATCreative Electronic System (CES)
INTRODUCTION REALIZATIONS
STRATEGY
CONCLUSION
ACKNOWLEDGMENTSThanks to CES for giving me the opportunity to realize this project.Special thanks goes to Dan Niculescu (CES) and René Beuchat (EPFL)for supporting me during these six months.
CES-SWaP designs and manufactures rugged embedded computers fordemanding applications like Aerospace and Defense. Its presence on thesemarkets is conditioned by its visibility in exhibition, hence the importance ofshowing good product demonstrator for its most versatile products.
The system supposed to bedemonstrated is a XMC board witha user FPGA a high-performancePowerPC designed for airborneapplication. The targetdemonstration is the display ofsafety-critical information in form ofa primary flight display.
This information should be displayed ina safety-critical way on a consumerLCD like this provided 7-inch device.
RUGGEDIZATIONThe frame validation module analyze the state of the video stream anddetermine the presence of an eventual error. If an error is detected, theuser is immediately notified by an on-screen alarm.
HARDWAREA custom 2-layered PCB is realized tointerface the XMC with the LCD. Itroutes not only the video signals butalso the power supply of the LCD andthe backlight.Its size and shape make it integrabledirectly behind the LCD case.
SOFTWAREDevelopment of a software-only OpenGL renderer librarybased on Mesa3D and implementable on VxWorks. 3Dgraphics can be rendered in real time without GPU.
RESULTSThe final demonstration simulatesthe execution of a primary flightdisplay @30fps. The application isquite resource consuming andtherefore demonstrates theperformances of the board.
The LCD displays a Primary Flight Display-like demo at 30FPS and isdriven by an FPGA that can detect errors like a skipped frame or afrozen video stream. These kinds of error can be devastating for safety-critical information like flight information.The big achievement was to build a software-only implementation ofOpenGL on a RTOS like VxWorks. The board can now do real-time 3Drendering without GPU at 30FPS and still have 12% of its CPU usageavailable.
The user FPGA can implement not only a video channel but also a modulefor validation of the safety-critical information that is carried through.A custom PCB ensures the rugged transport of video signal from FPGA toLCD.
XMC
CPUFPGA
LCD
165 14'550
PCBLCDdriver
fram
evalidation
GENERAL OVERVIEWThe board is planned to implement OpenGL for graphics generation runningon VxWorks for the real-time requirements of airborne application.
GRAPHICSThe successive frames constituting the video stream are generated one byone and sent to the FPGA with a CES API specifically developed for videomanagement. The generation of frame can not be done other than bysoftware, due to lack of GPU on the board, and therefore require theimplementation of a software renderer compatible with OpenGL. Such asoftware tool needs to be implementable on both Linux and VxWorks.
Besides the monitoring of status signals amongst the system, the validationmodule verifies the good sequencing of frames with help of an integratedsignature.
Writesignatureonframe
SendframetoFPGA
++signaturesignature>MAXsignature=0 YES NO
Readsignatureonnewframe
newframe
newframe
newsign.=pastsign.+1
NoproblemGoon
Frameskipped
YES
NO
Addalarmonvideostream
FPGA LCD
165 14'550
alarmadder
analyzer
videostream
status
alarm
The CPU, when generating theframe, overwrites some bits withan incrementing counter.
The FPGA retrieves this counter and check its continuity right beforedisplaying the frame. It the counter is stuck, it means that the CPU cannot ensure the good generation of frame anymore, and that the displayedinformation is out of date. When the counter jumps, it means that aframe has been skipped.
Linux CPU usage : 88.1% PWR consumption : 866mWVxWorks na 719mW
errordetected