
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
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 |