STM32 IIC电量计LTC2944

1 描述

LTC2944 可在便携式产品应用中测量电池充电状态、电池电压、电池电流及其自身温度。宽输入电压范围允许使用高达 60V 的多节电池。精密库仑反向积分电流通过电池正极端子与负载或充电器之间的检测电阻器。 电压、电流和温度由内部 14 位无延迟 ΔΣ™ ADC 测量。测量结果存储在内部寄存器中,可通过板载 I 2C/SMBus 接口访问。 LTC2944 针对所有四个测量量都具有可编程的高阈值和低阈值。如果超过编程阈值,该器件将使用 SMBus 警报协议或通过在内部状态寄存器中设置标志来传达警报。该LTC2944只需要一个低阻值检测电阻器即可设置测量的电流范围。

在这里插入图片描述

2 操作

2.1 概述

LTC2944是一款电池电量计,设计用于端电压为3.6V至60V的多节电池。它测量电池充电和放电、电池电压、电流和自身温度。 精密模拟库仑计数器通过电池正极端子与负载或充电器之间的检测电阻器对电流进行积分。电池电压、电池电流和硅温度由内部ADC测量。

库仑计数器

电荷是电流的时间积分。该LTC2944通过监测检测电阻两端产生的电压来测量电荷。将 SENSE+ 和 SENSE– 之间的差分电压应用于自动归零差分模拟积分器以推断电荷。 当积分器输出斜坡上升到 REFHI 或 REFLO 电平时,切换 S1、S2、S3 和 S4 以反转斜坡方向(图 2)。通过观察开关的状况和斜坡方向,确定极性。 这种方法还显著降低了模拟积分器对失调的影响,如差分失调电压部分所述。 可编程预分频器可有效将积分时间提高 M 倍,可编程范围为 1 至 4096。在预分频器的每个下溢或溢流处,累积电荷寄存器 (ACR) 值递增或递减一个计数。累积电荷的值通过 I2C 接口读取。

Voltage, Current and Temperature ADC

该LTC2944包括一个 14 位无延迟 ΔΣ 模数转换器,具有内部时钟和电压基准电路。 该ADC可用于监控SENSE端的电池电压或流过检测电阻的电池电流,或转换片内温度传感器的输出。 电压、电流和温度的转换通过 I2C 接口对控制寄存器进行编程来触发。该LTC2944包括扫描模式,每 10 秒执行一次电压、电流和温度转换测量。在每次转换结束时,相应的寄存器都会更新,转换器进入休眠状态,以较大限度地减小静态电流。 温度传感器产生与温度成正比的电压,斜率为2mV/K,在27°C时产生600mV的电压。

Power-Up Sequence

当 SENSE+ 上升到大约 3.3V 的阈值以上时,LTC2944 将产生一个内部上电复位 (POR) 信号,并将所有寄存器设置为默认状态。 在默认状态下,库仑计数器处于活动状态,而电压、电流和温度ADC关闭。累积充电寄存器设置为中间电平(7FFFh),所有低阈值寄存器设置为0000h,所有高阈值寄存器设置为FFFFh。启用警报模式,并将库仑计数器预缩放因子 M 设置为 4096。
在这里插入图片描述

3 应用信息

LTC2944寄存器映射如表1所示。该LTC2944通过检测电阻器对电流进行积分,测量电池电压、电流和温度,并将结果存储在可通过 I2C 访问的内部 16 位寄存器中。可以对每个测量量的上限和下限进行编程。LTC2944持续监控这些限值,并在超过限值时在状态寄存器中设置一个标志。如果启用了警报模式,则 ALCC 引脚将拉至低电平。
在这里插入图片描述
充电、电压、电流和温度警报的状态在表 2 所示的状态寄存器中报告。
在这里插入图片描述
每次电压、电流或温度转换后,转换结果都会与相应的阈值寄存器进行比较。如果超过阈值寄存器中的值,则设置相应的位 A[6]、A[4] 或 A[1]。 每次模拟积分器增加或减少预分频器时,都会将累积电荷寄存器(ACR)与电荷阈值进行比较。如果 ACR 值超过阈值寄存器值,则设置相应的位 A[3] 或 A[2]。如果累积电荷寄存器 (ACR) 溢出或下溢,则设置位 A[5]。每次溢流或下溢时,ACR 都会滚动并恢复集成。 如果在工作期间,SENSE+ 引脚上的电压降至 3.5V 以下而未达到 POR 电平,则设置状态寄存器 A[0] 的欠压锁定 (UVLO) 位。库仑计数器的模拟部分关闭,同时保留数字寄存器值。电源电压恢复后,库仑计数器恢复积分在累积充电寄存器中存储值,但在 SENSE+ < 3.5V 时,它错过了任何电荷流动。 所有状态寄存器位在主机读取后被清除,但如果仍满足相应的警报条件,则可能会在下一次温度、电压或电流转换或电荷积分后重新置位。

