微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI电源管理交流 > 透过STM32 MCU和bq78350之间的SMBus interface 发送SBS command

透过STM32 MCU和bq78350之间的SMBus interface 发送SBS command

时间:10-02 整理:3721RD 点击:

请问一下我要如何用STM32的SMbus来送SBS command到bq78350去

例如, 送SBS command: 0x50 SafetyAlert()
我可以使用STM32的HAL library来完成吗
有没有相关的sample code?

Thanks

目前没有具体到STM32的代码,只要时序满足手册第8页的要求即可

手册第8页
==>是指那一份手册?

例如要利用某一个SBS命令去取得相关资料,我是要依序写入
[S-Slave address-Wr] [SBS command code] [S-Slave address-Rd],
之后再去读取[Data byte] [Date byte]?

有没有相关的文作介绍?

Read Byte:
[S-Slave address-Wr] [SBS command code] [S-Slave address-Rd] [Data byte] [Date byte]


Thanks

bq78350:读取SMBus通讯格式(下划线为host侧发送的数据,黄色为bq78350返回的数据)

  1. 发送数据帧格式:Start + Device Address :0x16 + ManufactoryBlockAccess : 0x44 + Data Length: 0x02 + DataFlash Address:0x00 , 0x40 + Checksum: 0xAB + End
  2. 发送数据帧格式:Start + Device Address: 0x16 + ManufactoryBlockAccess:0x44 + Re-Start + Device Address:0x17 + Data Length:0x22(DataFlash Address 2bytes+32bytes data) + 34bytes Data + Checksum:0x85 + End
  3. 如果需要读取后续的dataflash的内容,重复发送第2步的内容.

 

以下为示例读取0x4000后的64bytes:

S  Addr:0x16   0x44   0x02   0x00   0x40   0xAB   P

S  Addr:0x16   0x44   S  Addr:0x17   0x22   0x00   0x40   0x84   0x07   0x02   0x75   0x96   0x19   0x9C   0x65   0x00   0x00   0x00   0x00   0x00   0x00   0x00   0x00   0x00   0x00   0x00   0x00   0x00   0x00   0x00   0x00   0x00   0x00   0x00   0x40   0x00   0x00   0x00   0x00   0x85   P

S  Addr:0x16   0x44   S  Addr:0x17   0x22   0x20   0x40   0x00   0x13   0x88   0x00   0x00   0x13   0x88   0xFF   0xFF   0xFF   0xFF   0xFF   0xFF   0xFF   0xFF   0xFF   0xFF   0xFF   0xFF   0xFF   0xFF   0xFF   0xFF   0xFF   0xFF   0xFF   0xFF   0xFF   0xFF   0xFF   0xFF   0xFF   0x80   P

黄色为bq78350返回的数据

但从网页上并没有看到黄色的部分,可以请你再标示一下吗
谢谢


对照网上搜一下SMBus的规范理解一下吧

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top