芯片开发(1)---BQ76905---底层参数配置

主要开发思路:AFE主要是采集、保护功能、均衡,所以要逐一去配置芯片的寄存器

采集、均衡功能主要是配置引脚

保护功能主要是参数寄存器配置,至于如何使用命令修改寄存器参数该系列芯片提供了子命令直接命令两种方式

BQ76905的管脚配置

I、参数配置

一、电压采集串数配置

BQ76952电压采集串数配置

二、进入/退出 配置模式

三、配置AFE功能引脚

根据硬件原理图的AFE引脚使用情况

使用SRN、SRP 、TS/WAKE 、 DSG 、CHG、REGOUT几个管脚,明确每个引脚的具体作用

明确引脚功能:SRN、SRP--【电流采集】 TS/WAKE-【唤醒信号】 DSG-【控制放电MOS】 CHG-【控制充电MOS】 REGOUT-【输出3.3V】

下面查看芯片手册

1.配置REGPUT引脚

2.配置WAKE引脚

正常工作状态未使用,在进入ShutDown模式的时候会成为唤醒脚

该引脚无需配置

3.配置DCHG\DDGS管脚

BQ76905同时支持系列和并行FET配置。当CHG和DSG FET串联时,当另一个FET被启用时,电流可以流过一个被禁用的FET的主体二极管。在此配置中,当检测到超过阈值的电流流过该FET时,本体二极管保护被用来打开被禁用的FET。当系统有单独的DSG和CHG路径以及并行FET时,不需要主体二极管保护,可以通过清除设置:配置: FET选项[SFET]配置位来禁用。

根据芯片手册判断这两个管脚功能是固定的,不需要特殊配置寄存器

四、配置AFE的采集寄存器

采集分为电压电流采集,对于采集到的数据:1.是否需要倍率 2.采集多少次 3.采集计算频率 4.是否有偏移

1.涉及的寄存器如下:

BQ76905电压、电流计算公式

这里我查看芯片手册发现,以下寄存器默认值均为0,对比上面的计算公式以及BQ76952芯片手册判断

默认0使用的时出厂校准值,而非真正的0值

2.采集倍率参数配置

BQ76905的芯片手册未找到该参数

3.配置CC1_GAIN

BQ76905的芯片手册未找到该参数的特殊设置

4.配置CC3采集次数

BQ76905的芯片手册未找到相似参数的特殊设

五、配置过压相关参数

1.配置过压保护阈值

2.配置过压保护触发延时

这里的单位需要查看ADC配置的扫描周期

3.配置过压保护恢复值

这里考虑电压回差太小,暂时设置为AFE级别的过压不自动恢复

六、配置欠压相关参数

1.配置欠压保护阈值

2.配置欠压保护触发延时

3.配置欠压保护恢复值

这里考虑电压回差太小,暂时设置为AFE级别的欠压不自动恢复

七、配置充电过流相关参数

暂不配置

原因如下:充电过流可控

1.配置充电过流保护值OCC

2.配置充电过流保护延时

3.配置充电过流保护恢复值

八、配置放电过流相关参数

1.配置放电过流一级/二级保护值

2.配置放电过流一级/二级保护延时

九、配置过流故障恢复时间

这里BQ76905是统一一个基于时间的恢复机制;而BQ76952是有恢复时间和阈值的判断

十、配置过流锁死次数

十一、配置电压采集位

十二、配置SCD相关参数

1.配置SCD触发阈值

此处短路保护阈值根据分流器阻值计算:欧姆定律

2.配置SCD触发延时

短路参数一般配置最短,快速保护

十三、配置FET相关参数

1.配置FET Options寄存器

在sleep模式CHG管脚默认断开 可通过命令控制FET引脚  

2.配置Body Diode Threshold体二极管参数阀值

3.配置Enabled Protections A 参数

4.配置Enabled Protections B 参数

5.配置 CHG FET Protections A

6.配置 DGS FET Protections A

十四、配置均衡相关参数

查看芯片手册关于Balance的相关说明

1.均衡和电压测量是通过配置间隔进行的,具体占比按照CB_LOOP_SLOW设置而定

2.发送均衡命令时芯片也会完成当前的ADSCAN再进行均衡

3.CUV或COV警报,则设备将立即禁用平衡

4.当发送0x0083 CB_ACTIVE_CELLS()子命令时,可以读回预期要平衡的单元格,即使平衡尚未开始(它从正在进行的ADSCAN的结尾开始)。这允许主机确认所发送的命令已被设备接受

5.为保证电压测量准确性,电压测量和均衡开启使用了可设置延时的方式Settings:Cell Balancing:Balancing Configuration[CBDLY2:0] from zero to 64 ms

芯片手册说明---在控制均衡保护电压,均衡路数,以及均衡开启压差需要MCU来控制,AFE不具备这方面的功能

BQ76952和BQ76905对比

1.配置Balancing Configuration

配置是否可以命令开启均衡以及均衡时间

2.配置Min Temp Threshold

看项目需求是否要开启

3.配置Max Temp Threshold

看项目需求是否要开启

4.配置Max Internal Temp

看项目需求是否要开启

相邻的和非相邻的电芯都可以被平衡。使用主机发送的0x0083 CB_ACTIVE_CELLS()子命令来控制平衡。当使用此子命令启动平衡时,设备将启动一个计时器,并开始平衡指定的单元格长达20秒。如果发出了新的平衡子命令,定时器将被重置。这是一种预防措施,如果主机处理器启动了平衡,但随后停止了与BQ76905的通信,因此平衡不会无限期地继续。主机可以将0x00写入子命令,以禁用平衡。当读取此子命令时,它将报告正在主动平衡的单元格的位掩码

十五、采集断线检测配置

1.配置正常模式中的断线检测

ADSCAN回路的时间,范围从大约5.5 ms到大约88 ms page20

这里默认配置为最大值,约为1.4S

2.配置休眠时的断线检测

看项目需求是否要开启

十六、看门狗复位时间设置

备注:开门狗使能已经在Protect B功能中开启

十八、失能SLEEP功能

这里是防止AFE芯片在正常运行的时候进入到SLEEP模式

不退出sleep模式,DCHG会被断开,也可能在操作AFE时进入休眠,AFE的数据上报就会更新缓慢

十九、重新RESET芯片

先要wake再RESET

二十、配置芯片温度保护参数



二十三、疑问解答:

1.ADSCAN intervals单位解释

2.userA单位解释

我的理解

1.Current:Curr Gain寄存器默认是0,无电流增益,在 -32768 mA and +32767 mA.

2.Current:Curr Gain这个寄存器我写10,电流范围扩大, 在-327.68 A and +327.67 A

3.Current:Curr Gain这个寄存器我写100,电流范围扩大, 在-3276.8 A and +3276.7 A

如果是,假如我需要的电流范围是-327.68 A and +327.67 A,那么我是不是需要将所有的电流增益寄存器写10【此处待验证】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/429010.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Renesas R7FA8D1BH (Cortex®-M85)和微信小程序App数据传输

目录 概述 1 系统架构 1.1 系统结构 1.2 系统硬件框架结构 1.3 蓝牙模块介绍 2 微信小程序实现 2.1 UI介绍 2.2 代码实现 3 上位机功能实现 3.1 通信协议 3.2 系统测试 4 下位机功能实现 4.1 功能介绍 4.2 代码实现 4.3 源代码文件 5 测试 5.1 编译和下载代码…

Codeforces Round 974 (Div. 3) A-F

封面原图 画师礼島れいあ 下午的ICPC网络赛的难受一晚上全都给我打没了 手速拉满再加上秒杀线段树 这场简直了啊 唯一可惜的是最后还是掉出了1000名 一把上蓝应该没啥希望了吧 A - Robin Helps 题意 侠盗罗宾因劫富济贫而闻名于世 罗宾遇到的 n n n 人,从 1 s …

mysqldump使用cmd窗口和powersell窗口导出sql中文乱码的问题

项目场景 我在使用Mariadb数据库更新数据的时候,由于数据库的表格中含有中文,在使用mysqldump导出sql语句的时候,中文显示乱码,如下图所示: 环境描述 系统:windows10数据库: Mariadb -10.6.16…

linux安装Anaconda3

先将Anaconda3安装包下载好,然后在主文件夹里新建一个文件夹,将Anaconda3安装包拖进去。 打开终端未来不出现缺东西的异常情况,我们先安装 yum install -bzip2然后进入根目录下,在进入Anaconda3文件夹下 sh包安装方式 sh Anac…

动手学深度学习(李沐)PyTorch 第 2 章 预备知识

