0% ont trouvé ce document utile (0 vote)
47 vues30 pages

Cours Arduino

cours

Transféré par

ضيف إسماعيل
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)
47 vues30 pages

Cours Arduino

cours

Transféré par

ضيف إسماعيل
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

Introduction

Architecture AVR
Mémoire AVR
Mémoire

Architecture des ordinateur 2


Cours 2 - Architecture microcontrôleur AVR

Halim Djerroud <[email protected]>

LIASD - Université Paris 8

Janvier 2018

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 1 / 30


Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire

Architecture de base d’un calculateur

Un calculateur est une machine de traitement de l’information


capable :
Acquérir l’information
Stocker l’information
Transformer l’information
Effectuer des traitements
Restituer sous une autre forme (Résultats)
Nous appelons information tout ensemble de données textes,
nombres, etc, mais aussi les instructions composant les
programmes. L’information est manipulée sous forme binaire.

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 2 / 30


Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire

Composants

Les deux principaux constituants un calculateur :


Mémoire (stocker l’information )
Processeur (exécuter les instructions du programme)
Entrées / Sorties Communiquer avec l’environnement

F IGURE – Architecture d’un calculateur

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 3 / 30


Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire

Notion de programme

Un programme est une suite d’instructions élémentaires


exécutées dans l’ordre par le processeur.
Les instructions d’un processeur sont appelées Jeu
d’instruction
Pour écrire un programme en langage machine, il faut
connaître les détails du fonctionnement du processeur qui
va être utilisé.

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 4 / 30


Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire

Principes de fonctionnement

F IGURE – Architecture générale d’un calculateur

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 5 / 30


Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire

Deux architectures (Harvard vs Von neumann

F IGURE – Architecture Harvard - Von neumann

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 6 / 30


Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire

Architecture RISC - CISC

RISC : Reduced instruction set computing


Consiste à déplacer les complexités majeures du hardware
vers le software
CISC : Complex Instruction Set Computer :
contraire exact de la technologie RISC

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 7 / 30


Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire

Système dans un boîtier - Sip (System in Package)

Système complet construit dans un boîtier multi-puces,


Microprocesseur (CPU)
Mémoire
Périphériques d’interface
...

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 8 / 30


Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire

Système sur une puce SoC (system on a chip)

Système complet embarqué sur une seule puce :


Microprocesseur (CPU)
Mémoire
Périphériques d’interface
...

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 9 / 30


Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire

Microcontrôleur

Soc :
Microprocesseur (CPU)
Mémoire
Périphériques d’interface
...
Exemple :
AVR
PIC
...

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 10 / 30


Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire

Circuits intégrés

F IGURE – Microcontrôleur AVR

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 11 / 30


Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire

Plateforme Arduino

F IGURE – Arduino Uno

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 12 / 30


Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire

Plateforme Arduino

Arduino est un circuit imprimé en matériel libre


Les plans de la carte elle-même sont publiés en licence
libre
Le composant principale de la carte le microcontrôleur
n’est pas en licence libre

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 13 / 30


Introduction
Architecture
Architecture AVR
Fabrication
Mémoire AVR
Plateforme Arduino
Mémoire

Pins

F IGURE – Atmega 328

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 14 / 30


Introduction
Architecture AVR
Architecture interne AVR
Mémoire AVR
Mémoire

Atmega 328

RISC
Harvard
Bus de données 8 bits
131 Instructions (16 bits)
32 Ko Flash (Programme)
2 Ko SRAM (Données)
1 Ko EEPROM (Données)
Fréquence CPU 4 Mhz / 8 Mhz /16 Mhz

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 15 / 30


Introduction
Architecture AVR
Architecture interne AVR
Mémoire AVR
Mémoire

Atmega 328

F IGURE – Atmega 328


LIASD Université Paris 8 Halim DJERROUD Janvier 2018 16 / 30
Introduction
Architecture AVR
Architecture interne AVR
Mémoire AVR
Mémoire

Atmega 328

F IGURE – Atmega 328


LIASD Université Paris 8 Halim DJERROUD Janvier 2018 17 / 30
Introduction
Architecture AVR
Architecture interne AVR
Mémoire AVR
Mémoire

Questions

Calculer le nombre d’instructions exécutées par seconde


pour le composant

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 18 / 30


Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire

Mémoire

F IGURE – Fonctionnement de la mémoire


LIASD Université Paris 8 Halim DJERROUD Janvier 2018 19 / 30
Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire

Les mémoires de l’AVR

Mémoire programme (Flash) 32 Ko


Mémoire données volatile (SRAM) 2 Ko
Mémoire de donnée persistante (EEPROM) 1Ko

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 20 / 30


Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire

Mémoire programme Flash

Pour Atmega 328 :


131 Instructions (16 bits)
32 Ko Flash (Programme)
Largeur 16 bits

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 21 / 30


Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire

Mémoire Flash

Taille 32Ko (Atmega 328)


La mémoire flash est une mémoire de masse à
semi-conducteurs ré-inscriptible
Mémoire possédant les caractéristiques d’une mémoire
vive mais dont les données ne disparaissent pas lors d’une
mise hors tension
Vitesse élevée, sa durée de vie et sa faible consommation
(Wikipedia)
Contrairement à la mémoire dynamique (DRAM), elle n’a pas
besoin de rafraîchir périodiquement son contenu.

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 22 / 30


Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire

Mémoire programme Flash

F IGURE – Mémoire programme Flash


LIASD Université Paris 8 Halim DJERROUD Janvier 2018 23 / 30
Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire

Questions

Calculer la taille du bus d’adresse pour la mémoire flash


Calculer le nombre de mots mémoire adressés
Quelle est la taille du mot mémoire

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 24 / 30


Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire

Mémoire Données SRAM

Taille 2Ko (Atmega 328)


SRAM pour l’anglais Static Random Access Memory
Utilisant des bascules pour mémoriser les données
(Wikipedia)
Contrairement à la mémoire dynamique (DRAM), elle n’a pas
besoin de rafraîchir périodiquement son contenu.

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 25 / 30


Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire

Mémoire de donnée SRAM

F IGURE – Mémoire de données

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 26 / 30


Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire

Registres généraux

F IGURE – Registres
LIASD Université Paris 8 Halim DJERROUD Janvier 2018 27 / 30
Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire

Registres généraux

F IGURE – Registres 16 bits

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 28 / 30


Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire

Questions

Calculer le nombre d’instructions exécutées par seconde


pour le composant
Calculer la taille de la mémoire de données (en Octets)
Quelle est la taille maximale que peut avoir le programme
(en Octets)

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 29 / 30


Introduction
Architecture AVR Mémoires Programme
Mémoire AVR Mémoire Donnée
Mémoire

Mémoire EEPROM

Taille 1Ko (Atmega 328)


Mémoire pour stocker les données de façon permanente
Electrically-Erasable Programmable Read-Only Memory
ou mémoire morte effaçable électriquement et
programmable

LIASD Université Paris 8 Halim DJERROUD Janvier 2018 30 / 30

Vous aimerez peut-être aussi