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 ?
Hallo, @ "Der mega8 läuft mit 18,432MHz" Laut Atmel geht der doch nur bis 16MHz, oder??? cu
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.
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.
Organisiere dir AN232B-05_BaudRates.pdf (www.ftdi.com), dort steht drinnen welche Baudraten erlaubt sind (vielmehr kannst du es dir ausrechnen).
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?
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
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.
Ü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.
> Organisiere dir AN232B-05_BaudRates.pdf (www.ftdi.com),
Hypsch, die Blümchen. Aber PDFs finde ich da nicht ;-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.