Académique Documents
Professionnel Documents
Culture Documents
industrielle?
Programme
Système informatique
(microprocesseur ,
Données microcontroleur, Données
d’Entrée mémoire, périphériques) de Sortie
Actions
2
Description fonctionnelle
d’un système informatique
(1/3)
Les systèmes informatiques reposent sur les
éléments suivants:
1. Un calculateur qui va coordonné tous les
opérations (microcontroleurs, microprocesseurs).
Les opérations sont cadencées par l’horloge
système.
2. Des circuits mémoires pour le stockage des
informations ( données, programmes).
3. Des périphériques assurant la communication du
système informatique avec le monde extérieur
(entrée, sortie).
3
Description fonctionnelle
(2/3)
Les données d’entrées et de sorties sont
d’origine diverses:
Les entrées:
– Données numériques à traiter lues en mémoire.
Ces données peuvent être issues de bases de
données ( noms, notes, etc.), mesures
enregistrées de calibration, etc.
– Informations en provenance de capteurs d’un
processus à commander (température, position,
accélération, etc.).
– Données issues d’un clavier (interface
homme/machine).
Les sorties:
Elles représentent le résultat attendu du traitement des
données d’entrée.
4
Description fonctionnelle
(3/3)
Un programme informatique (logiciel):
• indique les traitements à réaliser avec les
données d’entrée
• fournit des données (résultats) en sortie.
• fournit des ordres au processus à commander
pour faire évoluer le processus selon le
fonctionnement défini l’utilisateur.
5
Systèmes informatiques
à base de
microcontrôleurs
• Vitesse de fonctionnement: 4 à
~200MHz
• Format des données:8,16,32 bits.
• Présentation compacte
regroupant en un seul boîtier
l’ensemble des fonctions d’un
système informatique
Mémoires µC
Horloge de cadencement
jusqu’à 24MHz
9
Gamme STM32: 32bits
10
Matériel d’enseignement:
C167/Infineon
• Vitesse de fonctionnement: 20MHz
• Format des données (UAL): 16bits.
• Mémoires vives et mortes
• Les périphériques:
Communications parallèle et série,
conversion analogique-numérique,
temporisation et comptage etc…
Mémoires µC
RAM (4ko)
Interfaces ROM (option) Interfaces
Parallèle Parallèle,
Série, Série,
CAD Unité centrale (16 PWM,
…. bits, 20MHz) …
12
La carte phytec kitCON-
167
E Mémoire
N
T
Flash
Liaison
R
Mémoire série
E
E SRAM vers le
S/ PC
S
O
R C167
TI
E
S
13
Présentation du
matériel
Boîtier C167
CPU
16 bits
17
Accès mémoire
Une position mémoire particulière est
sélectionnée par le biais de son adresse
(unique), puis écrite ou lue (contrôle) via le
bus de données..
Contrôle
Adresses
Données
18
Les bus de communication
(1/3)
19
Les bus de communication
(2/3)
20
Les bus de communication
(3/3)
21
Les mémoires
Les mémoires contiennent les instructions et les
données nécessaires à l’application.
Pour des programmes simples (quelques ko)
Pour des applications plus compliquées
(quelques Mo).
22
Mémoire ROM
(Read Only Memory)
Les instructions de l’application seront
stockées en mémoire morte.
Le développement de l’application
est fait avec un logiciel
d’édition/compilation/simulation
– Rédaction du programme en
langage assembleur ou C (fichier
source).
– Compilation: Traduction des
instructions en langage machine
(code binaire)
– Simulation du programme
(observation des variables, des
périphériques, …)
Les TM seront réalisés avec
l’environnement KEIL micro- 26
vision.
Procédure pour le
chargement d’une
application en mémoire
du microcontrôleur.
b 2
i 0
i
i
+1x22+0x21+1x20=32+4+1=37
31
Base binaire
Valeurs signées
Exemples:
La représentation sur 8 bits du
nombre v= -1 est égale à:
1=00000001B (valeur absolue de v)
/1=11111110B (complément à 1)
(/1+1)=11111111B=-1 (complément à 2)
Exemple:
10010101B=-128+16+4+1=-107
L'ensemble des nombres
représentables à l'aide de n bits
forme l'intervalle:
n 1 n 1
[2 ,2 1]
33
Base hexadécimale ou
Base 16
Les 16 digits de la base hexadécimale
sont 0,1,2,3,4,5,6,7,8,9, A,B,C,D,E,F.
Avantages:
• Écriture concise
• Les conversions de l'hexadécimal
vers le binaire et vice-versa sont
immédiates.
34
Base hexadécimale
Valeurs non signées
Codage sur n bits.
Chaque digit hexadécimal a un poids 16i
dépendant de sa position i=0…n/4 -1.
h 16
i 0
i
i
0 0000 8 1000
1 0001 9 1001
2 0010 A 1010
3 0011 B 1011
4 0100 C 1100
5 0101 D 1101
6 0110 E 1110
7 0111 F 1111
36
Ex: 0x1AB8=1AB8H=0001101010111000B
Données alphabétiques
code ASCII
Un caractère est codé à l'aide de 7 bits
d'information.
A chaque symbole alphabétique est attribué un
code dans l'intervalle [0, …, 127];
Code ASCII ‘a’ : 61h ; ‘1’: 31h ‘A’: 41H
37
Unité centrale/controle
L’unité centrale comporte plusieurs grandes
fonctions incontournables qu’elle
orchestre:
• L’unité arithmétique et logique
• Les registres de travail
• Les bus de communications
• Les registres spéciaux:
– Le pointeur d’instruction (IP)
– Le registre segment de code
– Le registre d’état de l’ALU (PSW)
L’unité arithmétique et
logique (ALU)
L’unité arithmétique et logique est le
cœur de l’unité centrale.
ALU est constituée d’un circuit
combinatoire qui réalise:
• les fonctions arithmétiques (ADD,
SUB, MUL,DIV),
• les fonctions logiques (AND, OR,
XOR, etc) entre les mots présentés
à son entrée.
39
Les registres de travail
(GPR)
Les registres de travail sont destinés à
contenir temporairement l’information
sur lesquelles s’effectuent les calculs.
Les informations sont localisée en mémoire
vive (IRAM) interne .
RH0 RL0
b b b b b b b b8 b7 b6 b5 b4 b3 b2 b1 b0
15 14 13 12 11 10 9
40
Les registres spéciaux
(SFR)
Les registres spéciaux (Special Function
Registers (SFRs)) sont destinés à la
configuration et au contrôle de l’unité
centrale.
• Paramètres de configuration
(SYSCON)
• Etat de l’unité de calcul (PSW)
• Registres de multiplication et division
(MDC)
• Accès aux données (DPPx),
• Accès à la pile système (SP).
41
PSW
PSW
interruptions indicateurs
U M
S U
E Z V C N
R LI
0 P
42
Positionnement des
indicateurs
C (carry, retenue), C=1 s’il y a une retenue lors de la dernière
opération et C=0 s’il n’y a pas de retenue lors de la dernière
opération
Ex : addition
0011 1000 (56) +0000 1010 (10)= 0 01000010 C=0
1000 1010 (138) +1100 0111 (199)= 1 0101 0001 C=1
Exemple :
0100 0000 (64) +0100 1111(79)=10001111 nombre négatif (-
113)
Arithmétique 70F0H 0 1 0 0 0
-70F0H =0H
28912-28912=0
FFFFH+3H= 0 0 0 1 0
1 0002H
-1+3=2
7FFFH+3H=0 0 0 1 0 1
8002H
Logique 00AAH ET 0 1 0* 0* 0
0055H=0000H
Transfert R0 8000H 1 0 - - 1
44