Hallo, Ich habe einen ATmega32 mit einem RS485 schnittstellentreiber am UART. Jedoch möchte ich auch die möglichkeit haben die daten mit dem PC(RS232) empfangen zu können. Kann ich problemlos einen RS485 -> RS232 konverter nehmen? oder gibt es Bausteine die ich an den AVR anhängen kann mit beiden Schnittstellen? Es sollte eine möglichst kostenkünstige variante sein, da die RS232 schnittstelle ausschließlich zu testzwecken genutzt wird. oder ist es möglich einem max232 und max485 parallel an die TX/Rx leitungen des AVR's zu hängen? Wie sieht es mit den Protokollen aus? AVR -> RS485 ist momentan ein eigenes! Gruß
Rx kannst du nur einmal vergeben, sonst raucht es. Soll die PC-Verbindung nur zum mitlesen dienen? Wenn ja, dann lass den RS485-Receiver immer eingeschaltet und verbinde dessen Ausgang sowohl mit AVR-Rx also auch via MAX232 zum PC. Die andere Richtung in der PC-Kommunikation bleibt dann offen. Soll der PC auch senden können => RS485-RS232 Konverter.
Es soll eine Bidirektionale verbindung sowohl auf RS485 als auch auf rs232 Seite hergestellt werden. Eigentlich brauch ich nur die RS485 Schnittstelle um DMX Daten zu senden und empfangen. Aber für diverse test möchte ich auch mit dem PC kommunizieren können. Da dies sehr einfach über rs232 realisierbar ist dachte ich an einen Treiber der beides kann. bzw wenn ich mir einen RS485 <-> RS232 Konverter zulege dann hab ich aber doch trotzdem Probleme mit der Interpretation der Daten die dann von RS485 an den AVR gesendet werden. Gleiches gilt natürlich auch in anderer Richtung.
Die beiden Schnittstellen sind physikalisch vollkommen verschieden, ausser dass sie beide an einem UART haengen. Daher gibt es keine gemeinsamen Treiber. Zumindest keine kostenguenstigen. Es gibt werschiedene Multidriver von LT und moeglicherweise NEC. Aber was spricht gegen zwei Treibern nebeneinander ? Ich designe immer RS232 mit einem ADM202 und RS422 mit einem ADM489. Der Rx wird mit einem Jumper selektiert, der TX geht auf beide. Der Vorteil dieses Zwei chip ansatzes : Falls es eine Serie gibt, die nicht beides braucht, zB Preisdruecker, kann man eins weglassen. N
Wenn du den PC an den RS485-Bus über den Wandler hängst, bist du auf der sicheren Seite.
IN meinem aktuellen Projekt habe ich die 2 Schnittstellen über ein paar TTL Gatter entkoppelt. Der AVR bestimmt mit einer "Select" Leitung, ob daten über RS232 ode RS485 weiter gehen. Wenn ich daten mit der RS232 austausche, ist auf dem RS485 Bus ruhe und umgedreht. Gruß, Tubie
Es bleibt noch die Möglichkeit einer Software-UART oder eines Controllers mit 2 Hardware-UARTs, z.B. ATMEGA 162.
Nun ich denke das ich dann nur die RS485 Schnittstelle bereitstelle und mir dann einen RS485 <-> Rs232 Konverter zulege. Dies scheint mir die sinnvollste lösung zu sein. PC->RS232->RS485->AVR AVR->RS485->RS232->PC Allerdings ist mir noch nicht klar ob mit dieser Konstelation auch die Datenübertragung richtig funktioniert. Also physikalisch sollte das ja gehen, aber wie sieht es mit dem Protokoll aus? Kommt das was ich vom PC sende auch richtig beim uart an oder muss ich dabei noch was beachten? Gruß
RS485 auf RS232 und umgekehrt ist aber nicht so einfach, da ersteres ein Halbduplexverfahren, letzteres Vollduplex ist. Man muß also entweder 2 RS485 Treiber nehmen, wovon einer immer der Sender und einer der Empfänger ist oder aber der RS232-Teil muß dem RS485-Teil mitteilen können, wann gesendet und wann empfangen wird (also umschalten können).
>RS485 auf RS232 und umgekehrt ist aber nicht so einfach, da ersteres ein >Halbduplexverfahren, letzteres Vollduplex ist. Richtig. >Man muß also entweder 2 RS485 Treiber nehmen, wovon einer immer der Sender und einer der Empfänger ist Dafür würde ich einen PCA82C250 nehmen. >oder aber der RS232-Teil muß dem RS485-Teil mitteilen >können, wann gesendet und wann empfangen wird (also umschalten können). Die Flußsteuerung macht man dann meist über die RTS-Leitung.
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.