0% ont trouvé ce document utile (0 vote)
595 vues116 pages

Systèmes Embarqués en Informatique Industrielle

Transféré par

Danh Kuekam
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
595 vues116 pages

Systèmes Embarqués en Informatique Industrielle

Transféré par

Danh Kuekam
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

1

Informatique Industrielle

Temps réel

12/18/2020
2 Programme

 Généralités
 Systèmes à processeurs
 Système Arduino : Le Microprocesseur ATMEGA 2560
del’arduino MEGA
 Capteurs et actionneurs
 Les communications
 La conception des systèmes temps réels

12/18/2020
3 Chap 1 Généralités sur
l’informatique industrielle
 Informatique industrielle
 Informatique embarqué
 Principe
 Câblage
 Informatisation

12/18/2020
4
L'informatique industrielle

« L'informatique industrielle est une branche de


l'informatique appliquée qui couvre l'ensemble des
techniques de conception et de programmation, de
systèmes informatisés à vocation industrielle, qui ne
sont pas des ordinateurs. »
(Source : Wikipédia)
Source : Ascom S.A.

12/18/2020
8
5
L'informatique industrielle

Domaines d'applications :
Alarme, automobile, aviation, instrumentation, médicale, téléphonie mobile,
terminaux de paiement pour carte bancaire ...

12/18/2020
9
Image fournie par Microchip
L'informatique industrielle
6

Applications :
 Automates, robotique,
 Mesures de grandeurs physiques,
 Systèmes temps-réel,
 Systèmes embarqués.

Source : Ascom S.A.

12/18/2020
10
7 Processeurs et informatique
industrielle
 Le processeur est au cœur des traitements de
l’informatique industrielle; c’est généralement un circuit
intégré programmable responsable de traiter les données
en entrée pour délivrer les informations en sortie.
 Types de processeurs
 GPP : x68, ARM, PowerPC,
 ASIP : µC, DSP, GPU
 SPP : réalisé en logique cablée ou par PLD ou par VLSI

12/18/2020
Les différents systèmes programmables

8
Les circuits spécialisés ou ASIP (Application Specific Instruction PROCESSOR) :

Les circuits spécialisés sont des circuits spécialisés dès leur conception pour une application
donnée.

Exemples : DSP (Digital Signal Processing), co-processeur arithmétique, processeur 3-D,


contrôleur de bus, ...

Source : Texas Instruments


Source : NVidia

Avantages : Inconvénients :
 Très rapide  Faible modularité
 Consommation moindre  Possibilité d'évolution limité
 Optimisé pour une application  Coût 12/18/2020
11
9
Informatique industrielle
Différences avec l’informatique traditionnelle :
• Embarquée doit être autonome et sûre
– Contrôle de l’énergie (éteindre ce qui ne sert pas ou plus, mise en veille …)
– Reprise en cas d’erreur (détection d’erreur, sauvegarde d’état, reprise en un point sûr)
– Auto contrôles (au démarrage, à temps perdu)
– Etats de mise en sécurité (arrêter totalement ou partiellement le système)

• Industrielle
– Travaille avec des phénomènes réels
• Imprécision des mesures ( image du système faussée)
• Imprécision du modèle (mal connu ou trop complexe approché)
• Délais à respecter (à faire immédiatement, après ou avant un temps donné)
• Intervention humaine parfois impossible ou trop lente
• Grandes quantités de données mais éphémères (on ne stocke pas)
– Risques élevés
• Mise en danger des personnes, de l’environnement, etc.
• Détérioration du système lui-même

Informatique embarquée et temps réel – 3


12/18/2020
10
1 Informatique embarquée
• Caractéristiques :
1.1
– Ressources limitées (mémoire, CPU, stockage)
– Energie limitée (pile, batterie, panneaux solaires …)
– Interaction avec l’environnement physique (capteurs, actionneurs)

• 1.2 Types :
– Mobile (smartphones, tablettes, liseuses, GPS, …)
• Accès à des ressources sur réseau (3G, wifi, Bluetooth)
• Accès à l’énergie facile (chargeur)
• Très orientée utilisateur (interface)
• Ressemble beaucoup à de l’informatique classique (sauf pour les interfaces)

– Industrielle (microcontrôleurs)
• Parfois énergie très limitée
• Rôle de l’utilisateur faible (écran LCD, boutons) ou inexistant
• Centrée sur des systèmes physiques ou sur la robotique
• Réseaux spécialisés (CAN)

Informatique embarquée et temps réel –


12/18/2020
11
Informatique industrielle (risques)
En Informatique industrielle :

Au lieu de :

On risque d’avoir :

Informatique embarquée et temps réel – 4


12/18/2020
12
2 Principe (système en boucle)
capteurs
Valeurs Mesurer
Image
Programme du Système
système
réel
actionneurs réel
Commandes Modifier

CPU Contrôleurs
de
périphériques Microcontrôleur
• Système réel
– Caractéristiques (ce qu’il doit faire, ce qu’il peut faire)
– Temps de réaction
– Limites (sécurité)
• Contrôleurs de périphériques + CPU = microcontrôleur
– Capacités (ce qu’il peut faire)
– Vitesse (du CPU et des contrôleurs de périphériques)
– Limites (valeurs minimales et maximales, précision des mesures et des calculs)

Informatique embarquée et temps réel –


12/18/2020
13
2 Principe (système en boucle)
Valeurs capteurs
Mesurer
Image
du
Programme système Système
réel réel
Commandes actionneurs Modifier

CPU Contrôleurs
de
périphériques

• Capteurs = image du système réel


– Précision, sensibilité, fiabilité, limites
– Temps de capture
– Nombre, positions
• Actionneurs = modification du système réel
– Précision, sensibilité, fiabilité, limites
– Temps de réaction
– Nombre, positions
Informatique embarquée et temps réel –
12/18/2020
14
3 Le câblage
Adaptation de niveau

capteurs
Contrôleurs
de
périphériques

actionneurs

Adaptation de puissance

• Choisir à quel contrôleur de périphérique relier chaque capteur et chaque actionneur

• Adaptation de niveau : l’information produite par un capteur peut être transmise par un
signal électrique de valeur trop faible ou trop élevée pour le contrôleur de périphériques
(il existe des CI prévus pour ça)

• Adaptation de puissance : le signal électrique produit par le contrôleur de périphériques


peut ne pas permettre d’activer l’actionneur (il existe des CI prévus pour ça)

