ZHCAD93A December   2020  – October 2023 BQ79600-Q1 , BQ79612-Q1 , BQ79614-Q1 , BQ79616-Q1 , BQ79652-Q1 , BQ79654-Q1 , BQ79656-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. NPN LDO 电源
  5. AVDD、CVDD 输出以及 DVDD、NEG5、REFHP 和 REFHM
    1. 2.1 基底器件
    2. 2.2 设计汇总
  6. OTP 编程
  7. 电芯电压检测 (VCn) 和电芯均衡 (CBn)
    1. 4.1 电芯电压检测 (VCn)
    2. 4.2 电芯均衡 (CBn)
      1. 4.2.1 非相邻电芯均衡
      2. 4.2.2 相邻电芯均衡
      3. 4.2.3 采用外部 FET 的电芯均衡
    3. 4.3 使用少于 16 个电芯
      1. 4.3.1 设计汇总
  8. 汇流条支持
    1. 5.1 BBP/BBN 上的汇流条
    2. 5.2 典型连接
      1. 5.2.1 电芯均衡处理
    3. 5.3 单独的 VC 通道上的汇流条
    4. 5.4 多汇流条连接
      1. 5.4.1 两个汇流条连接到一个器件
      2. 5.4.2 三个汇流条连接到一个器件
      3. 5.4.3 电芯均衡处理
  9. TSREF
  10. 通用输入/输出 (GPIO) 配置
    1. 7.1 比例式温度测量
    2. 7.2 SPI 模式
      1. 7.2.1 通过 SPI 从器件支持 8 个 NTC 热敏电阻
      2. 7.2.2 设计汇总
  11. 基底器件和桥接器件配置
    1. 8.1 电源模式 ping 和音调
      1. 8.1.1 电源模式 ping
      2. 8.1.2 电源模式音调
      3. 8.1.3 ping 和音调传播
    2. 8.2 UART 物理层
      1. 8.2.1 设计注意事项
  12. 菊花链堆叠配置
    1. 9.1 通信线路隔离
      1. 9.1.1 仅电容器隔离
      2. 9.1.2 电容器和扼流圈隔离
      3. 9.1.3 变压器隔离
      4. 9.1.4 设计汇总
    2. 9.2 环形通信
    3. 9.3 重新计时
      1. 9.3.1 设计汇总
  13. 10多点配置
  14. 11主 ADC 数字 LPF
  15. 12AUX 抗混叠滤波器 (AAF)
  16. 13布局指南
    1. 13.1 接地平面
    2. 13.2 电源和基准的旁路电容器
    3. 13.3 电芯电压检测
    4. 13.4 菊花链通信
  17. 14BCI 性能
  18. 15共模噪声和差模噪声
    1. 15.1 设计注意事项
  19. 16修订历史记录

OTP 编程

非易失性存储器 (NVM) 中的某些存储器位置可使用 OTP(一次性可编程)进行编程。存储器空间分为两组:出厂空间和客户空间。出厂空间存储正常运行所必需的器件配置。主机无法访问该空间。客户空间包含主机系统可以针对其应用配置自定义的默认器件设置。该空间可由主机读取和编程。

进行 OTP 编程时,请遵循以下过程:

  1. 解锁 OTP 编程。
    1. 将以下数据写入 OTP_PROG_UNLOCK1A 至 OTP_PROG_UNLOCK1D:
      1. OTP_PROG_UNLOCK1A <- 数据 0x02
      2. OTP_PROG_UNLOCK1B <- 数据 0xB7
      3. OTP_PROG_UNLOCK1C <- 数据 0x78
      4. OTP_PROG_UNLOCK1D <- 数据 0xBC
    2. 使用以下数据再次对 OTP_PROG_UNLOCK2A 至 OTP_PROG_UNLOCK2D 寄存器进行写入。
      1. OTP_PROG_UNLOCK2A <- 数据 0x7E
      2. OTP_PROG_UNLOCK2B <- 数据 0x12
      3. OTP_PROG_UNLOCK2C <- 数据 0x08
      4. OTP_PROG_UNLOCK2D <- 数据 0x6F
    注: 必须按顺序(即 A、B、C,然后是 D)对每个寄存器块进行写入,其间不得进行其他写入或读取。最佳做法是使用相同的写入命令进行更新。如果尝试不按顺序进行任何寄存器更新,或者在写入之间对其他寄存器进行写入/读取,则必须按顺序全部重新执行。
  2. 检查以确认 OTP 解锁程序成功。
    1. 读取以确认 OTP_PROG_STAT[UNLOCK] = 1。
    注: 允许在步骤 1 之后发出读取命令,但发出 [PROG_GO] 必须是解锁程序之后的下一个写入命令。
  3. 选择适当的 OTP 页面并开始 OTP 编程。
    1. 要对 page1 进行编程,请设置 OTP_PROG_CTRL[PAGESEL][PROG_GO] = 0x01,或
    2. 要对 page2 进行编程,请设置 OTP_PROG_CTRL[PAGESEL][PROG_GO] = 0x03。
  4. 等待 tPROG,让 OTP 编程完成。
  5. 检查以确保 OTP 编程期间没有错误。OTP 编程成功后,以下位应该为“1”。
    1. OTP_PROG_STAT[DONE] = 1,OTP 编程完成。在此寄存器中不得设置任何其他位。
    2. 如果对第 1 页进行了编程,则 OTP_CUST*_STAT*[PROGOK]、[TRY]、[OVOK] 和 [UVOK] 位应为“1”。其他位应为“0”。
    3. 如果对第 2 页进行了编程,则 OTP_CUST1_STAT[LOADED]、[PROGOK]、[TRY]、[OVOK] 和 [UVOK] 位应为“1”。OTP_CUST*_STAT 中的其他位应为“0”。
  6. 发出数字复位以在寄存器中重新加载已更新的 OTP 值。
    1. CONTROL1[SOFT_RESET] = 1

在编程期间,器件在实际对 OTP 进行编程之前执行编程电压稳定性测试。如果编程电压未通过稳定性测试,则器件不会设置 OTP_CUST*_STAT[TRY] 位,从而使客户能够再次尝试对该页面进行编程。

如果主机错误地选择了用于编程的页面,则会设置 OTP_PROG_STAT[PROGERR] 位。这表明所选页面不可进行编程。选择正确的页面并重试编程。