Vous êtes sur la page 1sur 6

Faculté de technologie Master – Electronique des

Département Ingénierie des systèmes systèmes embarqués S3


électriques
Dr. KAOUANE Mohamed Module : Systèmes Embarqués 2021/2022

Cours 03 : Les entrées/sorties numériques et analogiques

1. Broches du microcontrôleur
Habituellement, les microcontrôleurs ont différents types de broches d'entrée/sortie que nous
appelons également broches d'E/S (ou I/O pins). Ces broches sont généralement de types
d'entrée, de sortie et de communication.

Dans ce cours, nous allons comprendre les opérations d'E/S de base des broches appelées
entrée numérique, sortie numérique, entrée analogique (ADC) et sortie analogique
(PWM/DAC).

I.1. Identification des différents ports

• Power pins (ex : Vin, 5v, 3.3v, GND)


• Reset pin
• GPIO (General Purpose Input/Output) or Digital I/O pins
• Analog Inputs (built-in ADC) Entrées analogiques (ADC embarqué)
• PWM Outputs (pulse width modulation) Sorties MLI (Modulation de largeur d’impulsion)

• I2C Inter-integrated circuit Circuit inter-intégré


• SCL (Serial Clock) Horloge série
• SDA (Serial Data) Données série

• Serial Peripheral Interface (SPI) Interface de périphérique série


• SCK or SCLK (Serial Clock) Horloge série
• MOSI (Master Output, Slave Input) Généré par le maître
• MISO (Master Input, Slave Output) Généré par l’esclave
• SS (Slave Select)

• UART Universal asynchronous receiver/transmitter (Tx/Rx)


Récepteur/émetteur asynchrone universel
• USART Universal synchronous & asynchronous receiver/transmitter (Tx/Rx)
Récepteur/émetteur synchrone & asynchrone universel
• ICSP In-Circuit Serial Programming
Programmation série In-Circuit
Notez que certaines broches peuvent être numériques, analogiques ou utilisées pour la
communication, mais ne peuvent être configurées que pour effectuer une seule fonction.
I.2. Exemple PIC18F876A

Les broches de ce microcontrôleur sont représentées sur la figure suivante ;

Brochage du PIC 16f876A

Spécifications de la puce
I.3. Raspberry PI Pico

Brochage RP PI Pico

Spécifications de la carte
2. Les entrées/sorties numériques
Dans la figure brochage du PIC (PIC16F876A), nous pouvons voir les broches (RA, RB, RC). Ce
sont des broches qui peuvent être utiliser comme entrées ou sorties numériques.

Pour la carte RP PI Pico les entrées sorties numériques sont notées GP (General Pin)

Exemple d’entrée : Boutons (poussoir ou interrupteur) ou bien des capteurs tout ou rien (TOR)
Exemple de sorties : LEDs, Relais, Circuit de commande…

Dans ces ports E/S on peut lire (ou écrire) soit 0 ou 1 logique

0v correspond à 0 logique
5v (ou 3v3) correspond à 1 logique

Les ports numériques ne peuvent pas lire les valeurs entre 0 et VDD (généralement les tensions
inférieures à VDD/2 sont comptées comme 0 et les entrées supérieures à VDD/2 comme 1)

➢ Dans les compilateurs de Microchip Technology, l’instruction TRISB=0 signifie que le


port B est configuré comme sortie.
➢ TRISA=255 signifie que le port A est configuré comme entrée.
➢ L’instruction PORTB=255 (en décimal) signifie que le port B est en état haut 5v (1).

TRIS : pour configurer le sens (entrée ou sortie)


PORT : pour donner l’état à la sortie 0 ou 1

➢ Dans le compilateur Thonny (MicroPython) l’instruction LED1 = Pin(2,Pin.OUT)


signifie que GP2 (Pin 4 sur la carte RP PI Pico) est configuré comme sortie et nommé
LED1.
➢ LED1.value(1) signifie que GP2 (LED1) est en état haut 3v3 (1).

3. Les entrées/sorties analogiques


