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.

[参考译文] BQ34Z100-G1:配置睡眠/全睡眠模式

Guru**** 2524460 points
Other Parts Discussed in Thread: BQ34Z100-G1, BQSTUDIO

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/736380/bq34z100-g1-configuring-sleep-full-sleep-modes

器件型号:BQ34Z100-G1
主题中讨论的其他器件: BQSTUDIO

我正在使用 bq34z100-G1、通过 I2C 从微控制器进行通信。
类型和版本返回的 control()子命令:

-设备类型:0x0100
- FW_VERSION:0x0016
- HW_VERSION:0x0080

配置睡眠和全睡眠模式时遇到问题、以及
在处理闪存时注意到一些奇怪的情况。 添加了数据表部分
"7.3.3.1访问数据闪存"说明了如何从中读取和写入
闪存、用于没有数据命令的设置。 我复制了
以下重要段落:

>要单独访问数据闪存位置、该块包含数据闪存位置
>必须将所需的数据闪存位置传输到
>命令寄存器的位置、可在其中将它们读取到主机或
>直接更改。 这是通过发送 set-up 命令来实现的
>带数据0x00的 BlockDataControl()(代码0x61)。 高达32字节
>数据可以直接从 BlockData()命令位置读取
> 0x40…0x5F、外部改变、然后重新写入 BlockData()
>命令空间。 或者、可以读取、更改特定位置、
>、如果它们对应的偏移量用于索引到中、则会重新写入
> BlockData()命令空间。 最后是驻留在命令中的数据
>空间一旦的校验和正确、就会传输到数据闪存
>整个块被写入 BlockDataChecksum ()(命令编号0x60)。

该示例执行了以下步骤、我已经执行了这些步骤。
请注意、我查看的是用于睡眠电流的子类68偏移2、而不是
64类偏移0、如示例所示。

1.拆开器件的密封。 我的器件未按照进行密封
状态寄存器。

2.将0x00写入 BlockDataControl (0x61)以启用块数据
闪存控制。

3.将0x44 (电源配置子类)写入 DataFlashClass
(0x3E)来访问寄存器子类。

4.将块偏移量(0x00)写入 DataFlashBlock (0x3F)

5.读取0x42 (休眠电流)。 默认睡眠为0x0a
电流为10mA。 得到0xf0。 然后、不是仅读取0x42、
我从0x40到0x5F 读取所有32个字节。 看看我看到的情况
预期值。

6.从 BlocKDataChecksum (0x60)读取1字节校验和。 一
后来发现该值也是错误的。

7.计算新值。 在本例中为0x64、即允许的最大值
休眠电流为100mA。

8.将新值0x64写入偏移量0x42。

9.计算新校验和并将其写入 BlockDataChecksum
(0x60)。 基于中的校验和写入新校验和
BlockDataChecksum 我获得了一个 I2C NAK。 然后、我计算了
校验和、并得到不同的值
比从 BlockDataChecksum 读取的数据多。 计算
基于我的更改的整个块的校验和似乎有效。
我写入该校验和、不获取 I2C NAK、然后读回
整个块并查看我的更改。

10.通过将 RESET (0x0041)子命令写入来重置监测计
控制(0x00)寄存器。

11.密封仪表。 我的器件未密封
从开始。

读取/写入完整块并根据计算校验和
我能够进行一些更改的完整块。

然后、当我引导时、器件会根据进入睡眠模式
状态寄存器。 在我的调试过程中的早期阶段
我记得、在消耗更多功率后、它会正确地离开睡眠模式。
但是、现在它每秒在睡眠模式和正常模式之间循环一次。
我每100ms 通过 I2C 读取一次状态寄存器、并看到它从中变化
睡眠模式更改为正常、然后一秒后返回睡眠模式等

我还尝试使器件进入完全睡眠模式。 我设置 FS 等待
并使用了 SET_FULLSLEEP 控制子命令。 至少提前一次
对 I2C 消息完全没有响应。 现在是状态寄存器
显示了 FULLSLEEP 位始终置位、即使数据表显示:

>指示 bq34z100-G1处于完全睡眠模式的状态位。 对
>置位时。 只能通过监控使用的电源来检测状态
> bq34z100-G1、因为任何通信都会自动将其清除。

问题:

—我不能正确读取/写入单个字节的任何想法
在加载块之后?

