最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

基于n rf52832的低功耗体温计设计

IT圈 admin 31浏览 0评论

2024年10月7日发(作者:磨昕月)

第24期

2019年12月

无线互联科技

Wireless Internet Technology

No.24

December,2019

基于nRF52832的低功耗体温计设计

宋林桂

(苏州健雄职业技术学院 电子信息学院,江苏 太仓 215411)

摘 要:文章提出一种基于nRF52832的低功耗体温计设计方法,并考虑到体温计体积和纽扣电池电量的限制,在电路设计和

程序设计过程中采取多种措施来降低系统功耗。

关键词:nRF52832;低功耗;体温计

1 硬件电路设计

为了满足体温计测量精度方面的要求,同时兼顾到可

穿戴应用对于低功耗和微型化的需求,对硬件电路进行如

下设计。

1.1 蓝牙芯片选择

本电路选择nRF52832作为温度采集和传输芯片,

nRF52832是一款功能强大、高度灵活的超低功耗多协议

SoC蓝牙单芯片。nRF52832芯片内置512 KB的Flash和

64 KB的RAM,nRF52832采用32位ARM®Cortex™-M4F

CPU,Cortex-M4F的内核主频高达64 MHz,拥有强大的

运算能力以及浮点运算的技术,NRF52832的电源电压

范围是1.7~3.6 V。

1.2 传感器选择和电路设计

本设计中采用的型号为MEB-503E3950UL87的NTC热敏

电阻,具有体积小、灵敏度高的特点,适用于体温测量,在体温

30~45 ℃测量范围内的阻值变化范围为40.24 K

Ω

~21.76 K

Ω

,结

合电路结构,传感器电路的分压电阻选取阻值为30 K

Ω

,精

度为±0.1%,温度系数为25 PPM的高精度低温漂电阻。传

感器和高精度低温漂电阻串联,随着温度的改变,传感器电

[1]

路输出的电压也相应改变。

1.3 温度信号处理电路设计

为了减小温度采集的误差,在传感器电路和蓝牙芯

片的ADC采集电路之间加了电压跟随电路。运放芯片使

用3PEAK公司的为低功耗集成运放芯片LMV358TP,

LMV358TP的供电电压范围+2.1~+6.0 V,满足纽扣电池供电

的需求。LMV358TP的静态工作电流只有40 uA,满足低功

耗的需求。

1.4 传感器电源供电电路设计

传感器电路的输出电压除了和温度有关,还和传感器电

路的供电电压大小有关。电路使用纽扣电池供电,纽扣电池

的输出电压不稳定,使用可控精密稳压源芯片TL431提供稳

定的电源为传感器电路供电,TL431的参考电压端和阳极端

连接在一起,输出电压和参考基准电压2.495 V一样,工作电

流是1 mA,限流电阻选680

Ω

大小的电阻。传感器电路和电

压跟随器电路的供电电流大概1 mA,为了实现低功耗,传感

器电源供电和电压跟随器的电源由蓝牙芯片的一个I/O口提

供,蓝牙I/O口最大的输出电流3 mA,满足温度传感器电路

[2]

和处理电路供电需求。

2 nRF52832软件设计

nRF52832软件设计包括nRF52832外设初始化、蓝

牙协议栈初始化、蓝牙GAP参数初始化、蓝牙串口服务

初始化、蓝牙广播和连接参数初始化、蓝牙广播和配对、

温度定时采集发送程序设计。温度采集使用nRF52832的

SAADC采集,温度定时采样的定时器使用蓝牙协议的软

定时器,温度发送使用串口通信任务发送。系统软件流程如

图1所示。

图1 系统软件流程

2.1 SAADC采集

温度传感器电路输出电压Vo=2.495/(Rx+30)×Rx,Rx为

温度传感器的阻值。温度传感器电路的输出电压由nRF52832

的SAADC进行采样,nRF52832总共有8路ADC采集,信号采

集模式可以是单通道输入采集和差分输入采集,本设计使用

