SystèmesEmbarqués-Temps réelMaster « Instrumentation & Télécommunication »                                                 1
IntroductionVous êtes réveillé le matin par votre radio-réveil ; cest un système embarqué...Vousprogrammez votre machine à...
I. Systèmes embarquésI.1 définition1- Système électronique et informatique autonome dédié à une tâche précise2- Interagit ...
I.2 Évolution des processeursLomniprésence des systèmes embarqués dans notre vie est liée à la révolution numériqueopérée ...
En 1999: il a été vendu pour le marché de lembarqué :1,3 milliard de processeurs 4 bits - 1,4 milliard de 8 bits - 375 mil...
• Moins de 10 % des processeurs vendus sont des processeurs 32 bits pour près de 31 % du chiffre daffaire sur les processe...
Figure 2: Différents catégories de systèmes embarqués                                                        7
8
I.4 Schéma typique d’un système embarqué La figure 3 présente les caractéristiques principales dun système embarqué typiqu...
Evolution de l’architecture                              10
On retrouve en entrée des capteurs généralement analogiques couplés à des convertisseursA/N. On retrouve en sortie des act...
2. Faible encombrement, faible poids :•   Electronique « pocket PC », applications portables où l ’on doit minimiser la   ...
5. Fonctionnement critique pour la sécurité des personnes (Sûreté)• Le système doit toujours fonctionner correctement.• Sû...
9. Communicationles systèmes embarqués sont aujourdhui fortement communicants. Cela est possible grâce auxpuissances de ca...
Tous les systèmes embarqués ne possèdent pas toutes ces caractéristiques.Définition: Un système de traitement de l‘informa...
I.6 Systèmes embarqués et Temps réel • Généralement, un système embarqué doit respecter : – des contraintes temporelles fo...
- déterministe : les mêmes causes produisent les mêmes effets avec les mêmes temps  dexécution. - préemptif : la tâche de ...
II. Conception des système embarquésII.1 Évolution de la conception des systèmes embarqués • Les systèmes numériques devie...
• On travaille maintenant au niveau système (ou fonctionnalité) et non au niveau porte logique• Les fonctionnalités peuven...
• Lapproche « schématique » au niveau porte logique ou fonctionnalités de base RTL  (Register Transfer Logic) est délaissé...
• On peut ainsi voir la conception dun système numérique complexe comme un assemblage de blocs IP si bien que les langages...
• Lorsque lon conçoit un système numérique complexe, on met en oeuvre généralement un  processeur embarqué.• Ce processeur...
• Le codesign implique donc une conception en même temps du matériel et du logiciel, ce qui est une nouvelle méthodologie ...
24
25
• Les processeurs embarqués comme leurs cousins du grand public sont de plus en plus  puissants.• La puissance CPU en MIPS...
Les processeurs pour les SoPC• Le choix dun processeur pour le SoPC peut se faire sur différents critères :     – Processe...
• Le processeur softcore peut être propriétaire :– Il est distribué par exemple sous forme dune netlist pour être implanté...
• On trouvera principalement au niveau des processeurs softcores propriétaires :           – Le processeur NIOS et NIOS II...
Prochain SlideShare
Chargement dans…5
×

Embarqués temps réel

3 443 vues

Publié le

