Interne Taktquelle des STM32-Timers

Soweit ich weiß, kann die interne Timer-Taktquelle der STM32 (F4) -Mikrocontroller entweder APB1 oder APB2 sein. Ich kann jedoch nicht finden, welche Timer welche Uhr erhalten.

Ich habe bereits ST AN4013 gefunden , der fast alles über die Timer erklärt, aber nicht ihre jeweilige interne Taktquelle.

Weiß jemand genau, welche Uhr jeder Timer verwendet, oder hat eine Quelle dafür?

Die Timer-Mappings sind im STM32F4-Datenblatt im Blockdiagramm deutlich dargestellt.
Warum, danke, ich hatte das Gefühl, ich habe das schon einmal gesehen, aber nicht daran gedacht, in das Datenblatt zu schauen :)
Erste Anlaufstelle sollte immer das Gerätedatenblatt sein. Wenn es dort nicht zu finden ist, wird es Ihnen wahrscheinlich sagen, wo Sie suchen müssen.
Normalerweise weiß ich das, aber ich habe es einfach vergessen, weil alle programmierbezogenen Dinge im Referenzhandbuch stehen, nicht im Datenblatt.
Es ist aber nicht wirklich eine Programmiersache, oder? Die internen Verbindungen des Chips sind eine chipspezifische Sache, aber die Funktionsweise der Peripheriegeräte selbst ist eine Familiensache. Gleiche Timer in verschiedenen Chips könnten unterschiedlich verbunden werden, aber die Programmierung derselben bleibt gleich.
Überprüfen Sie immer zuerst das MCU-Referenzhandbuch (nicht zu verwechseln mit dem MCU-Datenblatt).
Und wenn Sie sich in Ihrer IDE befinden, können Sie nachschlagen, wo Sie RCC für den Timer aktivieren - es gibt separate Register für APB1 und APB2. Wenn Sie also RCC aktivieren, haben Sie bereits Ihre Antwort.
Das ist eigentlich ein guter Punkt ;-)

Antworten (2)

Die von Ihnen verlinkte Anwendungsnotiz von ST ist nur eine allgemeine Beschreibung, nicht alles. Die Hardwaredetails unterscheiden sich von jedem MCU-Modell. ANs werden Ihnen nur die Gesamtidee mitteilen. Sie müssen sich also Dokumente ansehen, die speziell für jedes MCU-Modell geschrieben wurden.

Wie in den Kommentaren erwähnt, müssen Sie sich bei der Arbeit mit Peripheriegeräten von STM32 hauptsächlich zwei Dokumente ansehen (da Sie das MCU-Modell nicht angegeben haben, gebe ich Ihnen ein Beispiel für STM32F407):

  1. Datenblatt

Es ist eine kurze Beschreibung der Hardware. Da APB1 und APB2 mit dem Bus verwandt sind, werden die gewünschten Dinge im Abschnitt Memory Map (auch bekannt als Abschnitt 4 Memory Mapping) beschrieben.

  1. Referenzhandbuch

Es ist eine sehr detaillierte (1749 Seiten!) Beschreibung der MCU. Wenn Sie sich die Timer in diesem Handbuch ansehen, werden Sie feststellen, dass es viel mehr Dinge als die AN gibt. Wie auch immer, dieses Dokument beschreibt auch die Speicherkarte. (Abschnitt 2.3)

Hinweis) Obwohl die STM32-HAL-API Hardwaredetails abstrahiert, müssen Sie dennoch wissen, welche APBs mit den von Ihnen verwendeten Timern verbunden sind. Beispielsweise teilen sich alle Peripheriegeräte gemeinsame APB-Bustakte. Das bedeutet, dass, wenn Sie eine Uhreinstellung von APB1 ändern, die Uhren aller an APB1 angeschlossenen Peripheriegeräte, einschließlich Timer, ebenfalls geändert werden. Dies kann zu unerwarteten Timing-Änderungen anderer unerwarteter Timer führen.

Zum Beispiel: MCU STM32F412 Dokument RM0090 „Speicher- und Busarchitektur“ Seite 64 Tabelle 1. STM32F4xx-Registergrenzadressen