21.04.2013 Views

ETTC'2003 - SEE

ETTC'2003 - SEE

ETTC'2003 - SEE

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

As technology evolves, the boundary<br />

between system parts implemented in<br />

FPGA, in dedicated processors, or in<br />

general processors may shift. This<br />

becomes especially apparent when looking<br />

at the capabilities of new FPGA families<br />

like the Xilinks Virtex II Pro, which<br />

provides the possibilities to integrate PPC<br />

405 cores directly in the FPGA. The next<br />

generation of CES PPC boards, due to be<br />

operational end of 2003, uses these devices<br />

as key elements. To draw the maximum<br />

benefit of these possibilities, efforts are<br />

under way to design systems in a way that<br />

allows to fix the precise boundaries<br />

between hardware, firmware and software<br />

as late as possible in the implementation<br />

phase.<br />

HW abstraction layers<br />

Hardware Abstraction Layers (HALs) are<br />

one of the keys to assure the continuity of<br />

function units across several technology<br />

generations. They allow application<br />

specific software to stay invariant although<br />

the underlying hardware is replaced.<br />

The most obvious HAL is the operating<br />

system (OS) itself. Most CES systems<br />

today rely on VxWorks® or LynxOS® as<br />

real time OS. As it happens, LynxOS® is<br />

currently dominating in the commercial<br />

domain, while most of the military<br />

programs in which CES is involved use<br />

VxWorks®. Linux® is already running on<br />

the current generation of CES PPC boards<br />

and real time flavors of Linux® are a very<br />

promising option for the future, provided<br />

that long-term support issues can be<br />

resolved.<br />

As an extension to the services provided<br />

by the OS, CES has, in collaboration with<br />

its avionics partners, developed HALs that<br />

allow systems to be largely invariant with<br />

respect to the bus system chosen (VME or<br />

CPCI), the number of processors used to<br />

implement the system, and the<br />

redistribution of these processors between<br />

SBCs and PMCs. Examples of such HALs<br />

are the BpNet and vmeQuick software<br />

packages.<br />

BpNet started as an attempt to provide to<br />

the first generation of MFCCs the network<br />

resources needed for a convenient OS<br />

support. It has since grown into a tool<br />

providing a coherent set of software<br />

services across different hardware- (VME,<br />

CPCI, PMC) and software- (VxWorks®,<br />

LynxOS®, Linux®) platforms. Its key<br />

concept is the channel:<br />

A BpNet channel is a bi-directional,<br />

locking connection between two threads.<br />

Data delivery and error handling are<br />

guaranteed. The threads may run on the<br />

same processor or on different processors.<br />

If a set of programs is communicating via<br />

BpNet, it can be decided at runtime on<br />

which processor each program is running.<br />

BpNet provides the following services:<br />

• Thread synchronization.<br />

• Data transport between threads.<br />

• Name resolution: Clients may<br />

connect to servers without knowing<br />

their ‘physical coordinates’ in<br />

advance.<br />

• IP-emulation. Programs using<br />

standard IP-sockets run ‘as is’ in a<br />

network of processors connected<br />

by BpNet (less throughput than raw<br />

channels, though).

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!