2374407_zh-CN

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

2374407_zh-CN

2374407_zh-CN

使用 FRDM-MCXA156 的 i3c

主题:恩智浦 I3C 混合总线上的集成问题:磁强计 I3C 设置动态地址 (SETDASA) 失败

大家好,

我目前正在使用恩智浦 MCU (MCXA156) 和 MCUXpresso SDK 实现 I3C 从静态地址设置动态地址 (DAA)。我有两个传感器连接到同一 I3C 总线 (I3C0):

  • P3T1755:温度传感器(符合 I3C 标准,板载)。

  • 磁力计 :支持 I2C/I3C/SPI。

问题描述在系统初始化过程中,我试图使用 I3C CCC_SETDASA (0x87) 命令分配动态地址:

  • P3T1755响应 ACK,并成功从静态地址切换到分配的动态地址 (0x08)。

  • 但是,当我向IST8216发送 SETDASA 命令时(总线类型设置为 kI3C_TypeI3CSdr,试图分配 0x09),硬件返回 NACK,地址分配失败。

终端输出对数

明文文本(Plaintext)
 
P3T1755 Before DAA -> 0x48 ACK
IST8216 Before DAA -> 0x18 ACK (Ping via I2C successful)
P3T1755 After DAA -> 0x08 ACK (P3T1755 successfully switched to dynamic address)
IST8216 After DAA -> 0x09 NACK (IST8216 failed to recognize the new address)
IST8216 set dynamic address failed.

我的分析和问题关于硬件限制,用户手册(第 2.8 节 I3C 接口)指出

"它有一个温度寄存器,用于存储数字温度读数,控制器可通过两线串行 I3C(最高 12.5 MHz)或 I2C(最高 3.4 MHz)接口读取这些读数。在 FRDM-MCXA156 主板上,U5 传感器可以在以下模式之一下工作:

  • I2C 模式(默认模式):填充电阻 R57 和 R55(默认已填充)。U5 传感器的静态 I2C 地址(7 位)为 0x90。

  • I3C 模式:取消填充(移除)电阻 R57 和 R55。U5 传感器的 I3C 地址是动态分配的。"

虽然我没有移除电阻 R57 和 R55,但 P3T1755 在 I3C 模式下仍能正常工作。

  1. 这些电阻 (R57/R55) 的存在对这种特定的板载设置中的 I3C 功能没有影响,还是会干扰 I3C 总线信号的完整性?

如果能就这种 " Mixed 总线 " 集成方法是否正确或者是否有办法在磁强计上强制 I3C DAA 提供任何指导,我们将不胜感激。

顺祝商祺!

通信& 控制(I3C | I2C | SPI | FlexCAN | 以太网 | FlexIO)FRDM 培训MCXARe: i3c using FRDM-MCXA156

你好@ting8999

该问题很可能与 I3C 总线配置本身无关。
P3T1755 可以工作,因为它是真正的 I3C 目标,支持 SETDASA,因此可以切换到动态地址。
但是,IST8216 似乎是 I2C 设备,不支持 SETDASA 等 I3C CCC 命令。因此,它将 ACK 其静态 I2C 地址,但会 NACK 任何分配动态地址的尝试。
在混合 I3C 总线中,此类设备应被视为传统的 I2C 设备,并通过其静态地址进行访问,而不是 I3C 动态寻址。

BR

哈利

标记 (1)
无评分
版本历史
最后更新:
‎06-04-2026 02:33 AM
更新人: