I3C communication of LPC860, received data are duplicated in read operation

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

I3C communication of LPC860, received data are duplicated in read operation

Jump to solution
910 Views
Travel
Contributor I

When use I3C module of LPCXpresso860-MAX BOARD, and I3C configured as a controller, received data are duplicated in read operation. In I2C mode, it repeats two times, in I3C SDR mode, it repeats three times. For example, when "0xAA 0xBB 0xCC 0xDD" are sent, "0xAA 0xAA 0xBB 0xBB" are received.

But when measure SCL signal with an oscilloscope, the received data are correct. We found that the count register of rxfifo didn't decrease immediately whithout an oscilloscope, but decrease immediately whith an oscilloscope probe in SCL signal.

what causes received data to be duplicated in read operation?

Labels (1)
Tags (2)
0 Kudos
Reply
1 Solution
898 Views
Harry_Zhang
NXP Employee
NXP Employee

Hi @Travel 

The duplication of received data in read operations when using the I3C module of the LPCXpresso860-MAX board could be due to several potential issues. Since you've observed that the received data are correct when measuring the SCL signal with an oscilloscope, but the count register of rxfifo doesn't decrease immediately without the oscilloscope, it suggests that the issue might be related to the electrical characteristics of the bus or the timing of the read operation.

Here are some possible causes for the duplication of data:
1. Electrical Noise or Interference: Without the oscilloscope probe, there might be more electrical noise on the bus, which could cause the I3C controller to erroneously detect additional start or stop conditions, leading to duplicated data. The capacitive load introduced by the oscilloscope probe might help to stabilize the signal and reduce noise.

2. Bus Timing Issues: The I3C protocol has specific timing requirements for start, address, and data phases. If the bus timing is not properly configured or if there are delays due to software overhead, it could cause the controller to mistakenly interpret a single data packet as multiple packets.

3. Incorrect Configuration: If the I3C module is not correctly configured as a controller, or if there are settings that are not properly adjusted for the specific mode of operation (I2C or I3C SDR), it could lead to unexpected behavior during data transfer.

Hope this will help you.

BR

Hang

 

View solution in original post

0 Kudos
Reply
2 Replies
788 Views
Travel
Contributor I

when I use STM32H5,it doesn't have the same issue. It is strange.

0 Kudos
Reply
899 Views
Harry_Zhang
NXP Employee
NXP Employee

Hi @Travel 

The duplication of received data in read operations when using the I3C module of the LPCXpresso860-MAX board could be due to several potential issues. Since you've observed that the received data are correct when measuring the SCL signal with an oscilloscope, but the count register of rxfifo doesn't decrease immediately without the oscilloscope, it suggests that the issue might be related to the electrical characteristics of the bus or the timing of the read operation.

Here are some possible causes for the duplication of data:
1. Electrical Noise or Interference: Without the oscilloscope probe, there might be more electrical noise on the bus, which could cause the I3C controller to erroneously detect additional start or stop conditions, leading to duplicated data. The capacitive load introduced by the oscilloscope probe might help to stabilize the signal and reduce noise.

2. Bus Timing Issues: The I3C protocol has specific timing requirements for start, address, and data phases. If the bus timing is not properly configured or if there are delays due to software overhead, it could cause the controller to mistakenly interpret a single data packet as multiple packets.

3. Incorrect Configuration: If the I3C module is not correctly configured as a controller, or if there are settings that are not properly adjusted for the specific mode of operation (I2C or I3C SDR), it could lead to unexpected behavior during data transfer.

Hope this will help you.

BR

Hang

 

0 Kudos
Reply