Gast
#601425
Hallo allerseits, wieder einmal das Thema "Kollisionserkennung bei RS-485" bei Multimaster-Betrieb. Zunächst vorne weg: 1) Mir geht es hier um die Kollisionserkennung und nicht deren Vermeidung (z.B. durch Token oder Zeitslots) 2) ja, CAN kann das. ;-) Interssant finde ich diesen Baustein von Maxim (MAX1348x): http://www.maxim-ic.com/quick_view2.cfm/qv_pk/5387 Dieser beinhaltet eine kleine State-Machine und einen Komparater, der automatisch zwischen Senden und Empfangen umschalten kann (siehe Datenblatt Seite 11/12). Die Frage ist jetzt, ob man so etwas nicht für die Kollisionserkennung benutzen kann? Und zwar mit "normalen" RS-486 Transceivern... Der Knackpunkt bei dieser Geschichte ist, dass das DE Signal (TX enable) in Kombination mit dem Signal DI (TX data bit) clever genutzt wird, um die Tatsache auszunutzen, dass der Bus bei Idle durch die Terminierung mit Pull-Ups und Pull-Downs in einen definierten Zustand "logisch 1" gezogen wird. Natürlich wird der Flankenwechseln von 0->1 nicht den Pull-Ups überlassen, sondern der Treiber wird kurz aktiviert. Danach wird geschaut, ob der Zustand immer noch "logisch 1" ist. Ist er es nicht, belegt ein anderer Teilnehmer den Bus. Könnte man das zuletzt beschriebene nicht mit normalen RS-485 Transceivern benutzen, um eine Kollision bzw. eine Busbelegung zu Erkennen? Gruss, Christian