English
Language : 

EAEDIP128B-6LW Datasheet, PDF (10/29 Pages) List of Unclassifed Manufacturers – OPERATING UNIT 128x64 with touch panel
EA eDIP128-6
Page 10
ELECTRONIC ASSEMBLY reserves
the right to change specifications
without prior notice. Printing and
typographical errors reserved.
DATATRANSFER 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 eDIP128-6 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 elapsed 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 split
up between a number of packages. All data in the packages are compiled
again after being correctly received by the EA eDIP.
DEACTIVATINGTHE 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.
BUILDINGTHE SMALL PROTOCOL PACKAGES
Command/data to the display
> <DC1> len
< <ACK>
data...
The user data is transferred framed by <DC1>,
bcc the number of bytes (len) and the checksum
(bcc). The display responds with <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 127,63
<DC1> len
ESC D L ESC G D 0 0 127 63
bcc
$11 $0A $1B $44 $4C $1B $47 $44 $00 $00 $7F $3F $2A
Example fo a complete datapackage
>
< <ACK>
$06
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-example to send a datapcket
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
begins to send all the collected data such as
touch keystrokes.