RECOMS: Reconfigurable Embedded Communication System

Dans de nombreux cas, les systèmes embarqués à processeur comportent des périphériques de communication radio. Etant gravées dans le silicium, leurs fonctions ne peuvent pas être modifiées. L'architecture proposée associe un front-end analogique, un composant reconfigurable (FPGA) et un processeur. Etant donné que le traitement de signal numérique est effectué dans la FPGA, la plupart des fonctionnalités de communication peuvent être changées de manière quasi instantanée en instanciant de nouveaux périphériques virtuels.

Environnement matériel et logiciel

L'objectif du projet RECOMS est le développement d'une plateforme matérielle et d'un environnement de développement (Virtual Peripheral Framework) permettant la mise en oeuvre de périphériques virtuels de manière rapide et efficace.
La plateforme matérielle est composée d'une carte comprenant un processeur XScale PXA-320 (ARM) et une FPGA Xilinx Virtex-5. Elle permet également d'accueillir des modules radio analogiques. Le framework pour périphériques virtuels comprend des blocs d'interfaçage FPGA, un pilote Linux ainsi qu'une API C et C++.

Interfaçage automatique et reconfiguration

Les périphériques virtuels sont développés avec Matlab Simulink. Une bibliothèque de blocs (RECOMS blockset) permet l'interfaçage entre le processeur et la FPGA. Elle comprend des fonctions de contrôle et de transfert de données, le probing, la conversion AD/SA et la gestion d'horloges. Lorsque les blocs RECOMS sont ajoutés à un diagramme Simulink, les éléments d'interfaçage et les ports de communication sont générés automatiquement afin d'instancier jusqu'à 4096 canaux de données. Ceux-ci supportent presque tout type de données, de formats et de taux de transfert. Le pilotage et l'API sont également mis à jour automatiquement. Ce mécanisme permet une reconfiguration dynamique hardware et software en un temps très court (300ms typique).