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 

 Re: Schnelle PWM per Timer, was geht dann nicht mehr? Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Dietmar, Homepage - 6.11.2006 8:02)
 Als Antwort auf Schnelle PWM per Timer, was geht dann nicht mehr? von Wolfgang - 5.11.2006 20:04
Dietmar nutzt:  CC1-M-Unit V1.1, Advanced CC1-Unit, Open-Micro, Open-Mini, Open-Mini M-Unit, Open-Mini Station, sonstige
Hallo Wolfgang.

Ein Beispiel für eine schnelle PWM findest Du im ZIP-Archiv mit dem Open-Control/BASIC-Compiler Version 1.0 (ocbas100.zip) auf der Infosite der OM. Im Beispielprogramm werden DTMF-Signale mittels PWM mit 25 kHz Taktfrequenz und 7 Bit Werteauflösung generiert. Die OM arbeitet dabei mit dem Standard-Bustakt von 3.2 MHz. Bei Bedarf läßt sich der Bustakt auf 8 MHz erhöhen. Dazu muß der Kontroller extern mit 32 MHz getaktet werden. Auch dazu findest Du Infos auf der OM-Infosite.

> die Hardwareseitige PWM im Controller (wie in Kapitel 14.4.4 ab seite 123 im Controler Handbuch beschieben) nutzen

Ein echtes PWM-Modul besitzen die QT4-, QY4-, QB8- und GT16-Kontroller leider nicht. Die PWM muß deshalb mittels Timer-Interface-Modul nachgebildet werden. Es gibt eine ungebufferte PWM, bei der Störungen auftreten können, wenn man den PWM-Wert unsynchronisiert ändert. Und es gibt eine gebufferte PWM, bei der beide Timerkanäle zusammengeschaltet werden, so daß ein einziges PWM-Signal an PORT[1] ausgegeben werden kann. Das Beispiel mit den DTMF-Signalen benutzt eine gebufferte PWM. Der QB8 besitzt zwei weitere Timerkanäle.

> Und was geht dann nicht mehr wenn ich einen der beiden dafür nehme.

Das kommt darauf an. Sobald Du den TIM-Clock-Source durch Beschreiben der Prescaler-Select-Bits und/oder das TIM-Counter-Modulo-Register änderst, wird der Timer-Overflow-Interrupt, in dem die interne TIMER-Variable und die Uhr hochgezählt wird, nicht mehr im 20-ms-Takt aufgerufen. TIMER, die Uhr und FREQ1 laufen dann nicht mehr wie vorgesehen. Aber bei wirklich schneller PWM wirst Du den Timer-Overflow-Interrupt wahrscheinlich ohnehin deaktivieren müssen. Die serielle Schnittstelle ist dagegen nicht Timer-abhängig. Eine sinnvolle Übersicht über alle Register des Kontrollers findest Du auch in der Definitionsdatei zum OM-Kontroller (z.B. OM.DEF).

Viele Grüße
Dietmar

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

 Antwort schreiben

Bisherige Antworten:

Re: Schnelle PWM per Timer, was geht dann nicht mehr? (von Wolfgang - 8.11.2006 12:11)