INA226 数据手册解读

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

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

引脚说明

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

I2C

地址

由A0、A1引脚连接决定

寄存器

INA226寄存器系统概览

这些寄存器都是16位的

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

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

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

关键寄存器详解

​配置寄存器(00h)
​位 ​名称​ ​功能​ ​取值说明​
D15 RST 复位芯片(自清零) 1=复位所有寄存器
D14-D12 无效位 固定为0
D11-D9 AVG[2:0] 采样平均次数 默认值为 000(1次),详情见数据手册表6
D8-D6 VBUSCT 总线电压转换时间 默认值为100(1.1ms),详情见数据手册表7
D5-D3 VSHCT 分流电压转换时间 默认值为100(1.1ms),详情见数据手册表8
D2-D0 MODE 工作模式 共有三种模式:连续模式、触发模式、电源关闭模式,默认值为111,连续测量分流和总线,详情见数据手册表9
  • 连续模式:测量计算流程重复执行,直到达到AVG设置的采样平均次数,进行平均运算电流、功率等数值更新到对应数据寄存器中。读取数据寄存器不会影响正在进行的转换。
  • 触发模式:将任意一种触发转换模式写入配置寄存器,则会触发单次转换,该操作仅产生一组测量数据,若要再次触发转换,则需将配置寄存器重置为初始状态。
  • 电源关闭模式:该模式可减少静态电流并关闭进入设备输入的电流,可以对设备寄存器进行写入和读取。从电源关闭模式完全恢复需要40微秒。

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

​校准寄存器(05h)​

Current_LSB:最大预期电流/32768,R_SHUNT:分流电阻值

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

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

​屏蔽/使能寄存器(06h)​
​位​ ​名称​ ​功能​ ​描述
D15 SOL 分流过压警报 高电平有效,当转换后的分流电压高于设定值时激活警报引脚
D14 SUL 分流欠压警报 高电平有效,当转换后的分流电压低于设定值时激活警报引脚
D13 BOL 总线过压警报 高电平有效,当转换后的总线电压高于设定值时激活警报引脚
D12 BUL 总线欠压警报 高电平有效,当转换后的总线电压低于设定值时激活警报引脚
D10 CNVR 转换就绪标志 完成新数据转换时置位
D9-D5 ZERO 无效位 固定为0
D4 AFF 警报功能标志(只读) 当前存在有效警报
D3 CVRF 转换就绪标志 数据寄存器已更新
D2 OVF 数学溢出标志 如果算术运算导致溢出错误,则该位被设置为1,表示电流和功率数据可能无效。
D1 APOL 警报极性控制 0=低电平有效(默认),1=高电平有效
D0 LEN 警报锁存使能 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 系列的函数。

相关推荐
会编程的小孩2 小时前
STM32用PWM驱动步进电机
stm32·单片机·嵌入式硬件
努力做小白3 小时前
Linux驱动11 --- buildroot&杂项驱动开发方法
linux·运维·驱动开发·单片机·嵌入式硬件
小眼睛FPGA4 小时前
【RK3568+PG2L50H开发板实验例程】FPGA部分 | 以太网传输实验例程
科技·单片机·嵌入式硬件·ai·fpga开发·fpga
切糕师学AI5 小时前
MCU中的系统控制器(System Controller)是什么?
嵌入式硬件·mcu
蜡笔小电芯8 小时前
【STM32】const 变量存储学习笔记
笔记·stm32·学习
扣篮发型不乱11 小时前
STM32 | HC-SR04 超声波传感器测距
stm32·单片机·嵌入式硬件
几个几个n13 小时前
STM32-第五节-TIM定时器-1(定时器中断)
stm32·单片机·嵌入式硬件
EutoCool14 小时前
Qt窗口:QToolBar、QStatusBar、QDockWidget、QDialog
开发语言·数据库·c++·嵌入式硬件·qt·前端框架
国科安芯14 小时前
车规级ASM1042芯片在汽车无线充电模块中的应用探索
人工智能·单片机·嵌入式硬件·物联网·安全·汽车