GD32F450 硬件IIC读24C64异常

[复制链接]
 楼主| hab2017 发表于 2021-11-17 10:27 | 显示全部楼层 |阅读模式
由于目前项目赶得很紧,不啰嗦了,直接入题。

MCU:GD32F450IIH6
主频:180MHz
系统:uC/OS-III
软件库:HAL

问题描述:
       上电初始化,相关任务都正常。后来加入设备参数初始化,即从EEPROM(24C64)芯片里读出所存储的参数。我的参数分12组,每组4个参数,每个参数2字节。连续读6组都正常,超过6组发现IIC报总线BUSY错误。

由于此前MCU使用STM32F429,没出现上述问题,于是互换了两个主板的24C64问题依旧,排除买到水货问题。

既然读6组无事,再读就多报BUSY,于是降速50K,上述问题不再出现;突发奇想,增速到200K,300K,350K上述问题也不再出现。改回100K问题重现(没仔细测试,应该是80-120K这个范围都存在这个问题)。

因为项目进度要求,没有时间深挖原因,但需要重视,毕竟后续大量项目要换成这个芯片。在此贴出来,如果哪位朋友遇到过这个问题,请多交流。
aozima 发表于 2021-11-17 11:08 | 显示全部楼层
检查时序用逻辑分析仪,
检查上拉电阻和负载电容是否匹配用示波器。

今天放过去,大批量或使用环境变化时就死得很惨!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

22

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部