2255259_zh-CN

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

2255259_zh-CN

2255259_zh-CN

I2C 超时问题

你好

我们在定制板上使用 S32G399A 芯片。

我们使用 2 个内核,其中内核 0 只有一个分区,内核 1 有两个分区。

我们使用 3 个 I2C 通道:

  • 将 I2C 通道 4 映射到核心 0。
  • 将 I2C 通道 0 映射到核心 1 的 ASIL 分区。
  • 将 I2C 通道 1 映射到核心 1 的 QM 分区。

现在,当我们尝试访问 I2C 通道 1 时,该通道总是显示"I2C_IP_TIMEOUT_STATUS" ,其他通道显示"I2C_IP_SUCCESS_STATUS" 。

请你们调查一下这个问题。

我们使用的是 SW32G_RTD_4.4_4.0.2 版本。

我们正在使用 M 内核侧的 I2C 通道。


此致,

温斯顿-刘易斯

Re: I2C timeout issue

你好,@winstonlewis

感谢您联系我们,感谢您与我们分享您的问题的所有相关细节。

能否共享三个实例中 I2C 寄存器的完整转储数据?这意味着转储以下范围:

I2C_0: 0x401E_4000 - 0x401E_4006

I2C_1: 0x401E_8000 - 0x401E_8006

I2C_4: 0x402D_C000 - 0x402D_C006


你能否也请示波器或逻辑分析仪检查一下你正在使用 I2C_1 的设备是否正在传输回 S32G 控制器?


预先致谢

Re: I2C timeout issue

你好@alejandro_e

感谢您的回复。

下面是寄存器的转储信息:

I2C_1:

I2C_1I2C_1I2C_1I2C_1I2C_1I2C_1

I2C_4:

I2C_4I2C_4I2C_4I2C_4I2C_4I2C_4

I2C_0:

内存转储不显示任何值。

I2C_0I2C_0I2C_0I2C_0I2C_0I2C_0

当我们在示波器上探测 SDA 和 SCL 线路时,没有观察到任何 I2C 活动;这两条线路始终保持高电平。


谢谢& 、

温斯顿-刘易斯

Re: I2C timeout issue

你好@alejandro_e

我说的分区是指在核心 1 中,我们有两个操作系统应用程序,一个用于 ASIL,另一个用于 QM。我们为 ASIL 应用分配了 I2C 4,为 QM 应用分配了 I2C 1,而不是 RM/XRDC 分区。

只是想了解需要哪些配置截图。

寄存器转储是在 I2C 进入超时后进行的。


谢谢& 、

温斯顿-刘易斯

Re: I2C timeout issue

你好,@winstonlewis

谢谢你的解释,我现在明白你是在做 SW 分区。那么我猜你是在使用 EcuC 创建分区。如果这是正确的,请联系您的软件供应商,因为eCUC NXP不提供任何实现,我们只提供短截线供供应商填充,我目前的结论是,您的QM分区无法完全访问I2C_1所需的内存部分。另外,检查你共享的寄存器值,模块中似乎没有错误,事实上,传输似乎已经完成,我可以看到 I2C总线状态(IBSR)的第七位为1。

请告诉我我的假设是否正确。

Re: I2C timeout issue

你好,@winstonlewis

感谢您提供的信息。我发现 I2C_1 和 I2C_4 的配置是一样的,虽然 I2C_0 不显示寄存器值很不正常,但由于问题不在 I2C_0 上,我将重点讨论 I2C_1。当您提到分区时,我以为您指的是 RM/XRDC 分区,您能否发送 M7_0 和 M7_1 分区的配置截图?

另外,注册表转储是什么时候进行的?例如,在初始化或发送信息后。


感谢

标记 (1)
无评分
版本历史
最后更新:
‎12-12-2025 02:36 AM
更新人: