Rechteckgenerator (PWM) mit p89LPC935

Gast #1223518
Hallo,
ich würde gerne einen Rechteckgenerator mit einem P89LPC936 (NXP) 
entwickeln.
Er soll Frequenzen von 1Hz bis 1kHz können. Zusätzlich will ich das 
Verhältins von ti u. tp verändern können. Ich benutze den internen 
Oszillator des LPC und den Timer2. ti soll bis max. 50% der Impulsdauer 
eingestellt werden.  Mein Problem ist das ich für jede Frequenz bzw. 
ander ti's andere Reloadwerte benötige.Diese müsste ich ja ausrechnen 
und ablegen.
Auch der Vorteiler für die CCU-Frequenz ändert sich ab einer bestimmten 
Frequenz.
Ist die Herangehensweise völlig falsch? Wie kann ich es am besten 
realisieren?
Gruß, Daniel
#1223789
Falls du die Frequenzen so exakt wie möglich haben willst, mußt du den 
10Bit Prescaler der CCU je nach Frequenzbereich anpassen. Falls du nicht 
100% exakte Frequenzen brauchst, vor allem im oberen Bereich um die 
1kHz, dann könntest du auch mit einem festen Prescaler von 64 arbeiten.
Bei internem Takt von 7,3728MHz beträgt PCLK genau die Hälfte 
(3,6864MHz). Nach dem Prescaler von 64 wird der CCU Timer noch mit genau 
57600Hz getaktet. Damit kannst du zwischen 1Hz und 1kHz alles 
einstellen. Für 1Hz lässt du den Timer per Reload von 57600 bis 0 laufen 
und für 1kHz von 57 (1010,5Hz) oder 58 (993,1Hz) bis 0 laufen.
Das Tastverhältnis kannst du dann über die vier Compare Register 
einstellen. Aber je nach Frequenz (Reload Wert des Timers) musst du die 
Compare Register (OCRxL und OCRxH) anpassen um das gleiche 
Tastverhältnis zu erreichen. Das ganze kannst du aber durch eine 
einfache Rechnung erreichen und brauchst deshalb auch keine Lookup 
Tabellen zu benutzen dafür.

Ciao,
     Rainer

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.