19/03/2015
Cours 9 Architectures &
Systèmes
Jalil Boukhobza
LC 206
[email protected]
02 98 01 69 73
Source: La majorité des
schémas et Figures ont été
prises des présentations de
19/03/2015 Jalil Boukhobza l’ARM Université program.
1
Microprocesseur (CPU)
Un cœur de processeur supportant le chargement, décodage
et exécution des instructions
Peut être utilisé pour du calcul généraliste être utilisé avec
une (ou des) mémoires et des périphériques d’E/S
Chargeur d’Instruction Interface mémoire Vers la
mémoire
décodeur Instruction
Bancs de registres
ALU
Microprocesseur
19/03/2015 Jalil Boukhobza 2
1
19/03/2015
Microcontroleurs (MCU)
Contient
un processeur
Plusieurs mémoires
E/S numériques et analogiques
Autres périphériques
Utilisé pour du contrôle (applications embarqués)
Mémoire Mémoire
Microprocesseur
de programme de données
System Bus
I/O I/O Timer autre
19/03/2015 Jalil Boukhobza Microcontroleur 3
Système embarqué typique
Couche logicielle
FPGA/
Mémoire(s)
ASIC/DSP
Conversion Conversion
détecteur
A/N CPU N/A
Actionneur
Interface Système
humaine Port de auxiliaire
diagnostic
Environnement
extérieur
J.Boukhobza - AO 4
2
19/03/2015
Système embarqué
« typique » (2)
Capteurs (interrupteurs, etc.) couplés à des convertisseurs
analogique/numérique.
Actionneurs (LED, etc.) couplés à des convertisseurs
numérique/analogique.
Calculateur (processeur embarqué et ses E/S).
Possibilité d’avoir un/des FPGAs et/ou ASICs et/ou DSP pour jouer
le rôle de coprocesseurs (accélération matérielle)
Les systèmes embarqués doivent prendre en compte:
Variation des températures
Vibrations et chocs
Variations des alimentations
Interférences RF
Corrosion
Eau, feu, radiation
…
J.Boukhobza - AO 5
Exemple: calculateur d’un vélo
Fonctions:
Mesure de vitesse et de distance
Contraintes:
Taille
Coût
Consommation
Poids
Entrées:
Vitesse de rotation de la roue et géométrie
Mode
Sortie:
Affichage
Utilisation de microcontrôleur basse perf.:8 bits, 10 MIPS
19/03/2015 Jalil Boukhobza 6
3
19/03/2015
Systèmes embarqués
(source ARM Univ Prog.)
Implementation Design Unit Upgrades Size Weight Power System
Cost Cost & Bug Speed
Fixes
Dedicated Hardware
Discrete Logic low mid hard large high ? very fast
ASIC high very hard tiny - 1 die very low low extremely
($500K/ low fast
mask
set)
Programmable low to mid easy small low medium to very fast
logic – FPGA, mid high
PLD
Microprocessor + low to mid easy small to low to medium moderate
memory + mid med. moderate
Software Running on
Generic Hardware
peripherals
Microcontroller low mid to easy small low medium slow to
(int. memory & low moderate
peripherals)
Embedded
19/03/2015PC low high easy Jalil Boukhobza
medium moderate to medium to fast 7
high high
Exemple d’une carte mbed
(utilisée en TP)
Mbed LPC 1768:
Un MCU NXP LPC 1768, 32-bit ARM® Cortex™-M3 cadencé à
96MHz
32 KO de RAM, 512 KO de mémoire flash
Plusieurs périphériques d’E/S
USB
Ethernet
CAN
SPI
I2C
ADC
DAC
PWM
GPIO
UART
19/03/2015 Jalil Boukhobza 8
4
19/03/2015
Architecture de la carte mbed
LPC1768 USB
4.5 – 9 V in (Vin)
0V (Vgnd) Power reset Interface Flash Memory
3.3V out (Vout) Management Microcontroller 16 Mbit
5V USB out (Vu)
3.3V internal power supply reset UART JTAG
External signal Ethernet
Analog/Digital LPC1768
connections PHY (Physical
IO Interfaces Microcontroller
Interface)
mbed LPC1768 Board
19/03/2015 Jalil Boukhobza 9
Interface du microcontrôleur
Fournit une interface USB pour les périphériques exterieurs
Le programme téléchargé est enregistré sur la mémoire flash
Après le reset, le LPC 1768 lit le dernier fichier de la mémoire
flash et le transfère au microcontrôleur via UART ou JTAG
Mémoire flash
Utilisée pour la sauvegarde de programme: 2 MO
Gestion de l’énergie
Plusieurs sources d’énergie possible (voltage variant de 3.3 à 9V)
Interface Ethernet
Permet la connexion à internet
19/03/2015 Jalil Boukhobza 10
5
19/03/2015
Architecture du MCU NXP
mbed LPC1768
Up to 64 KB Up to 512KB Test/ Nested CPU PLL
Trace
SRAM FLASH Debug NVIC
Brown Out Detect
SRAM FLASH ARM Cortex-M3
MPU
Controller Accelerator Core Power On Reset
Multi-layer ARM AHB Matrix
Ethernet MAC DMA USB Host/OTG/D PHY PLL DMA GP DMA
3 x I2C 3x
I2S
4× UARTs 2x
FM+ SSP/SPI RS485/IrDA/Modem CAN2.0B
ARM Advanced Peripheral Bus (APB)
12-bit/8-ch 10-bit 4 × 32-bit Motor Quad Encoder
ADC DAC Timers Control PWM Interface
19/03/2015 Jalil Boukhobza 11
NXP LPC1768
Cortex-M3 MCU pour applications embarquées
Consommation énergétique faible
Fonctionnement typique à 100MHz
512KO de flash et 64 KO de mémoire de données (SRAM)
Une variété d’interfaces d’E/S: Ethernet, USB, DMA, UART,
CAN, ...
Applications typiques:
Systèmes d’alarmes
Contrôle moteur
Electroménager
... NXP LPC1768
MCU
19/03/2015 Jalil Boukhobza 12
6
19/03/2015
NXP LPC1768 (2)
SPI: contrôleur d’E/S série SPI
Serial Peripheral Interface est une interface série permettant de
gérer plusieurs maitres et esclaves connectés à un bus donné
LPC1768 supporte un débit SPI max. de 12.5 Mbit/s
I2C: contrôleur d’E/S de bus série
Un bus bi directionnel de contrôle inter circuit intégrés (IC,
puces) avec seulement 2 files, une ligne pour l’horloge (SCL) et
une autre pour les données (SDA)
Les 2 contrôleurs I2C ont des débits allant jusqu’à 400kbit/s
Pulse Width Modulator (PWM)
Une technique de modulation utilisée pour moduler la largeur
des impulsions pour le contrôle de l’alimentation des
périphériques (exemple: moteurs)
19/03/2015 PWM est basé sur des timers et compteurs.
Jalil Boukhobza 13
UARTs: Universal Asynchronous Receiver/Transmitter
Support de 4 interfaces UART
Débit max de 6.25Mbit/s
2 mémoires FIFO d’envoi et de réception de 8 octets
Contrôleur CAN: Controller Area Network
Utilisée pour le contrôle temps réel distribué (par exemple,
applications automobiles)
Le contrôleur CAN peut supporter plusieurs bus CAN
simultanément dans lesquels les périphériques peuvent être
utilisés comme routeur, gateway, ou commutateur dans une
application industrielle ou automobile.
19/03/2015 Jalil Boukhobza 14
7
19/03/2015
Contrôleur ethernet
Fournit une interface pour l’interface ethernet de la carte
Contient un Ethernet MAC (Media Access Control) de 10
ou 100Mbit/s
Interface USB
Le contrôler USB est disponible comme périphérique,
hote ou OTG (On The Go)
Un bus à 4 files supportant la comm. Entre un hôte et
jusqu’à 127 périphériques
Permet un échange de donnée de 12Mbit/s avec un
contrôle USB de l’hôte
19/03/2015 Jalil Boukhobza 15
ADC 12 bits
Convertisseur analogique/numérique (ADC) avec 8
canaux et support DMA
Taux de conversion de 200KHz
DAC 10 bits
Convertisseur numérique/analogique
Unité de protection mémoire (MPU)
Protection des données critiques dans une application
Sépare la mémoire en plusieurs section permettant une
meilleure protection
19/03/2015 Jalil Boukhobza 16
8
19/03/2015
Nested Vectored Interrupt Controller (NVIC)
Permet une latence d’interruption réduite et une gestion
des files d’interruptions
Contrôleur Direct Access Memory (DMA)
Le DMA permet à certains périphériques d’accéder à la
mémoire sans passer par le processeur
GPDMA (General Purpose DMA) permet les transactions
périphérique/mémoire, mémoire/périphérique,
périphérique/périphérique, mémoire/mémoire
19/03/2015 Jalil Boukhobza 17
Quelques liens
mbed NXP LPC1768 Schematic
http://mbed.org/media/uploads/chris/mbed-005.1.pdf
mbed NXP LPC1768 Microcontroller Flyer
http://www.nxp.com/documents/leaflet/LPC1768.pdf
Explore the mbed platform
http://mbed.org/explore/
NXP LPC176x MCU
NXP LPC1768 Homepage
http://www.nxp.com/products/microcontrollers/cortex_m3/LPC1768FBD100.html
NXP LPC176x User Manual
http://www.nxp.com/documents/user_manual/UM10360.pdf
NXP LPC176x Data Sheet
http://www.nxp.com/documents/data_sheet/LPC1769_68_67_66_65_64_63.pdf
19/03/2015 Jalil Boukhobza 18