Control Register (B)

LTC2944的操作通过对控制寄存器进行编程来控制。表 3 显示了 8 位控制寄存器 B[7:0] 的组织结构。
在这里插入图片描述
在这里插入图片描述

Power Down B[0]

将 B[0] 设置为 1 可关断LTC2944的模拟部分,从而将电流消耗降至 15μA (典型值)以下。管理 I2C 通信的电路保持工作状态,并保留寄存器中的值。请注意,当 B[0] 为 1 时,不会测量任何流过的电荷,并且任何低于累积电荷寄存器 1LSB 的电荷信息都会丢失。

Alert/Charge Complete Configuration B[2:1]

ALCC引脚是由控制寄存器配置的双功能引脚。通过将位 B[2:1] 设置为 [10](默认值),ALCC 引脚配置为遵循 SMBus 协议的警报引脚。在这种配置中,如果四个测量量(电荷、电压、电流、温度)之一超过其上限或低阈值,或者如果累积电荷寄存器的值溢出或下溢,则ALCC被拉低。主设备启动的警报响应过程在ALCC引脚上重置警报。如果ALCC引脚的配置在因报警情况而被拉低时发生更改,则该器件将继续将ALCC拉低,直到主机发出成功的报警响应程序(ARA)。有关详细信息,请参阅警报响应协议部分。 将控制位 B[2:1] 设置为 [01] 可将 ALCC 引脚配置为数字输入。在此模式下,ALCC引脚上的低电平输入向LTC2944指示电池已满,并且累积充电寄存器设置为最大值FFFFh。
如果既不需要警报功能,也不需要充电完成功能,则位 B[2:1] 应设置为 [00]。然后,ALCC引脚被禁用,并应通过一个10k电阻连接到I2C总线的电源。 避免将 B[2:1] 设置为 [11],因为它会同时启用警报和充电完成模式。

Choosing RSENSE

为了达到库仑计数器的指定精度,SENSE+ 和 SENSE– 之间的差分电压必须保持在 ±50mV 以内。当输入信号高达300mV时,LTC2944将保持工作,但不能保证库仑计数器的精度。 外部检测电阻RSENSE的所需值由VSENSE的最大输入范围和应用的最大电流决定:
在这里插入图片描述
外部检测电阻值的选择会影响库仑计数器的增益。对于相同的电流,较大的检测电阻在 SENSE+ 和 SENSE– 之间提供更大的差分电压,从而实现更精确的库仑计数。由累积电荷的最低有效位(qLSB)(寄存器C,D)表示的电荷量等于:
在这里插入图片描述
当预分频器设置为默认值 M = 4096 时。 请注意,1mAh = 3.6C(库仑)。 在电池容量 (QBAT) 与最大电流 (IMAX) 相比非常大的应用中,选择 RSENSE = 50mV/IMAX 是不够的:
在这里插入图片描述
对于具有大电池的低电流应用,根据RSENSE = 50mV/IMAX选择RSENSE会导致qLSB小于QBAT/216,并且16位累积充电寄存器可能会在电池耗尽之前下溢或在充电过程中溢出。在本例中,选择的最大 RSENSE 为:
在这里插入图片描述
在最大电流为 IMAX = 100mA 的示例应用中,计算 RSENSE = 50mV/IMAX 将导致检测电阻为 500mΩ。这给出了34μAh的qLSB,累积充电寄存器可以表示QBAT = 34μAh•65535 = 2228mAh的最大电池容量。如果电池容量较大,则必须降低RSENSE。例如,如果使用容量为7200mAh的电池,则RSENSE应降至150mΩ。

Choosing Coulomb Prescaler M B[5:3]

