Forum: Mikrocontroller und Digitale Elektronik (minimale) AVR Frequenz für TWI / I2C


von Fer T. (fer_t)


Lesenswert?

Hallo,
Ich habe wieder mal eine Frage zum I²C Bus  TWI  USI.
Und zwar habe ich einen Tiny261A welcher später als Master laufen soll, 
hier ist auch schon meine erste Frage:
Wie hoch muss die Frequenz mindestens sein für I²C?
Es geht darum, dass ich einen I²C Slave habe (RTC) mit einem 32Khz Quarz 
der mir den Takt als Clock-out liefern kann.
Ich denke aber nicht dass das reicht für den uC oder?
Alternativ kann ich auch den 128Khz internen nehmen.

Ich habe im Datenblatt nur lesen können das die Frequenz für den Bus = 
Fck / 2 ist.
Fck konnte ich aber nicht finden und tippe mal auf die "Main-Frenquenz".
Dann bräuchte ich aber mindestens 200 khz um wenigstens den normalen 
Modus nutzen zu können, oder?

Also die Geschwindigkeit ist mir eigentlich nicht so wichtig, der I²C 
muss nicht unbedingt schnell sein und der uC muss neben dem Auslesen 
auch nur sehr kleine Additionsrechnung und wenige If-Abfragen 
durchführen (am ende dann Ports schalten).

So also alles in allem die Frage: Kann ich die 32Khz oder 128 Khz nehmen 
oder brauche ich einen externen Quarz? (wegen Stromverbrauch geht der 
8Mhz interne nicht).

DANKE

von Peter D. (peda)


Lesenswert?

Der I2C hat keine untere Frequenz. Du kannst mit 1Hz takten, wenns Dir 
Spaß macht.


Fer T. schrieb:
> (wegen Stromverbrauch geht der
> 8Mhz interne nicht).

Meine Erfahrung ist, schnell takten und dafür in den Pausen Power-Down 
braucht weniger Strom, als langsam takten.


Peter

von Fer T. (fer_t)


Lesenswert?

Peter Dannegger schrieb:
> Der I2C hat keine untere Frequenz. Du kannst mit 1Hz takten, wenns Dir
> Spaß macht.

Ah gut zu wissen, wieder was gelernt, dachte man müsste 100 oder 400 
Khz...
Aber das macht Sinn ;).


> Meine Erfahrung ist, schnell takten und dafür in den Pausen Power-Down
> braucht weniger Strom, als langsam takten.

Ja schon, aber der uC ist eigentlich fast immer am schlafen, nur halt in 
bestimmten Zeiträumen nicht, aber die "Aktivphasen" haben eine 
vorgegebene Länge, also macht eine höhere Geschwindigkeit immer auch 
mehr Verbrauch aus.

Auf jeden Fall ist meine Frage jetzt geklärt, das bedeutet: Ich kann den 
Internen 128 Khz nehmen (rund 60Khz I²C sollten reichen).
MfG,
fer

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.