Forum: Mikrocontroller und Digitale Elektronik 36khz Träger mit Timer0 erzeugen


von Flo (Gast)


Lesenswert?

Hallo Leute,

ich hoffe ihr könnt mir bei meinem Problem helfen.
Und zwar versuche ich gerade eine 36kHz Trägerfrequenz für eine Uart 
über IR Brücke zu erzeugen.

Mein Problem ist das ich einfach die Timer nicht verstehe.

Als MCU nutze ich einen Attiny2313.Ich würde gerne den 8Bit Timer0 
nutzen da ich den 16Bit Timer für eine Software UART nutze.

Könnt ihr mir sagen ob dieser Timer dazu geeignet ist und mir eventuell 
nen Anstoss geben wie ich es am besten mache?

MfG


Flo

von spess53 (Gast)


Lesenswert?

Hi

>Könnt ihr mir sagen ob dieser Timer dazu geeignet ist und mir eventuell
>nen Anstoss geben wie ich es am besten mache?

Timer in den CTC-Modus versetzen und das Top-Register entsprechend 
laden. Fertig. Mit welcher Frequenz läuft dein AVR?

MfG Spess

von Flo (Gast)


Lesenswert?

Der Tiny läuft mit 4MHz.

von STK500-Besitzer (Gast)


Lesenswert?

36kHz bedeuten eine Periodendauer von ~28µs.
Was bei einem symmetrischen Signal eine Pulsdauer von 14µs bedeutet.
Wie weit muß eine Timer zählen, der mit 4MHz betrieben wird?

von Flo (Gast)


Lesenswert?

Ich habe mal gegoogelt und das gefunden:

// setup waveform generation to 36kHz on timer 0
TCCR0A |= _BV(WGM01); // clear timer on compare match
TCCR0B |= _BV(CS00); // timer source is system clock
OCR0A = 107; // output compare value for 36kHz @ 8 MHz

// output compare pin to output mode, low level
DDRB |= _BV(PB2); // port PB2 as output
PORTB &= ~_BV(PB2); // PB2 is low

Kommt das so hin?Toggelt der automatisch?

Und zu guter letzt:Wie berechne ich OCR0A für 4 MHz?

MfG

Flo

von STK500-Besitzer (Gast)


Lesenswert?

>Kommt das so hin?Toggelt der automatisch?

Vergleich es doch mal mit dem Datenblatt.

>Wie berechne ich OCR0A für 4 MHz?

Indem du das von 8Mhz durch zwei teilst.

von spess53 (Gast)


Lesenswert?

Hi

Timer Mode2:            TCCR0A    : WGM01=1
Toggle on Compare Match TCCR0A    : COM0A0=1
Teiler 1                TCCR0B    : CS00=1
OCR0A = $37

OC0A Ausgang            DDRB.2=H

MfG Spess

von Flo (Gast)


Lesenswert?

VIELEN DANK.
Habe nun endlich verstanden wie ich die ganzen Einstellungen verstehen 
muss.
 Nur die Bestimmung von 0CR0A versteh ich nicht aber das bekomme ich 
auch noch hinter.

Vielen Dank nochmal

MfG Flo

von spess53 (Gast)


Lesenswert?

Hi

> Nur die Bestimmung von 0CR0A versteh ich nicht aber das bekomme ich
>auch noch hinter.

Steht doch im Datenblatt.

MfG Spess

von Flo (Gast)


Lesenswert?

Jo habs gerade gefunden :-D

Danke nochmal.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.