Hi, mir ist gerade in der Sonne eine Frage aufgekommen. Der normale PC-UART kann ja aufgrund seiner Geschichte nur die bekannte Baudratenreihe (9600,115200,...). Zumindest kann man auch nur die unter windows aktivieren. Jetzt ist aber in den USB<->RS232-Bridges kein alter 16550 oder sowas drin. Zudem ist der 'Takt' der meisten USB-Chips 12MHz. Frage: Lassen sich damit auch andere (=krumme) Baudraten erzeugen? würde gerne meinen AVR wegen USB-Kommunikation mit 12/24MHz takten und nicht mit einem Baudratenquarz. Wenn der UART dann über so eine USB<->RS232-Bridge geführt wird müßte das doch klappen, oder? Hat jemand Erfahrung damit (bevor ich mir in der Hitze hier den Wolf löte) ;-) ? Thanx, Freakazoid
Dazu solltest Du Dir die Datenblätter der USB-Bridgebausteine genau ansehen, also sowohl den FT232, das SiLabs-Pendant und auch den Murks, den Prolific leider viel zu oft verkauft. Die 12 MHz sind kein wirklicher Indikator; chipintern werden die eh' auf 48 vervielfacht.
Bei meinem Prolific USB Serial Converter (Reichel) lassen sich von aussen nur die bekannten PC Baudraten bis 128000 einstellen. Hab noch keine Möglichkeit gefunden was anderes einzustellen. Bei meinen FT232BM das gleiche (angesprochen als COM Port). Daher benutze ich unter anderem die FT2XX.lib / FT_W32_... API Dort kann ich dann alle vom FT232BM unterstützten Baudraten (bis hin zu 3-4MBaud?) einstellen (siehe AN232B Configuring FT232BM Baud Rates). Normalerweise fahre ich das dann mit 1.152.000 Baud und eimen 18.432 Mhz Quarz am AVR.
Danke. Das mit den 48MHz war mir bewußt (obwohl das nicht alle machen). Wollte nur andeuten, daß die Zeitbasis eine andere ist. Denke auch, daß die Chips andere Baudraten unterstützen würden, Windows da aber nicht mitmacht (Standardtreiber halt). Dann werde ich wohl mal zusehen, wie ich von 12/24MHz 'normale' Baudraten erzeuge um Windows nicht zu vergraulen. Grüße, Freakazoid
Bei den FTDIs(FT232xx) ist das problemlos möglich: http://ftdichip.com/Documents/AppNotes/AN232B-05_BaudRates.pdf bei der Treiberinstallation zusätzlich "Baudrate-Aliasing" z.B. wenn 115200 vom PC gewünscht ist, ist die tatsächliche Baudrate 1500000.
Die Wandlerchips (FTDI, Prolific und wie sie alle heißen) unterstützen auch höhere Baudraten. Der Flaschenhals wird allerdings meißt durch die eingesetzten billigen Pegelwandler (MAX232-Derivate), die nur bis 128kBaud unterstützen. Es gibt allerdings auch schnellere Pegelwandler (bis jenseits von 1MBaud) und somit auch ein paar schnelle USB<->RS232-Kabel. Wird ein Wandlerbaustein jedoch an einen µC gekoppelt, d.h. wird kein Pegelwandler eingesetzt, so sind problemlos >1MBaud möglich.
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.