31399金沙娱场城PT32x033系列 | 血糖仪专题技术文章连载_08
概 述
血糖仪采用纽扣电池供电,随着使用时间的增长,纽扣电池电压逐渐衰减,
为了保证血糖仪工作的可靠性和稳定性,血糖仪系统需要获取当前的系统电量信息。
033可以在芯片内部实现高精度的供电电压监测,且无需占用外部资源。
下面就针对这一技术进行详细介绍。
Part 1. 基于PT32x033的低电量监测应用
低电量监测主要是基于ADC实现的。
033内部自带12位的ADC,将ADC的参考电压正端配置为VDDA(电池电压),ADC通道选择内部高精度的BG1V0(内部1.0V电压),根据ADC转换的结果即可反推出电池电压。
一旦低压则可通过LCD屏幕的低电量图标警示用户更换电池,电池电压换算公式如下:
其中:Code1V为ADC转换BG1v0电压的数字量
纽扣电池也称扣式电池,是指外形尺寸象一颗小纽扣的电池,一般来说直径较大,厚度较薄(相对于柱状电池如市场上的5号AA等电池)。
纽扣电池是从外形上来对电池来分类的,同等对应的电池分类有柱状电池,方形电池,异形电池等。
一般锂锰公称电压是3V,终止电压2V,典型工作电流在0.1-0.2mA,建议的最大脉冲电流在15mA左右,如血糖仪Demo板上就是使用了一颗CR2032的锂锰电池。
1.2.1 基本性能及技术参数
下面表格是3V扣式锂锰电池CR2032的性能参数
1.2.2 电池放电特性
下面是3V扣式锂锰电池CR2032的放电特性
033有一个12 位的逐次逼近型模数转换器 ADC,该 ADC 有多达 12 个通道,允 许 ADC测量9 个外部和3个内部信号源。可选的ADC参考电压有:
-
VDDA
-
BG2V0
-
AVREF+
-
BG1V0
-
BG1V2
ADC模块框图如下:
图8-1 ADC框图
ADC通道11可以选择BG1V0(内部1.0V电压),BG1V0是1.0V内部带隙基准电压,精度0.5%。
1.3.1 ADC通道选择
(ADC_CR寄存器)中的“CHS[4:0]”位可以选择ADC通道输入,在血糖仪检测供电电压的应用中,需要选择ADC_IN11作为通道输入。
ADC_IN11在芯片内部连到了模拟通道电压,模拟通道电压源由(ADC_CR寄存器)的“BGS”位决定。当设置为’1’时,选择的就是BG1V0。
1.3.2 ADC参考电压
ADC参考电压正端可以通过(ADC_CR寄存器)中的“ADVRPS[2:0]”进行选择:
-
当设置为“001”时,参考电压为VDDA;
-
当设置为“010”时,参考电压为外部管脚AVREF+(PD6);
-
当设置为“100”时,参考电压为BG2V0(内部2.0V电压)。
ADC参考电压负端默认连接至VSSA。在血糖仪检测供电电压的应用中,ADC参考电压正端需要设置为VDDA。
Part 2. 软件代码实现
主要包括ADC初始化配置和ADC转化取均值。
ADC初始化配置代码如下:
ADC_StructInit函数主要用于初始化ADC_InitStruct结构体:
-
配置ADC时钟。对PCLK进行2分频作为ADC时钟。
-
配置ADC转换模式。将转换模式配置为单次转换模式。
-
配置ADC 转换结果对齐格式。将结果对齐配置为右对齐。
-
参考电压选择。正端选择为BG2V0,负端选择VSSA。
ADC_Init,这个函数根据ADC_InitStruct结构体的内容,配置ADC寄存器。
ADC转化取均值代码如下:
该函数主要实现功能如下:
▪ 重新配置参考电压正端为VDDA。
▪ ADC通道配置。ADC_ChannelConfig(ADC, 0x400C)这个函数就是配置ADC 控制寄存器(ADC_CR),使得BGS位设置为“1”(BG1V0),CHS位设置为“01100 ”(选择ADC模拟输入通道11)。
▪ ADC转化并存入一个数组“DATA[15:0]”。这包括ADC使能,等待ADC使能完成,开始转化,等待ADC转换完成,读取ADC转换结果。
▪ 去掉数组中最大值和最小值,然后取一个平均值。此值就是ADC转换BG1V0电压的数字量Code1V。
▪ 最后根据2.1 监测原理中的公式即可得出电池电压VBAT。