Informatique embarquée et temps réel –


12/18/2020
4 Informatisation
15
4.1 Les éléments à considérer
Système réel

– Cas d’utilisation (quoi faire ? Quels risques ?)
– Temps de réaction (à quelle vitesse ?)
– Limites (erreurs, sécurité)

• Microcontrôleur
– Modèle (puissance, vitesse, prix, disponibilité, consommation)
– Contrôleurs de périphériques (nombre, types, précision, limites)

• Capteurs
– Nombre et placement (image du système suffisante)
– Type (précision, sensibilité, fiabilité, limites, prix, type de connexion)

• Actionneurs
– Nombre et placement (modification du système possible)
– Type (précision, sensibilité, fiabilité, limites, prix, type de connexion)

Informatique embarquée et temps réel – 8


12/18/2020
4 Informatisation
16
4.2 le programme
• Défauts (des capteurs, des actionneurs, des contrôleurs de périphériques)
L’image du système réel n’est ni complète ni exacte ni actuelle
• Temps réel (le temps du système réel prime)
– Réagir à temps (ne pas laisser le système réel dériver)
– Ne pas réagir trop vite (laisser le temps au système réel pour réagir)
– Tenir compte :
• du temps de mesure des capteurs
• du temps de réaction des actionneurs et du système réel

• Logique
– Ordre des traitements (précédence)
– Durée des traitements (respect du temps réel)
– Priorités des traitements (urgence)

• Sécurité
– Cas d’utilisation liées à la sécurité
– Limites (du système réel et du système informatique)
– Pannes (du système réel, des capteurs, des actionneurs)

Informatique embarquée et temps réel – 9


12/18/2020
17 5 Données et résultats
Informations reçues :
• Mesures prélevées par les capteurs
– Numérique (1 ou plusieurs bits, ex : présence / absence)
– Analogique (ex : température) devra être numérisée (conversion)
– Temporelle (durée pendant ou séparant deux événements)

• Evénements détectés par les capteurs


– Répétitifs (ex : détection de rotation)
– Occasionnels (ex : arrêt d’urgence)

Informations produites :
• Commandes d’actionneurs
– Numérique (1 ou plusieurs bits, ex : marche/arrêt)
– Analogique (En pratique rarement utilisé, ex : vitesse)
– Temporelle (durée pendant laquelle un bit reste à 0 ou à 1 + période
ex : positionnement d’un servomoteur)

Informatique embarquée et temps réel – 10


12/18/2020
18
6 Informations prises en compte
• Valeurs liées aux caractéristiques du système réel (constantes ou courbes)
– Marges d’erreur acceptées
– Temps (temps de réaction)
– Limites (valeurs min/max)

• Constantes liées à l’image du système réel


– Connexion des capteurs et actionneurs aux contrôleurs de périphériques (quoi, où)
– Conversions (mesuré ↔ réel et unités)

• Informations reçues des capteurs


– Mesures
– Evénements

• Temps
– Délais
– Rythme de prélèvement des mesures
– Temps mesurés entre événements

Informatique embarquée et temps réel – 11


12/18/2020
19
7 Analyse du problème
• Modèle logique du système réel (ce qu’il doit faire)
– Automate
– Algorithme

• Modèle mathématique du système réel (comment il marche)


– Géométrique (robotique)
– Physique (équations de la mécanique, …)
– …

• Ordonnancement des tâches


– Tâche de fond (en permanence)
– Tâches répétitives (à intervalles réguliers ou liées à des événements répétitifs)
– Tâches exceptionnelles (cas d’erreurs, …)
– Tâches urgentes (liées à des événements urgents, des alarmes, …)

• Adaptation des calculs


– Durée (algorithme plus rapide, algorithme approché)
– Précision (inutile de calculer plus précis que ce que le système peut faire mais
pas moins non plus)
– Fiabilité (preuve de programme, jeux d’essai, plusieurs méthodes de calcul
comparées, vérification en temps réel sur le système)
Informatique embarquée et temps réel – 12
12/18/2020
20
8 Pilotage du système réel
• En aveugle
– On agit sur un actionneur et on suppose que le système réagira correctement.
– Exemple :
• Contrôle de vitesse d’un ventilateur de refroidissement :
– Quand le système chauffe on accélère le ventilateur à 5000 tr/min
– S’il tourne en réalité à 4800 ou 5200 tr/min ça n’a pas d’importance
– Cas d’utilisation :
• On n’a pas besoin d’une grande précision
• La commande n’est pas critique

• Auto contrôlé
– On agit sur un actionneur et on contrôle la réaction du système par un capteur.
– Exemple :
• Contrôle de vitesse d’un moteur :
– On met le moteur à 5000 tr/min
– On a un capteur de vitesse couplé au moteur et on vérifie qu’il soit bien à 5000 tr/min
– Si ce n’est pas le cas on ajuste sa commande de vitesse jusqu’à y arriver
– Cas d’utilisation :
• On a besoin de précision
• La commande est critique (sécurité, panne)

Informatique embarquée et temps réel – 13


12/18/2020
21
9 Auto contrôle
• Principe :
1. Donner une consigne à un actionneur
2. Vérifier par un capteur l’effet de cette consigne
3. Si la valeur mesurée n’est pas celle attendue ajuster la consigne
4. Recommencer au 2

• Problème :
– Comment ajuster la consigne ?

• Solutions :
– Ajuster très peu pour arriver petit à petit à la bonne valeur
• Marche bien mais risque de mettre beaucoup de temps si la valeur
mesurée est loin de la valeur voulue
– Ajuster au mieux rapidement
• Ajuster la consigne plus ou moins en fonction de l’éloignement entre la
valeur mesurée et la valeur voulue mais risque d’oscillations

Informatique embarquée et temps réel – 14


12/18/2020
22
Auto contrôle (Approche intuitive)
• Exemple de la conduite automobile :
– La position de l'accélérateur (consigne) produit une vitesse de la voiture
– Par exemple à mi course on est normalement à 80
– Mais s'il y a du vent, si sur une montée ... ce n'est plus vrai

• Ce que l'on fait quand on constate qu'on est tombé à 70 au lieu de 90 :

1. On accélère proportionnellement à l'écart (20) çàd que l'on accélèrerait


moins si on n’était tombé qu’à 80
2. Puis on surveille le compteur (en le regardant à intervalles réguliers) pour
voir comment l'écart se réduit. S’il se réduit trop peu on accélère plus
3. Quand on voit que les écarts avec la la vitesse voulue (90) diminuent on
relâche l'accélérateur pour y arriver doucement sans la dépasser

