Hallo, ich habe einen Mikrokontroller über einen RS485-Bus an meinen PC angeschlossen. Die Pegelanpassung zur seriellen Schnittstelle des PCs erfolgt mit Hilfe eines MAX232 und dem Bustreiber LTC485. Bei diesem Bus muss ich ja bevor ich Daten senden kann erst die RTS-Leitung (ist mit RE/ und DE am LTC485 verbunden) "einschalten". Ich habe dabei festgestellt, dass zwischen dem Senden und dem "einschalten" bzw. "ausschalten" (nach dem Senden) der RTS-leitung eine gewisse Zeit notwendig ist, damit die Befehle richtig übertragen werden. Diese Zeit möchte ich nun möglichst gering halten, damit ich den Bus nicht unnötig lange blockiere. Wie lang muss diese Zeit sein?? Das müsste doch eigendlich im Datenblatt vom LTC485 stehen, aber ich kann da nichts finden. (liegt warscheinlich am Benutzer ;-) )
Die Zeit muss mindestens so lang sein, bis das Stopbit vom letzten im Sendpuffer der UART liegende Bit komplett raus ist. Kann man rauskriegen - bei manchen Controllern mit Interrupt, bei manchen nicht (kann beispielsweise transmit complete heissen). Ganz geniale Controller-Entwickler denken daran sogar vorher, und spendieren der UART einen Modus in dem RTS schon von ganz allein so arbeitet. Das ist übrigens noch ein Grund mehr, an Stelle von RS485-Transceivern lieber CAN-Transceiver zu verwenden, wenn man die Wahl hat. Erspart diese Leitung und diese Entscheidung.
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.