Forum: Mikrocontroller und Digitale Elektronik I2C mit 32 KHz


von Christoph Wagner (Gast)


Lesenswert?

Kann man mit einem 32 KHz-Quarz als Clock den I2C-Bus betreiben ? (Im
Datenblatt zum MEGA8 stand, dass man den mit 100 und 400 KHz betreiben
kann) bzw. Hat der I2C-Bus einen Eigenen Oszillator ?

von Mike (Gast)


Lesenswert?

Nein.
Der Takt wird vom Oszillatortakt (intern bzw. extern) über TWBR und
TWPS abgeleitet.
Formel und weitere Angaben findet man im Datenblatt.

Wie kommt man auf die Idee, den Bus bei 32kHz betreiben zu wollen?

von Christoph Wagner (Gast)


Lesenswert?

Weil ich den µC mit 32KHz betreiben will (Stromsparen) und mehr Speicher
brauche (8KB I²C EEPROM).

Dürfte es stattdessen mit 1MHz internen Oszillator funktionieren ?

von Sebastian (Gast)


Lesenswert?

bin mir nicht ganz sicher aber ich glaube was davon gesehen zu haben das
die sysclock mindestens 4 mal schneller sein muß als der takt von i2c...
vielleicht war es auch 16 mal so schnell... keine ahnung aber steht
irgendwo

von Ratber (Gast)


Lesenswert?

@Christoph Wagner

Zu deiner Frage ist zu sagen das es beim I2C-Bustakt nur Ober- aber
keine Untergrenzen gibt.

Notfalls kannst du den Bus "Manuell" im Monatstakt mit jeweils einem
Takt beschicken und dennoch läuft alles.


Du kannst also deinen Controller so langsam takten wie es dir gefällt
und natürlich soweit er noch einwandfrei funktioniert.

In deiner Kalkulation muß nur berücksichtigt werden das einige
komplexere I2C-Slaves intern getaktet werden und einen Mindestbustakt
benötigen.

Für die Einfachen Bausteine wie PCF8574 usw. ,die nur Bustaktabhängig
gesteuert werden ist das aber unerheblich.


Was Sebastians Zweifel angeht :

Natürlich wird der I2C-Takt aus dem Systemtakt gewonnen und im
Bitratengenerator über das Bitrateregister (TWBR) eingestellt damit man
bei unterschiedlichen Controllertakten auch immer den gewünschten
I2C-Takt bekommt.

Alles Wichtige ist aber im Datenblatt zum Mega8 ab Seite 159
aufgeführt.

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.