Data transfer

Communication with EA uniTFTs-Series is done via serial interface. For more details on hardware, baud rate etc. please refer to EA uniTFTs-Series datasheet. For data transfer there's a software protocol built-in which enables a safe data transmission. For first communication tests we recommand to switch off the protocol by connecting the pin DPROT to GND.

Protocol

The transmission protocol is identical regardless of which of the serial interfaces (USB, RS-232, SPI...) is used to transfer data from external. All received data packages are collected in internal receive buffer, regardless which serial interface they come from.

With protocol the data transfer is embedded in a fixed frame including checksum. The EA uniTFTs-Series acknowledges this packet with the character <ACK> (= 0x06) on successful reception or <NAK> (= 0x15) when it detects a faulty checksum or encounters a buffer overflow. In case of a <NAK>, the complete packet is discarded and has to be sent again. An <ACK> only confirms the correct transmission. These data will be put into receive buffer. Note that a syntax check does not take place at this stage.

Two different protocols are implemented, the "Short Protocol" and the "Small Protocol". The Short Protocol works with a CRC16 checksum and allows the transfer of larger data packets. The Small Protocol was implemented mainly for compatibility with the EA eDIPxxx series.

The maximum amount of user data per packet is 2042 bytes or 255 bytes, respectively. Commands that are larger (for example, image or file transfers, #FWD ...) need to be split into several packets. The data in the individual packets is reassembled by the display module after receiving them successfully.


Remark:

The <ACK> has to be read (SPI and I²C). If the master doesn't receive the acknowledgement, at least one byte is lost. In this case the time-out time needs to be observed before the packet is resent.

The protocol can be disabled on the serial port for testing purposes. To turn off the protocol, pin 22 has to be set low.