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.

[参考译文] Linux/BQ2.7425万-G2A:仪表因Bqtool中建议的软件顺序而损坏

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/577783/linux-bq27425-g2a-gauge-damaged-by-software-sequence-suggested-in-bqtool

部件号:BQ2.7425万-G2A
主题中讨论的其他部件:BQ2.7426万

工具/软件:Linux

我正在为主线Linux驱动程序/电源/电源/bq27xxx_battery. c开发补丁集,以启用从设备树条目配置以下量表DM字段:DesignCapacity,DesignEnergy,TerminateVoltage。

 TI的Andrew Davis向我介绍了以下代码,他负责驱动程序的维护。 写入DM块后,它将读取其校验和,以验证它是否与发送的校验和: http://git.ti.com/bms-linux/bqtool/blobs/master/gauge.c#line330匹配

该故障码可能损坏仪表。

我将上述bqtool逻辑应用于我的增补软件集,我们已经在两个器件上成功测试了将近100次。 我犯了一个错误,写后使用比bqtool更小的延迟(BlockDataChecksum, v)。 这导致相关DM损坏(子类82,块0)。 即使在从以下文档中将DM重置为系统默认值后,电量计也无法正确测量电池。 http://www.ti.com/lit/ds/symlink/bq2.7425万-g2a.pdf

我注意到另一个DM字段超出范围(子类105,偏移0),但我无法将其重置为CPU_to_be32 (0x3ef1205c),十六进制自:Perl -e 'printf ("%08x\n"),解包("i",pack ("f",0.4.7095万)))'

我计划在主线驱动程序中记录此硬件错误,如下所示: https://github.com/networkimprov/linux/blob/anvl-v4.9 bq27x-dt-dc/drivers/POWER/supply_bq27xxx_battery.c#L880 8.1

我想知道:

1)为什么我无法重置子类105,偏移0? (注意:在损坏之前,我无法重置子类82,偏移36。)

2) BQ27*系列中的其它仪表是否有此错误? 其中一些模块在不同的DM块中保留DesignCapacity和TerminateVoltage,因此驱动程序可以为第一个块写入(BlockDataChecksum,v),然后立即写入(DataClass, id) write (DataBlock,n),以便读取/修改下一个块。 到今天为止,我唯一要隔离两个此类更新的方法是长时间延迟。

谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    bq2.7425万是一个ROM量规-如果关闭再打开该量规,它将恢复其默认值,因此无论您向数据存储器写入什么内容,它都应该恢复。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    "如果关闭再打开量表,它将恢复其默认值"----这显然不是事实;425有"可重写的非易失性存储器"。 请参阅上面链接的文档。 您是否在考虑不同的零件?

    自从DM腐败和仪表故障以来,我已多次重启。 在此之前,我已经改变了在整个电力循环过程中持续存在的DM领域。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我一直在考虑bq2.7426万。
    是的,bq2.7425万具有NVM。

    量表不会边界检查您写入NVM的数据,因此可能会损坏设备。

    从文档(www.ti.com/.../bq2.7425万-g2a.pdf,第23页):

    '写入内存的数据都不受燃油表的限制,燃油不会拒绝这些值
    仪表。 由于的固件程序解释,写入不正确的值可能会导致硬件故障
    数据无效。"
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请要求工程部门复制我发现的HW DM损坏错误;它破坏了仪表,而不是超出我提供的范围。 没有勘误表记录此问题。

    请转发此问题:为什么我无法重置子类105,偏移0? (注意:在损坏之前,我无法重置子类82,偏移36。)

    注:426的文档说它有闪存,这是一种"可重写NVM "。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否正在对此进行调查?