3.1. Les entrées analogiques

Les entrées analogiques (AN0 à AN4 dans l’exemple 16F876A) sont des broches différentes aux
broches numériques.

Les microcontrôleurs possédants des ADC (Analog Digital Converter) peuvent lire les tensions
comprises entre 0v et VDD (5v ou 3v 3) qui sont considérées comme signaux analogiques.

Il existe des capteurs qui peuvent mesurer une large gamme de paramètres (la température, la
lumière, l'accélération, la pression, la proximité, etc.).
Par conséquent, les capteurs fournissent généralement des données analogiques sous forme de
tension et la plupart du temps, ces données sont ensuite transformées en données numériques.
Un capteur analogique 5V peut produire 0,01V ou 4,99 V ou quoi que ce soit entre les deux.

Les données des capteurs peuvent être analysées par le cerveau d'un (CPU). Mais le CPU ne peut
comprendre que les informations numériques. Par conséquent, il est nécessaire d'avoir un
convertisseur analogique-numérique (ADC) comme interface entre les données du capteur et le
CPU pour transformer les informations analogiques en informations numériques.

Les ADC peuvent varier considérablement entre les microcontrôleurs. L'ADC 10 bits (10-bit
ADC) signifie qu'il a la capacité de détecter 1024 (2^10) niveaux analogiques discrets.

Certains microcontrôleurs ont des ADC 8 bits (2^8=256 niveaux discrets) et certains ont des
ADC 16 bits (2^16=65 536 niveaux discrets).

Exemples :
Pour un microcontrôleur possédant une ADC 10bits
5v signifie que tous les bits sont au niveau haut (11111 11111)2 = 1023
- Convertir les tensions suivantes en mots numériques : 1v, 3v, 4v

➢ Dans les compilateurs de Microchip Technology, l’instruction capteur = ADC_Read(2)


permet de lire la valeur analogique sur la broche (AN2) et de la charger en numérique
dans la variable « capteur ».

➢ Dans le compilateur Thonny (MicroPython) l’instruction Value = machine.ADC(28)


signifié que (GP28 / ADC2) est configuré comme entrée analogique et nommé Value.
➢ L’instruction reading = Value.read_u16() permet de lire la valeur analogique sur GP28
par l’ADC 16bits et la stocker dans la variable numérique « reading »

3.2. Les sorties PWM

Pulse Width Modulation (PWM), en Français : Modulation de largeur d'impulsion (MLI)

L’appellation ‘sortie analogique’ d’un microcontrôleur est utilisée couramment pour les sorties
PWM. Mais en réalité ces signaux PWM sont de forme high-low (On-Off) et donc ce sont les
valeurs moyennes de ces signaux qui sont analogiques.

La technique PWM est couramment utilisée pour contrôler la puissance moyenne délivrée à
une charge, pour contrôler la vitesse d’un moteur, pour générer des niveaux de tension
analogiques et pour générer des formes d'onde analogiques.

Les filtres passe-bas sont utilisés pour convertir la sortie PWM en tension continue.
Duty Cycle ou le rapport cyclique (noté D, α ou DC): c’est le rapport entre le temps du niveau
haut TON sur la période T (compris entre 0 et 100%)

𝑇𝑜𝑛
𝛼= × 100
𝑇

La relation entre la tension de sortie moyenne et le rapport cyclique (duty cycle) est donnée
par :

𝑉𝑚𝑜𝑦 = 𝛼 × 𝑉𝑚𝑎𝑥

➢ Dans les compilateurs de Microchip Technology, les instructions :


PWM1_Init(20000);
PWM1_Start();
PWM1_Set_Duty(127);
Permettent de générer un signal PWM de fréquence 20khz et de rapport cyclique 50% (127
en numérique) sur la broche CCP1 (PWM1).

Note : Il existe des microcontrôleurs qui possèdent un DAC (digital analog converter)
embarqué à l’intérieur, donc ils ont la capacité de générer des tensions analogiques.

Vous aimerez peut-être aussi