1. 内容简介
温度的量测应用非常的广泛,从农业上的气温观测,及日常防疫的体温量测至工业上的半导体制程,温度都是相当重要的一个指标及依据。本文主要是介绍HYCON HY16F188 Series芯片在温度量测上的应用,并透过Touch Key的界面进行操作。由于HY16F188芯片内部集成高精度∑△ADC,且ADC输出频率最快可以到达10KHZ,藉由外部LCD驱动IC HY2613B完成显示。HY16F188用于温度上的量测,不需外接的感测组件即完成,达到周边电路简单且省电的应用。
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单片机(HY16F188)
纮康HY16F系列32位高性能Flash单片机(HY16F188)
(1)采用最新Andes 32位CPU核心N801处理器。
(2)电压操作范围2.4~3.6V,以及-40℃~85℃工作温度范围。
(3)支持外部20MHz石英震荡器或内部20MHz高精度RC震荡器,拥有多种CPU工作频率切换选择,可让使用者达到最佳省电规划。
(3.1)运行模式 350uA@2MHz/2(3.2)待机模式 10uA@32KHz/2(3.3)休眠模式 2.5uA
(4)程序内存64KBytes Flash ROM
(5)数据存储器08KBytes 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功能模块
3.系统设计
3.1硬件说明
HY16F188对于触控温度计的应用,整体电路就只需HY16F开发板上之Touch Key及LCD显示芯片及LCD。
触控温度量测应用內部电路图
3.2温度设定
TPS量测图:ADC内部的PGA放大1倍,ADGN放大1倍,参考电压由VDDA -VSS供给,则ΔVR_I=1.2V
3.3触控设定
内建硬件触控模块(使用模拟比较器方块)
如上图 所示,TOUCH KEY 外围电路连接简单,只需再CMP的正输入端CH1端接入一个参考电容Cref=10nf;CMP的正输入端配置为CH1,与touch key pad的CH1端连接;负输入端配置为RLC,与NON-OVERLAP 的输出端RLO连接;NON-OVERLAP的电压源选择VDD18=1.8v,且CPRLS=1短路22.5R与20R电阻,设置NON-OVERLAP分压输出为1/16R;启动TMB且计数源为CMPO。透过设置CPIS=1,令CMP的输入端短路,将CH1上的Cref电容上的电量通过RLO接到VSS,进行完全放电;启动比较器及TMB开始计数,启动NON-OVERLAP,让VDD对touch pad 充电,由于NON-OVERLAP的开关功能,touch PAD对CH1 Cref充电,使得CH1端电压慢慢上升,当CH1端电压上升到RLO电位时,比较器输出转态CMPO=0,产生CMP中断标志位,停止TMB计数并记录TMBR计数值,与设定的TOUCH KEY计数临界值比较,若小于临界值,表示有触摸Touch Pad,反则,没有触摸Touch Pad。分别对不同的touch pad扫描。
3.4显示设置
电路MCU通过IIC与LCD Driver通讯,电路简单,操作方便,只须将数据发送给LCD driver HY2613,MCU就可以处理其他事情,且更新数据方便。
4.操作流程
一开机后,随即会显是当下温度,触摸Touch Key1会使程序进入Idle Mode,程序进入Idle Mode后,开启TimeA开始计数,每0.3S唤醒一次扫Touch Key1判断Touch Key1是否被触碰,如有则离开Idle Mode。
在显示温度情况下如按下Touch Key3,则会进入温度校正模式。
在显示温度情况下如按下Touch Key4,则会进入触控校正模式。
在温度校正模式下,一开始16F会自动抓取现在AD value并记录下来,完成后用户需透过Touch Key1、2设定现在温度,设定完成后再次触摸Touch Key3及设定完成,离开温度校正子程序。
在触控校正模式下,一开始16F会自动抓取untouch value,此时LCD会自动倒数。在倒数时切勿碰触Touch Key。当自动抓取完成后,LCD会依序出现994444、99333、99222、991111,用户需一出现数字触摸对应Touch Key。对应表如下表1
4.1程序流程
主程序流程
温度校正程序
触控校正程序