Forum: Mikrocontroller und Digitale Elektronik Serielle Schnittstelle 9-Bit


von Andreas R. (dragan123)


Lesenswert?

Hallo Leute,

nachdem ich mir jetzt Tagelang Tutorials reingezogen habe und so langsam 
anfange zu verstehen, was ein µC ist, habe ich doch eine grundlegende 
Frage:

Kann mir einer den Ablauf einer Kommunikation der seriellen Scnitstelle 
erklären, oder brauchbare Links geben, wo es !!!leicht!!! erklärt ist, 
damit ich diese selber erstellen/programmieren kann?

Folgender Hintergrud: Ich möchte mit einem µC, wahrscheinlich ein 
ATMega32, mit einem Münzprüfer per MDB Schnittstelle kommunizieren.
Bisher habe ich rausgefunden, daß es per UART nicht geht, und per USART 
kann man wohl senden, aber nicht empfangen.

Hoffe ihr könnt mir helfen...

Vielen Dank im Voraus!

Gruß A.R.

PS: Google habe ich auch schon gefragt, aber nichts gefunden, was mir so 
richtig weiterhilft.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Bisher habe ich rausgefunden, daß es per UART nicht geht, und per USART
kann man wohl senden, aber nicht empfangen.

Wieso geht es mit UART nicht? USART is auch nur ein UART mit der 
Fähigkeit, auch synchron Daten zu übertragen. UART und USART (eigentlich 
USRT) können senden und empfangen.

von Timmo H. (masterfx)


Lesenswert?

Such bei google mal nach "rs232" und klick auf den ersten Link, da ist 
eigentlich alles wichtige beschrieben. Wenn du wissen willst, wie du die 
AVR entsprechend einstellst solltest du mal einen Blick auf das 
AVR-GCC-Tutorial werfen.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Habe mir gerade die Spezifikationen vom MDB angesehen, der ATMEGA muß im 
9-Bit Modus senden und empfangen. Eine Anleitung zur Initialisierung und 
Benutzung der UART mit 9-Bit Daten findest Du im Datenblatt des 
Controllers.

von Timmo H. (masterfx)


Lesenswert?


von Andreas R. (dragan123)


Lesenswert?

OK, vielen Dank für die schnellen Antworten.

Habe mir jetzt die Hardware bestellt und werde mal anfangen... Bisher 
waren das alles nur "Trockenübungen"

Falls ich nicht weiterkomme, werde ich nachfragen.

Super Forum /*Daumen hoch/*

Gruß A.R.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Nur am Rande sei bemerkt, daß der 9-Bit-Betrieb mit den an PCs üblichen 
seriellen Schnittstellen nur mit Softwaretricksereien möglich ist, da 
die Schnittstellenhardware selbst keinen 9-Bit-Betrieb kennt.

Für die Software-Trickserei wird das Paritätsbit missbraucht.

Für jedes zu übertragende Byte muss der Wert des Paritätsbits 
entsprechend der aktuellen Einstellung (gerade/ungerade) der 
Schnittstelle berechnet werden; entspricht dies nicht dem erwünschten 
Wert für Bit 9, so ist die Schnittstelle auf die jeweils andere 
Paritätsbetriebsart (gerade/ungerade) umgeschaltet werden.

Beim Empfang ist für jedes empfangene Byte das Paritätsfehlerbit der 
Schnittstelle auszuwerten und mit dem anhand des aus den empfangenen 
Daten berechneten Paritätsbits je nach aktueller Einstellung 
(gerade/ungerade) zu vergleichen.

Eine paritätsbitgesicherte Übertragung von 9-Bit-Datenwörtern ist damit 
nicht umsetzbar, es sind nur die Betriebsarten 9n1 und 9n2 möglich.

Besonders effizient ist diese Betriebsart auch nicht, durch das häufige 
Umschalten der Schnittstellenhardware durch den Devicetreiber des 
Betriebssystems sind allenfalls ein paar hundert Bytes pro Sekunde 
übertragbar.

Fazit: So schön der 9-Bit-Betrieb mit Microcontrollern auch sein mag, im 
Zusammenhang mit PCs ist er tunlichst zu vermeiden.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Hier geht´s doch gar nicht um einen PC, sondern um einen Münzprüfer, der 
eben genau 9 Bit spricht. Hier kann ein AVR gute Dienste leisten. Der 
AVR kann auch als Datenwandler für eine Standard-PC-UART fungieren. Ein 
AVR mit 2 UARTs bietet sich dann an.

von Jörg S. (joerg-s)


Lesenswert?

>Hier geht´s doch gar nicht um einen PC, sondern um einen Münzprüfer...
Daher meinte Rufus wohl auch:
>Nur am Rande sei bemerkt...

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Ja schooon...

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.