English
Language : 

EAEDIPTFT32-A Datasheet, PDF (10/33 Pages) List of Unclassifed Manufacturers – embedded 3.2 TFT-DISPLAY 320x240 BUILT-IN INTELLIGENCE
EA eDIPTFT32-A
Page 10
ELECTRONIC ASSEMBLY reserves
the right to change specifications
without prior notice. Printing and
typographical errors reserved.
DATA TRANSFER PROTOCOL (SMALL PROTOCOL)
The protocol has an identical structure for all 3 interface types: RS-232, SPI and I²C. Each data transfer
is embedded in a fixed frame with a checksum (protocol package). The EA eDIPTFT32-A
acknowledges this package with the character <ACK> (=$06) on successful receipt or <NAK> (=$15)
in the event of an incorrect checksum or receive buffer overflow. In the case of <NAK>,
the entire package is rejected and must be sent again.
Receiving the <ACK> byte means only that the protocol package is ok,
there is no syntax check for the command.
Note: it is neccessary to read the <ACK> byte in any case. If the host
computer does not receive an acknowledgment, at least one byte is lost.
In this case, the set timeout has to elapse before the package is sent
again. The raw data volume per package is limited to 255 bytes (len <=
255). Commands longer than 255 bytes (e.g. Load image ESC UL...)
must be divided up between a number of packages. All data in the
packages are compiled again after being correctly received by the EA
eDIP.
DEACTIVATING THE SMALL PROTOCOL
For tests the protocol can be switched off with an L level at
pin 17 = DPROT. In normal operation, however, you are urgently advised
to activate the protocol. If you do not, any overflow of the receive buffer will
not be detected.
BUILDING THE SMALL PROTOCOL PACKAGES
Command/data to the display
> <DC1> len
data...
bcc
< <ACK>
<DC1> = 17(dez.) = $11
<ACK> = 6(dez.) = $06
len = count of user data (without <DC1>, without checksum bcc)
bcc = 1 byte = sum of all bytes incl. <DC1> and len, modulo 256
Clear display and draw a line from 0,0 to 319,239
> <DC1> len ESC D L ESC G D
0
0
319
239 bcc
$11 $0E $1B $44 $4C $1B $47 $44 $00 $00 $00 $00 $3F $01 $EF $00 $9F
< <ACK>
$06
Example for a complete datapackage
The user data is transferred framed by <DC1>,
the number of bytes (len) and the checksum
(bcc). The display responds with <ACK>.
voidSendData(unsigned char *buf,unsigned char len)
{
unsigned char i, bcc;
SendByte(0x11);
bcc =0x11;
// Send DC1
SendByte(len);
bcc = bcc + len;
// Send data length
for(i=0; i < len; i++)
{ SendByte(buf[i]);
bcc = bcc + buf[i];
}
// Send buf
SendByte(bcc);
}
// Send checksum
C-Code to transmit data package
Request for content of send buffer
> <DC2> 1
S
bcc
< <ACK>
< <DC1> len
data...
bcc
<DC2> = 18(dez.) = $12 1 = 1(dez.) = $01 S = 83(dez.) = $53
<ACK> = 6(dez.) = $06
len = count of user data (without <DC1>, without checksum bcc)
bcc = 1 byte = sum of all bytes incl. <DC1> and len, modulo 256
The command sequence <DC2>, 1, S, bcc
empties the display’s send buffer. The display
replies with the acknowledgement <ACK> and
the begins to send all the collected data such as
touch keystrokes.