How to work with the Small Protocol
Question:
We are going to use EA’s eDIP240-7 in our products. We have connected the module using the SPI interface clocked at 75 kHz.
The messages are exchanged by means of the small protocol. We have the following questions:
1. After sending the command (with DC1 header) we send additional 0xff byte to get the ACK/NACK. In spite of conforming to the 6µs time of clock inactivity, EA eDIP sometimes sends a byte of unknown value (it’s not an ACK and not a NACK).
In UART mode the eDIP sends the ACK/NACK when it’s ready to send it, but in SPI mode eDIP is a slave, and the master dictates the moment for sending the acknowledgement. What value is output when this is done too early?
Answer:
This is not specified.
Question:
2. We suspect there’s some time needed to allow eDIP calculate the checksum of a received message and prepare the ACK/NACK byte. How long must it be?
Furthermore, this time seems to be dependent on the current eDIP CPU load, i.e. processing of previously received messages.
Answer:
The calculation takes max. 6µs after receiving the last byte (bcc).
It does not depend on the current CPU load because the receive interrupt has the highest priority.
Question:
3. Can the -SS be asserted throughout the message transfer or must it return high between subsequent bytes (as is shown in the datasheet)?
Answer:
No, it’s not necessary but we recommend it.
Question:
4. Please clarify the meaning of timeout when receiving a command. Is it the time for receiving a complete message, and if it’s not received within this limit it’s dropped?
Answer:
Yes.
Question:
5. How can we upgrade the firmware in the eDIP?
Answer:
It is not possible to upgrade the firmware.