0.5Mbaud per UART?

Gast #516904
Lesenswert?

Der AVR kanns ab einer gewissen Taktrate problemlos. Du musst nur dafür 
sorgen, dass die Daten fix genug geliefert und auf der Gegenseite 
verarbeitet werden. 1 MBaud sind immerhin 125 kb/s, da bleiben bei 16 
MHz noch 64 Taktzyklen um das nächste Byte zu berechnen / zu 
verarbeiten.

Mit einem PC wirst du aber kaum kommunizieren können, die schaffen 
nämlich seltsamerweise (meist?) maximal 115000 Baud.
Gast #516907
Lesenswert?

Für mehr sind die UARTs im PC nicht ausgelegt. Die RS232-Pegel dürften 
auch Schwierigkeiten bekommen.

Es gibt aber USB/Seriell-Wandler, die mehr können. Der Hersteller vom 
FT232 hat da mal Werbung gemacht.
#516915
Lesenswert?

Das geht schon,

hatte mal ne Anwendung von nem RS485 Netztwerk und 32 Teilnehmern,
lief mit 921... Baud.
Waren lauter AT90S2313 dran.

Wie oben geschrieben, muß die Verarbeitung dann razi fazi gehen,
also alles aus dem µC rauskitzeln an Leistung.
Der kann dann bloss sonst nocht mehr viel leisten.

RS232 ist hier tot.
bleibt nur RS485,RS422 usw also differenzielle Schnittstellen

Direkte Kommunikation mit dem PC is dan vorbei, wenn du das überhaupt 
willst.
Gast #516916
Lesenswert?

Ja, vom Atmega32 zu einem XPort habe ich schon mit 921600Bit/s 
kommuniziert (=8*115200). Damit die Framelänge genau stimmt, habe ich 
einen "krummen" Quarz mit 14.7456MHz genommen.

Das UART-Register wird ja wie folgt gesetzt:
UBRR=(SYSCLK / (BAUD_RATE * 16L) - 1);

Bei UBRR=0 ergibt sich gerade die Quarzfrequenz 14745600.

Für 460800 ginge auch noch der Quarz mit 7.3728 MHz.

Zum PC habe ich über einen Seriell->USB-Wandler verbunden, der mehr als 
die üblichen 115200bps unterstützt - auch das hat gut funktioniert.
Gast #516925
Lesenswert?

danke für eure tips - ich verwende übrigens einen ft232 rl - laut 
datenblatt is 1Mbaud kein problem. und der mitgelieferte windowstreiber 
dürfte das ja dann wohl auch schaffen oder?
im datenblatt vom Mega325 P gibts ein beispiel:

system takt: 20MHz
baudrate: 0.5MBaud
U2Xn = 1
UBRRn = 4

kann das so funktoinieren?

noch eine frage: ich habe bis jettz nur hyperterminal verwendet - da 
gibts nur 460... und 918... zum auswählen - gibts ein anderes (besseres) 
TerminalProg zum testen?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren