NXP MCU 技术论坛
直播中

风尚男人

8年用户 927经验值
私信 关注
[问答]

i3c_nxp_free_license_slave响应GETPID的数据不正确是什么原因造成的?

我在模拟中使用 i3c-slave 免费源作为目标设备。当我发送一个 ENTDAA 时,我收到了预期的 ID 响应并分配了一个地址。当我用一个 GETPID 跟随这个到新地址时,从机确实 ACK 地址,但随后只用一个数据字节和字节 ==8'h0 响应,这不是预期的。鉴于它在 ENTDAA 期间以正确的 64 位 ID 响应,我对 GETPID 响应感到困惑。我是使用此代码的新手,所以也许我的某些配置设置有误。我使用 i3c_auton_wrapper.v 作为目标设备。如果认为有帮助,我可以提供模拟波形,但一般来说,从站似乎打开了 1 字节的 sda_oe,然后关闭了接下来的 5 个字节,预期的 PID 没有被驱动到 sda_out。
感谢您的任何见解...我附上了来自 sim 的 GETPID 波形。

回帖(1)

张敏

2023-10-23 09:57:45
可能原因包括:

1. 编写代码时都使用了正确的 I2C 协议命令,但是由于硬件配置不一致,从而导致获取 PID 响应时出现问题。

2. 应用的硬件可能存在故障,例如 I2C 设备发生电路连接故障、电缆问题、芯片损坏等情况,均可能影响 GETPID 的响应。

3. 源代码或库可能存在错误,尤其是从站开发人员自行编写的库,如果存在错误,可能会导致函数响应不正确,例如 SEL-CMD或其他命令语言可能被编写成无法识别或执行超越当时设备技术水平的指令等情况。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分