-是否有任何方法可以完全重置为的出厂默认值
所有设置? 还是需要固件闪存?

-是否有方法从基于 Linux 的系统刷写固件
计算机?

-在数据表中,如何读取 FULLSLEEP 位设置
这应该是不可能的?

-每个版本是否有硬件或固件勘误表列表?
我并不是说、肯定有什么问题
硬件或固件、但我看到的行为足够奇怪
我想知道我是否需要观察到任何问题
输出。

——谁能给出配置步骤的完整示例
是否已成功将器件置于睡眠和完全睡眠模式?

我很乐意提供澄清并尝试任何建议。

谢谢、
Evan

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

    您好 Evan、

    我想告诉您、您的职位已分配给我们的一位应用工程师。 本周将举办我们的年度电池管理深度潜水活动、我们的所有工程师都将亲自动手参加该活动。 一旦此活动结束、他将能够在下周初发布您的帖子。

    您可以查看我们在 www.ti.com/deepdive 上展示的大部分材料的录音

    感谢您的理解!

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

    您好 Evan、

    感谢您深思熟虑的问题和对问题的详细描述。  让我们逐一解决以下问题(按原始顺序):

    (1)是否可以完全重置所有设置的出厂默认设置? 还是需要固件闪存?

    要完全复位到因子默认值、需要一个闪存、但只需要使用 DFFS 重新编程 DataFlash 来复位 DataFlash。  如果 DataFlash 复位不起作用、则可以通过 SREC 或 BQFS 导入来执行包括指令和数据存储器在内的完整固件复位。

    (2)是否有方法从基于 Linux 的计算机刷写固件?

    需要使用 bqStudio 通过 Windows 计算机创建黄金映像、但可以从监测计中导出为 DFFS 或 BQFS 文件。  创建黄金映像后、可使用基于 Linux 的计算机对生产中的器件进行编程。

    要在基于 Linux 的计算机上刷写固件+数据存储器(BQFS)或仅刷写数据存储器(DFFS)、请使用 ANSI-C 代码示例和本应用手册 中的步骤:http://www.ti.com/lit/pdf/slua801

    (3)当数据表显示无法实现 FULLSLEEP 位时、如何读取该位设置?

    FULLSLEEP 位不应被读取。   -当器件处于 FULLSEEP 状态时、振荡器被禁用、并且将需要一些时间来重新启动。  我们需要对此进行进一步调查。  为了让我重复您在实验中的发现、您能否提供:

    1. SREC
    2. EVM 使用的跳线设置
    3. 负载大小(如果有)
    4. 用于复制事件的任何其他状态信息

    (4)为什么在加载块后无法正确读取/写入单个字节?

    您需要在实验室中逐步完成与 SREC 的过程。  通常是由于发送命令而不是子类、或者由于代码不处理数据活锁读取的自动递增。

    (5)是否有人能给出配置步骤的完整示例、说明已成功将器件置于睡眠和完全睡眠模式?

    对于校验和、当写入器件时、必须针对完整的32个字节数据计算校验和。

    请增加发送命令之间的延迟。  请尝试 在大于35ms 的时间进行读操作,大于100ms 的时间进行写操作,大于250ms 的时间进行校验和操作。

    在 SREC 的帮助下、我将在实验练习中完成重复问题的步骤。  有关实现的指导、请参阅此主题。  浏览所有页面(尤其是8页)很长、但很有帮助: https://e2e.ti.com/support/power-management/f/196/t/213060 如果不能证明是 adaquate、我将在使用 SREC 在实验中逐步完成您的过程时创建演练。

    该线程讨论了 GUI 返回的命令外观以及示波器(或逻辑分析仪)上显示的顺序。  很多时候、I2C 命令(实现 SBS 命令样式)和返回的数据之间的端序问题都存在。

    (4)每个版本是否有硬件或固件勘误表列表? 我并不是说硬件或固件肯定有问题、但我看到的行为非常奇怪、我想知道我是否需要注意任何问题。

    TRM 已从数据表中分离出来、其中将列出对 TRM 的进一步修订。

    此致、

    Bryan Kahler


    了解 有关 BQ34Z100-G1的更多信息 、包括 技术文档 和 工具/软件/固件 以及 常见问题解答。  请参阅 快速入门指南 、快速入门。 此外、了解如何查找 您的化学 ID 并执行 电压电流 校准。