Forum: Mikrocontroller und Digitale Elektronik RS485 start-stop problem


von Miche L. (ihoid)


Lesenswert?

Hi, ich habe folgendes Problem:
Ich habe bereits ein Bussystem zwischen mehreren AVRs aufgebaut.
Bis jetzt hat es folgendermaßen funktioniert:
über Uart -> RS485 Baustein in Halbduplex
Uart Einstellungen waren 9N1 9,6kbaud
das 9. Bit zeigte immer an, ob es sich um die Busadresse oder das letzte 
Datenbyte handelte.
Nun habe Ich jedoch einen Controller, der kein 9. Datenbit verwalten 
kann.
Wie führt man nun eine Sinnvolle Erkennung der Framelänge durch?

Für Ideen oder Anregungen wäre ich dankbar
MfG

von Marcus (Gast)


Lesenswert?

Diese Neun-Bit-Geschichte ist m.E. eine ziemliche Schummel-Lösung. An 
Deiner Stelle würde ich einen sauberen (Neu-)Ansatz wählen und MODBUS 
RTU implementieren, z.B. auf Basis von FreeMODBUS. Da funktioniert es 
dann auch mit acht Bits.

Keine Angst, das hört sich viel aufregender und -wendiger an, als es 
tatsächlich ist.

von spess53 (Gast)


Lesenswert?

Hi

>Diese Neun-Bit-Geschichte ist m.E. eine ziemliche Schummel-Lösung.

Wenn man nicht solche Sonderwünsche, klappt das ausgezeichnet.

>das 9. Bit zeigte immer an, ob es sich um die Busadresse oder das letzte
>Datenbyte handelte.

Das mit der Endeerkennung ist auch nicht unbedingt im Sinne des 
Erfinders.

MfG Spess

von Miche L. (ihoid)


Lesenswert?

MODBUS RTU hört sich gut an, habe bis jetzt immer gedacht Modbus wäre 
sehr Komplex. Werd ich mal google Bemühen.
Danke schonmal

von Frank K. (fchk)


Lesenswert?

Miche L. schrieb:

> Nun habe Ich jedoch einen Controller, der kein 9. Datenbit verwalten
> kann.

Was für einen Controller?

von Miche L. (ihoid)


Lesenswert?

NXP LPC 1768 auf dem mbed dev. board
http://www.mbed.org

von Frank K. (fchk)


Lesenswert?

UART1 des 1768 hat RS485-Hardware-Support und kann den 9 Bit Modus. 
Siehe UM10360 (Rev. 01 - 4 January 2010) Kapitel 15 Abschnitt "4.21 
RS-485/EIA-485 modes of operation" auf Seite 337.

fchk

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
Noch kein Account? Hier anmelden.