Cours:InfoEmbarqueeConcommationMicroC : Différence entre versions
(→support utilisé) |
(→Ressources) |
||
(14 révisions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
+ | [[Media:Systèmes_embarqués_1.pdf]] | ||
+ | |||
+ | https://descartes.net/package_drazzy.com_index.json | ||
+ | |||
=Attiny841= | =Attiny841= | ||
− | * [https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-8495-8-bit-AVR-Microcontrollers-ATtiny441-ATtiny841_Datasheet.pdf | + | * [[Media:Attiny841.pdf|https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-8495-8-bit-AVR-Microcontrollers-ATtiny441-ATtiny841_Datasheet.pdf]] |
==support utilisé== | ==support utilisé== | ||
Voici le schéma de la carte que vous utiliserez : | Voici le schéma de la carte que vous utiliserez : | ||
− | [[Fichier:CarteAttiny841.png| | + | [[Fichier:CarteAttiny841.png|800px]] |
− | [[Fichier:ATTINY841-pinout.jpg]] | + | [[Fichier:ATTINY841-pinout.jpg|800px]] |
==Sleep modes== | ==Sleep modes== | ||
Ligne 16 : | Ligne 20 : | ||
#On place le µcontrôleur dans le mode d'économie d'énergie choisi -> le programme s'arrête et il faut un événement pour sortir de ce mode faible consommation | #On place le µcontrôleur dans le mode d'économie d'énergie choisi -> le programme s'arrête et il faut un événement pour sortir de ce mode faible consommation | ||
#Le bouton déclenche une interruption externe permettant de sortir du mode d'économie d'énergie | #Le bouton déclenche une interruption externe permettant de sortir du mode d'économie d'énergie | ||
− | #On | + | #On allume 1 led |
− | #Retour au mode faible consommation après quelques secondes | + | #Retour au mode faible consommation après quelques secondes, en prenant soin d'éteindre la led |
Vous vous servirez des fonctions disponibles [http://www.nongnu.org/avr-libc/user-manual/group__avr__sleep.html dans le fichier {{Rouge|avr/sleep.h}}] pour passer en économie d'énergie. | Vous vous servirez des fonctions disponibles [http://www.nongnu.org/avr-libc/user-manual/group__avr__sleep.html dans le fichier {{Rouge|avr/sleep.h}}] pour passer en économie d'énergie. | ||
− | Les différents modes sont détaillés [[media: | + | Les différents modes sont détaillés [[media:Attiny841.pdf|Attiny841.pdf]] dans la partie 7. Le tableau donne la correspondance entre le mode de consommation et la valeur à utiliser dans les fonctions du fichier {{Rouge|avr/sleep.h}}. |
{| class="wikitable" | {| class="wikitable" | ||
Ligne 47 : | Ligne 51 : | ||
***loop_until_bit_is_set | ***loop_until_bit_is_set | ||
**PORT(A/B/C..) : modifier les sorties | **PORT(A/B/C..) : modifier les sorties | ||
+ | *générer le fichier lss | ||
+ | avr-objdump -S Blink.cpp.elf | ||
+ | |||
+ | =Travail à réaliser= | ||
+ | |||
+ | clock source partie 6 | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Fréquence || Fmax || Fmax || 8MHz || 1MHz || 1MHz || 32kHz || 32kHz | ||
+ | |- | ||
+ | ! Tension || 5V || Umin || 5V || 5V || 3,3V || 3,3V || 1,7V | ||
+ | |- | ||
+ | ! Consommation || || || || || || || | ||
+ | |} | ||
+ | |||
+ | =Bilan= | ||
+ | |||
+ | *Influence de Ualim | ||
+ | **consommation statique/dynamique (commutation) | ||
+ | **Fmax | ||
+ | *Influence de Fcpu | ||
+ | **consommation statique/dynamique (commutation) | ||
+ | **Umini |
Version actuelle datée du 23 septembre 2024 à 16:54
Media:Systèmes_embarqués_1.pdf
https://descartes.net/package_drazzy.com_index.json
Attiny841
support utilisé
Voici le schéma de la carte que vous utiliserez :
Sleep modes
Afin de limiter la consommation de la carte, nous allons utiliser les modes d'économie d'énergie disponibles sur le µcontrôleur utilisé.
Le principe sera le suivant :
- On place le µcontrôleur dans le mode d'économie d'énergie choisi -> le programme s'arrête et il faut un événement pour sortir de ce mode faible consommation
- Le bouton déclenche une interruption externe permettant de sortir du mode d'économie d'énergie
- On allume 1 led
- Retour au mode faible consommation après quelques secondes, en prenant soin d'éteindre la led
Vous vous servirez des fonctions disponibles dans le fichier avr/sleep.h pour passer en économie d'énergie.
Les différents modes sont détaillés Attiny841.pdf dans la partie 7. Le tableau donne la correspondance entre le mode de consommation et la valeur à utiliser dans les fonctions du fichier avr/sleep.h.
Sleep Mode | valeur programme c |
---|---|
idle | SLEEP_MODE_IDLE |
ADC Noise Reduction | SLEEP_MODE_ADC |
Standby | SLEEP_MODE_PWR_DOWN |
Power-Down | SLEEP_MODE_STANDBY |
Ressources
- Registres utiles
- DDR(A/B/C..) : direction
- 1 -> sortie
- 0 -> entrée
- PIN(A/B/C..) : état des entrées
- #include <util/sfr_defs.h>
- if bit_is_set(PINA,PA0) ... (bit_is_clear)
- loop_until_bit_is_set
- PORT(A/B/C..) : modifier les sorties
- DDR(A/B/C..) : direction
- générer le fichier lss
avr-objdump -S Blink.cpp.elf
Travail à réaliser
clock source partie 6
Fréquence | Fmax | Fmax | 8MHz | 1MHz | 1MHz | 32kHz | 32kHz |
---|---|---|---|---|---|---|---|
Tension | 5V | Umin | 5V | 5V | 3,3V | 3,3V | 1,7V |
Consommation |
Bilan
- Influence de Ualim
- consommation statique/dynamique (commutation)
- Fmax
- Influence de Fcpu
- consommation statique/dynamique (commutation)
- Umini