Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Timer/PWM-Module (TPM) der Open-Maxi auf Deutsch erklärt Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Dietmar, Homepage - 8.06.2022 21:12)
Dietmar nutzt:  Open-Micro, Open-Mini, Open-Midi, Open-Macro, Open-Maxi, Open-Mini Station
Hallo zusammen,

die Open-Maxi besitzt unter anderem zwei unabhĂ€ngige Timer/PWM (TPM)-Module. Ich habe einige Passagen aus dem Manual MC9S08AW60.pdf zum AW60-Controller entnommen und ins Deutsche ĂŒbersetzt, um diese nĂŒtzlichen Module zu dokumentieren. Es gibt auch eine Liste, in der beschrieben wurde, welche Timer-Module und deren KanĂ€le fĂŒr welche Pins der Open-Maxi zustĂ€ndig sind. Auch ein paar Beispielprogramme aus unserem Forum habe ich in diesem Beitrag verlinkt.

Kapitel 10 Timer/PWM (S08TPMV2)

EinfĂŒhrung:

Die MC9S08AW60-Serie umfaßt zwei unabhĂ€ngige Timer/PWM (TPM)-Module, die herkömmliche Eingangserfassung ("input capture"), Ausgangsvergleich ("output compare") oder gepufferte flankenorientierte Pulsweitenmodulation (PWM) ("buffered edge-aligned pulse-width modulation") fĂŒr jeden Kanal unterstĂŒtzen. Ein Steuerbit in jedem TPM konfiguriert alle KanĂ€le in diesem Zeitgeber so, daß sie als mittig ausgerichtet arbeitende PWM-Funktionen ("center-aligned PWM") arbeiten. In jedem dieser beiden TPMs basieren die Timing-Funktionen auf einem separaten 16-Bit-ZĂ€hler mit Prescaler- und Modulo-Funktionen zur Steuerung von Frequenz und Bereich (Zeitraum zwischen ÜberlĂ€ufen).

Übersicht der Merkmale:

Das Zeitgebersystem in der MC9S08AW60-Serie umfaßt ein 6-Kanal-TPM1 und ein separates 2-Kanal TPM2. Zu den Funktionen des Timer-Systems gehören:

* Insgesamt acht KanÀle:
  - Jeder Kanal kann Eingangserfassung ("input capture"), Ausgangsvergleich ("output compare") oder gepufferte flankenausgerichtete PWM ("buffered edge-aligned PWM") sein
  - Eingangserfassungstrigger mit steigender Flanke ("rising-edge"), fallender Flanke ("falling-edge") oder beliebiger Flanke ("any-edge")
  - Ausgangsvergleichsaktion zum Setzen ("set"), löschen ("clear") oder umschalten ("toggle")
  - WĂ€hlbare PolaritĂ€t an allen PWM-AusgĂ€ngen
* Jedes TPM kann auf allen KanĂ€len fĂŒr gepufferte, mittenausgerichtete Pulsweitenmodulation (CPWM) ("center-aligned pulse-width modulation") konfiguriert werden
* Taktquelle zum Vorteiler fĂŒr jedes TPM ist unabhĂ€ngig als Bustakt wĂ€hlbar, feste System-Uhr ("fixed system clock") oder ein externer Pin:
  - Vorskalieren von Abgriffen ("prescale taps") zum Teilen durch 1, 2, 4, 8, 16, 32, 64 oder 128
  - Externe TakteingĂ€nge TPM1CLK fĂŒr TPM1 und TPM2CLK fĂŒr TPM2
* 16-Bit-Freilauf- oder AufwÀrts-/AbwÀrts- (CPWM) ZÀhloperation
* 16-Bit-Moduloregister zur Steuerung des ZĂ€hlerbereichs
* Aktivierung des Zeitgebersystems
* Ein Interrupt pro Kanal plus ein Terminal-Count-Interrupt fĂŒr jedes TPM-Modul

Welche Timer-Module und deren KanĂ€le sind fĂŒr welche Pins der Open-Maxi zustĂ€ndig?

 Pin      | Bezeichnung im AW60-Controller           | Modus
----------+------------------------------------------+------------------
 PORT[35] | Timer/PWM-Module 1 - Channel 0 (TPM1CH0) | nicht aktiv
 PORT[36] | Timer/PWM-Module 1 - Channel 1 (TPM1CH1) | nicht aktiv
 BEEP     | Timer/PWM-Module 1 - Channel 2 (TPM1CH2) | Output Compare
 TEST     | Timer/PWM-Module 1 - Channel 3 (TPM1CH3) | Output Compare
 FREQ1    | Timer/PWM-Module 1 - Channel 4 (TPM1CH4) | Input Capture
 FREQ2    | Timer/PWM-Module 1 - Channel 5 (TPM1CH5) | Input Capture
 DA[1]    | Timer/PWM-Module 2 - Channel 0 (TPM2CH0) | Edge-Aligned PWM
 DA[2]    | Timer/PWM-Module 2 - Channel 1 (TPM2CH1) | Edge-Aligned PWM

Dazu einige Beispielprogramme aus unserem Forum:

Demoprogramm: Timer/PWM-Module fĂŒr 8 Servo-Ports umkonfigurieren (PWM)
http://ccintern.dharlos.de/forum/lesen.php?eintrag=16799

Demoprogramm: Beispielkonfiguration einer Pulsweitenmodulation (PWM)
http://ccintern.dharlos.de/forum/lesen.php?eintrag=16809

Demoprogramm: Entfernung per Ultraschall-Modul HC-SR04 ermitteln (per "input capture")
http://ccintern.dharlos.de/forum/lesen.php?eintrag=16907

Periodendauer eines Rechtecksignals am FREQ1-Pin ermitteln (per "input capture")
http://ccintern.dharlos.de/forum/lesen.php?eintrag=16747

Periodendauer eines sehr langsamen Rechtecksignals ermitteln (per "input capture")
http://ccintern.dharlos.de/forum/lesen.php?eintrag=16748

Rechtecksignale per Interrupt auf den kleinsten OM-Controllern generieren (per "output compare")
http://ccintern.dharlos.de/forum/lesen.php?eintrag=12112

Assemblerkurs fĂŒr die OM-Mikrocontroller - Teil 2 (per "timer overflow")
http://ccintern.dharlos.de/forum/lesen.php?eintrag=16646

Viel Spaß und Erfolg mit den OM-Mikrocontrollern!

Dietmar

Passender Link: Offizielle Infosite zu den OM-Mikrocontrollern

Meine Homepage: http://ccintern.dharlos.de

 Antwort schreiben

Bisherige Antworten:

Demoprogramm: "TPM1 Channel 0"-Interrupt (TPM1CH0) nutzen (von Dietmar - 11.06.2022 2:53)
    Demoprogramm: "TPM1 Channel 0"-Interrupt (TPM1CH0) nutzen - Single Shot (von Dietmar - 11.06.2022 2:55)
Demoprogramm: Assembler-Interruptroutine im BEEP-Interrupt (von Dietmar - 11.06.2022 2:50)
    Demoprogramm: Assembler-Interruptroutine im BEEP-Interrupt in 32 Bit (von Dietmar - 11.06.2022 2:52)