English
Language : 

EAEDIP320B-8LW Datasheet, PDF (8/25 Pages) List of Unclassifed Manufacturers – CONTROL UNIT 320x240 WITH INTELLIGENCE
EA eDIP320-8
Page 8
Specifications may be changed without
prior notice. Printing error 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 eDIP320-8 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 128 bytes (len <= 128).
Commands longer than 128 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 eDIP320-8.
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 SMALLPROTOCOL PACKAGES
Command/Data to the display
> <DC1> len
data...
bcc
< <ACK>
<DC1> = 17(dec.) = $11 <ACK> = 6(dec.) = $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 to a complete data package
The user data is transferred framed by <DC1>,
the number of bytes (len) and the checksum
(bcc). The display responds with <ACK>.
void SendData(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“ source code to transmit a data package
Request for content of send buffer
> <DC2> 1
S
bcc
< <ACK>
< <DC1> len
data...
bcc
<DC2> = 18(dec.) = $12 1 = 1(dez.) = $01
S = 83(dez.) = $53
<ACK> = 6(dec.) = $06
len = count of user data (without <DC2>, without checksum bcc)
bcc = 1 byte = sum of all bytes incl. <DC2>, 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.