|
|
||
|
|
||
| .. Datenblätter .. Protokollrahmen | ||
|
|
||
|
Grundsätzlicher
Aufbau
Unabhängig
von der verwendeten Schnittstelle, RS232, I2C oder SPI, sind die
zu verwendenden Protokollrahmen und die Handshakezeichen des
Übertragungs-/ Empfangsprotokolls immer gleich. Wie im Bild
zu sehen, darf die Anzahl der Datenbytes in einem zu sendenden
Paket, 255 Bytes nicht überschreiten. Beim Empfang werden
max. 128 Bytes vom Display gesendet.
Den Datenbytes wird bei beiden Richtungen, ein Handshakebyte und ein Längenbyte vorangestellt. Letzteres gibt die Anzahl der folgenden Datenbytes an. Hinter den Datenbytes folgt ein Prüfsummenbyte. Es wird durch die Summe aller zuvor gesendeten Bytes gebildet, wobei das Prüfsummenbyte den ganzzahligen Rest dieser Summe darstellt, wenn diese durch 100h=256 geteilt wurde. Sehr einfach erhält man diese Prüfsumme, wenn man die zur Rede stehenden Bytes in einem 8Bit-Speicher addiert, und Übertrage in das 9.Bit ignoriert. Nach der erfolgreichen Übertragung eines Datenpakets zur Anzeige antwortet diese mit dem ASCII-Steuerzeichen Acknowledge (ACK), welches den hexadezimalen Wert 06h besitzt. |
||
|
Fehler
beim Senden von Daten
Auf
Fehler die bei der oben beschriebenen Übertragung auftreten
können, reagiert das Display auf zweierlei Weisen.
Das Prüfsummenbyte stimmt nicht In diesem Fall sendet die Anzeige das ASCII-Steuerzeichen Negative Acknowledge (NAK) zurück und verwirft alle erhaltenen Daten. Sie müssen nun noch einmal gesendet werden. |
||
|
|
||
| Es wurden von der Anzeige weniger Daten empfangen, als nach dem Aufbau des Protokollrahmens erwartet wurden In diesem Fall wartet die Anzeige eine Zeit lang (Voreinstellung, TimeOut= 2Sekunden), ob die Daten noch eintreffen. Wenn ja, geht alles seinen gewohnten Gang. Wenn nein, verwirft die Anzeige die erhaltenen Daten, sendet aber keine Quittung zurück. Das Sendeprogramm muss für diesen Fehlerfall ebenfalls eine Timeout-Schleife vorsehen, da das Display während seiner Zeit des Wartens keine weiteren Datenpakete annimmt. | ||
|
|
|
|
|
Daten
zur Anzeige senden / Daten von der Anzeige anfordern
Abhängig
davon, ob Daten zur Anzeige gesendet werden sollen, oder ob die
Anzeige Daten zurückgeben soll, werden im Protokollrahmen
zwei unterschiedliche Protokollvarianten verwendet.
------------------------------- Daten zur Anzeige senden ------------------------------- Sollen Daten zur Anzeige gesendet werden, lautet das Startzeichen .. Device Control 1 (DC1 = 11h). Die Anzeige antwortet dann wie oben beschrieben. Die Daten die zur Anzeige gesendet werden können, sind die Ausgaben zum Terminal oder die ESC-Sequenzen zur Steuerung der Grafikausgabe bzw. der Touchfolie
--------------------------------------- Daten von der Anzeige anfordern --------------------------------------- Sollen Daten von der Anzeige angefordert werden, z.B. Setzungen von Radio-Buttons oder angeforderte Hardkopien der Anzeige, so sendet der Wirtrechner zunächst seine Anforderung, allerdings mit dem Startzeichen .. Device Control 2 (DC2) = 12h. Die Anzeige antwortet auf die Anforderung wie zuvor mit dem Handshakezeichen (ACK), um nachfolgend auch die angeforderten Daten zu senden. Es sind drei voneinander verschiedene Anforderungstypen möglich, die auch unterschiedliche Antworten zur Folge haben. Folgend sind diese drei Anforderungstypen einzeln aufgeführt. |
||
Inhalt des Sendebuffers anfordern
In dem
Sendebuffer befinden sich vorzugsweise die Daten der Touchfolie,
die mit der nachfolgenden Sequenz angefordert werden können
..
|
||
Informationen zum Eingangs-/Ausgangsbuffer der Anzeige
anfordern
Das
Display besitzt zwei Buffer. In dem Empfangsbuffer werden die
empfangenen Daten abgelegt, die der Benutzer zur Anzeige oder
deren Umsteuerung gesendet hat. Der Sendebuffer enthält die
Daten welche das Display seinem Benutzer zurückgeben kann.
Normalerweise sind dies die Daten der Touchfolie. Um den
Füllstatus dieser beiden Buffer festzustellen, kann der
Benutzer deren Statusinformationen anfordern. Dies geschieht mit
folgender Sequenz.
|
||
letztes Datenpaket nach einem Übertragungsfehler neu
anfordern
Auch
bei dem Empfang von Daten der Anzeige können Fehler
auftreten. Stimmt beispielsweise die Prüfsumme nicht, so
kann das komplette Datenpaket der Antwort noch einmal
angefordert werden. Da sich dieser Fall auf beide der obigen
Anforderungen beziehen kann, sind zwei von einander verschiedene
Antwortsequenzen zu erwarten. Einmal beginnen die vom Display
gesendeten Daten mit DC1 und einmal mit DC2 (siehe oben). Ihre
Interpretation bleibt unverändert.
|
||
|
|
|
|
Änderung
der Protokollvoreinstellungen
Mit
diesem Sonderbefehl lassen sich zwei Voreinstellungen des
Protokollrahmens ändern. Einmal kann bestimmt werden, dass
die Anzahl der Datenbytes die das Display senden darf, kleiner
sein soll als die voreingestellten 128 Bytes, zum anderen lässt
sich die TimeOut-Zeit des Displays bei fehlerhafter
Datenübertragung von Schritten von hundertstel Sekunden
(Vorgabewert 2s) einstellen.
Zur
Unterscheidung dieser Anweisung gegenüber den anderen
Steuersequenzen wird sie mit dem Handshakezeichen DC2
eingeleitet.
|
||
|
|
Es fehlt die Sequenz <DC2> 1 P Prüfsumme. Mit dieser Sequenz können die Protokollinformationen zur maximalen Anzahl der Nutzdaten eines Protokollpakets (normal 255) und die eingestellte Paketgröße beim Senden (normal 128), sowie die aktuell eingestellte TimeOut-Zeit in hundertstel Sekunden abgefragt werden. Antwort: <DC2> 3 max.Daten akt.Paketgröße TimeOut |
|
|
|
.de