Tiny 13 - PWM Bitraten herabsetzen

OP #1884353
Lesenswert?
• ▲
▼
Hallo Leute,
hab hier einen Tiny 13 und möchte einen 12 kHz Sinus erzeugen. Dazu 
möchte ich die Bitraten / Stützstellen anpassen. Da ich bei 9,6MHz 
arbeite, und Fast PWM mit CLK/1 nutze, gillt folgende Formel:
f_PWM = f_CPU/((2^Zählerbreite)-1)
was bei 8 Bit etwa 37,7 kHz Abtastrate ergibt. Bei einem 12kHz Signal 
sind das 3 Stützstellen. Nun muss der Filter bei 3 Stützstellen sehr 
steil sein und einen wirklichen Vorteil habe ich von 8Bit bei so wenig 
Stützstellen auch nicht. Setze ich nun die Bitrate runter, habe ich pro 
Bit die doppelten Stützstellen.. also 7 Bit -> 6 Stützstellen und 6 Bit 
-> 12 Stützstellen. Da ich nun einige Versuche damit anstellen möchte, 
wäre es mir sehr gelegen wenn ich den Hardwaretimer begrenzen könnte. Im 
Datenblatt gibt es dazu einen "Modus 7", dies ist eine FastPWM Abart mit 
TOP bei OCRA (laut DB). Nun gibt es kein OCRA, also nehme ich an dass 
hiermit OCR0A gemeint ist. Mit folgendem Quellcode kommt immer noch eine 
PWM Frequenz von 37,7kHz, egal was ich in OCR0A schreibe. Habt ihr eine 
Idee?

Vielen Dank im Vorraus
Raphael

#include <avr/io.h>

#ifndef F_CPU
#define  F_CPU   9600000UL
#endif

#include <util/delay.h>


int main() {
  // Ports:
  DDRB|=(1<<PB1);

  // Timer:
  TCCR0A = (1<<COM0B1) | (1<<WGM02) | (1<<WGM01) | (1<<WGM00) ;
  TCCR0B = (1<<CS00);
  OCR0A = (1<<6)-1;
  OCR0B = 0x4F;

  while(1) {
  }
  // wird nie erreicht:
  return 0;
}
OP #1884688
Lesenswert?
• ▲
▼
100 Gummipunkte :p Habe ich total übersehen, das war so verführerisch 
die Flags in eine Variable zu schreiben... Hab das 02er Flag es nun in 
die Zeile darunter zu dem 2ten Register gerückt und alles geht. Dann 
kann ich die Tage mit meinen Testmessungen anfangen.

Vielen Dank

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.