Forum: Mikrocontroller und Digitale Elektronik Kommunikation MDB Schnittstelle


von Andreas R. (dragan123)


Lesenswert?

Hallo Leute,

bin ganz neu im Forum und habe auch keine Ahnung von Mikrocontrolern, 
deshalb bitte nicht sofort steinigen!

Ich möchte ein Board bauen, welches ein paar Ein und Ausgänge hat und 
über die MDB Schnittstelle mit Münzprüfern kommuniziert.

Weiß einer, welcher Microkontroller dafür am besten geeignet ist, und 
vor allem nicht viel kostet.
Und gibt es irgendwo Infos oder sogar vielleicht fertige 
Programmbausteine für die Kommunikation über MDB?

Vielen Dank im Voraus

Gruß A.R.

von Timmo H. (masterfx)


Lesenswert?

Wenn ich das so schnell richtig gelesen habe ist MDB eine ganz normale 
Serielle Übertragung mit Rx und Tx mit 9600 Baud und Start,Stop und 
Paritätsbit. Vom Framing her kann das jeder µC mit UART (also z.B. 
ATmega). Du musst halt nur die Pegel entsprechend anpassen, da sie von 
RS232 abweichen, ein MAX232 Treiber geht also nicht mehr. Mehr dazu 
hier: http://www.vending.org/technical/MDB_3.0.pdf

von Andreas R. (dragan123)


Lesenswert?

Danke für die schnelle Antwort.

Kann mir einer sagen, welcher µC am "populärsten" ist, sprich fertige 
Programmbausteine oder gute Tutorials hat?
Wie oben erwähnt, habe ich von der Materie noch keine Ahnung, und möchte 
mich ein bisschen einlesen. Ich habe Erfahrung mit SPS Programmierung, 
weiß aber nicht, wie verwandt die Thematiken sind.

Gruß A.R.

von Timmo H. (masterfx)


Lesenswert?

Ganz klar AVR. z.B. ATmega88 oder ATmega32. Codebeispiele findest du 
z.B. im AVR-GCC-Tutorial.
Die Beschaltung ist ebenfalls sehr einfach. Die einfachste 
Grundschaltung benötigt noch nicht mal externe Bauteile. Google mal nach 
AVR Grundschaltung

von Andreas R. (dragan123)


Lesenswert?

Hallo nochmal...

Jetzt habe ich mich Tagelang da reingelesen, allerdings habe ich umso 
mehr fragen.

1. Wenn ich ein LCD anschließen möchte muss ich dafür min. 4 und besser 
8 I/O Ports benutzen? D.h. bei der Auswahl des µC die benötigten I/O 
dazuaddieren.
2. Wenn ich 1 Münzprüfer, 1 Münzwechsler und einen Gelscheinprüfer 
anschließen will, muß ich 3 UART Schnittstellen haben + 1 Schnitstelle 
zum Programmieren, oder gibt es da andere Möglichkeiten?
3. Wenn ich Variablen über das Display programmieren möchte, muß ich 
doch bestimmt einen anderen µC haben, als den oben erwähnten ATMEGA mit 
UART? Ich kann den MC doch nicht selber beschreiben, es muß einen 
anderen Speicher geben? EEPROM???

Danke für die Hilfe.

Gruß A.R.

von king (Gast)


Lesenswert?

1) 4 reichen
2) wäre komisch. guck dir mal das protokoll genauer an, vielleicht gibt 
es da eine art adressierung und du kommst mit einer uart aus.
ansonsten kann man uarts auch in Software nachbilden - sollte hier 
irgendwo im forum zu finden sein.
3) die avrs haben alle auch eeprom eingebaut.

von Vorsicht (Gast)


Lesenswert?

Achtung der MDB verwendet 9 Datenbits. Das 9te Datenbit wird als Adresse 
verwendet.
Dies wird leider nicht bei allen uC unterstützt.

von Andreas R. (dragan123)


Lesenswert?

Vorsicht schrieb:
> Achtung der MDB verwendet 9 Datenbits. Das 9te Datenbit wird als Adresse
> verwendet.
> Dies wird leider nicht bei allen uC unterstützt.

Und welcher kann das???

Gruß A.R.

von king (Gast)


Lesenswert?

Alle avrs mit USART (nicht verwechseln mit UART ohne S).
z.b. Mega8

Guckst du Datenblätter bei atmel.

von Vorsicht (Gast)


Lesenswert?

Steht wohl in den Datenblätter bzw User Manuals...
Lesen bildet!

von Manfred (Gast)


Lesenswert?

Hallo Andreas,

bei der MDB Schnittstelle benötigst du nur eine USART Schnittstelle. Die 
einzelnen Peripherie Geräte werden dann, wie schon vermutet wurde, 
adressiert z.B. Chipkartenleser mit 0x10, Banknotenleser mit 0x30, 
Münzwechsler 0x08 usw. steht alles in der Spezifikation.

Wichtig dabei ist da 9.Bit, sogenannte Mode-Bit damit die Peripherie 
Geräte unterscheiden können ob Adressbyte oder Datenbyte kommt.

Weiters ist noch das Timing zu bachten. die +/- 1% Abweichung vom Timing 
(ca. 1µs) würde ich sehr genau einhalten, da ich schon öfters Problme 
damit hatte.

Habe schon auf versch. µC das MDB zum Laufen bekommen, ATMEGA128, 
ATMEGA2560, 2051er, Attiny13....

Um die einzelnen Geräte richtig anzusteuern hilft oft nur längeres 
herumprobieren, hin&wieder mal ein wenig warten zwischen zwei 
Befehlsblöcken kann da schon Wunder wirken (die Hersteller halten sich 
leider fast gar nicht an das Timing)

wennste weitere Fragen bzgl. MDB Protokoll hast, kannste mir genre ne 
mail schreiben: brunnim@gmx.net

lg und gutes Gelingen!

Manfred

von Andreas R. (dragan123)


Lesenswert?

Vielen Dank Manfred!

Werde mit Sicherheit noch darauf zurückkommen ;-)

Gruß A.R.

von Andreas R. (dragan123)


Lesenswert?

Timmo H. schrieb:
> ... Du musst halt nur die Pegel entsprechend anpassen, da sie von
> RS232 abweichen, ein MAX232 Treiber geht also nicht mehr. Mehr dazu
> hier: http://www.vending.org/technical/MDB_3.0.pdf

Ich habe jetzt einen Adapter im Netz gefunden: 
http://www.bonusdata.net/Download/MDBMaster/Interface/interface_schematics.pdf

Was mich daran stört, ist folgendes: Da steht nur MDB Master bei X3. Wie 
schließe ich denn die Slaves an? Manfred schrieb daß die adressiert 
werden - heißt für mich: die sind alle parallel angeschlossen??

Gruß A.R.

von Vorsicht (Gast)


Lesenswert?

Du musst dir halt mal das Dokument
> hier: http://www.vending.org/technical/MDB_3.0.pdf
durhlesen....

von Manfred (Gast)


Lesenswert?

Hallo Andreas,

die Geräte werden einfach Parallel an die MDB Master Schnittstelle 
angeschlossen. Die Peripheriegeräte sind dann eben alle auf hochohmig 
und nur der Master darf senden.

Es darf halt z.B.  nur ein Cashless Device angeschlossen werde, also 2 
Schlüsselleser fuktionieren nicht da die Leser die selbe Adresse haben 
(Es gibt glaub ich aber die Möglichkeit auf Offset-Adresse 0x60 zu 
adressieren, sofern der Leser auch auf 0x60 eingestellt ist/werden kann.

Gruss

MAnfred

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.