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.

[参考译文] BQ27546-G1:从 BlockData()读取,第一个字节数据保持显示一个固定值

Guru**** 2562120 points
Other Parts Discussed in Thread: BQ27426

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1110779/bq27546-g1-read-from-blockdata-and-first-byte-data-keep-showing-a-fix-value

器件型号:BQ27546-G1
主题中讨论的其他器件:BQ27426

我想通过访问数据闪存来更改电量监测计的某些特性。 我关注 TRM 并取得成功。

但是我在这个过程中发现了一些问题,我从32字节的 BlockData()读取数据,然后更改某些特定偏移的数据。

我发现我读取的第一个字节总是显示0x3F (63)、无论 Dataflashblock()是什么。

然后、我更改了该值并写入块。 当我再次读回它时,它仍然显示为0x3F。(我确实发送了复位到 CONTROL ())

电源 我非常确定我从正确的地址读取、因为我检查了其他31个字节、它们与默认值匹配

但 TRM 中未定义这些参数。

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

    您好、Pinyada、

    您能否提供字节读/写事务的详细信息以及您尝试更改的参数的名称?

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

    我想更改我的终止电压(ClassID:82;offset:64)。

    我执行了 与 BQ27546-G1中描述的相同的操作:如何知道我的设计容量已更新

    但在不同的 ClassID 和 DataFlashblock 中(分别为82和2)

    我认为终止电压将放置在 Blockdata()的第一个和第二个字节。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    ClassID 80/挡块:1. ClassID 80/挡块:2.
    32 数据:63和:63 64 数据:63和:63
    33.

    数据:184和:247

    65 数据:184和:247
    34 数据:11和:2 66 数据:0和:247
    35. 数据:0和:2 67 数据:200和:191
    36.

    数据:100和:102

    68 数据:40和:231
    37.

    数据:25和:127

    69 数据:1和:232
    38.

    数据:220和:91

    70 数据:244和:220
    39.

    数据:92和:183

    71. 数据:0和:220
    40 数据:96和:23 72. 数据:0和:220
    41. 数据:0和:23 73. 数据:0和:220
    42.

    数据:200和:223

    74. 数据:0和:220
    43. 数据:0和:223 75 数据:0和:220
    44. 数据:4和:227 76. 数据:0和:220
    45. 数据:3和:230 77 数据:0和:220
    46. 数据:50和:24 78 数据:0和:220
    47. 数据:0和:24 79 数据:0和:220
    48 数据:1和:25 80 数据:0和:220
    49 数据:0和:25 81. 数据:67和:31
    50 数据:20和:45 82. 数据:128和:159
    51. 数据:0和:45 83. 数据:4和:163
    52. 数据:1和:46 84 数据:0和:163
    53. 数据:0和:46 85. 数据:200和:107
    54 数据:20和:66 86 数据:0和:107
    55 数据:3和:69 87 数据:0和:107
    56.

    数据:35和:104

    88 数据:1和:108
    57. 数据:7和:111 89 数据:20和:128
    58. 数据:8和:119 90 数据:0和:128
    59.

    数据:37和:156

    91. 数据:54和:182
    60

    数据:90和:246

    92 数据:0和:182
    61. 数据:15和:5 93 数据:0和:182
    62. 数据:30和:35 94 数据:0和:182
    63.

    数据:96和:131

    95 数据:0和:182

    下面是我读取的内容(请忽略 SUM)、可以看到 Blockdata 的每个第一个字节将始终为63

    电源 我写的 ClassID 实际上是80而不是82、我说错了。

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

    您是否还尝试在读取 BlockData()之前发送 DataFlashClass()和 DataFlashBlock()命令?

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

    是的、我是这样做的。

    还有一个关于将 RESET 写入 Control()的问题。

    复位后、BQ27546似乎没有立即响应

    我等待5s、然后读取 SOC、它仍然返回0、而它实际上是80+

    是否有建议的等待时间? 或者是否有寄存器让我知道电量监测计已准备就绪?

    谢谢

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

    我无法将0x3F 重新生成为这里的第一个字节。 正在读取存储器0x40。

    复位后、显示正确初始 SOC 所需的时间取决于电池的状态。 bq27546必须获得一个有效电压读数(Δ V/Δ T 条件)。 初始 SOC 可能会发生错误、具体取决于是否学习了电池组以及之前的周期。

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

    好的、感谢您的回复。  

    如果经常发送 reset 到 control(),会发生什么情况? 我刚才找到了返回复位数的 RESET_DATA

    因为我发送了很多次、所以我有点担心。(每次上电和复位 MCU 时)

    ps.I 有一个新问题、我是否需要创建一个新线程?

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

    您好、Pinyada、

    在正常操作中不得发送复位信号。 这将导致电量监测计重新初始化、并且由于电量监测计停止跟踪电池并重新启动、精度会降低。

    有2种类型的监测计:电池组侧和系统侧。

    如果您打算在系统断电时关闭监测计电源、则应查看 bq27426等系统侧监测计。

    我喜欢在新主题中看到新问题、尤其是在问题不相关的情况下。

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

    感谢您的推荐、但它必须是 BQ27546。  

    实际上、我在更改参数后发送复位、这些参数将在考虑生产的上电时进行配置。因为一些参数将在发送复位后生效、所以我只想确保。

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

    您好、Pinyada、

    在启用前、完全可以在生产期间执行复位

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [~报价 userid="4931" URL"//support/power-management-group/power-management/f/power-manageming-forum/1110779/bq27546-G1-read-fy-blockdata-and-first-byte-data-keep-show-a-fix-value/4118599#4118599]reset 不得在正常操作中发送。]

    这意味着它启用后?

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

    是的。