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
@ Carsten (Gast)
>mann soll erst nach Nachdenken bevor man zu Tastatur greift.
Nicht wahr . . .
>8Mz getaktet und 1MBit?
Schon mal was vom Double Speed Modus gehört . . .
>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!
@ Carsten (Gast)
>Ich glaube, das ist auch durch einen ext. Quartz nicht beherschbar.>Das geht warscheinlich nur mit einer gemeinsamen Taktquelle!
Käse. Informier dich mal über RS232.
Hi,
Atmega läuft mit 8MHz und dieser USart Taktverdopplung. Der FPGA läuft
mit 50Mhz. Ich werde dann wohl im FPGA nen Fehler haben.
Vielen Dank
Snowyrain
Wie lange sind die Leitungen?
Gibt es Pegelwandler dazwischen?
Laufen die Leitungen parallel und sehr eng zusammen ohne Masse
dazwischen?
Gibt es noch andere Signale (Übersprechen)?
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
Carsten wrote:
> @ Snowyrain>> list Du endlich mal das Datenblatt des M8!
Was soll das? Mit 8 MHz sind 1 MBit definitiv möglich. Und das steht
auch auf der von dir angegebenen Seite.
@ 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
@ Carsten (Gast)
>ja mit zwei Strichen! :) und aus eine Tacktquelle versorgt!>lautes lach!
Sind deine Pillen am Wochenende plötzlich alle gewesen . . . ?
Besorgte Grüsse
Falk
>Du musst auch mal in der richtigen Spalte nachsehen!
wenn das in einem fliegenden Aufbau geht, fress ich eine Besen!
Außerdem hat er noch nichts zur Eingangkapazität gesagt.
Carsten wrote:
> wenn das in einem fliegenden Aufbau geht, fress ich eine Besen!
Ach, du meinst also, dass es deswegen nicht geht? Warum hast du ihn dann
so eindringlich aufgefordert, das Datenblatt zu lesen? Steht in deinem
Datenblatt auf Seite 116 etwa was dazu?
@ 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 . . .
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.
Hay Falk Brunner
ich werd noch nicht ausfallend,
aber vor dem FPGA ist mindestens ein Stück Leiterzug
auf einer Platine, evtl eine Klemme, ein Stück Draht
oder ein Falk.
@ 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.
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.
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
@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
> 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!