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: