Datum: 30.06.2008 15:18
Hallo. Im Anhang ist ein Schaltplan, der die Struktur eines "RS232-Busses" zeigt. Es handelt sich um 7 DSPs, die alle ihren eigenen MAX232 (eigentlich ICL3232) haben. Gesteuert wird alles vom PC aus. Auschließlich der PC fragt die einzelnen DSP an, die dann ggf. antworten, wenn es etwas zu antworten gibt. Der MAX läuft mit 3,3V. Entfernung mit seriellem Kabel 1,5m. (Alle DSPs sitzen in einem Gehäuse.) Die TX-Leitung (vom PC aus gesehen) ist direkt mit allen MAX verbunden. Der Empfangskanal (vom PC aus gesehen) ist über Dioden getrennt auf RS232-Seite. RX geht dann noch einmal in einen MAX rein, damit hinter den Dioden der Pegel stimmt, und dann wieder raus zur Buchse für den PC. Das ganze ist so aufgebaut und läuft mit 28.800. Problem: Wenn die Antwort von einem DSP etwas länger ist, kommt es vor, dass die Übertragung fehlerhaft ist. Woran könnte das liegen? Muss noch irgendwo ein Pullup oder Pulldown hin? Was bringt es, wenn die "Zusammenführung" von TX bzw. RX zwischen DSP und MAX erfolgt und nicht zw. MAX und PC? Grüße Marcusius
Datum: 30.06.2008 19:37
@ Marcusius (Gast) >Dateianhang: RS232-Struktur.sch (15,6 KB, 8 Downloads) Bildformate >gesehen) ist direkt mit allen MAX verbunden. Der Empfangskanal (vom PC >aus gesehen) ist über Dioden getrennt auf RS232-Seite. RX geht dann noch >einmal in einen MAX rein, damit hinter den Dioden der Pegel stimmt, und >dann wieder raus zur Buchse für den PC. Un wo ist dr Pull-Down dafür? Wie soll der Pegel jemals auf LOW kommen? MFG Falk P.S. RS485 ist für sowas besser, wei die Sender auch auf Tristate gehen können.
Datum: 01.07.2008 09:13
Moin. Klar, dass RS485 besser geeignet ist. Jedoch gibt es bestehende Hardwarestrukturen und die müssen verwendet werden. Also keinen Pull-Down! Schaltplan siehe Anhang. Marcusius
Datum: 01.07.2008 09:19
Ich würde empfehlen, auf der RS232-Schnittstelle GND ebenfalls anzuschliessen.
Datum: 01.07.2008 09:21
Das verstehe ich jetzt nicht. Falk meint keinen Pulldown, Andreas meint ja.... was denn nun? Marcusius
Datum: 01.07.2008 09:22
Was Dioden und Pulldown angeht: Da die TTL Seite der asynchronen Schnittstelle im Ruhezustand high ist, wird bei dieser Schaltung der Pin T1IN dauerhaft high sein. Es sei denn alle Nodes senden gleichzeitig ;-). Also: Diode andersrum, und einen gemeinsamen Pullup dahinter. Ohne Pullup ist der inaktive Zustand undefiniert. Und wenn die "bestehenden Hardwarestrukturen" nur Dioden aber keine Widerstände zulassen, wird's komplizierter.
Datum: 01.07.2008 09:24
Marcusius wrote:
> Falk meint keinen Pulldown,
Das lese ich etwas anders heraus.
Und überdies hängt es davon ab, auf welche Variante man sich bezieht.
Die erste Schaltung koppelt RS232-Pegel, da sind positive Dioden und ein
Pulldown nötig. Die zweite TTL-Pegel, da sind es negative Dioden und ein
Pullup.
Datum: 01.07.2008 10:19
Ich spreche jetzt nur noch von der Variante 2 (Verbindung auf TTL-Ebene). Warum soll die Diode umgedreht werden? Das ist doch die Senderichtung vom DSP aus gesehen. Verstehe ich nicht. Im Anhang eine Schaltung wie ich mir das vorstelle. Marcusius
Datum: 01.07.2008 10:23
Asynchrone Schnittstellen sind auf TTL-Seite im inaktiven Zustand auf high. Folglich reicht so eine einzige inaktive Node aus, um T1IN auf high zu ziehen. Dass die Daten von links nach rechts fliessen heisst nicht unbedingt, dass die Diode in die gleiche Richtung zeigen muss.
Datum: 01.07.2008 10:36
@Andreas "Asynchrone Schnittstellen sind auf TTL-Seite im inaktiven Zustand auf high. Folglich reicht so eine einzige inaktive Node aus, um T1IN auf high zu ziehen." Okay. "Dass die Daten von links nach rechts fliessen heisst nicht unbedingt, dass die Diode in die gleiche Richtung zeigen muss." Was bedeutet das jetzt für mich? Welche Diode empfiehlst du mir und wie muss sie eingesetzt werden? Pulldown, ja oder nein? Marcusius
Datum: 01.07.2008 10:41
Wie: Habe ich oben schon geschrieben. Typ BAT42, notfalls auch 1N4148.
Datum: 02.07.2008 08:56
Hmmm... nicht jede Aussage von den Kommentatoren ist eindeutig. Da kann es schon einmal vorkommen, dass man häufiger nachfragen muss.
Datum: 03.07.2008 12:12
Ich habe das so aufgebaut wie im Schaltplan gezeigt. Allerdings mit 1N4148. Geht allerdings nicht. Wenn ich nur einen DSP betreibe funktioniert es. Klemme ich einen weiteren ran ist keine Kommunikation mehr möglich. Pullup zu schwach? Den werde ich mal variieren.
Datum: 03.07.2008 19:58
@ Marcusius (Gast) >Ich habe das so aufgebaut wie im Schaltplan gezeigt. Allerdings mit >1N4148. Geht auch. >Geht allerdings nicht. Wenn ich nur einen DSP betreibe >funktioniert es. Klemme ich einen weiteren ran ist keine Kommunikation >mehr möglich. Auch nix falsch angeschlossen oder verpolt? >Pullup zu schwach? Den werde ich mal variieren. Eigentlich nicht. MFG Falk
Datum: 04.07.2008 09:52
Moin. Ich muss meine Aussage korrigieren. Selbst im Einzelbetrieb (also nur ein DSP wie oben angesprochen) funktioniert es nicht. Das Senden eines Befehls an den DSP klappt, aber ich empfange keine Antwort. Am Oszi sehe ich, dass etwas zurück gesendet wird. Auch hinter der Diode. Jedoch finde ich auf der TX und RX Leitung kurze Zeit später einen Spike. Das wird wohl das Problem sein. Woher kann das kommen? Von der Diode? Ich muss noch einmal genau nachsehen, was im Empfangspuffer am PC ankommt. Im Anhang noch einmal der Schaltplan, wie ich es aufgebaut habe. Die Diode habe ich in beide Richtungen getest.
Datum: 04.07.2008 10:04
Der MAXe sieht so leer aus - sind die Kondensatoren der Übersichtlichkeit halber bloss nicht eingezeichnet oder fehlen sie wirklich?
Datum: 04.07.2008 12:39
Die Schaltung soll nur das Prinzip der Verdrahtung darstellen. Cs sind dran und auch die Versorgungsspannung.
Datum: 04.07.2008 13:01
Also: links vom MAXe sind die Signale ok, rechts nicht? Dann sieht es so aus, als ob du Leidtragender der grad grassierenden MAX-Seuche bist. Also zu jenen in letzter Zeit im Forum vermehrt auftrenden Kunden eines MAX[3]232 gehörst, bei denen er obzwar angeblich völlig korrekt beschaltet nicht läuft.
Datum: 04.07.2008 16:38
So, ich habe nun wieder meine erste Variante aufgebaut. Siehe Anhang. In diesem Fall wird kein Pull-Down benötigt, da der MAX einen internen 5k hat. Jetzt scheint es allerdings zu gehen. Mein Problem aus dem ersten Posting ist also behoben. Es lag jedoch nicht an der Hardware sondern an LabView. In meiner Anwendung hatte ich bislang die VISA-VIs verwendet. Jetzt habe ich alle Visas raus geworfen und arbeite mit den seriellen VIs, wie es sie noch unter LV 6.0 gab. Ich selbst setzte 7.0 ein. Jetzt funktioniert es! :-)
Datum: 04.07.2008 18:52
@ Marcusius (Gast) >So, ich habe nun wieder meine erste Variante aufgebaut. Siehe Anhang. In Die ist aber anders. >diesem Fall wird kein Pull-Down benötigt, da der MAX einen internen 5k >hat. Sehr kreativ! MFG Falk
Datum: 05.07.2008 21:11
@Falk
> Sehr kreativ
Wie soll ich das deuten?
Datum: 05.07.2008 21:29
@ Marcusius (Gast) >> Sehr kreativ >Wie soll ich das deuten? So wie es dortsteht. Da steckt ausnahmsweise mal keine Ironie drin. ;-) MFG Falk
Datum: 07.07.2008 15:37
mir ist es klar das es nur so: http://www.mikrocontroller.net/attachment/preview/37028.jpg funktionieren kann. Ist das schonmal probiert wurden? Ich stehe vor eimem ähnlichen Problem! Weiß selber das man sowas über TWI löst! Aber auch ich stehe vor "vollendeter" Hardware. Mega8(DIP) mit 6 benutzten ADC's die Pin's für TWI sind also belegt. RS232(TTL) Schnittstellen sind rausgeführt! Habe die Quellen für die "Dinger" so das ich nachträglich eine Addresierung einbauen könnte. Gruß Carsten
Datum: 07.07.2008 15:40
mist habe den fingernagel erwischt! noch mal: http://www.mikrocontroller.net/attachment/37049/rs232.PNG Carsten
Datum: 07.07.2008 15:43
nochmal Mist jetz habe ich das richtige Bild http://www.mikrocontroller.net/attachment/37028/rs232.PNG
Datum: 07.07.2008 15:50
Alternative zur Diode ist dabei nicht der CD4010, sondern wahlweise 74HC07 oder CD4068/74HC4068 (in der AND Variante).
Datum: 07.07.2008 15:57
@ Andreas Kaiser ist das getestet? habe bedenken das der PC während der init-Phase der Mega8's schon irgend welchen Müll auf der RX-Seite bekommen könnte. Danke für den Vorschlag mit den "aktiven" Dioden Carsten :)
Datum: 07.07.2008 16:02
Ja, Pullups an den Inputs könnten bei der aktiven Version deshalb sinnvoll sein. Einfacher als mit den Dioden wird's dadurch folglich nicht, mir ging es eher darum, den ungeeigneten CD4010 abzuschneiden. Asynchrone Verbindungen so wie gezeigt 5V-seitig mit Dioden zusammenzuschliessen ist ziemlich gängig und im Forum schon öfter mal als Kommunikation zwischen mehreren Controllern gemacht worden.
Datum: 07.07.2008 16:06
@ Andreas Kaiser das ist doch mal ein Spruch! herzlichen Dank! Carsten
Datum: 07.07.2008 16:10
PS: Würde aber trotzdem die BAT42 statt 1N4148 empfehlen, oder ähnliche Kleinleistungs-Schottky-Dioden. Jedenfalls bei 3,3V.
Datum: 07.07.2008 16:16
ich werde Schottky's nehmen (kleine Anlaufspannung) + 47K für R um sicheren L-Pegel zu erreichen! dann sollte das bei 19200 schon gehen? Carsten :)
Datum: 07.07.2008 16:22
Für 19200 tut es wohl fast jeder Widerstand, aber ein bischen gross ist der mit 47K schon. Die steigende Flanke wird entsprechend gemächlich aussehen (R*C = ~5µs).
Datum: 07.07.2008 16:28
manne 19200 Baud!!! wenns nicht geht denke ich an Dich und nehme 10K Carsten
Datum: 07.07.2008 16:41
Also in der Form, wie du es jetzt aufbauen willst, hat es bei mir nicht funktioniert. Wenn es bei dir klappt, bitte ich dich noch einmal den Schaltplan zu posten. Marcusius
Datum: 07.07.2008 16:47
@ Marcusius Du hast wahrscheinlich??? das Problem das alle "DSP's", was auch immer dranhängt, auf dem Bus gleichzeitig plappen(sächs. reden) wollen? ?Carsten
Datum: 11.07.2008 13:15
@Carsten Eigentlich plappert da keiner. Zumindest nicht von mir so gewollt.
Datum: 11.07.2008 20:09
@ Marcusius, man Marcusius brauch noch ein paar Stunden, ich melde mich. Carsten
Datum: 12.07.2008 08:26
Am einfachsten ist es einen RS232 - "Ring" zu verdrahten. Gruß Franz
Datum: 12.07.2008 17:29
@ Marcusius So, habe jetzt 5 Stück (Meßeinheiten mit Mega8) an einer RS232 laufen, das geht vom Feinsten! Sehe keinen Grund mehr, warum nicht auch 10 gehen sollten! Die Pegel am Pegelwandler (Max232)-Ausgang (TX PC-seitig)sehen immer noch gesund aus! Davor hatte ich den meisten Bammel. Ps: Nimm bitte Schottky's! Gruß Carsten
Antwort schreiben
Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
- Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
- Aussagekräftigen Betreff wählen
- Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
- Groß- und Kleinschreibung verwenden
- Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
- JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
- Schaltpläne, Screenshots usw. als PNG oder GIF anhängen
Formatierung (mehr Informationen...)
- [c]C-Code[/c]
- [avrasm]AVR-Assembler-Code[/avrasm]
- [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
- [math]Formel in LaTeX-Syntax[/math]
- [[Titel]] - Link zu Artikel