2.1 数据操作 N维数组样例 N维数组是机器学习和神经网络的主要数据结构 张量表示一个由数值组成的数组,这个数组可能有多个维度。 具有一个轴的张量对应数学上的向量(vector); 具有两个轴的张量对应数学上的矩阵(…

S-Clustr-Simple 飞机大战:骇入现实的建筑灯光游戏

项目地址:https://github.com/MartinxMax/S-Clustr/releases Video https://www.youtube.com/watch?vr3JIZY1olro 飞机大战 这是一个影子集群的游戏插件,可以将游戏画面映射到现实的设备,允许恶意控制来完成游戏。亦或者设备部署在某建筑物中,来控制…

2024年中国研究生数学建模竞赛A题“风电场有功功率优化分配”全析全解

问题一: 针对问题一,可以采用以下低复杂度模型,来计算风机主轴及塔架的疲劳损伤累积程度。 建模思路: 累积疲劳损伤计算: 根据Palmgren-Miner线性累积损伤理论,元件的疲劳损伤可以累积。因此,…

Android-UI设计

控件 控件是用户与应用交互的元素。常见的控件包括: 按钮 (Button):用于执行动作。文本框 (EditText):让用户输入文本。复选框 (CheckBox):允许用户选择或取消选择某个选项。单选按钮 (RadioButton):用于在多个选项中…

分享两道算法题

分享两道算法题 王者荣耀分组 题目描述 部门准备举办一场王者荣耀表演赛,有 10 名游戏爱好者参与,分 5 为两队,每队 5 人。 每位参与者都有一个评分,代表着他的游戏水平。 为了表演赛尽可能精彩,我们需要把 10 名参赛…

leetcode练习 二叉树的最大深度

给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3提示: 树中节点的数量在 [0, 104] 区间内。-100 …

RabbitMQ08_保证消息可靠性

保证消息可靠性 一、生产者可靠性1、生产者重连机制(防止网络波动)2、生产者确认机制Publisher Return 确认机制Publisher Confirm 确认机制 二、MQ 可靠性1、数据持久化交换机、队列持久化消息持久化 2、Lazy Queue 惰性队列 三、消费者可靠性1、消费者…

Springboot 文件上传下载相关问题

文章目录 关于Springboot 文件上传下载问题解决方案注意事项文件上传文件下载文件删除文件在线打开在写练习的时候,发现了一些小小的问题,已经在 上述代码中体现。① 代码路径碰到中文的时候,会有乱码,需要转换(内容中…

华润电力最新校招社招润择认知能力测评:逻辑推理数字计算语言理解高分攻略

​ 尊敬的求职者们, 在您准备加入华润电力这个大家庭之前,了解其招聘测评的详细流程和要求是至关重要的。以下是我们为您整理的测评系统核心内容,希望对您的求职之旅有所帮助。 测评系统概览 华润电力的招聘测评系统旨在全面评估求职者的认…

【WEB】序列一下

1、 2、反序列化 <?phpclass Polar{public $url polarctf.com;public $ltsystem;public $bls /;function __destruct(){$a $this->lt;$a($this->b);} }$a new Polar(); echo serialize($a); ?>###O:5:"Polar":3:{s:3:"url";s:12:"…

CSS 布局三大样式简单学习

目录 1. css 浮动 1.1 效果1 1.2 效果2 1.3 效果3 1.4 效果4 2. css 定位 2.1 absolute 2.2 relative 2.3 fixed 3. css 盒子模型 3.1 效果1 3.2 效果2 3.3 效果3 3.4 效果4 1. css 浮动 1.1 效果1 1.2 效果2 1.3 效果3 1.4 效果4 2. css 定位 2.1 absolute 2.2 …

AI 时代的网络危机沟通计划

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

吉首大学--23级题目讲解

7-1 单链表基本操作 在 C/C 中&#xff0c;.&#xff08;点&#xff09;和 ->&#xff08;箭头&#xff09;运算符用于访问结构体或类的成员&#xff0c;但它们的使用场景不同。 1. . 运算符 . 运算符用于访问结构体或类的成员&#xff0c;通过对象或结构体变量直接访问。…

51单片机——独立按键

一、独立按键对应单片机P3管脚&#xff0c;如图 二、按键点亮LED灯 #include <STC89C5xRC.H> void main() { while(1) { if(P300) { P200; } else { P201; } } } 当按键为0时&#xff0c;代表按下&#xff0c;所以当P30按下时&#xff0c;让P20&#xff1d;0&#…

[产品管理-32]:NPDP新产品开发 - 30 - 文化、团队与领导力 - 领导力与团队的可持续发展

目录 一、团队领导的领导力 1.1 领导力 1、领导力的定义 2、领导力的重要性 3、领导力的构成要素 4、如何提升领导力 1.2 情商 二、虚拟团队 1、团队定义与特征 2、团队优势 3、团队挑战与应对策略 三、可持续发展 四、团队管理和领导力中的度量指标 4.1 激励创新…

XXL-JOB分片概念讲解

3. 分片功能讲解 3.1 案例需求&#xff1a; 1.我们现在实现这样的需求&#xff0c;在指定节假日&#xff0c;需要给平台的所有用户去发送祝福的短信 3.2.编码实现&#xff1a; a.初始化数据 1.在数据库中导入xxl_job_demo.sql数据 b.集成Druid&MyBatis 1.添加依赖 &…