- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
以HY16F198B实现触控温度计应用设计
1. 内容简介
温度的量测应用非常的广泛,从农业上的气温观测,及日常防疫的体温量测至工业上的半导体制程,温度都是相当重要的一个指标及依据。本文主要是介绍HYCON HY16F Series芯片在温度量测应用,并透过Touch Key的界面进行操作。由于HY16F198B芯片内部集成高精度∑△ADC,且ADC输出频率最快可以到达10kHz,并搭配内部LCD驱动完成显示。HY16F198B用于温度量测,不需外接的感测组件,达到周边电路简单且省电的应用.
2. 原理说明
2.1. 量测原理
本应用的温度量测组件是采用,IC内部的绝对温度传感器TPS,绝对温度传感器由二极管(BJT)组成,其电压信号对温度的变化为一通过0°K曲线,其具以下特色温度传感器在环境温度为0°K时期输出的电压值 VTPS@0°K =0V ,透过测量方式可使得模拟数字转换器ADC的偏移电压( VADC-OFFSET )与BJT之不对称性( IS1 ≠ IS2 )自动抵销。校正温度仅需单点校正。

HY16F启用时,TPS的功能随即被自动启用。
在同一温度TA(℃)下,量测到 VTPS0 与 VTPS1 的数值后,将两数相加并取平均值即可求得在温度TA下测得TPS相对应的电压值 VTPS@TA 。
TPS的输出电压 VTPS 对温度变化为一线性曲线,故可推倒得出其增益值 GTPS (或称斜率)
TPS增益公式

2.2. 控制芯片
单片机简介:HY16F系列32位高性能Flash单片机(HY16F198B)

HY16F系列32位高性能Flash单片机(HY16F198B)
特点说明:
(1)采用最新Andes 32位CPU核心N801处理器。
(2)电压操作范围2.2~3.6V,以及-40℃~85℃工作温度范围。
(3)支持外部16MHz石英震荡器或内部16MHz高精度RC震荡器.
(3.1)运行模式 0.6mA@2MHz/2
(3.2)待机模式 5uA@ LSRC=34KHz+IDLE Mode
(3.3)休眠模式 2.5uA
(4)程序内存64KB Flash ROM
(5)数据存储器8KB SRAM
(6)拥有BOR and WDT功能,可防止CPU死机。
(7)24-bit高精准度ΣΔADC模拟数字转换器
(7.1)内置PGA (Programmable Gain Amplifier)最高可达128倍放大。
(7.2)内置温度传感器TPS。
(8)超低输入噪声运算放大器OPAMP。
(9)16-bit Timer A
(10)16-bit Timer B模块俱PWM波形产生功能
(11)16-bit Timer C 模块俱数字Capture/Compare 功能
(12)硬件串行通讯SPI模块
(13)硬件串行通讯I2C模块
(14)硬件串行通讯UART模块
(15)硬件RTC时钟功能模块
(16)硬件Touch KEY功能模块
(17)硬件 LCD Driver 4x36,6x34
3. 系统设计
3.1. 硬件说明
使用HY16F198B对于触控温度计的应用,整体电路就只需HY16F开发板上之Touch Key及LCD显示温度.
(A) MCU:HY16F198B
(B) 显示方式: HY16F198B内部硬件驱动4x36 LCD (LCD Driver Segment 4X36)
(C) 电源电路:5.0V转3.3V电源系统
(D) 模拟感测模块:内部ADC
(E) 在线刻录与ICE链接电路,透过EDM的连接,可支持在线刻录模拟.
并拥有强大的C平台IDE以及HYCON模拟软件分析工具与GUI等支持.

3.2. 功能说明
3.2.1. 温度设定
TPS量测图: ADC内部的PGA放大1倍,ADGN放大1倍,参考电压由VDDA –VSS供给,则ΔVR_I=1.2V

