Hallo! Ich wollte mal wissen, ob von euch schon mal jemand nen avr mit einer baudrate von 0.5 - 1 Mbaud betrieben hat - laut datenblatt dürfte das ja gehen (z.b: atmega325p). Is das schwiereig oder eher einfach zu realisieren?
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.
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.
Auch etliche der klassischen Bustreiber (MAX232&Co) sind nicht für so hohe Baudraten spezifiziert.Allerdings gibt es auch Chips die deutlich höhere Baudraten prima mitmachen.
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.
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.
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?
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.