AVR ATtiny: ist ein resume from idle ohne Interrupt möglich?

Gast #3205458
Lesenswert?
• ▲
▼
Hallo zusammen,

ich möchte meinen AVR ATtiny24A möglichst schnell auf eine fallende 
Flanke eines Eingangssignals reagieren lassen. Dieses kann allerdings 
mit bis zu 1MHz takten. Da der ATtiny24 nur mit 16MHz läuft stehen also 
nur 16 Takte zur Verfügung. 5 Takte davon gehen schon für die 
eigentliche Reaktion drauf. Es bleiben also 11 Takte zur Erkennung der 
Flanke.

Bisher läuft der AVR in einer Programmschleife und pollt kontinuierlich 
den Pin. Aufgrund des nötigen Rücksprungbefehls (SPIS, JMP) lässt sich 
der Pin aber nur alle 3 Prozessortakte lesen. Die Reaktionszeit des AVR 
variiert daher um 3 Takte was mit nicht passt.

Um die Reaktionszeit konstant kurz zu halten, dachte ich es könnte 
hilfreich sein, den Idle-Mode zu nutzen. Allerdings muss höchstens 7 
Takte nach der Flanke das Ausgangssignal erzeugt werden, besser kürzer.
Nun suche ich mir im Datenblatt die Augen wund und finde keinen Weg ohne 
den Sprung zu einem Interruptvaktor das Programm nach einem Sleep-Befehl 
fortlaufen zu lassen. Bevor ich meinen Plan mit dem interruptfreien 
sleep allerdings über den Haufen werfe wollte ich sicherheitshalber noch 
einmal nachgefragt haben. Vielleicht kennt ja jemand einen kleinen hack.

Vielen Dank
Gast #3206005
Lesenswert?
• ▲
▼
Richard P. aus W. schrieb:

> Bisher läuft der AVR in einer Programmschleife und pollt kontinuierlich
> den Pin. Aufgrund des nötigen Rücksprungbefehls (SPIS, JMP) lässt sich
> der Pin aber nur alle 3 Prozessortakte lesen. Die Reaktionszeit des AVR
> variiert daher um 3 Takte was mit nicht passt.

Wenn man eine allgemeine Erhöhung der Reaktionszeit in Kauf nimmt, kann 
man eine konstante Reaktionszeit erreichen.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.