STM32 I2C Clock Berechnung

Gast #1777488
Lesenswert?
• ▲
▼
Hallo,


weiß jmd wie die Berechnung der I2C Frequenz beim STM32F103 
funktioniert? Bzw. wie kann ich z.B. genau 100kHz angeben?

Im Register ist nur Freq[5:0] Peripheral clock frequency angegeben

"The peripheral clock frequency must be configured using the input APB 
clock frequency (I2C peripheral connected to APB). The minimum allowed 
frequency is 2 MHz, the maximum frequency is limited by the maximum APB 
frequency (36 MHz) and an intrinsic limitation of 46 MHz."

Eine Berechnung finde ich leider im Datenblatt nicht.


Gruß
Stefan
Gast
Lesenswert?
• ▲
▼
"If FREQR = 08, TPCLK1 = 125 ns so CCR must be programmed with 0x28
(0x28 <=> 40d x 125 ns = 5000 ns.)"

das hab grad noch im Datenblatt gefunden; ist mit 8MHz die Frequenz vom 
Quarz gemeint? Und woher kommen die 5000ns?
Lesenswert?
• ▲
▼
Ich habe mir das so zuammengereimt:
1
    // Set bit rate and rise time.
2
    if (rate <= 100000) {
3
        // 1T low, 1T high
4
        info->dev->CCR = ((F_APB1/2) + rate-1) / rate;
5
        // 1000ns rise time
6
        info->dev->TRISE = F_APB1/1000000 + 1;
7
    } else {
8
        // 2T low, 1T high
9
        info->dev->CCR = ((F_APB1/3) + rate-1) / rate | I2C_CCR_FS | I2C_CCR_DUTY;
10
        // 300ns rise time
11
        info->dev->TRISE = F_APB1/3333333 + 1;
12
    }
Gast
Lesenswert?
• ▲
▼
hast du die Möglichkeit das zu messen?
Schreib einfach ein kleines programm wo du I2C initialisierst und schick 
was raus.....

so weit ich mich aber noch erinnern kann ist der Wert den du in das 
Register geschrieben hast der tatsächliche Tacktwert. Also bei 400kHz 
400000 schreiben.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.