www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmel LP2052 und Schnittstellenprotokoll


Autor: Martin Reitmeier (device)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erst mal ein Herzliches Hallo von mir!!

Bin neu hier und auch Anfänger was MCUs betrifft. Ich hab hier die 
Aufgabe ein Touch Bedienterminal mit einem MCU 2052 zu verbinden. Der 
MCU 2052 serial Bus wird mit einer RS485 herrausgeführt. Hab auch die 
Doku zum Protokoll....aber hier die erste Schwierigkeit:

Hab jetzt mal das Datenblatt der 2052 "studiert" und anscheinend 
verwendet der Programmierer den internen "Mode 3" der MCU um mit 
folgenden 11 Bits zu kommunizieren:


 bit        Adress-byte
1.    Start-bit  0
2.    Adress-bit  LSB
3.    Adress-bit
4.    Adress-bit
5.    Adress-bit
6.    Adress-bit
7.    Schreib.-Lese-bit
8.    Schreib.-Lese-bit
9.    Schreib.-Lese-bit  MSB
10.    Adress-Erkennungs-bit  1
11.    Stop-bit  1

Mein Problem ist nun, dass ich auf meinem Touch-Panel nur 7-8 Bits, 1-2 
Stopbits, Parity None/even/odd einstellen kann. Weiß jemand, ob ich ich 
statt dem 10. Adresserkennungsbit auch 2 Stopbits verwenden kann oder 
gibt es irgend eine andere Möglichkeit das Protkoll nachzubilden?
Problem ist unter anderem, dass der Programmierer nichts am Protokoll 
ändern wil (Abwärtskomp.)

Danke für eure Antworten...

Gruß
Device

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Dein Bit 10 immer 1 ist, sollte es gehen, wenn Du am Terminal 2 
Stoppbits einstellst. Wenn dieses jedoch auch mal 0 wird, gibts 
Probleme.

Um welche Baudrate handelt es sich?

Grundsätzlich kann man fast jedes Protokoll nachbilden. Müsstest dann 
einen Konverter dazwischen hängen. z.B. könnstest Du Dir eine 
Software-UART programmieren, damit bist Du flexibel. Es gibt auch 
spezielle 8051 von Atmel und Nxp, welche eine PCA-Unit haben. Damit 
lässt sich relativ leicht die UART per Software realisieren. Bei Atmel 
gibts dazu eine Application-Note.

Autor: Martin Reitmeier (device)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Matthias,

Danke für deine Antwort

Ja, bei diesem Datenbyte (Sendebyte vom Master) ist das 10. Bit immer 
1.Das müsste dann also funktionieren.

Probleme gibt es dann bei den 8 Empfangsbytes, bei denen das 10.Bit dann 
immer 0 ist.:

1.    Start-bit  0
2.    Daten-bit  LSB
3.    Daten-bit
4.    Daten-bit
5.    Daten-bit
6.    Daten-bit
7.    Daten-bit
8.    Daten-bit
9.    Daten-bit  MSB
10.    Daten-Erkennungs-bit  0
11.    Stop-bit  1

Das mit dem Konverter wäre sicherlich eine komfortable Lösung, nur hab 
ich leider keine Ahnung wie ich so was realisieren kann. Hab nur 
besch... Kenntnise was MCUs betrifft. Hab echt keine Angst vorm 
Programmieren aber leider fehlen mir die Elektronik/Hardware-kenntnisse 
das zu realisieren.

Ps.: Baudrate ist 38400

Gruß
Martin

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.