STM32F767--LTC4015--SMBUS通信

STM32F767--LTC4015--SMBUS通信

STM32F767–LTC4015–SMBUS通信

LTC4015是具数字遥测系统的多化学组成降压型电池充电器控制器。数据手册详见官方文档:https://www.analog.com/media/en/technical-documentation/data-sheets/4015fb.pdf。

SMBus时序图

STM32F767--LTC4015--SMBUS通信

注意事项

1、分清I2C与SMBus的差异。
2、主控芯片与LTC4015通讯,需严格按照LTC4015时序。

调试过程中踩到的坑

  • 被所谓的SMBus代码误导
    这之前了解过BQ4050,且BQ4050也声称为SMBus通讯方式,并且网上众多的STM32F主控芯片驱动BQ4050的文章,都声称是以SMBus通讯方式驱动的。
    因此,本人想当然地以这些示例为参考编写自己的驱动。
    编写过程中发现,很多代码是完成以I2C方式来驱动BQ4050的,却坚称自己用的是SMBus方式。
    当时虽有疑惑,但人家说自己驱动成功了。于是把心里的疑惑略过,也采用相同方式编写LTC4015的驱动。
    结果:虽能找到LTC4015地址对应的外设,却无法与之通讯读取任何数据。浪费了大概1.5个工作日。
  • 教训
    勿盲目相信所谓的成功代码。

LTC4015 SMBus通讯正解

发现踩到坑后,果断重新仔细阅读读数据手册,严格按LTC4015的SMBus通讯时序编写程序。
再次测试,数据读写完全正常。
由于项目原因,只将头文件部分代码贴出:
STM32F767--LTC4015--SMBUS通信
如有疑问进一步讨论,请加qq34621589。

上一篇:rk3288 I2C-原理学习


下一篇:ZTFR(K210)入门