如果电池容量 (QBAT) 与最大电流 (IMAX) 相比较小,则预分频器值 M 应从其默认值 (4096) 更改。 在这些电池体积小但最大电流较高的应用中,qLSB相对于电池容量可能会变得非常大。例如,如果电池容量为100mAh,最大电流为1A,则标准公式导致选择50mΩ的检测电阻值,结果为:
在这里插入图片描述
电池容量仅相当于294 qLSB,累计充电寄存器的利用率不到0.5%。 在这种情况下,为了保持数字分辨率,LTC2944包括一个可编程的预分频器。降低预分频器因子M可降低qLSB,从而更好地将累积充电寄存器与电池容量相匹配。可以在 1 和默认值 4096 之间选择预缩放因子 M。然后,电荷LSB变为:
在这里插入图片描述

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

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

相关文章

Linux:理解信号量以及内核中的三种通信方式

文章目录 共享内存的通信速度消息队列msggetmsgsndmsgrcvmsgctl 信号量semgetsemctl 内核看待ipc资源单独设计的模块ipc资源的维护 理解信号量总结 本篇主要是基于共享内存&#xff0c;延伸出对于消息队列和信号量&#xff0c;再从内核的角度去看这三个模块实现进程间通信 共享…

【教学类-44-04】20240130 print dashed(虚线字体)制作的数字描字帖

作品展示&#xff1a;背景需求&#xff1a; 制作绿色数字的数字描字帖 选用字体&#xff1a;print dashed&#xff08;虚线字体&#xff09; 【教学类-44-03】20240111阿拉伯数字字帖的字体&#xff08;三&#xff09;——德彪钢笔行书&#xff08;实线字体&#xff09;和pri…

如何使用Docker部署JSON Crack

文章目录 1. 在Linux上使用Docker安装JSONCrack2. 安装Cpolar内网穿透工具3. 配置JSON Crack界面公网地址4. 远程访问 JSONCrack 界面5. 固定 JSONCrack公网地址 JSON Crack 是一款免费的开源数据可视化应用程序&#xff0c;能够将 JSON、YAML、XML、CSV 等数据格式可视化为交互…

Kafka运维相关知识

目录 一、基本概念 二、技术特性 三、设计思想 四、运维建议 一、基本概念 Apache kafka 是一个分布式的基于push-subscribe的消息系统&#xff0c;它具备快速、可扩展、可持久化的特点。它的最大的特性就是可以实时的处理大量数据以满足各种需求场景&#xff1a;比如基于h…

Mysql基础篇笔记

数据表 链接&#xff1a;https://pan.baidu.com/s/1dPitBSxLznogqsbfwmih2Q 提取码&#xff1a;b0rp --来自百度网盘超级会员V5的分享 sql的执行顺序 根据顺序 也就是说 select后面的字段别名 只能在order by中使用 mysql不支持sql92的外连接 mysql不支持满外连接 可以…

java反射常用方法

反射思维导图 使用案例 package Reflection.Work.WorkTest01;import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Arrays;public class WorkDe…

10-Nacos-灰度发布配置

用于生产上线后&#xff0c;针对指定主机IP做定向测试 1、在配置编辑中&#xff0c;勾选Beta发布&#xff0c;在文本框中勾选需要下发服务的IP地址&#xff0c;多个用英文逗号分隔。 正式版&#xff1a;这个是针对除了Beta版中指定的IP服务生效Beta版&#xff1a;灰度配置&am…

粤Z车牌申请需要什么条件?

深圳湾口岸: 上一年度纳税数额达到15万元以上的&#xff0c;可以申办1个商务车指标 上一年度的纳税数额达到50万元以上的&#xff0c;可以申办第2个商务车指标; 上一年度的纳税数额达到100万元以上的&#xff0c;可以申办第3个商务车指标; 从申办第4个商务车指标起&#xff0c;…

yolov8:pt 转 onnx

yolov8官方教程 1.安装包 我使用的是虚拟环境&#xff0c;yolov8包已经下载到本地了&#xff0c;因此直接在anaconda prompt 命令行继续安装 首先激活自己的虚拟环境&#xff0c;然后执行安装命令 pip install ultralytics yolov8中没有requirement.txt文件&#xff0c;直接…

RTC实时时钟之读取时间

