Forum: Mikrocontroller und Digitale Elektronik Mega168 als I2C-Slave - SLEEP-Mode?


von Joern DK7JB .. (moin)


Lesenswert?

Hallo,
ich frage mich, ob ein ATMEGA168, der als I2C-Slave betrieben wird, auch 
in einen der Sleep Modes gehen kann, ohne dass er es verpasst, wenn er 
über den I2C-Bus angesprochen wird. Was passiert, wenn über den Bus 
andere I2C-Slaves angesprochen werden (natürlich mit anderen Adressen 
;-) ) ?
Muss die Aufwachzeit irgendwie berücksichtigt werden oder sollte man 
noch etwas anderes beachten?
Irgendwie bin ich hier aus dem Datenblatt nicht schlau geworden.

Warum diese Fragen: In einer HF-Schaltung muss ein Baustein per SPI 
angesprochen werden. Der Mikrocontroller soll aber die meiste Zeit 
schlafen, damit er weniger Störungen verursachen kann 
(Vorsichtsmaßnahme).

Ich verwende einen ATMEGA168 mit dem internen 8MHz Takt und dem 
Hardware-I2C.

Dann hätte ich gleich noch eine zweite Frage: Was ist, wenn ein sehr 
langsam getakteter ATMEGA als I2C-Slave an einem sonst sehr schnellen 
I2C-Bus hängt. Bremst er dann die anderen I2C-Slaves alle aus oder nur, 
wenn er selbst angesprochen wird?

Grüße Jörn

von Hendrik L. (lbd)


Lesenswert?

Joern B. schrieb:
> Hallo,
> ich frage mich, ob ein ATMEGA168, der als I2C-Slave betrieben wird, auch
> in einen der Sleep Modes gehen kann, ohne dass er es verpasst, wenn er
> über den I2C-Bus angesprochen wird. Was passiert, wenn über den Bus
> andere I2C-Slaves angesprochen werden (natürlich mit anderen Adressen
> ;-) ) ?
> Muss die Aufwachzeit irgendwie berücksichtigt werden oder sollte man
> noch etwas anderes beachten?
> Irgendwie bin ich hier aus dem Datenblatt nicht schlau geworden.
>
> Warum diese Fragen: In einer HF-Schaltung muss ein Baustein per SPI
> angesprochen werden. Der Mikrocontroller soll aber die meiste Zeit
> schlafen, damit er weniger Störungen verursachen kann
> (Vorsichtsmaßnahme).
>
> Ich verwende einen ATMEGA168 mit dem internen 8MHz Takt und dem
> Hardware-I2C.
>
> Dann hätte ich gleich noch eine zweite Frage: Was ist, wenn ein sehr
> langsam getakteter ATMEGA als I2C-Slave an einem sonst sehr schnellen
> I2C-Bus hängt. Bremst er dann die anderen I2C-Slaves alle aus oder nur,
> wenn er selbst angesprochen wird?
>
> Grüße Jörn

Hallo Jörn,

wenn der Master überhaupt Clock Stretching beherrscht, dann bestimmt der 
einzelne Slave die Geschwindigkeit seiner Übertragung!

http://de.wikipedia.org/wiki/I%C2%B2C#Takt_und_Zust.C3.A4nde_des_Busses

Gruss

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.