单通道输入采集。nRF52832的ADC采集的参考电压有两种:

内部产生的0.6 V和VDD/4,本设计的VDD电压不稳定,选择

作者简介:宋林桂(1990— ),男,安徽亳州人,助理实验师,学士;研究方向:嵌入式应用设计。

- 58 -

第24期

2019年12月

无线互联科技·设计分析

No.24

December,2019

内部的0.6 V作为参考电压,nRF52832还有ADC输入电压增

益调节电路,本设计增益选择1/6。nRF52832的ADC位数可

以配置为8位、10位、12位和过采样14位,本设计在满足温度

采集的精度和低功耗的要求下选择12位ADC采集配置。所以

ADC转化后的数字量为adc_result=Vo/3.6×4 096,由温度传

感器的温度和阻值数据拟合的温度和数字量之间的关系式是

wendu=-60/174.0×adc_result+851;把得到的浮点型变量转

换成字符串,然后通过nRF52832串口把温度数据发送给手

[3]

机。浮点型变量转换成字符串代码如下:

data_array[0]=wendu/100+0x30;

data_array[1]=wendu/10%10+0x30;

data_array[2]=’.’;

data_array[3]=wendu%10+0x30;

2.2 软件定时器

为了实现低功耗使用蓝牙协议栈下的软件定时器定时采

集和发送温度,并降低功耗和提高系统的稳定性,定时5 s进

行温度采集和温度数据发送到手机。由于温度传感器供电

的功耗比较大,为了降低系统功耗,定时60 s为温度传感器

电路供电,定时60 s结束后停止温度传感器供电,并且停止

温度采集和发送温度数据,本方法很大程度上降低了系统

功耗

[4]

。定时60 s的定时器初始化和启动程序如下:

err_code =app_timer_create(&my_timer, APP_TIMER_

MODE_SINGLE_SHOT, my_timer_handler);

APP_ERROR_CHECK(err_code);

err_code =app_timer_start(my_timer, APP_TIMER_

TICKS(60000), NULL);

APP_ERROR_CHECK(err_code);

app_timer_create()函数的第一个形参是定时器的

ID。函数第二个参数是定时器的模式,分别是一次定时模

式APP_TIMER_MODE_SINGLE_SHOT和重复定时模

式APP_TIMER_MODE_REPEATED,定时60 s使用的

APP_TIMER_MODE_SINGLE_SHOT模式,定时5 s使用

的APP_TIMER_MODE_REPEATED模式。函数的第3个

参数是定时中断服务函数,定时时间到进入该中断服务函

数。app_timer_start()函数第一个形参还是定时器的ID。

第二个参数是定时间,60 000表示60 000 uS,即定时60 s的

时间。

2.3 串口通信任务

蓝牙协议分为3层:应用层、主协议层、控制层。应用层

有一些应用任务,分为标准蓝牙任务和非标准蓝牙任务,标

准蓝牙任务是蓝牙兴趣小组SIG的官方网站公布的任务:

电池任务、心率任务等。串口通信任务位于应用层,属于非

标准蓝牙任务,存在数据传输,蓝牙协议里数据传输在主

协议层里通用属性协议(Generic Attribute Profile,GATT)

层完成,蓝牙协议在GATT层定义了两个角色:GATT服务

器和GATT客户端,本设计中手机端属于GATT客户端,

nRF52832属于GATT服务器。一个GATT服务器通过一个

称为属性表的表格组织数据传输,在GATT层一个属性都

有一个UUID值,本设计中有3个属性就有3个UUID值,

串口通信任务UUID值是0x6E400001-B5A3-F393-E0A9-

E50E24DCCA9E,串口通信任务发送特性的UUID值是

0x6E400002-B5A3-F393-E0A9-E50E24DCCA9E,串口通信

任务接收特性UUID值是0x6E400003-B5A3-F393-E0A9-

E50E24DCCA9E。

3 Android APP软件设计

本文使用简单易用的APP INVENTOR软件设计Android

手机APP,APP INVENTOR程序设计分为两部分:界面设计

和逻辑程序设计。界面设计把APP中用到的按钮、文本、列

表、蓝牙4.0通信、定时器、活动等组件拖到界面里面。逻辑

程序设计包括蓝牙协议参数初始化和启动蓝牙扫描、蓝牙

配对、控制发送体温开始采集指令、体温定时采集显示。

4 系统测试设计

蓝牙体温计温度采集时电流3 mA,纽扣电池的容量

是210 mAh,每采集一次的功耗是0.05 mAh,预计可以使

用4 200次。体温计温度测量的精度可达 0.1 ℃,温度测量的

范围是30~45 ℃。

5 结语

本文中所提出的数字体温计设计,能精确地进行温度测

量,精度可达0.1 ℃,响应时间快,是传统水银温度计较好的

替代产品。

[参考文献]

[1]邓迟,胡巍,刁盛锡,等.一种基于NTC的体温传感器测量误差分析及校准技术[J].中国医疗器械杂志,2015(6):395-399.

[2]吴蓬勃,张金燕,张小苗.基于nRF52832的蓝牙鱼缸水情检测系统设计[J].单片机与嵌入式系统应用,2018(2):79-83.

[3]陈宏铭,李水竹,陈宏维,等.适合便携式快速反应数字医用体温计的低功耗LCD显示SoC芯片与方案实现[J].中国集成电路,2012

(8):41-48.

[4]朱文亮.低功耗可穿戴式心电监护系统研制与开发[D].苏州:苏州大学,2018.

Design of low power consumption thermometer based on nRF52832

Song Lingui

(School of Electronic Information, Suzhou Chien-Shiung Institute of Technology, Taicang 215411, China)

In this paper, a design method of low power consumption thermometer based on nRF52832 is proposed, considering the

Abstract:

limitation of thermometer volume and button battery power, many measures are taken to reduce the power consumption of the system in

the process of circuit design and program design.

nRF52832; low power consumption; thermometer

Key words:

- 59 -

2024年10月7日发(作者:磨昕月)

第24期

2019年12月

无线互联科技

Wireless Internet Technology

No.24

December,2019

基于nRF52832的低功耗体温计设计

宋林桂

(苏州健雄职业技术学院 电子信息学院,江苏 太仓 215411)

摘 要:文章提出一种基于nRF52832的低功耗体温计设计方法,并考虑到体温计体积和纽扣电池电量的限制,在电路设计和

程序设计过程中采取多种措施来降低系统功耗。

关键词:nRF52832;低功耗;体温计

1 硬件电路设计

为了满足体温计测量精度方面的要求,同时兼顾到可

穿戴应用对于低功耗和微型化的需求,对硬件电路进行如

下设计。

1.1 蓝牙芯片选择

本电路选择nRF52832作为温度采集和传输芯片,

nRF52832是一款功能强大、高度灵活的超低功耗多协议

SoC蓝牙单芯片。nRF52832芯片内置512 KB的Flash和

64 KB的RAM,nRF52832采用32位ARM®Cortex™-M4F

CPU,Cortex-M4F的内核主频高达64 MHz,拥有强大的

运算能力以及浮点运算的技术,NRF52832的电源电压

范围是1.7~3.6 V。

1.2 传感器选择和电路设计

本设计中采用的型号为MEB-503E3950UL87的NTC热敏

电阻,具有体积小、灵敏度高的特点,适用于体温测量,在体温

30~45 ℃测量范围内的阻值变化范围为40.24 K

Ω

~21.76 K

Ω

,结

合电路结构,传感器电路的分压电阻选取阻值为30 K

Ω

,精

度为±0.1%,温度系数为25 PPM的高精度低温漂电阻。传

感器和高精度低温漂电阻串联,随着温度的改变,传感器电

[1]

路输出的电压也相应改变。

1.3 温度信号处理电路设计

为了减小温度采集的误差,在传感器电路和蓝牙芯

片的ADC采集电路之间加了电压跟随电路。运放芯片使

用3PEAK公司的为低功耗集成运放芯片LMV358TP,

LMV358TP的供电电压范围+2.1~+6.0 V,满足纽扣电池供电

的需求。LMV358TP的静态工作电流只有40 uA,满足低功

耗的需求。

1.4 传感器电源供电电路设计

传感器电路的输出电压除了和温度有关,还和传感器电

路的供电电压大小有关。电路使用纽扣电池供电,纽扣电池

的输出电压不稳定,使用可控精密稳压源芯片TL431提供稳

定的电源为传感器电路供电,TL431的参考电压端和阳极端

连接在一起,输出电压和参考基准电压2.495 V一样,工作电

流是1 mA,限流电阻选680

Ω

大小的电阻。传感器电路和电

压跟随器电路的供电电流大概1 mA,为了实现低功耗,传感

器电源供电和电压跟随器的电源由蓝牙芯片的一个I/O口提

供,蓝牙I/O口最大的输出电流3 mA,满足温度传感器电路

[2]

和处理电路供电需求。

2 nRF52832软件设计

nRF52832软件设计包括nRF52832外设初始化、蓝

牙协议栈初始化、蓝牙GAP参数初始化、蓝牙串口服务

初始化、蓝牙广播和连接参数初始化、蓝牙广播和配对、

温度定时采集发送程序设计。温度采集使用nRF52832的

SAADC采集,温度定时采样的定时器使用蓝牙协议的软

定时器,温度发送使用串口通信任务发送。系统软件流程如

图1所示。

图1 系统软件流程

2.1 SAADC采集

温度传感器电路输出电压Vo=2.495/(Rx+30)×Rx,Rx为

温度传感器的阻值。温度传感器电路的输出电压由nRF52832

的SAADC进行采样,nRF52832总共有8路ADC采集,信号采

集模式可以是单通道输入采集和差分输入采集,本设计使用

单通道输入采集。nRF52832的ADC采集的参考电压有两种:

内部产生的0.6 V和VDD/4,本设计的VDD电压不稳定,选择

作者简介:宋林桂(1990— ),男,安徽亳州人,助理实验师,学士;研究方向:嵌入式应用设计。

- 58 -

第24期

2019年12月

无线互联科技·设计分析

No.24

December,2019

内部的0.6 V作为参考电压,nRF52832还有ADC输入电压增

益调节电路,本设计增益选择1/6。nRF52832的ADC位数可

以配置为8位、10位、12位和过采样14位,本设计在满足温度

采集的精度和低功耗的要求下选择12位ADC采集配置。所以

ADC转化后的数字量为adc_result=Vo/3.6×4 096,由温度传

感器的温度和阻值数据拟合的温度和数字量之间的关系式是

wendu=-60/174.0×adc_result+851;把得到的浮点型变量转

换成字符串,然后通过nRF52832串口把温度数据发送给手

[3]

机。浮点型变量转换成字符串代码如下:

data_array[0]=wendu/100+0x30;

data_array[1]=wendu/10%10+0x30;

data_array[2]=’.’;

data_array[3]=wendu%10+0x30;

2.2 软件定时器

为了实现低功耗使用蓝牙协议栈下的软件定时器定时采

集和发送温度,并降低功耗和提高系统的稳定性,定时5 s进

行温度采集和温度数据发送到手机。由于温度传感器供电

的功耗比较大,为了降低系统功耗,定时60 s为温度传感器

电路供电,定时60 s结束后停止温度传感器供电,并且停止

温度采集和发送温度数据,本方法很大程度上降低了系统

功耗

[4]

。定时60 s的定时器初始化和启动程序如下:

err_code =app_timer_create(&my_timer, APP_TIMER_

MODE_SINGLE_SHOT, my_timer_handler);

APP_ERROR_CHECK(err_code);

err_code =app_timer_start(my_timer, APP_TIMER_

TICKS(60000), NULL);

APP_ERROR_CHECK(err_code);

app_timer_create()函数的第一个形参是定时器的

ID。函数第二个参数是定时器的模式,分别是一次定时模

式APP_TIMER_MODE_SINGLE_SHOT和重复定时模

式APP_TIMER_MODE_REPEATED,定时60 s使用的

APP_TIMER_MODE_SINGLE_SHOT模式,定时5 s使用

的APP_TIMER_MODE_REPEATED模式。函数的第3个

参数是定时中断服务函数,定时时间到进入该中断服务函

数。app_timer_start()函数第一个形参还是定时器的ID。

第二个参数是定时间,60 000表示60 000 uS,即定时60 s的

时间。

2.3 串口通信任务

蓝牙协议分为3层:应用层、主协议层、控制层。应用层

有一些应用任务,分为标准蓝牙任务和非标准蓝牙任务,标

准蓝牙任务是蓝牙兴趣小组SIG的官方网站公布的任务:

电池任务、心率任务等。串口通信任务位于应用层,属于非

标准蓝牙任务,存在数据传输,蓝牙协议里数据传输在主

协议层里通用属性协议(Generic Attribute Profile,GATT)

层完成,蓝牙协议在GATT层定义了两个角色:GATT服务

器和GATT客户端,本设计中手机端属于GATT客户端,

nRF52832属于GATT服务器。一个GATT服务器通过一个

称为属性表的表格组织数据传输,在GATT层一个属性都

有一个UUID值,本设计中有3个属性就有3个UUID值,

串口通信任务UUID值是0x6E400001-B5A3-F393-E0A9-

E50E24DCCA9E,串口通信任务发送特性的UUID值是

0x6E400002-B5A3-F393-E0A9-E50E24DCCA9E,串口通信

任务接收特性UUID值是0x6E400003-B5A3-F393-E0A9-

E50E24DCCA9E。

3 Android APP软件设计

本文使用简单易用的APP INVENTOR软件设计Android

手机APP,APP INVENTOR程序设计分为两部分:界面设计

和逻辑程序设计。界面设计把APP中用到的按钮、文本、列

表、蓝牙4.0通信、定时器、活动等组件拖到界面里面。逻辑

程序设计包括蓝牙协议参数初始化和启动蓝牙扫描、蓝牙

配对、控制发送体温开始采集指令、体温定时采集显示。

4 系统测试设计

蓝牙体温计温度采集时电流3 mA,纽扣电池的容量

是210 mAh,每采集一次的功耗是0.05 mAh,预计可以使

用4 200次。体温计温度测量的精度可达 0.1 ℃,温度测量的

范围是30~45 ℃。

5 结语

本文中所提出的数字体温计设计,能精确地进行温度测

量,精度可达0.1 ℃,响应时间快,是传统水银温度计较好的

替代产品。

[参考文献]

[1]邓迟,胡巍,刁盛锡,等.一种基于NTC的体温传感器测量误差分析及校准技术[J].中国医疗器械杂志,2015(6):395-399.

[2]吴蓬勃,张金燕,张小苗.基于nRF52832的蓝牙鱼缸水情检测系统设计[J].单片机与嵌入式系统应用,2018(2):79-83.

[3]陈宏铭,李水竹,陈宏维,等.适合便携式快速反应数字医用体温计的低功耗LCD显示SoC芯片与方案实现[J].中国集成电路,2012

(8):41-48.

[4]朱文亮.低功耗可穿戴式心电监护系统研制与开发[D].苏州:苏州大学,2018.

Design of low power consumption thermometer based on nRF52832

Song Lingui

(School of Electronic Information, Suzhou Chien-Shiung Institute of Technology, Taicang 215411, China)

In this paper, a design method of low power consumption thermometer based on nRF52832 is proposed, considering the

Abstract:

limitation of thermometer volume and button battery power, many measures are taken to reduce the power consumption of the system in

the process of circuit design and program design.

nRF52832; low power consumption; thermometer

Key words:

- 59 -

发布评论

评论列表 (0)

  1. 暂无评论