1. RTC 基本介绍 RTC(Real Time Clock) 即实时时钟&#xff0c;它是一个可以为系统提供精确的时间基准的元器件&#xff0c;RTC一般采用精度较高的晶振作为时钟源&#xff0c;有些RTC为了在主电源掉电时还可以工作&#xff0c;需要外加电池供电 2. RTC 控制器 2.1 RTC的特点是:…

知识点积累系列(四)Kubernetes篇【持续更新】

云原生学习路线导航页&#xff08;持续更新中&#xff09; 本文是 知识点积累 系列文章的第四篇&#xff0c;记录日常学习中遇到的 Kubernetes 相关的知识点 1.Kubernetes琐碎知识点 1.1.为什么要有annotations annotation中除了能够记录一些额外信息&#xff0c;还可以解决k…

[BUUCTF]-PWN:cmcc_pwnme2解析

保护 ida 完整exp&#xff1a; from pwn import* context(log_leveldebug) #premote(node5.buuoj.cn,26964) pprocess(./pwnme2) addhome0x8048644 addflag0x8048682 getfile0x80485CB main0x80486F8 pop_ebp0x8048680 ret0x80483f2 pop_ebx0x8048409 pop_edi_ebp0x804867f st…

常见的网络安全威胁和防护方法

随着数字化转型和新兴技术在各行业广泛应用&#xff0c;网络安全威胁对现代企业的业务运营和生产活动也产生了日益深远的影响。常见的网络安全威胁通常有以下几种&#xff1a; 1. 钓鱼攻击 攻击者伪装成合法的实体&#xff08;如银行、电子邮件提供商、社交媒体平台等&#xf…

超越传统—Clean架构打造现代Android架构指南

超越传统—Clean架构打造现代Android架构指南 1. 引言 在过去几年里&#xff0c;Android应用开发经历了巨大的变革和发展。随着移动设备的普及和用户对应用的期望不断提高&#xff0c;开发人员面临着更多的挑战和需求。传统的Android架构在应对这些挑战和需求时显得有些力不从…

笔记---中国剩余定理

全程学自y总 AcWing.204.表达整数的奇怪方式 给定 2 n 2n 2n 个整数 a a a1, a a a2,…, a a an 和 m m m1, m m m2,…, m m mn&#xff0c;求一个最小的非负整数 x x x&#xff0c;满足 ∀ i ∈ [ 1 , n ] , x ≡ m ∀i∈[1,n],x≡m ∀i∈[1,n],x≡mi ( m o d a (mod a (…

深度强化学习(王树森)笔记11

深度强化学习&#xff08;DRL&#xff09; 本文是学习笔记&#xff0c;如有侵权&#xff0c;请联系删除。本文在ChatGPT辅助下完成。 参考链接 Deep Reinforcement Learning官方链接&#xff1a;https://github.com/wangshusen/DRL 源代码链接&#xff1a;https://github.c…

HTML5的新特性

目录 一&#xff0c;新增语义化标签 二&#xff0c;新增的多媒体标签 三&#xff0c;新增input表单 四&#xff0c;新增的表单属性 一&#xff0c;新增语义化标签 二&#xff0c;新增的多媒体标签 1&#xff0c;音频&#xff1a;<audio>.。。用MP3 <audio src…

带自执行安装脚本的ROS包的生成

带自执行安装脚本的ROS包的生成 在打包和安装ROS包时, 会有一些固定的配置需要去人为实现, 比如网络配置, 设备树的管理等, 比较麻烦, 不如一次性解决掉, 所以查了相关文档 过程: # 使用bloom-generate rosdebian生成debian文件夹 bloom-generate rosdebian # 进入debian文件…

ICV:signoff_check_drc脚本

更多学习内容请关注「拾陆楼」知识星球 拾陆楼知识星球入口 往期文章链接: ICV:metal fill insertion流程 ICV:metal fill insertion脚本

Windows XP x86 sp3 安装 Python3.4.4

1 下载 Python3.4.4&#xff0c;下载地址&#xff0c;点击红色部分。 Python Release Python 3.4.4 | Python.org 2 一路 Next&#xff0c;将 C:\Python34 和 C:\Python34\Scripts 加入环境变量。 3 python 查看版本&#xff0c;python -m pip list 查看安装的包。 4 其他(打…