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 #1777504
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?
#1777515
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 #1777516
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

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.