Forum: Mikrocontroller und Digitale Elektronik Atmel LP2052 und Schnittstellenprotokoll


von Martin R. (device)


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

von Matthias (Gast)


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.

von Martin R. (device)


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

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.