Cours:InfoEmbarqueeConcommationMicroC : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(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 datasheetAttiny841]
+
* [[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|400px]]
+
[[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 affiche un nombre aléatoire
+
#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:Attiny10.pdf|Attiny10.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}}.
+
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 :

CarteAttiny841.png

ATTINY841-pinout.jpg

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 :

  1. 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
  2. Le bouton déclenche une interruption externe permettant de sortir du mode d'économie d'énergie
  3. On allume 1 led
  4. 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
    • 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

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