0 commentaire
8 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
3 443
Sur SlideShare
0
Issues des intégrations
0
Intégrations
6
Actions
Partages
0
Téléchargements
79
Commentaires
0
J’aime
8
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Embarqués temps réel

  1. 1. SystèmesEmbarqués-Temps réelMaster « Instrumentation & Télécommunication » 1
  2. 2. IntroductionVous êtes réveillé le matin par votre radio-réveil ; cest un système embarqué...Vousprogrammez votre machine à café pour avoir un bon petit serré ; cest un systèmeembarqué...Vous allumez la télévision et utilisez votre télécommande ; ce sont des systèmesembarqués...Vous prenez votre voiture et la voix du calculateur vous dit que vous navez pasmis votre ceinture; cest un système embarqué. Vous appelez votre patron avec votretéléphone portable pour signaler que vous serez en retard; cest un système embarqué ! On en croise des dizaines de systèmes embarqués par jour sans le savoirIls ne possèdent généralement pas des entrées/sorties standards et classiques comme unclavier ou un écran dordinateur. Le système matériel et l’application sont intimement liés,le logiciel embarqué étant enfoui, noyé dans le matériel. Le matériel et le logiciel ne sontpas aussi facilement discernables comme dans un environnement de travail classique detype ordinateur PC. 2
  3. 3. I. Systèmes embarquésI.1 définition1- Système électronique et informatique autonome dédié à une tâche précise2- Interagit généralement avec son environnement3- Peu ou pas d’interface utilisateur4- Fortes contraintes : Consommation, encombrement, poids, dissipation thermique, etc. Robustesse (sureté et sécurité), fiabilité, etc. Temps de réponse Coût, maintenance (contraintes sociales)5- S’oppose à l’informatique généraliste Multi-usages et multi-utilisateurs6- Informatique embarquée : Dès les années 80 Possibilité d’embarquer de l’intelligence souplesse et évolution Aujourd’hui : 5 % des CPU pour PC et 95 % pour embarqué 3
  4. 4. I.2 Évolution des processeursLomniprésence des systèmes embarqués dans notre vie est liée à la révolution numériqueopérée dans les années 1970 avec lavènement des processeurs. Les processeurs, de plus enplus rapides, puissants et bon marché ont permis cette révolution de lembarqué. Ceci seconfirme au travers de la loi empirique de Moore. La figure 1 montre cette évolutioninexorable. Figure 1: Évolution des processeurs 4
  5. 5. En 1999: il a été vendu pour le marché de lembarqué :1,3 milliard de processeurs 4 bits - 1,4 milliard de 8 bits - 375 millions de 16 bits -127 millions de 32 bits - 3,2 millions de 64 bits.A côté de cela, à cette époque, il a été vendu seulement 108 millions de processeurs (famillex86) pour le marché du PC grand public !Pour 2004 : il a été vendu environ 260 millions de processeurs pour le marché du PC grandpublic à comparer aux 14 milliards de processeurs tout type confondu (microprocesseur,microcontrôleur, DSP) pour le marché de lembarqué.• Moins de 2 % des processeurs vendus sont pour le marché du PC contre 98 % pourlembarqué. On utilise massivement pour le PC grand public le système dexploitationcommercial bien connu.• Pour les 98 % autres processeurs vendus, on utilisera généralement un autre systèmed’exploitation. On trouvera ici dans 60 % des cas un système dexploitation commercialspécialisé pour lembarqué (VxWorks, QNX...). Pour le reste, on opte de plus en plus pour dessystèmes dexploitation libres comme Linux pour lembarqué. 5
  6. 6. • Moins de 10 % des processeurs vendus sont des processeurs 32 bits pour près de 31 % du chiffre daffaire sur les processeurs. Cette part du chiffre daffaire est estimée a près de 48 % pour 2008 : cela montre la migration rapide vers ces processeurs 32 bits dans lembarqué, condition nécessaire pour pouvoir mettre en oeuvre Linux. Ces quelques chiffres permettent bien de prendre conscience de limportance du marché de lembarqué.I.3 Catégories de systèmes embarquésCalcul généraliste : Similaire application bureau mais embarqué (assistant personnel, téléphone portable, etc.), Consoles de jeux vidéo, set-top boxContrôle de systèmes : Moteur, voiture, avion, processus chimique, nucléaire, navigation, etc.Traitement de signaux : Compression vidéo, radar, flux de données, etc.Réseaux et communications : Transmission données, commutation, routage, téléphone, Internet, etc. 6
  7. 7. Figure 2: Différents catégories de systèmes embarqués 7
  8. 8. 8
  9. 9. I.4 Schéma typique d’un système embarqué La figure 3 présente les caractéristiques principales dun système embarqué typique. Figure 3 : Système embarqué typique 9
  10. 10. Evolution de l’architecture 10
  11. 11. On retrouve en entrée des capteurs généralement analogiques couplés à des convertisseursA/N. On retrouve en sortie des actionneurs généralement analogiques couplés à desconvertisseurs N/A. Au milieu, on trouve le calculateur mettant en oeuvre un processeurembarqué et ses périphériques dE/S. Il est à noter quil est complété généralement duncircuit FPGA jouant le rôle de coprocesseur afin de proposer des accélérations matériellesau processeur.I.5 Caractéristique d’un systèmes embarqués1. Fonctionnement en Temps Réel :• Réactivité : des opérations de calcul doivent être faites en réponse à un événement extérieur (interruption matérielle).• La validité d ’un résultat (et sa pertinence) dépend du moment où il est délivré.• Rater une échéance va causer une erreur de fonctionnement. -Temps Réel dur : plantage. -Temps Réel mou : dégradation non dramatique des performances du système.• Beaucoup de systèmes sont « multirate » : traitement d ’informations à différents rythmes. 11
  12. 12. 2. Faible encombrement, faible poids :• Electronique « pocket PC », applications portables où l ’on doit minimiser la consommation électrique (bioinstrumentation...).• Difficulté pour réaliser le packaging afin de faire cohabiter sur une faible surface électronique analogique, électronique numérique, RF sans interférences.3. Faible consommation :• Batterie de 8 heures et plus (PC portable : 2 heures).4 Environnement extérieurIl doit faire face à un ensemble de paramètres agressifs :• Température, vibrations, chocs, variations d ’alimentation, interférences RF, corrosion, eau, feu, radiations.• Le système n ’évolue pas dans un environnement contrôlé.• Prise en compte des évolutions des caractéristiques des composants en fonction de la température, des radiations... 12
  13. 13. 5. Fonctionnement critique pour la sécurité des personnes (Sûreté)• Le système doit toujours fonctionner correctement.• Sûreté à faible coût avec une redondance minimale.• Sûreté de fonctionnement du logiciel• Système opérationnel même quand un composant électronique lâche.• Choix entre un design tout électronique ou électromécanique.6. Beaucoup de systèmes embarqués sont fabriqués en grande série et doivent avoir des prix de revient extrêmement faibles, ce qui induit :• Une faible capacité mémoire.• Un petit processeur (4 bits). Petit mais en grand nombre !7. La consommation est un point critique pour les systèmes avec autonomie.• Une consommation excessive augmente le prix de revient du système embarqué car il faut alors des batteries de forte capacité.8. Faible coût : 13• Optimisation du prix de revient.
  14. 14. 9. Communicationles systèmes embarqués sont aujourdhui fortement communicants. Cela est possible grâce auxpuissances de calcul offertes par les processeurs pour lembarqué (32 bits en particulier) et grâceaussi à lexplosion de lusage la connectivité Internet ou connectivité IP.La connectivité IP permet fondamentalement de contrôler à distance un système embarquéparInternet. Ce nest en fait que laboutissement du contrôle à distance dun système électroniquepar des liaisons de tout type : liaisons RS.232, RS.485...Cela permet lemploi des technologies modernes du web pour ce contrôle à distance parlutilisateur : il suffit dembarquer un serveur web dans son équipement électronique pourpouvoir le contrôler ensuite à distance, de nimporte où, à laide dun simple navigateur. Il nya plus dIHM spécifique à concevoir pour cela, ce rôle étant rempli par le navigateur web.Il faut aussi noter la montée en puissance des communications sans fil dans lembarqué audétriment des communications filaires pour limiter le câblage et faciliter la mise en place dusystème embarqué. Le Wifi et toutes les normes de réseaux sans fil IEEE 802.15 sont de plus enplus utilisés dans lembarqué et surtout en domotique (réseaux de capteurs sans fil par exemple). La sécurité des systèmes embarqués est donc cruciale aujourdhui puisque connecté à Internet 14
  15. 15. Tous les systèmes embarqués ne possèdent pas toutes ces caractéristiques.Définition: Un système de traitement de l‘information présentant la plupart de ces caractéristiques est appelé système embarqué: embedded system 15
  16. 16. I.6 Systèmes embarqués et Temps réel • Généralement, un système embarqué doit respecter : – des contraintes temporelles fortes (Hard Real Time). – on y trouve alors enfoui un système dexploitation ou un noyau Temps Réel (Real Time Operating System, RTOS). • Le Temps Réel est un concept un peu vague. On pourrait le définir comme : "Un système est dit Temps Réel lorsque linformation après acquisition et traitement reste encore pertinente".• Cela veut dire que dans le cas dune information arrivant de façon périodique (sous forme d’une interruption périodique du système), les temps dacquisition et de traitement doivent rester inférieurs à la période de rafraîchissement de cette information.• Pour cela, il faut que le noyau ou le système Temps Réel soit déterministe et préemptif pour 16 toujours donner la main durant le prochain tick à la tâche de plus forte priorité prête
  17. 17. - déterministe : les mêmes causes produisent les mêmes effets avec les mêmes temps dexécution. - préemptif : la tâche de plus forte priorité prête à être exécutée doit toujours avoir accès au processeur.• Une confusion classique est de mélanger Temps Réel et rapidité de calcul du système donc puissance du processeur (microprocesseur, microcontrôleur, DSP).• On entend souvent : “ Être temps Réel, c’est avoir beaucoup de puissance : des MIPS, des MFLOPS… ”.I.6.1 RTOS.Un système dexploitation temps réel (RTOS) est un système d’exploitation multitâchedestiné aux applications temps réel. Ces applications comprennent les systèmes embarqués.Un RTOS facilite la création dun système temps réel, fournit des services et des primitivesqui, si elles sont utilisées correctement, peuvent garantir les délais souhaités. Un RTOSutilise des ordonnanceurs spécialisées afin de fournir aux développeurs des systèmes tempsréel les outils et les primitives nécessaires pour produire un comportement temps réelsouhaité dans le système final. 17
  18. 18. II. Conception des système embarquésII.1 Évolution de la conception des systèmes embarqués • Les systèmes numériques deviennent aujourdhui de plus en plus complexes au niveau intégration et fonctionnalités et lon est en mesure dintégrer tout dans un même composant • Cest le concept du single chip. • Ceci est en fait lié à la loi empirique de Moore qui stipule que pour une surface de silicium donnée, on double le nombre de transistors intégrés tous les 18 mois ! 18
  19. 19. • On travaille maintenant au niveau système (ou fonctionnalité) et non au niveau porte logique• Les fonctionnalités peuvent être implantées dans des composants spécifiques de type ASIC (Application Specific intregrated Circuit). On parle alors de Système sur Silicium SoC (System on Chip).• Les fonctionnalités peuvent être implantées dans des composants logiques programmables de type FPGA (Field Programmable Gate Array). On parle alors de système SoPC (System on Programmable Chip). 19
  20. 20. • Lapproche « schématique » au niveau porte logique ou fonctionnalités de base RTL (Register Transfer Logic) est délaissée pour la conception des systèmes complexes au profit dune approche « textuelle ».• On utilise des langages de description de matériel comme VHDL (Very high speedintegrated circuit Hardware Description Language) ou Verilog pour synthétiser une fonctionnalité numérique.• Ces langages de description de matériel sont en fait de véritables langages de programmation informatiques, orientés objet. Ils sont utilisés conjointement avec un synthétiseur (compilateur) ou un simulateur.• Ces langages ont permis de travailler avec un niveau dabstraction plus grand laissant les basses besognes au synthétiseur.• On a pu rapidement développer des bibliothèques de fonctionnalités comme une interface USB, un contrôleur MAC Ethernet que lon appelle blocs IP (Intellectual Property).• On peut les acheter ou bien utiliser des blocs IP libres (comme du logiciel libre) dont le site phare de référence est http://www.opencores.org. 20
  21. 21. • On peut ainsi voir la conception dun système numérique complexe comme un assemblage de blocs IP si bien que les langages de description de matériel sont un peu comme un langage assembleur vis à vis dun langage plus évolué comme le langage C.• Il est à noter que l’idéal serait de pouvoir générer un circuit numérique à partir dun fichier source écrit en langage informatique comme le langage C : cest ce que propose SystemC mais bien des progrès restent encore à faire dans ce domaine...• Les langages de description de matériel sont aussi intéressants pour la facilité de modification et de réutilisation dun design précédent pour un nouveau design : cest le design reuse.• Cela permet de réduire aussi le Time To Market (TTM) ! 21
  22. 22. • Lorsque lon conçoit un système numérique complexe, on met en oeuvre généralement un processeur embarqué.• Ce processeur embarqué est : – Soit un bloc IP : on parle de processeur softcore. – Soit déjà implanté dans le circuit électronique en « dur » : on parle de processeur hardcore. Le processeur de ce type est généralement plus performant que le processeur du type précédent.• Le processeur embarqué allie la souplesse du logiciel à laccélération du temps dexécution du matériel.• Une fonctionnalité particulière peut donc être composée dune partie matérielle couplée à une fonctionnalité logicielle dédiée : on a donc une conception conjointe matérielle- logicielle ou codesign. 22
  23. 23. • Le codesign implique donc une conception en même temps du matériel et du logiciel, ce qui est une nouvelle méthodologie par rapport à la méthodologie de conception classique (conception matérielle puis conception logicielle)... 23
  24. 24. 24
  25. 25. 25
  26. 26. • Les processeurs embarqués comme leurs cousins du grand public sont de plus en plus puissants.• La puissance CPU en MIPS double les 2 ans (loi empirique de Joy) et sont de plus communicants.• On estime que lon a besoin dune bande passante réseau de 0,3 à 1 Mb/s par MIPS (loi empirique de Ruge).• La course à la performance gagne aussi le monde de lembarqué et des systèmes numériques complexes ! 26
  27. 27. Les processeurs pour les SoPC• Le choix dun processeur pour le SoPC peut se faire sur différents critères : – Processeur hardcore : pour ses performances au détriment de la flexibilité. – Processeur softcore : pour sa flexibilité de mise à jour au détriment de performances moindres que le précédent. La portabilité vers nimporte quel circuit FPGA est assurée en étant donc circuit FPGA indépendant. Il est aussi possible de migrer vers un circuit de type ASIC en cas dune production en grande série.• Généralement, on privilégie les processeurs softcore pour saffranchir des problèmes dobsolescence et pour pouvoir bénéficier facilement des évolutions apportées en refaisant une synthèse.• Le processeur softcore peut être libre : – Il est décrit en langage de description de matériel (VHDL, Verilog). – Le code source peut être librement distribué et implanté dans nimporte quel circuit programmable FPGA. 27 – On est alors indépendant du type de circuit FPGA.
  28. 28. • Le processeur softcore peut être propriétaire :– Il est distribué par exemple sous forme dune netlist pour être implantée dans un circuit FPGA.– Il est généralement lié à un fondeur de circuit FPGA particulier (comme Altera ou Xilinx).– On ne peut pas lutiliser dans un circuit FPGA autre que celui pour lequel il est prévu. On a donc ici une boîte noire.• On trouvera principalement au niveau des processeurs softcores libres: – Le processeur Leon (http://www.gaisler.com/index.html) – Le processeur OpenRisc (http://www.opencores.org/projects.cgi/web/or1k/overview) – Le processeur F-CPU (http://www.f-cpu.org) – Autres processeurs : clones de 6800, 68HC11, 68K, PIC (http://www.opencores.org/browse.cgi/filter/category_microprocessor) 28
  29. 29. • On trouvera principalement au niveau des processeurs softcores propriétaires : – Le processeur NIOS et NIOS II dAltera http://www.altera.com. – Le processeur Microblaze de Xilinx http://www.xilinx.com. 29

×