Les successions d’innovations rapides de ces 25 dernières années dans le domaine de l’électronique embarquée, sont notamment le résultat de l’amélioration permanente de méthodologies de conception en adéquation avec les technologies des composants physiques qui supportent ces applications. Une méthodologie de conception, dans le domaine de l’électronique embarquée, est l’ensemble des méthodes et outils, utilisés pour mener à bien la conception de systèmes électroniques. Ces systèmes électroniques ont pour la plupart la propriété d’être « temps réel » car ils doivent répondre en des intervalles de temps bien précis, connus à l’avance. Ce premier chapitre décrit d’abord l’architecture d’une radio logicielle telle qu’elle est envisagée dans cette étude, ensuite il présente les différentes méthodes et langages dont le concepteur dispose pour décrire et concevoir un système. Il s’attarde notamment sur le langage UML et sur la prise en compte de l’aspect temps réel en phase de modélisation. Ce chapitre propose aussi un état de l’art de l’ordonnancement temps réel sur une architecture monoprocesseur. Il s’agit d’une part des problématiques liées à la prise en compte des contraintes temporelles durant la phase de modélisation et d’autre part de problématiques liées à la validation de l’ordonnancement temps réel à partir de ces contraintes.
La radio logicielle
Les activités humaines utilisent de nombreux signaux radio émanant des téléphones mobiles, de périphériques de communications « bluetooth », de liaisons WIFI pour l’accès à internet, de signaux destinés à des récepteurs AM/FM, des téléviseurs HD, des récepteurs GPS, de portes automatiques de garage (cette liste est loin d’être exhaustive). Par analogie avec le concept de l’ordinateur pouvant supporter différents types d’applications, est apparu le concept de radio logicielle (software radio) pour exécuter plusieurs protocoles de communications sur un même équipement radio. Le terme « Software Radio », dont l’objectif premier est d’implanter une majorité des fonctions d’un équipement radio de manière logicielle, a été proposé par Joseph Mitola [90]. Ainsi l’équipement radio est plus flexible par rapport à une implantation où une majorité des composants sont réalisés sous forme matérielle. Une radio logicielle est donc une radio flexible où les fonctionnalités sont contrôlées avec le logiciel qui est capable d’exécuter plusieurs formes d’ondes sur le même équipement radio en fonction des besoins opérationnels. Une forme d’onde « waveform – [91]» correspond à la transformation entre une entrée utilisateur et une sortie en fréquence radio et vice versa. Une forme d’onde est définie grâce aux protocoles radio, qui sont conformes aux standards tel que l’UMTS, le GSM etc. ou qui sont propriétaires et définis par les fabricants d’équipements radio. Par principe (approche logicielle de type PC), une radio logicielle favorise la réutilisation, et la flexibilité car les évolutions de l’équipement peuvent être facilement effectuées avec des mises à jour logicielles au lieu de remplacer le matériel.
L’architecture logicielle SCA
L’architecture logicielle SCA a pour but de faciliter le développement de radio logicielle en maximisant la portabilité, la réutilisation, et l’interopérabilité du logiciel grâce à l’utilisation des produits et protocoles commerciaux. L’architecture a été développée en utilisant une approche orientée objet avec les pratiques courantes venant de l’approche par composants et les « design patterns ». Le SCA représente donc une radio logicielle sous la forme d’un ensemble de composants logiciels qui ont besoin de former un chemin de communication et de s’exécuter sur un ensemble d’éléments matériels. Il propose une structure commune afin de gérer les composants logiciels et matériels, ainsi qu’un jeu d’interfaces pour isoler l’application logicielle du matériel. Il s’agit du « core framework ». le « core framework » fait partie d’un environnement d’exécution (OE : Operating Environment). Grâce aux capacités de déploiement dynamique fournies par le « core framework », l’OE peut reconfigurer un équipement radio et permettre l’exécution de plusieurs formes d’ondes en parallèle. En plus des services réalisés par le « core framework », l’OE fournit le mécanisme de connectivité entre les composants (CORBA – Common Object Request Broker Architecture), le service de gestion du temps, un système d’exploitation temps réel et une interface compatible POSIX pour l’utilisation de ces services. En effet bien que la radio logicielle idéale préconise que toutes les fonctions de traitement du signal soient réalisées de manière entièrement logicielle, certains traitements demandent une très grande puissance de calcul et ont besoin d’être mis en œuvre sur des unités de calculs comme des FPGA.
Le SCA souffre du fait que l’architecture qu’il propose, engendre une certaine latence dans le système et n’est pas adapté pour certains traitements fortement contraints en temps (notamment les traitements de la partie modem de l’équipement radio [102]). De plus cette architecture occupe une empreinte mémoire non négligeable. Une nouvelle version du SCA (SCA NEXT) en cours de réalisation a pour objectif de combler ces lacunes [103].
Cas d’étude de la thèse
Le cas d’étude auquel se rapporte cette thèse consiste à l’implantation sur un équipement radio de la version multi-utilisateur du schéma de modulation OFDM. Contrairement à la technologie actuelle existante, la portée et la puissance de l’équipement radio considéré sont plus importantes. En effet l’équipement radio a une puissance de 10 Wt pour offrir un débit de 2 Mégabits/s sur une distance de 5 km, alors la technologie WIFI 802.11b (utilisant elle aussi une modulation OFDM [100]) que nous utilisons quotidiennement offre un débit de 2 Mégabits/s sur 400 m avec une puissance de 10 mW. Cette portée plus importante est nécessaire dans un contexte militaire car les modems sont embarqués dans des véhicules avec lesquels les militaires se déplacent. Ce qui n’est pas le cas du WIFI où les bornes sont fixes. Pour atteindre ce débit à cette distance il faut implanter des algorithmes de traitement du signal plus robustes et par conséquent plus exigeants en termes de calcul. On va par exemple utiliser un turbo code pour le codage et le décodage canal. Une implantation logicielle de cet algorithme (par rapport à son équivalent matériel) aura un impact fort sur les contraintes temps réel. De plus l’équipement radio gère des trames de tailles différentes car elles correspondent à des services différents (vidéo – grande trame, audio – petite taille). Ceci implique des contraintes temporelles variables. Ce n’est pas le cas dans le WIFI où la pile IP regroupe généralement les données en paquets de même taille avant de les envoyer.
Les trames de longueurs différentes sont aussi rencontrées dans d’autres systèmes à base d’OFDM, comme le standard DVB-T pour la diffusion de la TNT. En effet ce standard utilise le dispositif de compression vidéo MPEG [61] qui manipule trois types de trames connus sous le nom de trame I, trame P, trame B. Cependant ces trames de tailles différentes sont regroupées en trame d’une longueur de 288 octets en passant par une couche transport MPEG2-TS [101]. Ainsi au niveau du modulateur OFDM, les trames ont la même taille. Par conséquent contrairement à l’équipement radio considéré, le modulateur OFDM du DVB-T traite donc des trames de même taille. En outre dans l’équipement radio considéré ici on saute en fréquence à l’intérieur de la trame car la trame est découpée en paliers émis et reçus à des fréquences porteuses spécifiques. Dans la technologie WIFI, il y’a également un saut de fréquence, cependant la longueur du saut est de 400 ms et les fréquences de saut sont fixes alors que dans notre équipement la longueur du saut est inférieure ou égale à 1 ms et les fréquences de saut peuvent changer pendant la communication. Ainsi pendant 1 seconde d’émission de données sur le WIFI on sautera sur 2 fréquences fixes connues par l’émetteur et le récepteur tandis que dans notre équipement on sautera sur au moins 10 fréquences qui peuvent changer pendant la communication. Notre équipement radio doit donc être plus réactif. La fonction de contrôle qui programme les fréquences porteuses et l’amplificateur de puissance va également être implantée sous forme logicielle et s’ajoute ainsi aux fonctions d’émission et de réception que l’on veut exécuter sur le même processeur, ce qui nécessite donc une analyse temps réel approfondie. Cette capacité de configuration dynamique de notre équipement radio permet non seulement d’être plus robuste face au multi trajet mais aussi d’adapter l’équipement à tout type de terrain (rural, urbain, montagneux, etc.).
L’un des problèmes rencontré pendant la conception d’une telle radio logicielle est donc de garantir l’exécution simultanée, dans un intervalle de temps borné, des composants logiciels émanant de différentes chaînes (émission, réception, contrôle), sous des contraintes temporelles variables et non prévisibles (ordre d’arrivée des trames arbitraire) sur un même processeur.
|
Table des matières
Introduction
Chapitre 1 Etat de l’art
1.1 Introduction
1.2 La radio logicielle
1.2.1 L’architecture logicielle SCA
1.2.2 Cas d’étude de la thèse
1.3 Méthodologies de conception
1.3.1 Concepts généraux de conception
1.3.2 Les langages
1.3.3 Les modèles de calculs
1.3.4 Les modèles de communications
1.3.5 L’ingénierie dirigée par les modèles
1.3.6 L’approche MDA
1.3.7 La conception de type PBD (Platform-Based Design)
1.3.8 Outils de conception
1.4 Systèmes temps réel et ordonnancement temps réel
1.4.1 Introduction aux systèmes temps réel
1.4.2 Caractérisation d’une application temps réel
1.4.3 Concepts et propriétés
1.4.4 Les techniques d’analyse
1.4.5 Algorithmes d’ordonnancement à priorité fixe
1.4.6 Algorithmes d’ordonnancement à priorité dynamiques
1.4.7 Ordonnancement des tâches dépendantes
1.4.8 Analyse de l’ordonnançabilité des tâches multi-trames
1.4.9 Analyse de l’ordonnançabilité des tâches multi-trames généralisées
1.4.10 Outils de vérification d’ordonnancement temps réel
1.5 Conclusion et problématiques
Chapitre 2 Contributions : Ordonnancement temps réel
2.1 Introduction
2.2 Rappel sur les notations
2.3 Condition suffisante de faisabilité
2.3.1 Calcul du temps de réponse
2.3.2 Test basé sur la densité
2.4 Analyse exacte de la faisabilité temps réel
2.4.1 Approche naïve
2.4.2 Approche efficace
2.5 Conclusion
Chapitre 3 Contributions : Méthodologie de conception et outillage
3.1 Introduction
3.2 Travaux connexes
3.3 Notre méthodologie de conception
3.3.1 Modélisation PIM
3.3.2 Modélisation PDM
3.3.3 Modélisation PSM
3.3.4 Transformation de modèles
3.4 Ordonnancement temps réel et outillage
3.5 Conclusion
Chapitre 4 Cas d’études
4.1 Introduction
4.2 Structure du projet dans l’outil de modélisation
4.3 Modélisation PIM
4.4 Modélisation PDM
4.5 Modélisation PSM
4.6 Transformation de modèles
4.7 Vérification d’ordonnancement temps réel
4.8 Précision de nos résultats
4.9 Conclusion
Conclusion et perspectives
Annexe A
Bibliographie liée à l’étude
Bibliographie