MCXN947 I3C IBI payload issue

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

MCXN947 I3C IBI payload issue

558件の閲覧回数
JackieZhu
Contributor I

Hi,

I met a few issues about I3C receive IBI payload issue. Hope you can help. Appreciate.

When I used NXP974 as I3C master, how many payload data include MDB can we received? In my test, it seems the maximum is 8 bytes. (one MDB and seven payload data). But from the spec, it indicates that support 9 bytes include MDB. Can you help to confirm?

Spec : The controller automatically stops IBI data after 9 bytes (including the mandatory data byte).

 

Another issue I met is when I set the payload to 8 bytes, I do received the 8 bytes from fifo but it will enter IBI again and caused system stuck even if we didn't send new IBI from i3c target. When the payload size is less than 8 bytes, it works well. 

I checked the RX FIFO count from SDATACTRL, it is 8. I think it is correct. And the status of irq seems correct, it is same as normal case (0x2e00). So I guess it is correct too.

Then, I tried to capture the waveform by LA. I found some different between correct and incorrect case. 

In normal case (payload < 7) the whole clock period of last T-bit is low, then generate a Stop. 

In the wrong case, the SDA will be high in the rising edge of the T-bit clock. Then, resend clock (open-drain).

Do you know what happened on the NXP? Why there are different behaviors when the payload size is different? 

 

 

ラベル(1)
タグ(1)
0 件の賞賛
返信
1 返信

433件の閲覧回数
Harry_Zhang
NXP Employee
NXP Employee

Hi @JackieZhu 

Yes, you are right. I3C target supports up to seven bytes of Extended IBI Data following a Mandatory Data byte.

Harry_Zhang_0-1742541579662.png

So  include MDB, the maximum is 8 bytes. (one MDB and seven payload data).

BR

Harry

0 件の賞賛
返信