Gast
#337595
Hallo, bei RS485-Treibern muss man ja neben den zu sendenden Daten an einem "driver enable" (DE) Pin des treibers die senderichtung aktivieren. Ich benutzte dafür stets einen eigenen pin des mikrokontrollers. nun eine idee, wie man sich das sparen kann (?): wenn wir TX die zu sendenden Daten nennen (vom Mikrocontroller), dann benutze man not(TX), also die invertierten Daten, als Driver Enable und spart sich damit ein mikrokontroller-pin (vorausgesetzt man hat einen inverter bzw. transistor übrig oder andere gatter die als inverter herhalten können) Damit lässt man also, solange man sowieso nur Ruhezustand (1) senden würde, den Bus einfach auf seiner statischen 1 die er ohnehin schon hat, ohne aktiv zu senden. Nur wenn man 0-Bits senden muss, wird aktiv gesendet. Achtung: Das setzt natürlich voraus, dass der bus korrekt ge"biased" ist, d.h. an einer stelle pull-up B nach +5V und pull-down A nach 0V hat. (A und B hier in EIA/TIA-RS485 Notation, nicht Treiber-Handbuch). Aber: bei den meisten Bussen (insbes. Modbus) ist ein solches bias sowieso zwingend vorgeschriebener Teil der Spezifikation, da ja sonst RS485 im +-200mV-Bereich einen undefinierten Zustand hätte. ich hab das in einem Schaltplan für einen rs232-zu-rs485-konverter gesehen, der neben expliziter DE-Ansteuerung (mit RTS von der RS232) auch diesen "Trick" anwendet (mit einem transistor-basiertem nand kombiniert) Was haltet Ihr davon?