您好,
我遇到了一些关于 I3C 接收 IBI 有效载荷的问题。希望你们能提供帮助。欣赏。
当我使用 NXP974 作为 I3C 主站时,我们能收到多少个包含 MDB 的有效载荷数据?在我的测试中,似乎最大值为8字节。(一个 MDB 和七个有效载荷数据)。但是从规范来看,它表明支持 9 字节的支持包括 MDB。您能帮忙确认一下吗?
规格:控制器在 9 字节(包括必填数据字节)后自动停止 IBI 数据。
我遇到的另一个问题是,当我将有效载荷设置为8字节时,我确实收到了来自fifo的8字节,但是即使我们没有从i3c目标发送新的IBI,它也会再次进入IBI并导致系统卡住。当有效载荷大小于 8 字节时,它运行良好。
我检查了 SDATACTRL 的 RX FIFO 计数,是 8。我认为这是正确的。而 irq 的状态似乎是正确的,与正常情况下的状态(0x2e00)相同。所以我想这也是正确的。
然后,我尝试捕获洛杉矶的波形。我发现正确和不正确的情况有些不同。
在正常情况下(有效载荷< 7),最后一个 T 位的整个时钟周期为低电平,然后产生一个停止信号。
在错误的情况下,SDA将在T位时钟的上升沿处于高位。然后,重新发送时钟(开漏)。
你知道恩智浦发生了什么事吗?为什么有效载荷大小不同时会有不同的行为?
是的,你说得对。I3C 目标支持在强制数据字节之后最多七字节的扩展 IBI 数据。
因此,包括 MDB,最大值为 8 字节。(一个 MDB 和七个有效载荷数据)。
BR
哈利