RUGGED COMPUTER DEMONSTRATOR · CES-SWaP designs and manufactures rugged embedded computers for...

1
RUGGED COMPUTER DEMONSTRATOR Yann CHENAUX – René BEUCHAT Creative Electronic System (CES) [email protected] INTRODUCTION REALIZATIONS STRATEGY CONCLUSION ACKNOWLEDGMENTS Thanks 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 for demanding applications like Aerospace and Defense. Its presence on these markets is conditioned by its visibility in exhibition, hence the importance of showing good product demonstrator for its most versatile products. The system supposed to be demonstrated is a XMC board with a user FPGA a high-performance PowerPC designed for airborne application. The target demonstration is the display of safety-critical information in form of a primary flight display. This information should be displayed in a safety-critical way on a consumer LCD like this provided 7-inch device. RUGGEDIZATION The frame validation module analyze the state of the video stream and determine the presence of an eventual error. If an error is detected, the user is immediately notified by an on-screen alarm. HARDWARE A custom 2-layered PCB is realized to interface the XMC with the LCD. It routes not only the video signals but also the power supply of the LCD and the backlight. Its size and shape make it integrable directly behind the LCD case. SOFTWARE Development of a software-only OpenGL renderer library based on Mesa3D and implementable on VxWorks. 3D graphics can be rendered in real time without GPU. RESULTS The final demonstration simulates the execution of a primary flight display @30fps. The application is quite resource consuming and therefore demonstrates the performances of the board. The LCD displays a Primary Flight Display-like demo at 30FPS and is driven by an FPGA that can detect errors like a skipped frame or a frozen 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 of OpenGL on a RTOS like VxWorks. The board can now do real-time 3D rendering without GPU at 30FPS and still have 12% of its CPU usage available. The user FPGA can implement not only a video channel but also a module for validation of the safety-critical information that is carried through. A custom PCB ensures the rugged transport of video signal from FPGA to LCD. XMC CPU FPGA LCD 165 14'550 PCB LCD driver frame validation GENERAL OVERVIEW The board is planned to implement OpenGL for graphics generation running on VxWorks for the real-time requirements of airborne application. GRAPHICS The successive frames constituting the video stream are generated one by one and sent to the FPGA with a CES API specifically developed for video management. The generation of frame can not be done other than by software, due to lack of GPU on the board, and therefore require the implementation of a software renderer compatible with OpenGL. Such a software tool needs to be implementable on both Linux and VxWorks. Besides the monitoring of status signals amongst the system, the validation module verifies the good sequencing of frames with help of an integrated signature. Write signature on frame Send frame to FPGA ++signature signature > MAX signature = 0 YES NO Read signature on new frame new frame new frame new sign. = past sign. + 1 No problem Go on Frame skipped YES NO Add alarm on video stream FPGA LCD 165 14'550 alarm adder analyzer video stream status alarm The CPU, when generating the frame, overwrites some bits with an incrementing counter. The FPGA retrieves this counter and check its continuity right before displaying the frame. It the counter is stuck, it means that the CPU can not ensure the good generation of frame anymore, and that the displayed information is out of date. When the counter jumps, it means that a frame has been skipped. Linux CPU usage : 88.1% PWR consumption : 866mW VxWorks na 719mW error detected

Transcript of RUGGED COMPUTER DEMONSTRATOR · CES-SWaP designs and manufactures rugged embedded computers for...

Page 1: RUGGED COMPUTER DEMONSTRATOR · CES-SWaP designs and manufactures rugged embedded computers for demanding applications like Aerospace and Defense. Its presence on these markets is

RUGGED COMPUTER DEMONSTRATOR

Yann CHENAUX – René BEUCHATCreative Electronic System (CES)

[email protected]

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