Pic32MX I2C 400kHz Fast Mode

OP #3771585
Lesenswert?
• ▲
▼
Hallo,

ich versuche eine RTC an einem PIC32MX795 ans laufen zu bekommen.
Mit 100kHz arbeitet alles wunderbar. Wenn ich aber den Bus mit 400kHz 
fahren will funktioniert es nicht mehr.
Die RTC kann laut Spec. 400kHz Fast Mode.

Meine Init Funktion für den Bus:

void init_i2c_2(int peripheral_clock)
{
    I2CConfigure(I2C_BUS, I2C_ENABLE_HIGH_SPEED);
    I2CSetFrequency(I2C_BUS, peripheral_clock, I2C_CLOCK_FREQ);
    I2CEnable(I2C_BUS, true);
}

peripheral_clock = 40MHz
I2C_CLOCK_FREQ = 400kHz

Ich habe es auch ohne das setzen des Bits "I2C_ENABLE_HIGH_SPEED" 
versucht, hat aber nichts gebracht.

Das Oszi zeigt mir eine Clock Flanke, danach passiert nichts mehr. Ich 
schätze mal das die RTC sich nicht regt.

Hat jemand eine Idee?

Ralf
#3781345
Lesenswert?
• ▲
▼
Klaus schrieb:
> Ralf Herms schrieb:
>> Das Oszi zeigt mir eine Clock Flanke, danach passiert nichts mehr. Ich
>> schätze mal das die RTC sich nicht regt.
>
> Der Master schlägt den Takt, d.h. die Clock muß kommen egal was der
> Slave macht, selbst wenn er gar nicht da ist.
>
> MfG Klaus

Naja, fast. Dank Clock-Streching kann ein schlecht implementierter Slave 
allerdings den Pegel auf Low halten und somit erscheint keine weitere 
Flanke.

Das Problem aus meiner Sicht ist nur, wenn wirklich nur eine Flanke 
kommt, dann ist zu dem Zeitpunkt nicht relevant ob 100 oder 400kHz 
verwendet werden, die Flanken sind immer gleich steil.

Der gewählte PIC hat ein recht ausführliches Errata-Sheet, wo auch 
einige Sachen bezüglich I²C vorkommen. Eventuell liegt der Fehler hier.

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.