Informatique embarquée et temps réel – 15


12/18/2020
23 Auto contrôle (Approche moins intuitive)
– La consigne dépend :
– De l’écart entre la valeur mesurée et la valeur voulue (présent : on tient compte de l’écart actuel)
– Des écarts précédents (passé : on tient compte des écarts passés)
– De la différence entre l’écart actuel et l’écart précédent (futur : on suppose que si l’écart se réduit il
continuera à se réduire et que s’il augmente il continuera à augmenter)

– Formule :
e = écart entre la valeur mesurée et la valeur voulue
consigne = Kp * e + Ki * (somme des e) + Kd (e - eprec)
Kp, Ki et Kd sont des coefficients constants à déterminer

– Vision mathématique :
– L’écart est une fonction du temps : e(t)
– La consigne est aussi une fonction du temps : c(t)
– La formule est donc :
c(t) = Kp * e(t) + Ki * ∫ e(t).dt + Kd * de(t)/dt

On parle de correction PID (Proportionnelle Intégrale Différentielle)

Informatique embarquée et temps réel –


12/18/2020
24 Auto contrôle (informatisation)
• Réalisation informatique :
– La valeur voulue est V
– À intervalles réguliers on relève la valeur mesurée Vm et on calcule
l'écart
e = V - Vm
Si l'ecart est dans l'intervalle de marge d’erreur [-ε, +ε]
// La consigne n’est pas modifiée (elle est bonne)
Sinon
somme ← somme + e
différence ← eprec - e
consigne ← Kp * e + Ki * somme + Kd * différence
eprec ← e

• ATTENTION :
Il est important de faire les mesures à intervalles réguliers
sinon les sommes et les différences entre écarts ne veulent rien dire

Informatique embarquée et temps réel –


12/18/2020
25 Auto contrôle (ajustement)
Il ne reste plus qu’à trouver les coefficients Kp, Ki et Kd
• Influence des coefficients sur le comportement du système :
– Kp : permet de s’approcher de la valeur voulue mais pas de l’atteindre (si l’écart est nul Kp n’a
plus d’effet). Si Kp est trop grand ça oscille.
– Ki : permet d’atteindre la valeur voulue mais introduit des oscillations (on la dépasse puis on
revient en arrière plusieurs fois ou indéfiniment)
– Kd : accélère la convergence et atténue les oscillations (on anticipe)

• Méthodes de détermination
– On peut les déterminer par calcul mais cela suppose de connaître les équations régissant le
fonctionnement du système réel
• En général elles sont difficiles à trouver (pour une voiture ça dépend des temps
d’accélération du moteur selon son régime actuel, du poids de la voiture, des frottements
de l’air, du revêtement de la route, de l’état des pneus, de la pente …)

– On peut les obtenir par ajustements :


1. Mettre Ki et Kd à 0 et ajuster Kp pour que la correction proportionnelle amène la valeur
mesurée au plus près de celle attendue sans trop osciller
2. Introduire Ki dans la formule et l'ajuster pour arriver le plus précisément possible à la
valeur attendue sans trop osciller
3. Introduire Kd dans la formule et l’ajuster pour diminuer les oscillations

Informatique embarquée et temps réel –


12/18/2020
26 Auto contrôle (vitesse)
A quel rythme faut-il faire les mesures de contrôle ?
• Si on va trop lentement on risque de dépasser la valeur voulue entre 2 mésures

 on va osciller autour de la valeur sans jamais l’atteindre.


• Si on va vite ce problème ne se pose plus mais …
1. La somme des écarts augmente vite Il faut diminuer Ki pour en limiter l’effet. Si on va
vraiment trop vite Ki va devenir nul et ne servira plus à rien
2. La différence entre 2 écarts sera très faible car la valeur mesurée n’aura pas beaucoup
changé entre 2 mesures . Si on va vraiment trop vite la différence eprec-e sera la plupart du
temps nulle et Kd ne servira plus à rien

• Le rythme de mesure dépend du système réel et de la précision de la mesure. Il doit être


tel que la différence entre 2 mesures soit petite mais non nulle.
Sur l’exemple de la voiture on ne va pas regarder le compteur :
– Chaque 10 minutes sinon on aura largement dépassé le 90
– Chaque seconde sinon on aura l’impression que l’aiguille ne monte pas et on aura tendance à
accélérer de plus en plus

Informatique embarquée et temps réel – 1


12/18/2020
27

Rappels
historique

Informatique embarquée et temps réel –


12/18/2020
Chapitre 2 : Rappel généraux sur les
processeurs

2.1 1.1 Rappel sur


 DEFINITION ETl’architecture
ARCHTECTURE INTERNE
interne des
microprocesseurs
 2.2 Le traitement des instructions
 2.3 Les modes d’adressages
 2.4 Exemple d’exécution d’un programme

2019-2020 5
Chapitre 2 : Rappel généraux sur les
processeurs

 2.1 Rappel sur l’architecture interne des


microprocesseurs
2.1.1 Définition

• Un microprocesseur est un circuit intégré numérique programmable. Il est


doté d’un jeu d’instruction et tout programme qu’il exécute doit être basé
sur ce jeu d’instruction
• Le programme est constitué d’une suite d’instructions et de données qui
sont stockés en mémoire

2019-2020 5
Le microprocesseur
Architecture interne (1)

Bus d’adresses

Microprocesseur

Unité de
Accumulateur
Unité de Programme
traitement commande
Registre

Mémoire
d’état

Données

Bus de données
6
Le microprocesseur
Architecture interne (2)

Bus d’adresses

Microprocesseur

Accumulateur PC
Accumulateur
Programme
Registre
d’état
Registre

Mémoire
d’état Bloc logique
de commande

Décodeur
d’instruction
Données

Bus de données
7
Le microprocesseur
Unité de commande
Elle permet de séquencer le déroulement des instructions.

PC : Programme Counter, appelé aussi


Bus d’adresse Compteur Ordinal. Il contient toujours
l’adresse de la prochaine instruction à
exécuter.
PC Le décodeur d'instruction : Le mot binaire
(instruction) est décodé pour savoir à quelle
action correspond l’instruction.
Bloc logique
de commande Bloc logique de commande (séquenceur) :
Il organise l'exécution des instructions au
Instruction Décodeur rythme de l’horloge. Il élabore tous les
d’instruction signaux de synchronisation du
microprocesseur en fonction de l’instruction
qu’il a à exécuter.

