How to work with the Small Protocol

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 6us 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 it's done to early?

Answer: this is not specified.

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 us after receiving the last byte (bcc).
It depends not on the current CPU load because the receive interrupt has the highest priority.

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 recommended it.

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.

5. How can we upgrade the firmware in the eDIP?

Answer: it is not possible to upgrade the firmware.