cancel
Showing results for 
Search instead for 
Did you mean: 

I3C Master RX length > Slave TX length

bell_huang
Associate

I am using two  NUCLEO-U385RG-Q boards for I3C communication—one as the Controller (Master) and the other as the Target (Slave). When the Controller’s RX length exceeds the Target’s TX length, after the first call to HAL_I3C_Ctrl_Receive_IT the Controller appears to enter an abnormal state; on the second call to HAL_I3C_Ctrl_Receive_IT, it hangs and an abnormal waveform is observed.

 

After the first call, is there a way to restore the Controller to a normal state?

 

Regarding Target-controlled TX length, please refer to I3C Specification, Section 5.1.2.3.4, which states:

In I2C, Read from Target has the issue that only the Controller ends the Read, so the Target has no ability to control the amount of data it returns. In I3C SDR, by contrast, the Target controls the number of data Words it returns; but it also allows the I3C Controller to abort the Read prematurely when necessary.

 

Master Rx = 3, Slave Tx = 2 (First & second calls)

bell_huang_0-1756106814010.png

bell_huang_1-1756106824360.png

 

Master Rx = 2, Slave Tx = 2 (First & second calls)

bell_huang_2-1756106862218.png

bell_huang_3-1756106871530.png

0 REPLIES 0