This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] BQ78350:SMBus 问题

Guru**** 2604225 points
Other Parts Discussed in Thread: BQ78350, BQSTUDIO, BQ78350-R1

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1075381/bq78350-smbus-issue

部件号:BQ78350
“线程”中讨论的其他部件: BQSTUDIO

尊敬的,

我们现在正在调试 BQ78350和主控件之间的 SMBus 通信接口。说明如下:

默认情况 下,BQ78350的 I2C 读/写地址为0x16/0x17,BQ78350的7位 I2C 地址为0x0B。

SMB 配置[FIXED_ADDR]已设置(1)也已使用 Battery Management Studio 工具进行验证。

然后使用 smbus 读取函数(I2C_smbus_read_I2C_block_data <Linux 内核函数>读取寄存器的值会不断返回错误代码-6;

-6表示一个 nack 错误,即对等设备没有响应

问题:  

我在 SLUB3E 中找不到 smbus 的读/写序列图

BQ78350的 I2C 地址配置是否不正确? 接口功能是否有问题? 你有什么建议吗?

非常感谢~

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Cooper 您好,

    为了确保不涉及任何外部因素,您可以尝试使用 bqStudio 中的高级通信选项卡,并查看它返回的值吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Shirish:

    非常感谢您的反馈  

    测试后,发现使用0x0B 通信可能正常。  

    使用 SMBus 可以在启动阶段正常读取寄存器值,但在系统启动后,寄存器值无法正常通信。 我们正在调查这个问题。  请给我任何建议?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Cooper 您好,

    很想知道您可以使用0x0B 进行通信。 检查波形以查看是否有信号输出。 检查停止条件是否已发送且在启动新事务之前有效。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Shirish:

    现在,我们可以正常读取 BQ78350寄存器的值。

    我们从“绝对州/省/自治区”(0x0E)寄存器中读取剩余电池百分比以及相关的“电压电压”(0x09)。

    可以读取哪个寄存器以查看充电器交流电是否已插入。

    电流(0x0A)返回充电和放电的电流。 如果是此寄存器,则应如何转换此值以获得 AC 状态

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Cooper 您好,

    我认为没有交流电检测功能,但您可以读取“操作状态”以确定充电 FET 状态,以确定电池是否正在充电。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Shirish,

    您说过“ 操作状态确定充电 FET 状态以确定”,   

    “操作状态”指的是哪一个寄存器?

    请详细解释具体的判断流程和登记,非常感谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    白兰语:

    添加问题,

    此外,在充电时,我们还阅读了数值介于120和130之间的寄存器0x0A。 在手册中,该值是充电电流或放电电流的大小,单位是 mA。 这是充电电流,还是我需要转换?

    如果您不需要将充电电流的读数值转换为120至130ma,则此充电电流太小。 如何配置以增加充电电流?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Cooper 您好,

    交流电检测取决于我们可以读取的 ADC,除了充电电流外,确定这一问题的方法并不容易。 或者当 FET 关闭时向 Pack 端施加电压。

    我不知道您正在读取的显示为120的单位,您可以参考 TRM 来了解数据类型,以及它是否已签名或未签名。

    顺祝商祺!

    威瓦特·凯勒

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Wyatt:

    SMBus 通信,我有另一个问题,

    使用 Chem_ID (0x6)命令,我们使用 Battery Management Studio 读取 BQ78350-R1;的化学 ID 0x1210

    但这个参数是错误的,如何修改这个化学 ID?

    在 Studio 中,我 找不到编辑表,,因此 需要您的帮助  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Wyatt:

    我现在无法更新化学品 ID,因为我的本地软件版本太低。 更新软件后,一切正常

    更改化学品 ID 后,将显示库拉仪的剩余容量  0。寄存器0x0E 的值也被读取为0。

    更改化学品 ID 后还需要什么其他配置,以便剩余的电池可以正常显示

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Cooper 您好,

    您是否使用 bqStudio 的化学选项卡对化学 ID 进行编程? 在对仪表进行编程以估算容量后,通常需要重置。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Shirish:

    是,重置后正常,非常感谢~

    但是  ,Battery Management Studio 收集电池放电时间,电压,电流和温度数据。 这些数据可以使用 bqStudio 的日志功能进行记录

    如何使用日志功能?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Cooper 您好,

    “寄存器”选项卡有一个按钮可用于启动日志记录

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    明白了;

    BQ78350, 如何 将寄存器配置为合适的值,以便当四个电池中的一个的电压低于2.5V 时,BQ78350不会为外部供电,以保护电池。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    将 CUV 阈值设置为所需值。 我建议您阅读 TRM 中的保护文档。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Shirish 您好,

    客户希望确认是否只需要设置 CUV, 是否有其他需要配置的启用开关?

    您能否提供 TRM 的链接?

    [引用 userid="4931" url="~ë/support/power 管理-group/power 管理/f/power 管理-forume/1075381/bq78350-smbus-issue/4004606#4004606"] TRM 中的保护文档。

    谢谢,此致,

    樱桃

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Cherry,您好!

    整个系统确定是否需要更改任何其他值(默认值)。 TRM 链接为 www.ti.com/.../sluubd3e.pdf