PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Quarzgröße für verlustfreies USART – Auslesen?



snailtron
25.05.2005, 12:40
Hallo,

mit der USART eines ATtiny2313 möchte ich demnächst 14 Byte große Datenpakete empfangen, die jederzeit mit 9600 kBaud hereinkommen können.

Welche Standardquarzfrequenz benötige ich, um ein Byte aus dem UDR auszulesen und im SRAM zwischenzupuffern, ohne das mir das nachfolgende verloren geht?

Gruß, snailtron

P.S.: Ich benötige nämlich einen Quarz mit möglichst geringer Frequenz, um keine EMV-Probleme zu bekommen und nebenbei noch Strom zu sparen.

uwegw
25.05.2005, 13:10
die formeln mit der man aus der taktfrequenz die baudrateneinstellung berechnet steht im datenblatt... dann nur noch schaun wie groß die anweichung zur nächsten möglichen einstellung ist...

bequemer gehts mit nem programm wie "avrcalc". da gibt man bausdrate und takt ein, und man bekommt den richtigen wert fürs baudratenregister und wie groß dabei die abweichung ist.

möglich wäre zb 1,8432 MHz... 2.4576MHz... 3.6864MHz...

snailtron
25.05.2005, 13:37
Vielen Dank, das ist mir jedoch schon bekannt.

Nur, werde ich bei einer 1,8432 MHz-Taktung mit dem SRAM-Speichern des ersten Datenbytes fertig, bevor der nächste Receive Complete Interrupt verlangt, das nächste eingetroffene Datenbyte abzuholen. Schließlich muss ich verhindern, dass nachfolgende Bytes nicht wegen eines Überlauf des Receive Buffers und des Receive Shift Registers verworfen werden.

uwegw
25.05.2005, 14:14
das sollte wohl laufen... du hast schließlich 192 takte pro zeichen zur verfügung... ansonsten dreh den takt noch nen bisschen höher... wenn es nicht aus allerletzte milliampere ankommt...