
bq4050电池调试记录 MCU型号为STM32F407VGT6TR,采用IO模拟时序匹对SMBUS接口时序,对bq4050芯片进行读取,该案例时序可以类比TI公司其他smbus接口、bq芯片的读写操作。接下来,就对调试过程进行说明。 1.1 原理图设计 ![]() 连接到MCU IIC3管脚,PC9 PA8,这里可以供软件选择,是否使用MCU片上IIC3,或者使用模拟IO进行模拟时序操作。 ![]() IIC管教上拉处理 ![]() 好了,原理图就是这样比较简单。 1.2 软件调试 软件调试过程比较心累,这里需要记录一下。 第1天 刚开始使用模拟EEPROM的iic时序,做好代码设计,进行调试,结果是SMBUS一直没有从机ACK信号。怀疑地址错误,各种替换地址,结果还是一样。 第2天-5天 网上疯狂搜索SMBUS接口时序的代码,但是网上的代码质量太差,时序也没有描述清楚,浪费了很多时间尝试,调整了无数次时序,读取电压上来的数据还是不对。 新建工程单独调试SMBUS接口,刚开始都是在自己的项目工程上添加,修改频度次数太多了,不利于版本保存。也是耗费时间精力,搞累了,还没有效果。 第6天-第7天 问电池厂家借过来EV2300,安装驱动,下载TI提供 Battery Management Studio软件,连接好EV2300进行数据读写 抓取EV2300读取电池的SMBUS接口时序,分析。 修改自己的代码,严格按照上述抓取的时序,再次进行读取,可以了。 1.3 总结 TI官方文档针对SMBUS时序的细节太少了。网上搜索到的IIC和SMBUS的时序,总体上说smbus比较慢,是IIC时序的低速的表现。这很容易让人误解,从我抓取的SMBUS时序图上看,smbus的时序和IIC的时序差异还是比较大的,主要特点就是慢,真慢,难道慢就可以降低功耗了。。。。。 软、硬件调试有时候就是这样,费时费心,这也许是设计师不愿意使用没有用过的case。 1.4 关键记录 详细记录参考 ![]() ———————————————— 版权声明:大牛攻城狮 |
STM32 GUI LTDC 最大像素时钟评估方法
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南