Forum: Mikrocontroller und Digitale Elektronik RS232 und Prozessortakt


von J.T (Gast)


Lesenswert?

Hi.

Wenn man einen Quarz mit schön gerader Frequenz benutzt, z.B. 10 MHz, 
ist es schön einfach, einen Millisekundentimer zu machen.
Aber die RS232 Baudraten nicht normgerecht.
Kann man den PC auch auf 128 Kbit/s einstellen? Oder macht die Differenz 
zu 115200 nichts aus?

von Karl H. (kbuchegg)


Lesenswert?

J.T schrieb:
> Hi.
>
> Wenn man einen Quarz mit schön gerader Frequenz benutzt, z.B. 10 MHz,
> ist es schön einfach, einen Millisekundentimer zu machen.

Das ist aber kein Argument. Denn mit CTC kann man auch aus jedem anderen 
Takt schön einfach einen Millisekundentimer machen.

Edit:
Ausserdem frage ich mich gerade, wie du aus 10Mhz 'schön einfach' einen 
Millisekundentimer machen willst. Die Vorteiler der Timer sind bei den 
AVR immer 2-er Potenzen. 10MHz ist aber keine 2-er Potenz oder ein 
Vielfaches der Vorteiler.
Wenn du also jetzt schon keinen CTC Modus benutzt, dann stimmen deine 
Millisekunden sowieso schon nicht. Wenn du aber CTC Modus benutzt, dann 
ist ein anderer Quarz (Baudratenquarz) lediglich eine Frage eines 
anderen Comparewertes bzw. Vorteilers.

> Kann man den PC auch auf 128 Kbit/s einstellen? Oder macht die Differenz
> zu 115200 nichts aus?

Du kannst dir ca 3 bis 5% Abweichung erlauben. Lieber weniger als mehr. 
Jetzt rechne mal.

von Michel (Gast)


Lesenswert?

Das läßt sich einfach ausrechnen. Ein Byte auf der seriellen 
Schnittstelle ist 10 Bit lang (incl. Start & Stop). Die Synchronisation 
zwischen Sender und Empfänger findet bei der ersten Flanke des 
Start-Bits statt und am Ende muß der Abtastzeitpunkt noch sauber genug 
innerhalb des richtigen Bits liegen.

von J.T (Gast)


Lesenswert?

Welcher Quarz ist denn am Besten geeignet, um folgendes zu machen:

-Möglichst genaue Millisekunde für Uhrenfunktion und DCF77 Modul 
Auswertung.
-normgerechte RS232 Verbindung zur Programmierung der Timer, Feiertage 
und Schichtplan.
-RS485 und ISM Funk zu Subsystemen

Subsystem:
-Ansteuerung von 500W Baustrahler (Lichtwecker)
-Ansteuerung von Stereoanlage via Infrarot (Simulierung der 
Fernbedienung)
-2x LED Display, eines davon als Großanzeige

von Jens (Gast)


Lesenswert?

J.T schrieb:
> 10 MHz,

Ich nehme da immer einen sogenannten Baudratenquarz. Mit 9,8304MHz ist 
die Abweichung auf der seriellen Schnittstelle bei 0% und für den Timer 
ereiche ich immerhin 75Hz als kleinste 2er-Potenz. Die 75Hz zähle ich 
halt in der Timer-ISR und erledige nebenbei noch ein paar wichtige 
Sachen, z.B. Tasten abfragen, LED-Anzeige refreshen etc. Mit anderen 
Quarzen z.B. 18.432MHz erreicht man andere Werte, doch der 
Baudratenfehler ist immer 0.

von Matthias (Gast)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Wenn du aber CTC Modus benutzt, dann
> ist ein anderer Quarz (Baudratenquarz) lediglich eine Frage eines
> anderen Comparewertes bzw. Vorteilers.

Bei beliebigen Quarzen kann dass für einen Millisekunden-Takt dann 
leicht in ewiges Hin- und Herprogrammieren des Comparewertes ausarten.

Der Prozessor macht's ja, aber muß das sein...

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.