EG800Z 硬件IIC问题

最近在使用EG800Z 使用硬件IIC 去调用一个无线芯片进行数据收发的时候,对寄存器进行读取操作的时候一直出现IIC锁死的情况,下面逻辑分析仪抓出的波形,在写如寄存器地址后,到 读中间有很长一段时间,也不知道是什么原因。写入函数没有问题,

使用的是官网下载的最新固件QPY_OCPU_EG800Z_CNLA_FW

调试代码能提供一下嘛

I2C_test.py (7.7 KB)

又看到上传的代码吗?有什么发现吗?

帖子主题 - EG800Z 硬件IIC问题

用户问题 - 用户在使用 EG800Z 模块的硬件 IIC 与无线芯片进行数据收发时,读取寄存器操作出现 IIC 锁死情况,总线不产生 STOP 信号。通过逻辑分析仪抓取波形,观察到写入寄存器地址后到读取之间存在较长延时,且读取结束后无 STOP 信号。用户表示写入函数无问题,附带了逻辑分析仪波形截图。前置操作:硬件 IIC 调用无线芯片读取寄存器。诉求:希望解决 IIC 锁死、无 STOP 信号的问题。

客服解答 - 客服 Davon.Liu-QuecPython 提供了 EIGEN 平台 Log 工具使用说明文档链接,指向 Dump 文件导出操作,疑似引导用户抓取模块 Dump 日志以便进一步分析问题原因,但未直接给出故障原因或具体解决方案。

处理状态 - 待用户提供日志信息,问题未闭环。

备注 - 客服未解释 IIC 锁死原因,需用户配合导出 Dump 日志。帖子中无后续交互。

代码收到了,暂时没看出问题,还要继续看下,您那是否有条件飞线到其他通道测试

熵开发板似乎没有引出其他IIC引脚

我用pico开发板试了都一样

也是self.i2c_dev = I2C(I2C.I2C0, I2C.STANDARD_MODE,1)# 返回i2c对象 这个通道嘛

三个通道都试了 效果一样 同时软件IIC和硬件IIC还有一个通病使用写函数进行寄存写操作完成后这个STOP信号后会有一个很长的延迟时间,我检查了代码的两个代码之间没有写任何的延时操作

底层到python层调用需要一点时间,前面的通过IIC读取数据,功能是正常的把,

前面是写, 这个其实还好是istop之后这个就没有stop也有

这里应该是在等待数据返回,你使用功能没有异常吧

有异常,读一次之后,IIC就死了,然后过一会芯片内就自动重启了

EIGEN平台Log工具使用说明 - QuecPython

有重启的, 发送下DUMP指令看看是不是dump了,用EPAT工具抓下dump日志

DUMP日志,查看一下,

RamDump.zip (2.2 MB)

好的,

软件版本:QPY_OCPU_EG800Z_CNLA_FW

测试脚本:I2C_test.py

信息是这样子对吧

对的,信息是对的。谢谢