8
Le microprocesseur
Unité de traitement
Elle exécute les instructions.

Microprocesseur
L’accumulateur : C’est un registre de travail qui
sert à stocker le résultat des opérations réalisées
Accumulateur par L’UAL.
Accumulateur
Registre L’Unité Arithmétique et Logique (UAL) est un
d’état circuit complexe qui assure les fonctions logiques
Registre
d’état
(ET, OU, comparaison, décalage, etc…) ou
arithmétique (addition, soustraction…).
Le registre d'état : Chacun des bits de ce
registre dépend du résultat de la dernière
opération effectuée par l’UAL. Exemple : Bit de
retenue (carry : C), débordement (overflow : OV
ou V), Zéro (Z) ...

9
Le traitement des instructions
Résumé

1
2
CPU Mémoire
4

 (1) Charger une instruction depuis la mémoire


 (2) Charger les opérandes depuis la mémoire
 (3) Effectuer les calculs
 (4) Stocker le résultat en mémoire

2019-2020 10
L’architecture
Von Neuman

Mémoire
Programme
CPU BUS
&
données
 Un seul chemin d'accès à la mémoire
 Un bus de données (programme et données),
 Un bus d’adresse (programme et données)
 Architecture des processeurs d’usage général
 Goulot d'étranglement pour l'accès à la mémoire

2019-2020 11
L’architecture
Harvard

Mémoire
programme
CPU
Mémoire
donnée

 Séparation des mémoires programme et données


 Un bus de données programme,
 Un bus de données pour les données,
 Un bus d’adresse programme,
 Un bus d’adresse pour les données.
 Meilleure utilisation du CPU :
 Chargement du programme et des données en parallèle
12
L’architecture
Harvard : Cas des microcontrôleurs PIC

 Seul les bus de donnée (data ou instructions) sont


représentées

2019-2020 13
Chapitre 1 : Rappel généraux sur les
processeurs

 2.1 Rappel sur l’architecture interne des


microprocesseurs
 1.2 Le traitement des instructions
 2.3 Les modes d’adressages
 2.4 Exemple d’exécution d’un programme

2019-2020 14
Le traitement des instructions
Organisation d’une instruction
Le microprocesseur ne comprend qu’un certain
nombre d’instructions qui sont codées en binaire. Une
instruction est composée de deux éléments :
 Le code opération : C’est un code binaire qui correspond à l’action à
effectuer par le processeur
 Le champ opérande : Donnée ou bien adresse de la donnée.

La taille d'une instruction peut varier, elle est


généralement de quelques octets (1 à 8), elle dépend
également de l'architecture du processeur.

2019-2020 15
Le traitement des instructions
Exemple d’instruction
 Instruction Addition :
Accumulateur = Accumulateur + Opérande
Correspond à l’instruction ADD A,#2
Instruction (16 bits)
Code opératoire (5 bits) Champ opérande (11 bits)
ADD A #2
11001 000 0000 0010

Cette instruction est comprise par le processeur par le mot binaire :


11001 000 0000 0010 = code machine

2019-2020 16
Le traitement des instructions
Phase 1 : Recherche de l’instruction en mémoire
Rapporter moi les
ordres
Ordres :
écrits sur ce parchemin 1. Attaquer camp
!!! romain
2. Organiser banquet
Outils :
1. Menhir, Potion
magique
Unité de traitement Unité de commande 2. Sanglier

La valeur du PC est placée sur le bus d'adresse, et l'unité de


commande émet un ordre de lecture de la mémoire.

Après le temps d'accès à la mémoire, le contenu de la case


mémoire sélectionnée (instruction) est disponible sur le bus des
données et arrive à l’entrée du décodeur.

2019-2020 17
Le traitement des instructions
Phase 2 : Décodage et recherche de l’opérande
Rapportez moi les
outils
Ordres :
écrits sur ce parchemin 1. Attaquer camp
!!! romain
2. Organiser banquet
Outils
:1. Menhir, Potion
2. magique
Sanglier
Unité de traitement Unité de commande

Si l'instruction nécessite une donnée en provenance de la mémoire,


l'unité de commande récupère sa valeur sur le bus de données en
faisant un nouvel accès mémoire. La donnée arrive à l’entrée de
l’ALU.

2019-2020 18
Le traitement des instructions
Phase 3 : Exécution de l’instruction
On va commencer par
attaquer
le camps Romain Ordres :
1. Attaquer camp
avec des menhir et de romain
la potion !!! 2. Organiser banquet
Outils :
1. Menhir, Potion
magique
Unité de traitement Unité de commande 2. Sanglier

L’UAL réalise l’opération que le séquenceur lui demande.


Les drapeaux sont positionnés (registre d'état).

Le PC est incrémenté pour indiquer l'instruction suivante.

2019-2020 19
Le traitement des instructions
Déroulement

Bus d’adresses

Microprocesseur

Accumulateur PC
Accumulateur
Programme
Registre
d’état
Registre

Mémoire
d’état Bloc logique
de commande

Décodeur
d’instruction
Données

Bus de données
20
Le traitement des instructions
Les architectures RISC et CISC (1)

Actuellement l’architecture des microprocesseurs se


composent de deux grandes familles :

 L’ architecture CISC
(Complex Instruction Set Computer)

 L’architecture RISC
(Reduced Instruction Set Computer)

2019-2020 21
Chapitre 1 : Rappels généraux sur les
processeurs

 2.1 Rappel sur l’architecture interne des


microprocesseurs
 2.2 Le traitement des instructions
 1.3 Les modes d’adressages
 2.4 Exemple d’exécution d’un programme

2019-2020 22
Les modes d’adressages

 Ce sont les diverses manières de définir la


localisation d ’un opérande. Les trois modes
d’adressage les plus courant sont :

 Adressage immédiat
 Adressage direct
 Adressage indirect

Pourquoi existe-t-il plusieurs modes d’adressage ?


2019-2020 23
Les modes d’adressages
Immédiat

Exemple : ADDA #4
ALU
Mémoire
Adresses Contenu
0x00 0………………..
110 1101

Accumulateur
0x01 0………………..
100 0101

0………………..
010 1111
Compteur Ordinal adrs 1 1 0ADDA
1 0101

PC adrs+1 adrs + 1 0 1 1 0#41 0 0 1

adrs + 2 …………………
1………………..
010 1101

…………………
0011 1000

1…………………
100 0101

1…………………
010 1001

………………….
0111 1010

2019-2020 24
Les modes d’adressages
Direct

Exemple : ADDA adresseX


ALU
Mémoire
Adresses Contenu
0x00 0………………..
110 1101

Accumulateur
0x01 0………………..
100 0101

0………………..
010 1111
Compteur Ordinal adrs 1 1 0ADDA
1 0101

PC adrs+1 adrs + 1 0 adresseX


110 1001

adrs + 2 …………………
1010 1101

adresseX 0xxxx
0 1 1 xxxx
1000

1…………………
100 0101

1…………………
010 1001
………………….
0111 1010

2019-2020 25
Les modes d’adressages
Indirect

Exemple : ADDA @adresseX


ALU
Mémoire
Adresses Contenu
0x00 0………………..
110 1101

Accumulateur
0x01 0………………..
100 0101

0………………..
010 1111
Compteur Ordinal adrs 1 1 0ADDA
1 0101

PC adrs+1 adrs + 1 0@adresseX


110 1001

adrs + 2 …………………
1010 1101

@adresseX 0 adresseX
011 1000

1…………………
100 0101
adresseX xxxxx
1 0 1 0 xxxxxx
1001
………………….
0111 1010

2019-2020 26
Chapitre 1 : Rappel généraux sur les
processeurs

 2.1 Rappel sur l’architecture interne des


microprocesseurs
 2.2 Le traitement des instructions
 2.3 Les modes d’adressages
 1.4 Exemple d’exécution d’un programme

2019-2020 27
Exemple d’exécution (1)
Le compilateur génère aussi un fichier assembleur, représentant le code
et les emplacements mémoire qui seront utilisés.

2019-2020 28
Exemple d’exécution (2)

À l’infini
PORTC

2019-2020 29
Le jeu d’instruction du PIC16F
D’après la datasheet :
 Quelles sont les trois grandes catégories d’instruction du PIC16F877A?

 Quelle est la taille d’une instruction en mémoire ?

 Expliquez les instructions : INCFSZ, BTFSC, ANDLW et donner un


exemple d’utilisation pour chacune de ces instructions.

 Le programme compilé ci-dessous rassemble un code exécutable de la


forme suivante, donner la séquence d’instruction réalisée et l’action de
chacune :
 0187h CLRF PORTC;
 2822h GOTO 22h;
 0987h COMF PORTC,1;
 0BFCh DECFSZ 7C,1;
30
Chapitre 3 : Les microcontrôleurs

 2.1 Définition d’un microcontrôleur


 3.2 Cadencement du microcontrôleur
 3.3 Les timers
 3.4 Les ports d’entrée/sortie
 3.5 La liaison série
 3.6 Le watchdog
 3.7 Le CAN

2019-2020 31
Définition d’un microcontrôleur
Un microcontrôleur est un circuit qui intègre un maximum
de fonctions dans un même boitier. L’intégration de ces
fonctions dans le même environnement permet de créer
des applications plus simplement.

Le circuit intégré d'un microcontrôleur


8 bits Intel 8742 possède sur une
unique puce :
 Un processeur cadencé à 12 MHz
 128 octets de mémoire vive
 Une EPROM de 2048 bits
 De nombreuse entrées-sorties

2019-2020 32
Ventes de microcontrôleurs

2019-2020 33
Ventes de microcontrôleurs

2019-2020 33
AJD
RAM
Microprocessor
Program
Memory
Oscillator
0 -40MHz

<l--

Microcontroller
Définition d’un microcontrôleur
Avantages

 Cout réduit

 Encombrement moindre

 Fiabilité

 Mise en œuvre plus simple

 Consommation plus faible

2019-2020 35
Définition d’un microcontrôleur
Contenu
 La structure interne d'un microcontrôleur comporte
typiquement :
 Une unité de calcul et de commande
 Mémoire ROM
 Mémoire RAM
 Un contrôleur d’interruption
 Un compteur/temporisateur (timer)
 Des entrées/sorties parallèles (ports)
 Un UART (port série)

 Il peut aussi posséder :


 Un Watchdog : (surveillance du programme)
 Une sortie PWM (modulation d’impulsion)
 Un CAN/CNA (Convertisseur analogique numérique)
 Un interface I²C, CAN…

2019-2020 36
Définition d’un microcontrôleur
Exemple : Microcontrôleur PIC 16F877

2019-2020 37
Définition d’un microcontrôleur
Les mémoires (1)

 ROM memory :
Aussi appelé (à juste titre) program memory.
C’est une mémoire Flash qui contient le
programme à exécuter.

 EEPROM memory
C’est une mémoire similaire à la mémoire programme. On s’en sert
surtout pour stocker des constantes.

2019-2020 38
Définition d’un microcontrôleur
Les mémoires (2)

 RAM memory :
 General Purpose Register : Mémoire RAM classique, utiliser pour
stocké des variables. Exemple :
int i;
i++; // incrémentation de i depuis la RAM

 SFR (Special Function Register) : C’est aussi de la mémoire RAM,


sauf que les rôles de chacune des cases mémoire (registres) ont été
définis par le fabriquant. Chaque registre SFR est connecté à un
périphérique matériel spécifique et permet de la contrôler. Exemple :

ADCON0 register (adresse 9Fh) permet de piloter le convertisseur A/D.

2019-2020 39
Définition d’un microcontrôleur
Les mémoires (3)

Détail d’un registre SFR Déclaration de « i » en RAM

Affectation d’une valeur


à un registre SFR

2019-2020 40
Cadencement du microcontrôleur
Schéma du pic 16F877

2019-2020 42
Cadencement du microcontrôleur
Les cadencements possibles

 Quartz
 Très bonne Stabilité (10 ppm)

 Résonateur céramique
 Stabilité ( 0.5%)
 Moins couteux que le quartz

 Exemple pour un oscillateur à 8 Mhz


Quartz : Fréquence +/- 80 Hz
Résonateur : Fréquence +/- 40 000 Hz

43
Les timers
Mode compteur ou temporisateur (1)
 Un timer est le nom courant de compteur / temporisateur .

Mesurer du temps (compter le


nombre de coup d’horloge)
> Mode temporisateur

Compter le nombre d’évènement


sur une broche
> Mode compteur

45
Les timers
Mode compteur ou temporisateur (2)
 En pratique, on visualise la valeur de départ, puis la valeur
d’arrivée. La valeur de comptage est la différence des deux
valeurs.

 Dans quelle mode fonctionne le timer ici?


 Donner la valeur du temps en fonction de A et B dans cette
application.

2019-2020 46
Les timers
Utilisation d’un prescaler

 Un prescaler permet de diviser la fréquence


de comptage.

Quelle est le temps mesuré dans cette application en


fonction de A et B?

2019-2020 47
Les ports d’entrée / Sortie
Ce sont des ports parallèles. Ils permettent de recueillir des
informations ou de piloter des modules sur l’environnement
extérieur. Ils sont souvent bidirectionnels (configurable en
entrée ou sortie).

2019-2020 49
Les ports d’entrée / Sortie
 Quelles sont les ports d’E/S de ce microcontrôleur?

2019-2020 50
TRISA (B, C, D, E)

PORTA (B, C, D, E)

Pins

...
..
...
..

~
RJW !XI RIWCx) R/W(XI RIWCx) R/W(X) RIWCxl RIWCx) R/W(X) Featu-
PORTS! RB7 RB6 RBS RB4 RB3 RB2 RB1 RBO Bit
name ea 11« 111 111 111 IIN 111 111
1 8 5 14 3 2 11 0

