Atmega und hohe serielle Baud-Raten

Gast #1000809
Lesenswert?

Hallo,

ich lasse hier einen Atmega16L (8Mhz) über die USART mit einem FPGA 
kommunizieren. Das lief auch sehr gut. Jetzt send ich mit 1Mbit, der 
ATmega empfängt alles richtig, der FPGA allerdings nicht. Ich empfange 
mit dem FPGA genau in der Mitte eines Bits. Die Sim und das Oszy zeigen 
auf den ersten Blick nichts auffälliges. Der gleiche FPGA-Code läuft mit 
einem anderen Device sehr gut. Kann es sein, das der Atmega 
Auffälligkeiten bei hohen Übertragungsraten hat?

Gruß

Snowyrain
Gast #1000841
Lesenswert?

>Datasheet M8

>Table 62. Examples of UBRR Settings for Commonly Used Oscillator >Frequencies 
(Continued)

Ich glaube, das ist auch durch einen ext. Quartz nicht beherschbar.
Das geht warscheinlich nur mit einer gemeinsamen Taktquelle!
Gast #1000871
Lesenswert?

Hallo,

Länge der Leitungen ca. 7cm, keine Pegelwandler, fliegend verdrahtet. 
Alles über 3,3V. Es wird nur gesendet oder empfangen. Sonst weiter 
nichts in der Nähe (Stromkabel, Geräte, Monitore, usw ...)

Gruß

Snowyrain
#1000904
Lesenswert?

@  Carsten (Gast)

>http://atmel.com/dyn/resources/prod_documents/doc2486.pdf
>Seite 161 Tabelle 62 ÜBERSCHRIFT

Ja eben. Und was lesen wir dort?

Siehe Anhang. Mit 8 MHz sind 1 Mbit/s super genau mit 0% Fehler machbar. 
Welch Wunder.

Aber mit 50 MHz und der klassichen 16/8 fach Überabtastung wird das 
knapp, um nicht zu sagen es geht nicht. Denn der Frequenzfehler beträgt 
dann 4,2% :-0

AVR-Tutorial: UART

Muss man halt umbauen auf 10fach Überabtastung, dann passt es wunderbar.

MFG
Falk
Angehängte Dateien:
#1000950
Lesenswert?

@ Carsten (Gast)

>wenn das in einem fliegenden Aufbau geht, fress ich eine Besen!

Na dann hol schon mal das Besteck raus . . .

>Außerdem hat er noch nichts zur Eingangkapazität gesagt.

Klar, FPGAs haben so tierisch hohe Eingangskapazitäten, dass 1 MBit/s 
nicht mehr machbar ist. Is schon gut, du kannst ja nix dafür . . .
Gast #1000953
Lesenswert?

hab ich, dass ist die lezte Tabellenzeile (Werte nur mit mit
Hardwaretricks und mit Fehler von Null(Frequenzabweichung))
des Herstellers, da sollte
jeder nachdenklich werden!

Wer so Schaltungen aufbaut, den hohlt die Realität in der Serie ein.

lautes lautes Lach.
#1000971
Lesenswert?

@ Carsten (Gast)

>hab ich, dass ist die lezte Tabellenzeile (Werte nur mit mit
>Hardwaretricks und mit Fehler von Null(Frequenzabweichung))

Welche Tricks? Du hast RS232 nicht wirklich verstanden.

>des Herstellers, da sollte jeder nachdenklich werden!

Nö.

>Wer so Schaltungen aufbaut, den hohlt die Realität in der Serie ein.

Naja, DEINE "Realität" ist sowieso einen Andere . . .

>lautes lautes Lach.

Also doch, deine Pillen sind alle. Armer Carsten.
#1000973
Lesenswert?

Carsten wrote:
> hab ich, dass ist die lezte Tabellenzeile (Werte nur mit mit
> Hardwaretricks und mit Fehler von Null(Frequenzabweichung))
> des Herstellers, da sollte
> jeder nachdenklich werden!

Oh Mann, Du solltest endlich mal das Datenblatt lesen. Die dort 
angegebene Frequenzabweichung ist die, die sich bei der jeweiligen 
Einstellung ergibt, nicht die, die maximal zulässig ist.
Gast #1001158
Lesenswert?

Hi,

was habe hier den losgetreten. Der Empfangsteil läuft ohne Takteiler, 
dafür mit einem Zähler. Die Abweichung sollte entsprecht extem gering 
sein. Ich nutzte Pegel von 3,3V (auch für die Signal-Leitungen). Wenn 
etwas durcheinander ist, dann das LSB. Ich muss mal sehen, was da schief 
laufen könnte. Wenns das MSB wäre, würde ich denke, da passt etwas vom 
Timing nicht. Die letzten Bist werden korrekt empfangen und auch an der 
passenden Bitstelle gespeichert. Aber ich denke das hier ist dafür das 
falsche Forum.

Gruß

Snowyrain
Gast #1001260
Lesenswert?

@Snowyrain:

kann es sein, dass Du für das Startbit nur eine komplette Bitzeit 
wartest?
Damit die nachfolgend gesampelten Bits in der Mitte abgetastet werden, 
musst Du nach dem Erkennen des Startbits 1,5 Bit-Zeiten warten bis zum 
Abtasten des ersten Nutz-Bits.

(Das Startbit wird vom FPGA am Bit-Anfang detektiert, an der 
High-Low-Flanke. Alle weiteren Bits sollen in der Mitte gesampled 
werden).

Auf Seiten des ATmega kann ich mir keine Probleme vorstellen; ich habe 
so hohe Baudraten auch schon ohne Probleme - und ganz ohne Besen - 
verwendet.
Die einzigen Probleme auf der ATmega-Seite ergeben sich beim Empfang, 
wenn der RXD-IR von anderen IRs blockiert wird.

Gruß, Stefan
Gast #1001510
Lesenswert?

> aber vor dem FPGA ist mindestens ein Stück Leiterzug
auf einer Platine, evtl eine Klemme, ein Stück Draht
oder ein Falk.

Ja und? Ich wusste garnicht, dass 1 MHz schon Hochfrequenz ist. Bei mir 
ist das noch Gleichspannung....

Eingangskapazität bei einem 50MHz-Teil - und dann macht 1MHz Probleme?
Herr, wird Hirn vom Himmel!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren