Go Down

Topic: bootloader sur Atmega328 avec un cristal 32.768KHz (Read 1 time) previous topic - next topic

Olivier bergeron

Bonjour à tous,
Je travaille sur un projet dans lequel une faible consommation d'énergie est nécessaire. Je compte bien sure utiliser les différents mode d'économie d'énergie comme le power- down, mais j'aimerais aussi fonctionner sur un clock relativement lent puisque mon projet ne nécessite pas une grande vitesse. J'ai pensé utiliser un cristal de 32.768 KHz. Croyez vous qu'il est possible de programmer ma puce et même de mettre le bootloader si le cristal n'est pas conforme au standard Arduino (8MHz ou 16MHz)?

Merci beaucoup!

Olivier

Jean-François

#1
Sep 03, 2010, 06:36 pm Last Edit: Sep 03, 2010, 06:39 pm by jfs Reason: 1
Tu peux mettre un quartz qui travaille plus lentement, mais ton arduino sera plus lent avec un ration qui correspond à la différence de la fréquence du quartz que tu vas utiliser et celui qui devrait normalement être dessus (8-16MHz).

Pour une utilisation d'horloge, j'avais garder le quartz interne (8MHz) ainsi j'avais garder les timing juste en le programmant comme une Nano (d'après mes souvenirs) et le quartz était lu par un diviseur qui me donnait deux impulsions à la seconde.... que je récupérait sur l'Arduino pour faire des interruptions ...... suis pas sur d'avoir été très clair  :-?
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

fdufnews

#2
Sep 03, 2010, 10:01 pm Last Edit: Sep 03, 2010, 10:04 pm by fdufnews Reason: 1
Quote
j'aimerais aussi fonctionner sur un clock relativement lent puisque mon projet ne nécessite pas une grande vitesse.

Oui mais là tu seras quand même presque 500 fois plus lent.
Le chargement de code par la liaison série risque de poser quelques problèmes.
Le temps de réaction du programme sera très très faible. Par exemple la temporisation au démarrage du bootloader qui normalement dure quelques secondes durera dans ce cas plusieurs minutes.

Olivier bergeron

Merci à vous deux pour les réponses. C'est en fait le chargement de programme au micro-contrôleur par sériel qui me fait peur... Pour ce qui est du temps du démarrage pour bootloader cela ne pose pas vraiment problème. Croyez-vous qu'il est possible d'utiliser l'oscillateur interne du Atmega uniquement pour le temps de la programmation et d'ensuite passer au cristal externe de 32.768 KHz. Jean-François, vous semblez avoir fait des tests avec plusieurs vitesses de clock, avez vous rencontré des incompatibilités en programmant avec un clock trop lent?    Si la lenteur du 32.768 KHz  pose problème, y à t-il une vitesse de clock qui soit plus raisonnable et dont quelqu'un à déjà fait l'expérience?
Si j'ai bien compris, Jean-François, vous utilisiez le clock interne de 8MHz et ce même en programmant?  L'ensemble de mon questionnement peut en faite se traduire ainsi: Le bootloader Arduino est-il uniquement conçu pour des uC de 8 et 16 MHz?  La puce ne pose pas vraiment de problème puisque la datasheet assure un fonctionnement entre 0 et 20Mhz.

Merci!

fdufnews

Pour consommer peu et rester réactif pendant les phases actives il est peut être préférable d'envisager l'utilisation du mode power-down. Dans ce mode la consommation est vraiment très basse (quelques µA) et au moins quand le processeur est réveillé il fonctionne avec des performances nominale (en particulier pendant le boot et le chargement.

En fait cela dépend beaucoup de ce que tu veux faire. Il faut évaluer les périodes d'activité et les périodes de veille. Si les périodes de veille sont beaucoup plus longues que les périodes d'activité le mode power-down peut être très rentable.

Jean-François

le sujet que j'avais fait lors de mes expériences avec mes quartz différents :

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1224194680
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Go Up