2414248_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2414248_zh-CN

2414248_zh-CN

p3h2840调试问题咨询

目前基于P3H2840的官方demo进行调试,发现在I2C/I3C 模式下 demo 上温度传感器读到的值有差异(如下图所示),是正常的吗?

Re: p3h2840调试问题咨询

您好,

每次读取 I3C 模式寄存器时看到的第二个字节 0xff 都是不正确的,这表明集线器配置存在问题。作为参考,P3H2x4xHN-ARD 上的板载温度传感器是 NXP P3T1755DP 设备,完全支持 I3C,因此一旦集线器正确设置,两种模式下的读数应该相同。

请检查以下三项:

  1. 动态地址分配— P3T1755DP 在 I2C 模式下启动,必须先接收动态地址(通过 ENTDAA、SETAASA 或 SETDASA),然后 I3C 私有传输才能工作。如果在此步骤完成之前调用 i3c_xfer,则设备无法正确响应 I3C 帧,并且第二个字节将读取为 0xff。确认地址分配 CCC 已成功运行,并且 0x4c 是分配的动态地址。

  2. 突发长度使能 — REG#17[6] (BL_ENABLE) — 如果设置此位,则 I3C 写入阶段必须在寄存器指针之后包含一个突发长度字节。如果您的 i3c_xfer 调用仅发送 1 个写字节(寄存器地址),则集线器会收到不完整的帧,并且读取响应未对齐,导致第二个字节出现 0xff。请读取寄存器#17,并确认第6位是否已设置。如果是,要么将 BL 字节添加到写入有效载荷中,要么在不需要时清除 BL_ENABLE。

  3. 目标端口 VCCIO — REG#22 — 在 I3C 模式下,目标端口使用参考 REG#22 中的 VCCIO 设置的推挽驱动电平。如果这与 P3T1755DP 的实际供电电压不匹配,则在推挽模式下传输的数据字节可能会损坏。请确认 REG#22 显示的电压是否为传感器所连接的目标端口的正确工作电压。

Re: p3h2840调试问题咨询感谢您的回复, 应该是器件不支持SETAASA,目前改成SETDASA进入I3C后正常了,感谢您的支持
Tags (1)
No ratings
Version history
Last update:
16 hours ago
Updated by: