21.04.2013 Views

ETTC'2003 - SEE

ETTC'2003 - SEE

ETTC'2003 - SEE

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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!