SC18IM700 endless loop when reading.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

SC18IM700 endless loop when reading.

1,569 Views
sandberg
Contributor I

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):

okay_48_bytes.png

Failure case (reading 64 bytes)

fail_64_bytes.png

Reading continues forever as shown below

fail_endless_loop.png#

0 Kudos
Reply
4 Replies

1,129 Views
diegoadrian
NXP Employee
NXP Employee

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.

0 Kudos
Reply

1,129 Views
diegoadrian
NXP Employee
NXP Employee

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.

0 Kudos
Reply

1,129 Views
sandberg
Contributor I

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:

Working_4bytes.png

Reading 48 bytes, same command with 4 -> 48. Fails, goes to an endless loop.

failure_48bytes_serial.png

Overview of a few seconds:

failure_48bytes_overview.png

0 Kudos
Reply

1,129 Views
sandberg
Contributor I

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.

slow_br_reset.png

0 Kudos
Reply