Forum: Mikrocontroller und Digitale Elektronik FT232 mit 230,4kBaud hat hohe Fehlerrate


von Benedikt (Gast)


Lesenswert?

Wenn ich über den FT232BM einen kontinuierlichen Datenstrom mit
115,2kBaud übertrage, habe ich eine Fehlerrate von 0% (bei 50MB
übertragenen Daten, hatte ich keinen einzigen Fehler.)
Verwende ich dagegen 230,4kBaud geht bei der Übertragung zum mega8
durchschnittlich alle paar kB ein Byte verloren.

Einen Fehler durch zu langsames Auslesen des UDR Registers kann ich
ausschließen, ebenso einen Fehler durch Störungen auf der Datenleitung,
da beide ICs direkt ohne MAX232 usw. verbunden sind.

Der mega8 läuft mit 18,432MHz, die 230,4kBaud lassen sich also mit 0%
Abweichung einstellen.

Wie sieht es aber beim FT232BM aus ? Kann dieser die 230,4kBaud richtig
ausgeben, oder nur mit einer Abweichung ?
Kann es sein, dass die Abweichung der Baudrate bei 0,37% liegt ?

von Hubert (Gast)


Lesenswert?

Hallo,


@ "Der mega8 läuft mit 18,432MHz"

Laut Atmel geht der doch nur bis 16MHz, oder???

cu

von Benedikt (Gast)


Lesenswert?

Ja und ?

Ich hatte selbst mit 22,1184MHz noch keine Probleme, außer beim
EEPROM.

Bei der Baudrate sollte es daher nicht weiter stören.
Außerdem gilt diese Angabe über den den gesamten Temperaturbereich,
unter allen sonstigen Bedingungen. Und 15% übertaktet ist für einen uC
nicht viel.

PS: Im Datenblatt finden sich Baudratenangaben für 18,432 und 20MHz,
obwohl der mega8 ja nur mit 16MHz laufen darf...

Davon abgesehen, liegt der Fehler vermutlich garnicht am mega8, denn
bei 375000Baud und einem AT89C52 habe ich denselben Fehler.
Da die Taktquelle im FT232 48MHz beträgt, dürfte man bei 375kBaud keine
Abweichung haben (3MHz/8=375kBaud).
Anscheinend verliert der FT232 also die Daten.

von Rolf F. (Gast)


Lesenswert?

Ich betreibe den FT232 an einem MSP430 bei 16 MHz und auch bei 3 MBaud
gibt's keinen Datenverlust. Bei der Auswertung der Datenpakete würden
auch gekippte Bits auffallen, da immer eine Prüfsumme verwendet wird.
Gemäß der Knowlege Database von FTDI habe ich in RxD und TxD
Dämpfungswiderstände (Reihenwiderstände) von 27 Ohm eingebaut.

Wenn Daten verloren gehen, liegt es sicher nicht am FT232 sondern den
fehlenden Dämpfungswiderständen.

von Alex (Gast)


Lesenswert?

Organisiere dir AN232B-05_BaudRates.pdf (www.ftdi.com), dort steht
drinnen welche Baudraten erlaubt sind (vielmehr kannst du es dir
ausrechnen).

von Mario (Gast)


Lesenswert?

Ich habe beim FT232 noch nie Dämpfungswiderstände verwendet und hatte
auch nie Probleme, egal welche Baudrate ich wählte.
Vielleicht stimmt etwas mit dem Quarz nicht, der am FTDI angeschlossen
ist.
Hast du dir auf dem Oszi das Übertragungssignal schon einmal angeseht,
ob bei der Baudrate vielleicht Abweichungen auftreten?

von ope (Gast)


Lesenswert?

jetzt muss ich mal (unwissend) nachfragen. Ist USB nicht
Packetorientiert mit einer Zeitscheibe von ca. 1ms? Spielen da die
genormten Baudraten eine Rolle? Oder liegt die Beschränkung im FTDI
Chip und der UART Anbindung? Wäre es dann nicht besser, den FT245BM zu
nehmen (sofern Portpins frei sind)?

Viele Grüße
Olaf

von Rolf F. (Gast)


Lesenswert?

Als ersten Check sollte man erstmal die Versorgungsspannung und die 6
MHz an XTOUT messen.
Und die Baudraten-Berechnung sollte auch mit maximalem Fehler
(Phasenverschiebung) durchgeführt werden.

von Rolf F. (Gast)


Lesenswert?

Übrigens sind die Baudraten-Angaben von FTDI widersprüchlich: Deren
Software läßt maximal 1,152 MBaud zu, aber laut Datenblatt wie auch
experimentell schafft der FT232BM genau 300 Baud bis 3 MBaud. Da der
MSP430 bis zu 4 MBaud schafft, verwende ich das Maximum für die
Datenübertragung, also 3 MBaud.

von Der Auserwählte (Gast)


Lesenswert?

> Organisiere dir AN232B-05_BaudRates.pdf (www.ftdi.com),

Hypsch, die Blümchen. Aber PDFs finde ich da nicht ;-)

von Marillion (Gast)


Lesenswert?

www.ftdichip.com ist wohl gemeint.

von Benedikt (Gast)


Lesenswert?

Da habt ihr ja einen alten Thread ausgegraben.
Das Problem ich ich mitlerweile gelöst, es lag nicht an der Hardware,
sondern an der Terminalsoftware, die noch einen Bug hatte und ab und zu
Daten verloren hat. Manchmal ist es doch gut, wenn man den Fehler nicht
nur bei sich, sondern auch bei anderen sucht...

Der Baudratengenerator des FT232 wird mit 48MHz getaktet. Für den
Teiler muss man 3MHz zum Berechnen verwenden. Mit einem Teiler vor 26
kann der FT232 115,385kBaud erzeugen, das entspricht einem Fehler von
0,16%.

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.