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

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

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

跳至解决方案
919 次查看
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?

标签 (1)
标记 (2)
0 项奖励
回复
1 解答
907 次查看
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 项奖励
回复
2 回复数
797 次查看
Travel
Contributor I

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

0 项奖励
回复
908 次查看
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 项奖励
回复