Am 26.02.2011 12:59, schrieb Michael Stapelberg: > Tipps: > • Der Bus muss unbedingt korrekt terminiert sein, also mit Widerstand > zwischen > A und B auf beiden Enden *und* mit Widerständen zwischen A/B/VCC/GND > um die > Pegel zu stabilisieren, siehe > http://www.mikrocontroller.net/articles/RS-485
Kann man nicht oft genug sagen - völlig richtig! Zwei Ergänzungen dazu: * Terminierungswiderstände im Sub-Kiloohmbereich sind im Vergleich zur Energiebilanz der kleinen Meß-Nodes oft 'Stromfresser' - hier kann AC-Terminierung helfen (C in Reihe mit Rt). * Werden Bias-Widerstände (auch Failsafe-Biasing genannt; im o.g. mcnet-Artikel mit R1 und R3 bezeichnet) nachträglich eingebaut, fällt oft die falsche Benennung der RS-485-Leitungen A und B auf, die leider viele Hersteller abweichend von der EIA verwenden: die resultierende Vertauschung der Power-Rails für diese Widerstände führt meist zum Nicht-Funktionieren des Busses. Dieses schlechte Herstellergebaren findet sich in der (englischen) Wikipedia: "[...] These manufacturers are incorrect, but their practice is in widespread use. [...]" (https://secure.wikimedia.org/wikipedia/en/wiki/EIA-485#Pin_labeling) > • Wenn du Overflow-Fehler kriegst ist ggf. dein RX-Interrupt-Handler zu > langsam und der Receive-Buffer im Mikrocontroller läuft über. Dafür könnte z.B. eine zu reichliche, aber zu langsame Debug-Ausgabe verantwortlich sein - diese ggf. temporär abschalten oder deren Umfang reduzieren und Ausgabegeschwindigkeit erhöhen (betrifft natürlich nur Systeme mit mehr als einer UART). msw. -- unwritten software has no bugs and executes at speed of mouth. (h.) _______________________________________________ Ethersex-devel mailing list [email protected] https://list.zerties.org/cgi-bin/mailman/listinfo/ethersex-devel