TPS初始化设置与计算方式如下操作:
启用ADC则TPS的功能随即被自动启用。
本范例程序只使用VTSP1 / VTSN1进行TPS量测.
测量TSP0 / TSN0 时,ADINP[3:0]设置<0110>且ADINN[3:0]设置<0111>
测量TSP1 / TSN1 时,ADINP[3:0]设置<0111>且ADINN[3:0]设置<0110>
l 精准的温度校正(搭配Copper方式)进行量测步骤:
STEP1:
测量得VTSP0 / VTSN0与VTSP1 / VTSN1的数值后,在同一温度TA(℃)下,量测到 VTPS0 与 VTPS1 的ADC数值.
STEP2:
将两数相加并取平均值即可求得在温度TA(℃)下测得TPS相对应的ADC数值 VTPS@TA )
STEP3:
再带回TPS增益公式,计算 GTPS .

STEP4:
最后将ADC平均值(VTS@Ta)除以 GTPS ,求得实际温度(代入公式)
实际温度 = (VTS@Ta / GTPS ) – (273.15+ Toffset )
3.2.2. 触控设定
内建硬件触控模块(使用模拟比较器方块)

触控原理说明(程控方式):
STEP1: 将CMP的CPIS(短路),让CH1上的Cref通过RLO接到VSS进行放电.
STEP2: 启动CMP,预设CMPO=High,并且让Timer B开始计数.
STEP3: 启动Non-over lap,使VDD对Touch Key(CL1)充电,sharing to CH1,使CH1电位慢慢提升,当提升到比较点RLO电位时,比较器会转态(CMPO=Low).
STEP4: 关闭Timer B计数功能(透过CMPO Flag判断关闭 Timer B).
STEP5: 纪录Timer B count,并判断是否大于门坎值(Yes表示有按键).
STEP6: 重复放电到充电的循环,依序扫描各Touch Key(CL1~CL4)
Note:
Cref = 100nF
Charge sharing power= 3V
Non-overlap clock = TBCLK=HAO/4=500KHz
Timer B Enable Flag is CMPO.
RLO=4/16*VDD=0.75V
CPUCLK=HAO;
Comparator: low power
[p]4. 操作流程

4.1. 操作方法
上电后,显示温度
Touch Key功能说明:
Touch Key1: 开/关/温度递增
Touch Key2: 温度递减
Touch Key3:(进入或离开)温度校正调整
Touch Key4: (进入或离开)触控校正调整

温度校正调整
STEP1:在显示温度情况下,透过Touch Key3可进入温度校正调整画面.
温度校正调整画面
STEP2:在温度校正调整模式下
Touch Key1可递增温度.
Touch Key2可递减温度.
Touch Key3长压(1秒以上)可离开温度校正调整模式.

触控校正调整
在显示温度情况下,透过Touch Key4可进入触控校正调整.
在触控校正调整模式LCD会依序出现如下:
888888 -> 777777 -> 666666 -> 555555 ->
994444->(请按下Touch Key1)-> 993333->(请按下Touch Key2)->
992222->(请按下Touch Key3)-> 991111->(请按下Touch Key4)->

回到显示温度模式.
4.2. 程序流程
4.2.1. Main Loop流程图:

4.2.2. 温度校正模式流程图:

4.2.3. 触控校正模式流程图:

5. 技术规格
(1) VDD=3.3V
(2) 功耗:工作模式约2.24mA(HAO=4MHz,ADC Enable)
(3) 适用范围:各种环境温度量测
(4) 工作温度:-40℃~ +85℃
(5) 存贮温度:-55℃ ~ +125℃;
(6) 相对湿度:<95%(20±5℃条件)
6. 结果总结
以HY16F198B高精准度ΣΔADC,搭配内建的TPS温度感测模式,可大幅减少外部组件,达到环境温度监控的功能.并使用内建硬件触控模块(使用模拟比较器方块),完成触控按键功能.
7. 参考文献
[1] http://www.hycontek.com/attachments/MSP/APD-HY16F010_TC.pdf
纮康科技HY16F188 触控温度计
[2] http://www.hycontek.com/attachments/MSP/DS-HY16F198_TC.pdf
纮康科技HY16F198 Datasheet.
[3] http://www.hycontek.com/attachments/MSP/UG-HY16F198_TC.pdf
纮康科技HY16F198 User Guide.
上一篇:基于Qt与MATLAB的混合编程技术
下一篇:弱磁场检测设计


