Reconfigurable Embedded Communication System
- STARKIER Michel
August 2008 -
Embedded system generally includes several radio communication peripherals associated with a processor. Communication functions are buried in silicon and cannot be modified. Proposed alternate architecture associates minimal analog front-end, reconfigurable components (FPGA) and processor. As digital signal processing is performed inside FPGAs, major changes of the communication function can be done near instantaneously by instantiation of virtual peripherals.
Applications include upgrade to new standards, cognitive radio, support of heterogeneous communication environment, R&D prototyping, test & measurement operations.
Hardware and software environment
RECOMS project aim is the development of an hardware platform and a Virtual Peripheral Framework
- FPGA interfacing blockset and software - designed for supporting
quick and efficient virtual peripheral developments.
platform is composed of a board including an ARM9 processor and a
Xilinx Virtex-5 FPGA - and supporting analog front-end radio modules.
The virtual peripheral framework includes a library of FPGA interface
blocks, a Linux FPGA driver, and a C API library.
Automatic FPGA/processor Interface Generation
FPGA signal processing circuits are assumed to be developed by using
Matlab Simulink. A library of blocks (RECOMS blockset) provides a complete interfacing between FPGA and processor - including controls, data transfers, probes, AD/DA and clock management. When RECOMS blocks are dragged and dropped in a Simulink signal processing diagram, interface glue and communication ports are automatically generated for instanciating up to 4096 data channels
that support almost any data type, format and rate. Thanks to a virtual file system, the Linux driver is then dynamically configured.
provides a set of functions - aware of the FPGA design - for
transfering data to/from interfaces blocks with implicite casting. User
would have only to develop high-level applications or services in Linux
User Space - using C, C++, script or QT languages. Switching between
virtual peripherals is performed with an API function by fast
reconfiguration of FPGA, driver and API parameters.
to the high abstraction level of the Virtual Peripheral Framework, the
complexity of the Hw/Sw co-design is masked to the developer while
providing a high data rate path between the signal processing hardware
and the upper software layers.