Datenübertragung / Protokoll

Egal über welche der 4 seriellen Schnittstellen die Daten von der übergeordneten Steuerung übertragen werden ist das Übertragungsprotokoll identisch. Die Hardwarebeschaltung ist unterschiedlich und kann unter dem Punkt "Serielle Interfaces" nachgelesen werden.

Die Datenübertragung ist jeweils eingebettet in einen festen Rahmen mit Prüfsumme. Die EA uniTFTs-Serie quittiert dieses Paket mit dem Zeichen <ACK> (=0x06) bei erfolgreichem Empfang oder <NAK> (=0x15) bei fehlerhafter Prüfsumme oder Empfangspufferüberlauf. In Falle eines <NAK> wird das komplette Paket verworfen und muss nochmal gesendet werden. Ein <ACK> bestätigt lediglich die korrekte Übertragung. Ein Syntax-Check erfolgt nicht.

Es sind zwei unterschiedliche Protokolle implementiert, das "Short Protokoll" und das "Small Protokoll". Das Short Protokoll arbeitet mit einer CRC16 Prüfsumme und erlaubt deutlich größere Datenpakete. Während das Small Protokoll hauptsächlich aus Kompatibilitätsgründen zur Serie EA eDIPxxx implementiert wurde.

Die Anzahl der Nutzdaten pro Paket kann max. 2042 Byte bzw. 255 Byte betragen. Befehle die größer sind (z.B. Bilder oder File schreiben #FWD ...) müssen auf mehrere Pakete aufgeteilt werden. Die Nutzdaten in den einzelnen Paketen werden nach korrektem Empfang vom Displaymodul wieder zusammengefügt.


Hinweis:

Das <ACK> muss aktiv eingelesen werden (SPI und I²C). Empfängt der Hostrechner keine Quittierung (weder <ACK> noch <NAK>), so ist mindestens ein Byte verloren gegangen. In diesem Fall muss die eingestellte Timeoutzeit abgewartet werden, bevor das Paket komplett wiederholt wird.


Das Protokoll kann für erste Tests an der seriellen Schnittstelle deaktiviert werden. Hierfür ist der Pin 14 auf low zu legen (siehe Pinbelegung).