当前位置: 首页 > news >正文

INA226 数据手册解读

INA226是一款数字电流检测放大器,配备I2C和SMBus兼容接口。该器件可提供数字电流、电压以及功率读数,可灵活配置测量分辨率,并具备连续运行与触发操作模式。

该芯片通常由一个单独的电源供电,电压范围为 2.7V 至 5.5V

引脚说明

​引脚名称​​功能描述​
A0、A1地址引脚。需连接至GND、SCL、SDA或VS引脚,用于设置I²C从机地址
Alert多功能开漏输出警报引脚。可配置为过压/欠压警报、转换就绪标志等(详见Mask/Enable寄存器)。
SDAI2C/SMBus数据线,开漏输入/输出。
SCLI2C/SMBus时钟线,开漏输入。
VS电源输入(2.7V至5.5V)。
GND接地引脚。
VBUS总线电压检测输入(0V至36V),负载供电电压(相对于GND)。
IN-分流电阻负输入端,连接至负载侧(低侧检测)或电源负极(高侧检测)。
IN+分流电阻正输入端,连接至电源侧(低侧检测)或电源正极(高侧检测)。

I2C

地址

由A0、A1引脚连接决定

寄存器

INA226寄存器系统概览

这些寄存器都是16位的

​寄存器名称​​地址​​访问​​主要功能​​复位值​
配置寄存器00hR/W配置ADC模式/转换时间/平均值4127h
测量寄存器01h R存储分流电压测量值(±81.92mV)0000h
总线电压寄存器02hR存储总线电压测量值(0-40.96V)0000h
功率寄存器03hR计算功率值(瓦特)0000h
电流寄存器04hR计算电流值(安培)0000h
校准寄存器05hR/W设置电流/功率计算比例因子0000h
屏蔽/使能寄存器06hR/W配置警报功能/状态标志0000h
报警限值寄存器07hR/W设置警报触发阈值0000h
制造商ID寄存器FEhR固定值5449h(TI标识)5449h
芯片ID寄存器FFhR固定值2260h(芯片标识)2260h

数据存储寄存器(功率寄存器、电流寄存器等)采用二进制补码,实际值计算公式为:

I=\frac{ShuntVoltageReg\times CalibrationReg}{2048}\times Current_{LSB}

芯片上电后约1ms完成复位,各寄存器为默认值,需对校准寄存器进行配置

关键寄存器详解

​配置寄存器(00h)
​位​名称​​功能​​取值说明​
D15RST复位芯片(自清零)1=复位所有寄存器
D14-D12无效位固定为0

D11-D9  

AVG[2:0]采样平均次数默认值为 000(1次),详情见数据手册表6
D8-D6VBUSCT总线电压转换时间默认值为100(1.1ms),详情见数据手册表7
D5-D3VSHCT分流电压转换时间默认值为100(1.1ms),详情见数据手册表8
D2-D0MODE工作模式

共有三种模式:连续模式、触发模式、电源关闭模式,默认值为111,连续测量分流和总线,详情见数据手册表9

  • 连续模式:测量计算流程重复执行,直到达到AVG设置的采样平均次数,进行平均运算电流、功率等数值更新到对应数据寄存器中。读取数据寄存器不会影响正在进行的转换。
  • 触发模式:将任意一种触发转换模式写入配置寄存器,则会触发单次转换,该操作仅产生一组测量数据,若要再次触发转换,则需将配置寄存器重置为初始状态。
  • 电源关闭模式:该模式可减少静态电流并关闭进入设备输入的电流,可以对设备寄存器进行写入和读取。从电源关闭模式完全恢复需要40微秒。

写配置寄存器(00h)会中断正在进行的转换,建议在空闲状态修改配置。

​校准寄存器(05h)​

CAL=\frac{0.00512}{Current_{LSB}*R_{SHUNT}}
Current_LSB:最大预期电流/32768,R_SHUNT:分流电阻值

例如需要监测20A的电流,使用5mΩ的分流电阻,那么

Current_{LSB}=\frac{20A}{32768}\approx 610\mu A/bit \\CAL=\frac{0.00512}{610 \mu A * 5m\Omega}=1678

