摘 要: 采用MSP430低功耗单片机作为主控芯片,通过红外无线传输搭建起一个低成本、低功耗带控制功能的数模双路传输系统。该系统具有简洁、无布线成本、适应性和扩展性好的优点。
关键词: 无线传输;低功耗;扩展性;数字模拟双路传输系统
1 系统设计
本系统的MCU采用MSP430G2553作为主控芯片,分为发送和接收两大模块,无线传输方式选择红外方式。为了尽量减少干扰和简化系统,两路无线通路分别传输模拟和数字信号。考虑到现有系统外设的多样性,为了最大限度地提升系统的可扩展性,信号的输入端只做出了基本的定义,即满足要求的数字和模拟输入都可以当作输入信号。本文中模拟信号输入为音频信号,数字信号由传感器给出,分为模拟和数字传感器两部分接入,以体现系统良好的扩展性。模拟信号通过喇叭输出,数字信号则通过MCU控制的液晶显示器显示。输入端接按键,控制显示的选择和输出的使能。整体框图如图1所示。
1.1 模拟收发模块设计
在介绍收发模块之前,先了解一下收发的核心元件——红外收发对管。
红外收发对管分为数字和模拟两种,载频均为38 kHz,不同点是模拟红外发射管直接输入模拟基带信号。通过载波为媒介传输给接收端,接收端经过滤波和放大后输出模拟信号。而数字红外对管发送端将待发送的二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射出红外信号。红外接收完成对发送信号的接收、放大、检波、整形,并解调出编码脉冲。这里为了减少干扰,采用的是一体化的红外接收头(hs0038),接收的同时对信号进行放大、检波、整形,得到TTL电平的编码信号。
模拟发送部分采用模拟音频信号作为输入。以MP3为信号源,传输信号的频率范围是300 Hz~3 400 Hz。通过NPN型三极管的放大作用,基极输入,信号经过射级放大后由3组发送管输出。这里之所以用到3组发射管是出于两种因素的考虑,一是提高发射功率,扩大信号传输距离;二是红外只能以直线传输,这么做可以扩大传输角度提高适用性。具体电路如图2所示。
接收部分通过红外接收管将接收到的数据经过电容隔断直流干扰后输入给LM386,LM386是一种专用的音频集成功放,具有自身功耗低、更新内链增益可调、外接元件少和总谐波失真小等优点。通过调节1脚和8脚之间外接串联的电阻和电容,增益可在20~200之间任意变化,这里音频输出端为一个4 W、8 ?赘的喇叭。为了最大限度提升输出功率,根据数据手册选择10 ?滋F电容,使增益达到最大。具体如图3所示。
1.2 数字收发模块设计
传感器信号经过信号调理电路出入MCU中,经过MCU的处理,输出给红外发射管。通过集成数字红外接收管将接收到的数字信号解调出来,再输入给输出端的MCU,MCU经过处理将传感器信息输出给液晶显示器。需要注意的是,红外收发管的工作电压为5 V,而MSP430的工作电压为3.3 V,直接连接会烧坏MCU,需要一个简单的限幅电路,如图4所示。其中3 V电源为MCU的GPIO提供,根据折线模型,选择R=2 k?赘,可以把输出限制在3.6 V,该电压在MCU的安全电压范围内,之后就可以输送到MCU中了。
2 传感器和信号调理电路设计
这里使用常见的温度和湿度传感器作为数字信号的输入源,分别采用模拟和数字传感器。模拟传感器采用电阻式或电容式传感器,好处是其数值与被测量成线性变换。之后利用惠斯顿电桥法产生微弱的电信号经过放大后输入到MCU内置的10 bit A/D转换器的工作电压范围内(0~2.5 V)。具体实现方式如下。电阻式温度传感器将温度变换为电阻值通过直流电桥转换成微小的电压信号,经仪表放大器AD620放大到合适值后输入给MCU的ADC内,实现室温的测量。具体电路如图5所示。其中header为模拟传感器输入口,滑动变阻器做微调用,电压由5 V单电经滤波后供给。
电阻式温度传感器的电阻值与温度有关,查表计算出其对应关系为图6中的测试点,通过计算拟合公式为:
R=100(1+3.95×10-3×T-5.85×10-7×T2-4.22×10-22×T3)(6)
其中,R表示电阻式温度传感器的电阻值,T表示当时的温度。
数字传感器采用数字温湿度传感器DHT11,DHT11是一款已校准数字信号输出的温湿度复合传感器,具有极高的可靠性、长期的稳定性、响应速度快和抗干扰能力强的特点。传输方式为单总线双向,能够同时输出温度和湿度信息。数据格式如下;
8 bit湿度整数部分+8 bit湿度小数部分+8 bit温度整数部分+8 bit温度小数部分+8 bit校验和正确传输的校验数据(等于4个8 bit数据之和的末8位)。通信时序如图7所示。
3 数据通信协议封装格式
模拟信号由于不经过MCU直接传输给接收端,所以本文的通信协议指的是数字信号的传输协议。为了减少两路信号之间的干扰,数字信号传输采用SPI方式,通过调整SPI的输出比特率使其与模拟信号频段分开。所有传输的数据采用BCD码发送和接收,一个字节的高4位和低4位分别表示十进制的一个数。传输的内容包括传感器发送的温度和湿度,附加信息包括控制和节点编号。具体帧格式如表1所示。
建立节点编号是方便新设备的加入,带来更广的适用性。控制位是控制该节点的温度、湿度和音频信号是否输出。由于模拟传感器中没有湿度信息,所以湿度以全“0”表示,温度以每4 bit表示一位十进制数,考虑到测量的温度为室温,以其中的最高位的“0”或“1”表示温度的符号位。数字传感器的输出与传感器定义相同,通过湿度是否为全“0”判断传感器类型,对应不同的显示方式。输出时先输出自己编号的节点信息,后输出从其他节点接收到的内容。
4 中继节点和传输网络
考虑到需要通信的设备可能不止两个,增加了节点编号使系统易于扩展。传输信号时连同接收到的其他节点信息一起传输出去。不但可以共享信息,还能利用其他节点为中继,在不提升输出功率的情况下极大地延长了通信设备之间的传输距离。通过合理地安放不同节点,还可以克服红外只能直线传输的缺点(根据地理情况调节红外收发管的角度)。
5 软件控制设计
MCU每隔一分钟从传感器和控制按键中采集一次数据,控制按键是由4个独立按键组成,分别控制本机温湿度信息的发送使能、他机温湿度信息的发送使能、本机模拟信号的发送使能以及接收到的模拟信号输出使能。多路模拟音频信号由喇叭输出会重叠在一起,影响接收效果。本次测试只允许一路音频输入,其他路音频信号暂只作为中继使用。通过MCU对按键控制的判断,决定通过红外发射管输出的数字信号和本机的音频输出使能。本系统接收到的数字信息会通过液晶显示出来。而红外接收管是一直处于工作状态的,以便能够及时接收数据。具体流程如图8所示。
6 系统数据测试
根据现有传感器自身的特点,对得到的数据进行测试。数字传感器由于直接输出为温度和湿度信号,其误差集中在传感器自身。这里用到的数字温湿度传感器DHT11的性能为:湿度分辨率为1%RH,精度在4%RH以内;温度分辨率为1℃,精度为±1℃。
模拟传感器需要通过MCU的ADC进行测量,加上信号调理电路、放大器线性度和模拟传感器本身的误差,需要使用软件矫正。其测量值经过转换最终传输给ADC,其结果如图9所示。
通过MATLAB的拟合得到最终温度与ADC值的对应关系,并通过温湿度测试箱进行验证,结果如图10所示。
从图10中可以看到,温度的线性度比湿度好很多。这是由于温度测量的精度较高,通过分析所得数据可得方差和标准差,温度的方差和标准差分别为S2=0.379 618 S=0.616 131,湿度的则为S2=3.857 1、S=1.963 96,通过数据也能发现这一点。这套系统可以满足一定的用户需求,通过替换其他高精度的传感器以达到更高的精度;也可以直接接到不同的通信器材中替换有线通信。
该系统实现了数字和模拟信息的双向传输,动态地检测并共享数据。支持选取不同的传感器作为输入,并可以增加节点扩大传输范围并形成网络。通过选取合适的传感器,搭建硬件电路并调整精度,使其达到要求。最终经过调试和编程,完成整个系统的设计。
本系统很好地解决了各种小型化设备的数据传输和共享问题,通过这套系统可以很方便地选择不同类型的数据进行传输,并能够兼顾多系统通信的扩展问题。适应面极广,不仅可以向文中提到的连接各种传感器组件网络对室内环境进行全局检测,还可以用于不同仪器或系统之间的数据传输,可以推广到很多方面。可以看到这套系统有着功耗小、价格低廉、灵活性高、适用面广的特点,具有较高的实用价值。
参考文献
[1] 沈建华,杨艳琴,霍晓曙.MSP430系列16位超低功耗单片机原理与应用[M].北京:清华大学出版社,2004
[2] Texas Instruments公司. MSP430x2xx family user′s guide[Z].
[3] Texas Instruments公司.MSP-EXP430G2 LaunchPad实验板[Z].
[4] 葛亮,湖泽,李俊兰,等.基于红外传输的井场环境监测系统设计[J].现代科学仪器,2010,4(2):71-74.
[5] 刘凤伟,刘春枚,黄波.基于英飞凌单片机的红外编/解码器设计[J].电子质量,2012(1):20.