RIWC11 RIWC11 RIWC11 RJWCt) RIWC11 RIWCt) RIWC1) RIWC11


Featu-

TRISB TRISB7 TRISB6 TRISBS TRISB4 TRISB3 TRISB2 TRISB1 TRISBO Bit name
1118 1115 11114 1113 IIN2 1111 1
Les ports d’entrée / Sortie
Les sorties logiques

 Sortie trois états

 Sortie collecteur ouvert

2019-2020 52
Les ports d’entrée / Sortie
1. Sortie trois états

Fonctionnement
T1 T2 Sortie
Bloqué Bloqué Etat haute impédance
Bloqué Saturé "0"
Saturé Bloqué "1"
Saturé Saturé non utilisé

 Des sorties trois états peuvent être reliées entres elles mais il
faut bien veiller à ce que une seule impose un niveau (haut ou
bas) et que les autres sorties soit en haute impédance.
2019-2020 53
Les ports d’entrée / Sortie
2. Sortie collecteur ouvert (1)

Fonctionnement
T2 S
Saturé "0"
Bloqué Dépend du montage

2019-2020 54
Les ports d’entrée / Sortie
2. Sortie collecteur ouvert (2)

 Pour générer le niveau "1", une résistance extérieure est


nécessaire (résistance de tirage // pull-up). Plusieurs sorties
"collecteur ouvert" peuvent être reliées entre elles, cela
réalise un "ET logique"
 Une sortie « collecteur ouvert » peut commander une charge
sous une tension différente de la tension d'alimentation.
2019-2020 55
Les ports d’entrée / Sortie
Entrée trigger de Schmitt

"1"

"0" Vi
Vseuil- Vseuil+

2019-2020 56
Les ports d’entrée / Sortie
 Bouton poussoir :

 Led :
Donner la valeur de la résistance sachant qu’une led
rouge à une tension de 1,5V et qu’il faut 10 mA pour
avoir un éclat correct.

2019-2020 57
Les ports d’entrée / Sortie
Cas du PIC16F877
D’après la datasheet :
 Combien possède t on de bits d’E/S pour le PORTA,
B, C, D et E?

 Quel registre respectif permet de les configurer en


entrée ou en sortie?

 Quelle mise en garde est faite pour le PORTA?

 Quelle particularité du PORTB peut nous être utile


pour connecter un bouton poussoir par exemple?

2019-2020 58
La liaison série
 La liaison série USART (Universal Synchronous Asynchronous
Receiver Transmitter ) est le mode le plus rependu pour
communiquer (et aussi le plus vieux).

60
La liaison série
Connexions (1)
 Une liaison série permet de transmettre des données
sur un nombre limité de fils. Cette liaison peut être
Half duplex (liaison synchrone) ou full duplex (liaison
asynchrone).

 Sur le microcontrôleur PIC16F877A, la liaison série


asynchrone peut être mise en œuvre à l’aide des pins
RxD et TxD. Elle est réalisée par un USART :
 RxD, signal de réception de l’USART
 TxD, signal de transmission de l’USART

2019-2020 61
La liaison série
Connexions (2)

1ère étape : Configuration de la transmission


2ième étape : Envoyer et recevoir des données

2019-2020 62
La liaison série
USART Transmit bloc register

2019-2020 63
La liaison série
USART receive bloc register

2019-2020 64
La liaison série
D’après la datasheet :
 Pourquoi avons-nous une corrélation entre le fait
d’être synchrone/Asynchrone et full duplex / half
duplex?

 Prenez note de toutes les étapes à réaliser pour


configurer une liaison série asynchrone.

 Configurer la liaison série asynchrone pour qu’elle soit


cadencée à 9600 bauds.

2019-2020 65
Chapitre 3 : Les microcontrôleurs

 2.1 Définition d’un microcontrôleur


 2.2 Cadencement du microcontrôleur
 2.3 Les timers
 2.4 Les ports d’entrée/sortie
 2.5 La liaison série
 2.6 Le watchdog
 2.7 Le CAN

2019-2020 66
Le Watchdog (1)

Le chien de garde (watchdog) est un dispositif matériel et


logiciel qui permet de se prémunir contre les plantages
accidentels. L’idée est de provoquer un RESET du CPU afin
de relancer l’application. (Les données sont bien sur perdues).
Le plantage est défini lorsque le programme n’est pas venu à
temps faire signe au watchdog.
Instructions
« Clear Watchdog »

Si je reçoit rien,
j’appuie sur le
67
RESET!!!
Le Watchdog (2)
MICROCONTROLEUR

68
Le Watchdog
Cas du PIC16F877

D’après la datasheet :

 Comment met-on en route le Watchdog? (lire en plus le


chapitre 14.1 : configuration bits)

 Quel est l’effet d’un watchdog time out?

 Quelle instruction du PIC permet de réaliser le reset du


Watchdog? Comment allez vous coder cette instruction
en C?

2019-2020 69
MCU ATMEGA328P et ARDUINO

Arduino est un circuit imprimé sur lequel se trouve un


microcontrôleur

µcontrôleur
4
Arduino existe en plusieurs versions :

5
MCU ATMEGA328P et ARDUINO

La version UNO est la moins chère et suffit largement à une utilisation


''classique'';

Sur cette version le microcontrôleur est un ATmega 328P-PU

C'est un microcontrôleur développé par la société ATMEL

Il existe sous plusieurs formes:

6
MCU ATMEGA328P et ARDUINO

La série ATmega 328p-pu comprend plusieurs microcontrôleurs :


ATmega 48 ;
● ATmega 88 ;
● ATmega 168 ;
● ATmega 328 ;

Ces microcontrôleurs ont les caractéristiques suivantes:

Microcontrôleur Flash EEPROM RAM

ATmega 48 4Ko 256 octets 512 octets

ATmega 88 8Ko 512 octets 1Ko

ATmega 168 16Ko 512 octets 1Ko

ATmega 328 32Ko 1Ko 2Ko 7


Informatique embarquée : Arduino et AVR
Généralités

Avantages :

L’intérêt est de pouvoir faire des montages électroniques pilotés par un


langage de programmation;

L'électronique programmée permet de simplifier les schémas


électroniques et donc de baisser les coûts de réalisation et de
conception.

Difficultés :

L'utilité est mal perçue lorsque l'on débute;

Cela demande de maîtriser la programmation ainsi que l’électronique;

La programmation embarquée est plus complexe car les ressources


8
sont limitées...
L’interface matérielle du microcontrôleur

Intéressons-nous de plus près à l'ATmega 328P-PU :

10
L’interface matérielle du Microcontroleur : Arduino et AVR

L’interface matérielle du microcontrôleur et correspondance avec la carte UNO


:

11
L’interface matérielle du Microcontroleur : Arduino et AVR

Après analyse et simplification, cela donne :

11
Résumé des la connectique ATMEGA 328P-PU


1 alimentation pour les E/S numérique;


9 entrées / sorties numériques;


1 alimentation + référence pour les E/S analogique;

6 entrées / sorties analogiques;

1 entrée + 1 sortie oscillateur (20 Mhz);

1 ''port'' série (Universal Asynchronous Receiver Transmitter);


3 lignes pour mettre à jour le micrologiciel (BIOS);
12

1 ligne pour le RESET.
Système Arduino AVR ATMEGA 328
100

2019-2020 18/12/2020
101 LES E/S AVEC ARDUINO

 Courant de sortie des broches, PULL-UP


 Registres d’accès aux broches
 Exemples d’instructions

2019-2020 18/12/2020
102 Caractéristiques Electriques
des E/S Arduino
 Note : les broches analogiques peuvent être utilisées en
tant que broches numériques : elles sont numérotées en
tant que broches numériques de 14 à 19.

2019-2020 18/12/2020
103
Le premier système embarqué
Apollo Guidance Computer (AGC)

• Embarqué sur le module lunaire (LEM) d’Apollo 11

• Pilote la descente sur la lune du LEM le 20 juillet 1969 :


– Détermine périodiquement la position et la trajectoire réelle du LEM à partir des
informations issues :
• Des accéléromètres de la centrale inertielle (positionnement au début de l’alunissage)
• Du radar d'atterrissage (descente à la fin de l’alunissage)
– Calcule la trajectoire à suivre et pilote les moteurs du LEM

• Le pilote du LEM peut


– Consulter les résultats des calculs
– Corriger les valeurs à tout moment
– Reprendre complètement la main sur les commandes des moteurs mais
l’alunissage à vue est très difficile

Informatique embarquée et temps réel –


12/18/2020
104

Chap Capteurs
Actionneurs et contrôleurs de
périphériques

Informatique embarquée et temps réel –


12/18/2020
105
1 Capteurs
• Principes
– Transforme une grandeur physique en :
• Une grandeur électrique : tension ou courant
ou
• Un temps : durée ou fréquence
– La transmet sous forme numérique (binaire) ou analogique (tension)

• Moyens :
– Mécanique (contact, résistance ou capacité variable)
– Piézoélectrique (tension induite par la déformation d’un cristal)
– Effet Hall (tension induite par un champ magnétique)
– Capacitif (tactile ou chimique)
– Rayonnement (radio, infrarouge, laser)
– Ultra sons (puissance, temps de propagation)
– Lumière (phototransistor ou photorésistance)
– Chimique (électrodes)

Informatique embarquée et temps réel –


12/18/2020
106
• Déplacement
2 Types de capteurs
– Interrupteur, potentiomètre, joystick (contact ou résistance mécanique)
– Tactile (contact ou décharge capacitive par contact)
– Pression, Force, Flexion (résistance variable ou effet piézoélectrique)
• Présence
– Passage, mouvement, vibration (laser, IR ou radar)
– Proximité, distance (laser, IR ou ultra sons par mesure de temps)
• Position
– Roue codeuse (contact)
– GPS (réception de satellites)
– Accélération (capacitif mécanique ou effet piézoélectrique)
– Inclinaison (capacitif mécanique)
• Rayonnement
– Magnétisme (effet Hall)
– Ondes (radio, IR)
– Lumière, couleur et UV (phototransistor, photorésistance)
• Environnement
– Température (résistance variable)
– Humidité (capacitif chimique)
– Anémomètre (mécanique + magnétique)
– Caméra (phototransistors)
– Son, US (capacitif mécanique ou effet piézoélectrique)
– Chimique (électrodes pour gaz ou liquides)
Informatique embarquée et temps réel –
12/18/2020
107
3 Actionneurs
• Principe
Transforme une information reçue sous forme :
• numérique (binaire)
ou
• analogique (tension)
ou
• temporelle (durée et fréquence)
en :
• Un mouvement (translation, rotation)
• Un affichage (écran, témoin lumineux ou sonore)
• Une émission (ondes, lumière, IR, chaleur)

• Moyens
– Mécanique et magnétique (moteur, électroaimant)
– Piézoélectrique (vibreur)
– Emission de rayonnements (radio, infrarouge, laser)
– Lumière (DEL, écran)

Informatique embarquée et temps réel –


12/18/2020
108
Types d’actionneurs
• Mouvement
– Electroaimant, Electrovanne, Relais (magnétique)
– Moteur à courant continu (contrôle de vitesse par courant ou temporelle)
– Moteur linéaire (comme le précédent mais déplacement linéaire)
– Moteur pas à pas (position définie par commande binaire)
– Servomoteur (position asservie par commande temporelle)
• Indicateur
– Haut parleur, vibreur (mécanique ou piézoélectrique)
– Ecran (texte ou graphique), DEL ou afficheur
(optoélectronique)
• Emetteur
– Radio
– Infra
– Rouge
– Ultra sons
– Laser
Chaleur

Informatique embarquée et temps réel –


12/18/2020
109
4 Caractéristiques des capteurs/actionneurs
• Précision
– Un capteur de température donne-t-il une mesure au ½°? au 1/10°?
– Un servomoteur peut-il être placé au ½°près ? Au degré près ?
• Sensibilité
– Un capteur de température donne-t-il une mesure différente si la température change de ½°? de 1/10°?
– Un servomoteur bouge-t-il si on veut le déplacer de 1°? de ½°?
• Fiabilité
– Un capteur de température qui mesure 14,1°pour 14°donnera-t-il toujours 14,1°une heure plus tard ?
Le lendemain ? Dans un an ?

• Limites
– Un capteur de température supporte-t-il une température de 100°? De 1000°?
– Un servomoteur peut-il soulever une charge de 500 g ? De 10 Kg ?
• Prix
– Très lié à la précision, la sensibilité, la fiabilité et les limites. Par exemple on trouve des servomoteurs à
4€ et d’autres à 2000€
• Type d’information envoyée/reçue
– Numérique
– Analogique
– Temporelle
• Connexion
– Directe
– Par connexion spécialisé (SPI, I2C, I2S)
Informatique embarquée et temps réel –
12/18/2020
110

Contrôleurs de périphériques

Informatique embarquée et temps réel –


12/18/2020
111
5 Contrôleurs de périphériques

Entrées (capteurs)
– Numériques
• Lignes binaires en entrée (lecture 0 ou 1)
– Analogiques
• Convertisseurs A/N : tension de 0 à V1 → entier de 0 à N
• Comparateurs de tensions
– Evénements
• Détection de changement de ligne binaire : passe de 0 à 1 ou de 1 à 0

• Sorties (actionneurs)
– Numériques
• Lignes binaires en sortie (écriture 0 ou 1)
– Analogiques
• Convertisseurs N/A : entier de 0 à N → tension de V1 à V2
– Temporelles
• Lignes binaires en sortie avec choix de période et durée du 0 ou du 1

Informatique embarquée et temps réel –


12/18/2020
112
Contrôleurs de périphériques
• Temps
– Chronomètres (Timers)
• Choix de la vitesse de comptage
• Choix de la limite de comptage

• Communication
– Avec des capteurs ou des actionneurs
• Bus de données spécialisés (SPI, I2C, I2S)

– Avec d’autres dispositifs numériques


• Connexions réseau (RS232, Ethernet, CAN)
• USB (USART)
• Mémoire SD (SPI)

• Energie
– Mise hors tension de périphériques
– Détection de baisse d’alimentation

Informatique embarquée et temps réel –


12/18/2020
113 Comparaison entre Arduino et MEGA 2560

Features Arduino Uno Arduino Mega (1280) Arduino Mega 2560


ATmega328P ATmega2560
Microcontroller (MCU) ATmega1280
(Datasheet) (Datasheet)
Operating Voltage of the
5V 5V 5V
Microcontroller
Typical Supply Voltage for the
7 V – 12V 7 V – 12 V 7 V – 12 V
board
14 (includes 6 PWM 54 (includes 15 PWM 54 (includes 15 PWM
Digital I/O Pins
outputs) outputs) outputs)
PWM outputs 6 15 15
Analogue Input Pins 6 16 16
Max DC Current per I/O Pin 20 mA 20 mA 20 mA

Max DC Current for 3.3V Pin 50 mA 50 mA 50 mA


Flash memory of MCU 32 KB 128 KB 256 KB
Bootloader footprint 0.5 KB 4 KB 8 KB
SRAM of MCU 2 KB 8 KB 8 KB
EEPROM of MCU 1 KB 4 KB 4 KB
Clock Speed 16 MHz 16 MHz 16 MHz
Board Dimensions (Length) 68.6 mm 101.5 mm 101.5 mm
12/18/2020
Board Dimensions (Width) 53.4 mm 53.4 mm 53.4 mm
114 6 Contrôleurs de périphériques du 2560
• Capteurs/Actionneurs
– Numériques : 85 lignes d’E/S
– Analogiques :
• 1 Convertisseur A/N à 16 entrées + 2 entrées fixes (0V et 1,1V)
– Temporelles : 16 lignes de signaux périodiques

• Temps
– 2 Timers sur 8 bits (très limités)
– 4 Timers sur 16 bits

• Energie
– Possibilité d’allumer/éteindre chaque contrôleur de périphérique
individuellement

• Communication
– 4 USART (série asynchrone) ou SPI (Serial Peripheral Interface)
– 1 I2C (Inter-Integrated Circuit)

Informatique embarquée et temps réel – 34


12/18/2020
Contrôleurs de périphériques du 2560
115
• Architecture et utilisation :
– Chaque contrôleur de périphériques contient des registres :
• De commande pour définir le fonctionnement du contrôleur
• D’état pour connaître l’état actuel du contrôleur
• De données pour envoyer/recevoir des données depuis/vers le capteur ou
l’actionneur piloté par le contrôleur

– Les registres sont sur 8 ou 16 bits


– Ils sont accessibles par le CPU comme des mots mémoire placés à des
adresses fixes
– Les registres sont découpés en champs de 1 ou plusieurs bits :
• Chaque champ a un rôle ou un sens particulier
• Le rôle ou le sens d’un champ peut dépendre du contenu d’un autre champ
– La programmation d’un contrôleur de périphériques consiste à :
• En définir le fonctionnement en remplissant les divers champs des registres
de contrôle
• En connaître l’état en consultant les divers champs des registres d’état
• Echanger des données par les registres de données

Informatique embarquée et temps réel – 35


12/18/2020
116
CPU du 2560
• Processeur RISC à 16 MHz
• Mémoire :
– 256 Ko de flash
– 4Ko EEPROM (sauvegardes)
– 4Ko RAM extensible à 64Ko
• Interruptions :
– Contrôleur d’interruptions (priorités fixes pas de préemption)
• Etats du processeur :
– Actif
– En sommeil (réveillé par interruption)
• Energie :
– 1 Contrôleur d'alimentation (mise en/hors tension de chaque contrôleur de
périphérique)
• Sécurité :
– 1 Chien de garde (détection de pannes)
• Débogage :
– Sonde JTAG
– Moniteur de boot configurable par fusibles

Informatique embarquée et temps réel – 36


12/18/2020

Vous aimerez peut-être aussi