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 -