Hey,
We are using a SC18IM700 in a new design we are working on, and I have ran into a problem, which seems a lot like a HW error in the SC18IM700.
When reading (using a read or repeated read / read after write), the SC18IM700 enters an endless loop, which only can be exited by resetting the chip. The scenario can be reproduced everytime, by reading a certain amount of bytes from e.g. an I2C Eeprom. This is a serious problem to our design.
If I read 48 bytes, it goes fine and if I read 64 bytes, the SC18IM700 keep reading from the device forever, until it is reset.
OK Case (reading 48 bytes):
Failure case (reading 64 bytes)
Reading continues forever as shown below
#
Hello Jesper,
The SC18IM700 has a 16 byte FIFO for Tx and Rx. Probably, you are overcharging the internal memory of the SC18IM700.
Best Regards,
Diego.
Hello Jesper,
Thank you for writing.
Can you please take a picture of the UART commands that you are sending to the SC18IM700?
Best Regards,
Diego.
Hi Diego,
Another thing i have seen is , that the SC18IM700 tries to read all requested data, before sending anything back via the serial channel ? Whats the max limit for memory inside the SC18IM700 ? there for sure gotta be a limit to what you can read at once. This seems like a case of overwriting some memory / stack.
First: the eprom connected is a PCF85103-2.
Here are some more pictures. On all screenshots you can see the serial data on the blue fields, on the channel saying TX.
First reading 4 bytes working fine:
Reading 48 bytes, same command with 4 -> 48. Fails, goes to an endless loop.
Overview of a few seconds:
Tried to lower the I2C baudrate to 8.5kbit/s to make sure it was slower than the SC18IM700, which runs at the default 9600 baud.
This causes the same behaviour, but here its is clear that the SC18IM700 resets, since the baudrate resets to 100kbit after reset. See picture below.