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: Verschiedene PWM-Verfahren Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Bremus - 4.02.2007 22:48)
 Als Antwort auf Verschiedene PWM-Verfahren von Dietmar - 3.02.2007 16:27
Bremus nutzt:  CC1-M-Unit V1.2/2.0, Open-Micro
> Hallo Georg.
>
> > Hat denn die C-Micro schon so ein Pausebefehl drin oder hat die einen Puffer.
>
> Wie gesagt, besitzen die 68HC08-Kontroller kein PWM-Modul, sondern die PWM muß per Timer-Modul nachgebildet werden. Die verschiedenen Realisierungsmöglichkeiten haben alle ihre Vor- und Nachteile.
>
> Das von René verwendete Verfahren wird von Freescale in einer Application Note demonstriert und eignet sich gut, um mit geringstem Aufwand Gleichspannungen auszugeben. Bei Werteänderungen sollte allerdings mittels "PAUSE 1" synchronisiert werden.
>
> Die C-Control-Micro benutzt ebenfalls eine ungebufferte PWM. Die Timerregister werden aber weitgehend synchron im 20-ms-Interrupt (Timer Overflow) gesetzt. Es muß somit nicht mittels PAUSE synchronisiert werden, doch werden 4 Byte Speicher und zusätzlicher Code im Timer Overflow Interrupt benötigt. Außerdem belegt dieses Verfahren zwei Timer-Kanäle, auch wenn der Anwender kein PWM nutzen möchte. Per nachladbarem Assemblermodul wäre diese PWM-Variante selbstverständlich auch auf der OM anwendbar.
>
> Bei der C-Control-Micro können im PWM-Signal allerdings Fehler auftreten: Beim Tokenbefehl "POP DA[N]" sind die Interrupts aktiv, während in die zwei RAM-Bytes eines PWM-Kanals geschrieben wird. Wenn zwischen dem Schreiben des High- und Lowbytes der Timer Overflow Interrupt auftritt, können somit Störungen auftreten. Ganz davon abgesehen, daß dort und an anderer Stelle der aus dem Kontrollermanual stammende Hinweis "before changing a channel function by writing to the MSxB or MSxA bit, set the TSTOP and TRST bits in the TIM status and control register (TSC)" nicht beachtet wurde. Auch der Hinweis "using a TIM overflow interrupt routine to write a new, smaller pulse width value may cause the compare to be missed" hätte gegebenenfalls beachtet werden müssen, um Probleme zu vermeiden. Bei der C-Control-1 V2.x wird die PWM übrigens fast genauso realisiert wie auf der C-Control-Micro. Allerdings wird der Timer Overflow Interrupt vom zweiten Timer-Modul verwendet und es wird pro PWM-Kanal nur ein RAM-Byte belegt.
>
> Ansonsten gibt es noch ein im Kontrollermanual beschriebenes aufwendigeres Verfahren für ungebufferte PWM und natürlich die bereits angesprochene gebufferte PWM.
>
> > Dieses Beispiel habe ich nicht gefunden
>
> Das Beispiel lautet "DTMF-Signale mittels PWM mit 25 kHz Taktfrequenz und 7 Bit Werteaufloesung" (DTMFBPWM.BAS) und befindet sich bei den Downloads im ZIP-Archiv "Open-Control/BASIC-Compiler Version 1.05".
>
> Viele Grüße
> Dietmar

Hallo Dietmar,
da steckt Fachwissen hinter - respekt - super erklärt und bestens geholfen !!!!!
Ich schau nochmal in die OCBAS105.zip

Danke

Der Test war übrigens erfolgreich - kein Unetrschied mehr zwischen der OM oder CC.

Gruß
Georg

 Antwort schreiben

Bisherige Antworten: