主题中讨论的其他器件: BQSTUDIO
我正在尝试在定制 PCB 上配置 BQ28Z620器件... 尽管该 原理图 与器件 TRM 和评估模块的原理图大致相同。
通过 I2C 从 RPi 计算模块4连接。
代码是用 Python 3编写的。
我能够读取所有寄存器并对其进行检测、因此可以收集电池电压/电流/温度等参数。 这一切似乎都能按预期工作。
我遇到的问题是写入数据闪存以便我按用途配置器件...
我可以按照《技术参考手册》中给出的默认值读回 DF 和值。
但是、到目前为止、对 DF 写入的所有尝试都未能更改其中存储的数据。
我尝试了各种方法、包括完全按照 TRM 中的说明进行编写。 寄存器0x3E +块[起始地址+数据]~小端字节序。
我还尝试了计算校验和以及长度并将其写入寄存器0x60 0x61的适当位置
还尝试在单个 I2C 事务中写入所有地址/数据/csum/length。
不同的电路板、均为未使用状态、显示出完全相同的行为。
没有任何变化、当我读回时、DF 数据仍保持为默认值。
[供参考-我正在读取控制状态寄存器中的0x0204和操作状态寄存器中的0x6100 ]-似乎有多个 SEC 位,如 TRM 中所示,这些位都不同????
默认情况下,我的电池与输出端子断开连接..... 我有一个充电电路、但它也与电池断开。
似乎 CHG-FET 已导通、但 DSG-FET 仍被禁用。
我认为这是因为配置设置还不正确。
问题--写闪存时我缺少什么?
在这种情况下,Flash 存储器是否可以进行写保护?如何禁用?
如果合适、欢迎分享任何代码和原理图!
