Es hängt immer davon ab wie sicher dein Controller diese Baudraten schafft. Wenn er die schon nicht richtig schafft, also die Toleranz zu groß ist kannst du da auch einen richtig guten Wandler dran haben, nur es bringt dir nichts.
Hi,
ich bin gerade auf diesen USB-RS232 Wandler gestoßen:
http://www.ftdichip.com/Products/Eva.../TTL-232RG.htm
Mein bisheriger USB-RS232 Wandler funktioniert leider nur bis 19200 Baud, was mir ein bischen zu wenig ist.
(Mein AVR sendet alle Sensorwerte über RS232 bzw. USB an einen PC, der verarbeitet diese und macht zusätzlich Webcam-Bildverarbeitungen usw. und sendet dann Steuerbefehle zurück zum AVR. Daher fällt an der RS232 Schnittstelle sehr viel Datentransfer an).
Darum habe ich mir überlegt den obigen Wandler zu kaufen. Sein Vorteil ist ja, dass er direkt den TTL Pegel auf USB übersetzt, bis jetzt hatte ich immer den MAX232 der den TTL Pegel auf PC Pegel brachte, und dann erst den RS232-USB Wandler, der auf USB umwandelte.
Ich hab schon oft gelesen, dass eigentlich nur die Schnittstellenwandler die Baudrate limitieren, und da es ja beim obigen Wandler keine MAX232 oder ähnliche gibt, sollte er ja problemlos mindestens 640000 Baud erreichen können oder?
Im Datenblatt des Wandlers steht was von 3MBaud, das wär natürlich noch schöner.
Glaubt ihr das funktioniert mit dem Wandler? (mein uC ist ein Mega32)
lg Christoph
EDIT: Ich hab noch einen Wandler gefunden, der soll sogar bis zu 12MBaud schaffen: http://www.ftdichip.com/Products/Eva...eedModules.htm (der ganz unten). Wär schön wenn das mit einem Mega32 funktionieren würde...
Es hängt immer davon ab wie sicher dein Controller diese Baudraten schafft. Wenn er die schon nicht richtig schafft, also die Toleranz zu groß ist kannst du da auch einen richtig guten Wandler dran haben, nur es bringt dir nichts.
Ich glaube dass mein derzeitiger RS232-USB Wandler oder der MAX232 (zwischen RS232-USB Wandler und uC) die Geschwindigkeit auf 19200 Baud begrenzt.
Aber du hast Recht, es könnte auch der mega32 sein der nicht mehr als 19200 Baud schafft. Ich weiß aber nicht wie ich das herausfinden soll, im mega32 datenblatt habe ich nichts über die maximale Baudrate gefunden.
Sonst fällt mir nur ausprobieren ein, aber ich will das Teil nicht kaufen wenns dann nicht funktioniert...
Habt ihr noch Ideen?
lg Christoph
Das Thema Baudratenfehler bzw. Toleranz wegen der ganzzahlingen UBRR hatte ich mir mal angesehen, beispielhaften Tabellenauszug siehe unten. Mit einem USB-nach-232TTL-Wandler von minimikro auf Basis des FT232RL, mit der "normalen" FTDI-Initialisierung, schaffe ich trotz des von mir errechneten Fehlers locker 256000 (megaxx8, Fujitsu Siemens, Celsius M 410 Workstation, WinXPpro). Ich vermute, dass der FT232 ziemlich fehlertolerant ist.Zitat von Kampi
........Bild hier
Das von mir benutzte Teil ist eigentlich ein ISP-Programmer für die AT89LP Familie, siehe hier, klick auf "ISP-Programmer", der erste in der Liste.
........Bild hier © gms2000.de
Ciao sagt der JoeamBerg
Verstehe ich das richtig, dass die Schwierigkeit nur die ist, dass die Baudraten von Sender und Empfänger übereinstimmen?
Ich habe am PC der als Empfänger fungiert Labview laufen, das die Daten empfängt. In Labview kann ich die Baudrate auf die Einerstelle genau einstellen, ich könnte also statt z.B. 19200 auch 19201 nehmen.
Könnte ich z.B. mit einem Externen Quarz Oszillator (die Dinger mit den 4 Beinen mein ich) höhere Taktraten erreichen?
lg Christoph
Lies Dich vielleicht mal eben ein, hier.Im Rahmen der zulässigen Abweichungen sollten die übereinstimmen. Lies vielleicht mal dies über das Timing der Seriellen Schnittstelle. Nimm doch mal an - nur mal so als Beispiel - dass das letzte Bit erst dann gesendet wird, wenn der Empfänger schon das erste Bit des neuen Datenpaketes erwartet (Datenpaket: Übertragungsbyte inklusive dessen Start- und Stopbits) dann kommt der doch ins Schleudern, oder?Zitat von Christoph2
Ja ja, ich hatte früher auch mal die Baudrate in meinem Controller so eingestellt *ggg* - auf ein Digit genau. Solange Du den Code dahinter nicht kennst, kannst Du es machen - und es geht, oder auch nicht *ggg*Zitat von Christoph2
Ciao sagt der JoeamBerg
Hallo!
Praktisch müssen die Baudraten nur während eines Bytes in Toleranz bleiben, da bei Pausen zwischen Bytes, synchronisiert sich das neu. Versuchswert wäre eine deutlich höhere Baudrate mit genügenden Pausen zwischen Bytes.
Theoretisch wäre möglich permanent senden mit "dummy" Bytes und den Clock für Rucksenden verwenden.
MfG
probier mal den usb->TTL Adapter von ulrich radig!
Der geht mit nem tiny locker bis ~57600 baud.
Theoretisch sollten auch baudraten im 250000er bereich möglichs sein!
(hier die passende Quarztabelle)
LG Jakob
Je nach dem wie viele Pins du noch frei hast: FT245.
Der Käfer wird parallel angesteuert, d.h. zwischen AVR und FT245 brauchst du dir schon mal keine Gedanken über die Baudrate machen.
Zwischen FT245 und PC ist die Baudrateneinstellung dann eh kein Problem.
#ifndef MfG
#define MfG
Wenn man die Atmegas mit externem Quarz auf 14,7456 MHz betreibt, gehen auch zuverlässig 115200 Baud. Sowohl mit den FT232 als auch mit den PL2303 basierenden Adaptern.
Gruß
Daniel
Das Genie beherrscht das Chaos.
ICH bin das Chaos!
Lesezeichen