增大CAL值可提高电流分辨率,但会降低最大可测电流。数据手册中给出了CAL的典型值。

​屏蔽/使能寄存器(06h)​​ 
​位​​名称​​功能​​描述
D15SOL分流过压警报高电平有效,当转换后的分流电压高于设定值时激活警报引脚
D14SUL分流欠压警报高电平有效,当转换后的分流电压低于设定值时激活警报引脚
D13BOL总线过压警报高电平有效,当转换后的总线电压高于设定值时激活警报引脚
D12BUL总线欠压警报高电平有效,当转换后的总线电压低于设定值时激活警报引脚
D10CNVR转换就绪标志完成新数据转换时置位
D9-D5ZERO无效位固定为0
D4AFF警报功能标志(只读)当前存在有效警报
D3CVRF转换就绪标志数据寄存器已更新
D2OVF数学溢出标志如果算术运算导致溢出错误,则该位被设置为1,表示电流和功率数据可能无效。
D1APOL警报极性控制0=低电平有效(默认),1=高电平有效
D0LEN警报锁存使能0=透明模式(自动清除),1=锁存模式

五个功能每次只能启用一个。若启用多个,则最高有效位所选的功能将优先被响应。

当其超过警报限值寄存器的值时,警报引脚将被激活。通过读取掩码。通过读取屏蔽/使能寄存器中的CVRF和AFF位可以判断警报来源。

不使用警报功能,警报引脚可以保持悬空状态。

报警限值寄存器

实际阈值 = 寄存器值 * 对应LSB

LSB代表寄存器变化1位对应的实际物理量变化量。

分流电压 LSB:2.5μV(81.92 mV/32767)

测量范围:±81.92mV

总线电压 LSB:1.25mV(40.96 V/32767)

测量范围:0~36V(虽然寄存器满量程对应40.96V,但输入电压不得超过36V)

电流 LSB:由校准寄存器决定

功率 LSB:电流LSB * 25

向寄存器写入数据时,首先由主机发送从机地址,从机确认收到有效地址后,主机发送目标寄存器的地址。然后,主机发送要写入寄存器的两个字节,先写入高八位,再写入低八位。

从寄存器读取数据的流程同写入数据相似。

这里可以用 HAL_I2C_Mem 系列的函数。

http://www.lryc.cn/news/586803.html

相关文章:

  • 13.使用NiN网络进行Fashion-Mnist分类
  • macOS - Chrome 关闭自动更新
  • Python 的 MRO
  • [办公及工程版浏览器]_Google Chrome 138.0.7204.101全屏启动插件
  • es里为什么node和shard不是一对一的关系
  • 香港理工大学实验室定时预约
  • 前端框架状态管理对比:Redux、MobX、Vuex 等的优劣与选择
  • 关于 java:11. 项目结构、Maven、Gradle 构建系统
  • 用 Node.js 构建模块化的 CLI 脚手架工具,从 GitHub 下载远程模板
  • Python 学习之路(十)--常见算法实现原理及解析
  • LabVIEW调用外部DLL
  • [CH582M入门第六步]软件IIC驱动AHT10
  • 【数据结构】图 ,拓扑排序 未完
  • Docker(02) Docker-Compose、Dockerfile镜像构建、Portainer
  • 快速生成 Android 的 Splash 的 9 Patch 图片
  • Docker 搭建本地Harbor私有镜像仓库
  • SpringBoot单元测试类拿不到bean报空指针异常
  • 从架构到代码:飞算JavaAI电商订单管理系统技术解构
  • 决策树的相关理论学习
  • FusionOne HCI 23 超融合实施手册(超聚变超融合)
  • 【C++】多线程同步三剑客介绍
  • 代码随想录算法训练营第十七天
  • 【C++】第十五节—一文详解 | 继承
  • JVM 垃圾收集算法全面解析
  • DC-DC变换器最基本拓扑 -Buck电路和Boost电路
  • ROS2---NodeOptions
  • MacOS使用Multipass快速搭建轻量级k3s集群
  • mac上BRPC的CMakeLists.txt优化:解决Protobuf路径问题
  • TensorFlow深度学习实战(24)——变分自编码器详解与实现
  • Vue 3 动态ref问题