微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 工业电子 > SPCE061A在语音环境湿度测量仪的应用

SPCE061A在语音环境湿度测量仪的应用

时间:06-13 来源:互联网 点击:

图 2.3 HS1101参数图

2、特性曲线

如图 2.4。测量温度Tα=25℃,测量时HS1101工作频率为10KHz。


图 2.4 HS1101特性曲线

2.3 硬件电路

2.3.1 SPCE061A最小系统

本方案使用SPCE061A精简开发板(61板)作为单片机最小系统。61板包括SPCE061A芯片及其外围的基本模块,外围模块包括:晶振输入模块(OSC)、锁相环外围电路(PLL)、复位电路(RESET)、指示灯(LED)等,如下图所示。


图 2.5 SPCE061A最小系统

2.3.2 电容式湿度传感器HS1101电路模块

由于湿度传感器HS1101是电容式的,所以要想办法测量得到它的电容,利用单片机没有办法直接读到,但是利用SPCE061A的Feedback功能可以测得HS1101所在RC电路的工作频率,这样就可以计算得到它的电容。

为了减小误差,利用一个固定电容和一个电阻构成另一个Feedback电路,作为湿度传感器HS1101的基准。

如图 2.6:根据图 2.3中的参数,为了使湿度传感器HS1101的工作频率尽量接近10KHz,选择一个620KΩ的电阻和HS1101形成Feedback1;390pF的电容作为基准,和另外一个620KΩ电阻形成Feedback2。


图 2.6 电容式湿度传感器电路模块电路

2.3.3 按键电路

本系统直接使用SPCE061A精简开发板上的按键,61板上按键电路如图 2.7。


图 2.7 61板按键电路

3 系统软件设计

本方案的软件系统包括下面模块:

按键扫描:扫描按键,判断是否有键按下,在Key.c文件中实现;
湿度测量:端口初始化,测量湿度并返回湿度值,在Hum_Measure.c文件中实现;
语音播放任意数字:播放任意的整数,本系统中用来播放湿度值,在PlayVoice.c文件中实现;
中断服务:语音播放中断服务程序和IRQ2中断读计数值程序,在isr.asm文件中定义。

3.1 各模块程序说明

3.1.1 主程序

主程序流程如图 3.1:调用按键扫描程序读取键值,如果是KEY1键按下则启动测量,调用湿度测量函数测量湿度,并根据测量结果进行相应播放;如果不是KEY1键按下,返回继续扫描按键。

注意:在每次测量前都会关断快速中断FIQ,这是因为在测量过程中用到了定时/计数器TimerA,而在语音播放时打开了FIQ中断,所以在测量前需先关闭,以免在测量过程中CPU一直相应FIQ中断,造成不必要的麻烦。


图 3.1 主程序流程图


3.1.2 按键扫描模块

本系统中只用到了一个按键--61板上的KEY1键,这个键和IOA0连接。按键扫描程序流程如图 3.2所示。利用延时去抖的方法,先取一次端口数据,延时一段时间,一般延时几十ms即可,再取一次端口数据,如果二者相同,说明取到了正确的键值。


图 3.2 按键扫描程序流程图


3.1.3 湿度测量程序流程图

湿度测量程序流程如图 3.3,为了减少误差,确保测量的正确性,测量四次,去掉一个最高值和一个最低值,如果中间两个数相差不大于10,则中间两个数的平均值就是测量的最终数据,程序中这个数据为TimerA的计数值。

由于用Feedback功能测量传感器的电容,如图 2.6。事实上利用Feedback功能直接能测到传感器工作的频率,根据这个频率来才能计算传感器的电容值。

测量传感器工作频率的方法:利用TimeB作为定时器,TimeA作为计数器;根据TimeB定时时间内TimeA计数的个数来测得传感器的工作频率。


图 3.3 湿度测量程序流程图

3.1.4 语音播放任意整数数据程序

语音播放任意三位整数程序流程如图 3.4。这个程序可以定义形式参数来传递任意三位数。先计算这个数据的百、十、个位,再分别进行播放,播放的流程如下:


图 3.4 语音播放任意三位数流程图


3.1.5 中断服务程序流程图

FIQ的中断服务程序如图 3.5。FIQ中断服务程序主要功能是调用F_FIQ_Service_SACM_S480函数解码并输出。

IRQ2中断服务程序如图 3.6。IRQ2中断服务程序有两个功能:一是保存TimerA的计数值;二是为了配合湿度测量函数,设置定时时间溢出标志,如果进入这个中断服务程序,说明定时溢出。


图 3.6 IRQ2中断服务程序流程图


4 结语

湿度测量本身比温度测量复杂的多,主要是由于湿度受温度、大气压的影响。对于电容式湿度传感器来说,更是难上加难,因为测量电容本身也是一个非常复杂的过程。SPCE061A的Feedback功能给这种测量提供了很大的方便,利用固定电阻和电容式湿度传感器形成RC振荡电路,接在Feedback的输入和输出端,这样通过测量频率,很容易就能得到电容式湿度传感器的电容,根据标定值就可以得到测量湿度。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top