澎湃微PT32x033系列 | 血糖仪专题技术文章连载_08

2022-09-27

 

 

 

  概 述  

 

血糖仪采用纽扣电池供电,随着使用时间的增长,纽扣电池电压逐渐衰减,

为了保证血糖仪工作的可靠性和稳定性,血糖仪系统需要获取当前的系统电量信息。

033可以在芯片内部实现高精度的供电电压监测,且无需占用外部资源。

下面就针对这一技术进行详细介绍。

 

 

 

 

 Part 1.  基于PT32x033的低电量监测应用 

 

 

1.1  监测原理

低电量监测主要是基于ADC实现的。

033内部自带12位的ADC,将ADC的参考电压正端配置为VDDA(电池电压),ADC通道选择内部高精度的BG1V0(内部1.0V电压),根据ADC转换的结果即可反推出电池电压。

一旦低压则可通过LCD屏幕的低电量图标警示用户更换电池,电池电压换算公式如下:

其中:Code1V为ADC转换BG1v0电压的数字量

 

 

 

1.2  纽扣电池

纽扣电池也称扣式电池,是指外形尺寸象一颗小纽扣的电池,一般来说直径较大,厚度较薄(相对于柱状电池如市场上的5号AA等电池)。

纽扣电池是从外形上来对电池来分类的,同等对应的电池分类有柱状电池,方形电池,异形电池等。

一般锂锰公称电压是3V,终止电压2V,典型工作电流在0.1-0.2mA,建议的最大脉冲电流在15mA左右,如血糖仪Demo板上就是使用了一颗CR2032的锂锰电池。

 

 

1.2.1  基本性能及技术参数

下面表格是3V扣式锂锰电池CR2032的性能参数

 

 

 

1.2.2  电池放电特性

下面是3V扣式锂锰电池CR2032的放电特性

 

 

 

 

1.3  ADC功能介绍

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。