rugged computer demonstrator · ces-swap designs and manufactures rugged embedded computers for...

Post on 27-Jun-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

RUGGED COMPUTER DEMONSTRATOR

Yann CHENAUX – René BEUCHATCreative Electronic System (CES)

yann.chenaux@epfl.ch

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

top related