www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Kommunikation MDB Schnittstelle


Autor: Andreas R. (dragan123)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Timmo H. (masterfx)
Datum:

Bewertung
1 lesenswert
nicht 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

Autor: Andreas R. (dragan123)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas R. (dragan123)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: king (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Vorsicht (Gast)
Datum:

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

Autor: Andreas R. (dragan123)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: king (Gast)
Datum:

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

Guckst du Datenblätter bei atmel.

Autor: Vorsicht (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Steht wohl in den Datenblätter bzw User Manuals...
Lesen bildet!

Autor: Manfred (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas R. (dragan123)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank Manfred!

Werde mit Sicherheit noch darauf zurückkommen ;-)

Gruß A.R.

Autor: Andreas R. (dragan123)
Datum:

Bewertung
1 lesenswert
nicht 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/Interf...

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.

Autor: Vorsicht (Gast)
Datum:

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

Autor: Manfred (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.