基于MSP430F5438单片机的无线环境检测系统设计
扫描二维码
随时随地手机看文章
环境监测是指通过对影响环境质量因素的代表值的测定,确定环境质量(或污染程度)及其变化趋势。随着科技的不断进步,特别是计算机技术和网络技术的不断发展,环境检测由经典的化学分析向仪器与计算机和网络相结合的方式,实现f无线环境的检测。本文中设计了一个无线环境检测系统,以MSP430F5438单片机为控制核心,实际制作一个终端和2个节点,终端能从节点获取节点的环境温度和光照信息,并且节点能够实现中继转发的功能。整个系统采用OOK调制方式,收发都使用一个天线,终端发射信号时。
将欲传输的信息通过串口输出的电平控制本振的开断从而实现OOK调制,后级使用丙类功放发射,接收端节点将天线上的信号进行放大,然后倍压检波,通过自适应比较器解调出数据,最后再向终端回传环境信息。
1 总体方案设计
在整个系统的设计过程中,终点和节点都需要一个主控芯片进行处理。主芯片选用MSP430F5438系列单片机。在信号调制方面采用了OOK(On.Off Keying)调制方案。在高频功放方面,采用了分立元件自制戊类放大器使用NEC公司的产品2SC3355做功放管。最后确定通信协议方案选择,设计思想足由检测终端发起一次信息阿步传输,所有的节点根据自己的编号在不同的时隙发送信息,中继节点自行搜索判断。通过一系列的选择和设汁,整个系统的结构设计如图1所示。
图1 系统整体方案框图
系统以MSP430F5438单片机作为终端和节点的主控芯片,光照探测由光敏电阻来实现,温度可由单片机内部自带的温度传感器得到。,数据的调制、接收采用串口通信,使用I/O口来控制天线的收发模式。
2 系统的理论分析与计算
2.1 发射机的电路分析与设计
本地振荡采用lO.7 M谐振器以及74HC00构成的皮尔斯振荡器,同时通过门级电路还可以增大对后级丙放的驱动功率,而串121也可以通过与非门来调制信号。
实际测量5圈,直径为3.4 em的线圈,在lO.7 MHz下测量得到电感量为1.553 uH,Q值为156。在lO.7 MHz时的损耗电阻为:
得到r=0.669,所以在并联谐振下等效电阻为:
在节点上采用高效率的开关状态功放,而终端也可以使用戊类放大。设定输出功率为0.1 w。首先计算C3355的输出阻抗,假设C3355的输出功率为0.1 w,根据功放的最佳负载计算得到,我们的电源电压为Vc=3 V,设Vce=0.1V,输出功率Po=0.1 w,计算得出最佳输出电阻为
R=
从C3355的datasheet上则三极管的输出得到集电极的输出电容,故假设输出电容是15 pF,阻抗可等效为一个42Ω的电阻与一个15 pF左右的电容并联。取集电极馈电线圈的电感为10 uH兼作为输出的谐振同路,此时所需的谐振电容为22.12 pF,所以还需要在集电极到地接入一个(10~22.12)pF的电容,为了便于调谐,采用了一只5/35pF的可调电容,经过这样后,三极管输出为42n的纯阻,然后经过一个42 Ω~16.3 kΩ的三阶低通滤波器实现阻抗变换,并且使输出波形平滑(滤掉载波的高次谐波)。
在输出端接了一个100 nF的隔直电容,这会使得输出不再是42 Ω的纯阻,所以经过PSPICE仿真,进行校准,得到最终的具体参数。
图2 e3355开关状态功放
2.3 接收机解调电路分析
由于本系统采用的是OOK凋制,所以采用灵敏度高的倍压检波。当终端与节点距离较远时,为了提高接收灵敏度,所以使用了两级放大,从而在距离较远的时候也能正常检测到信号。考虑到在近距离时,在天线线圈接收处加上限幅电路。这样就保证了在近距离和远距离时都能够接收到较好的信号。但是实际上由于在很远的时候接收到的信号还是很小,这样就导致了随着距离的远近需要改变比较器的参考电平,因此采用一个RC积分保持电路,使得能检测到最大的峰值,这样就实现了自适应比较,从而在远距离时串口依然能够正确识别信号。
为r实现天线的复用,使用一个开关电路来切换收发模式。这个开关电路使用单片机I/O口来控制高速二极管的导通与关断来实现切换的。
2.4 通信协议分析与设计
通信协议采用的是终端发起同步传输,各个节点根据终端的同步信息同步自己的时钟,然后在自己编号所分配的时隙内依次传输。
信息的交换采用帧交换,每个帧由4个字节组成,结构如下图示。每一次发送或者接收都足以帧为单位。其中数据氲揍的低七位表示0~100 oC的温度,最高位表示光照的有无,1为有,0为无。
整个通信过程如下图示,终端不断发起同步传输,每个同步传输分为信息同步发送和中继同步发送2个阶段。信息同步发送阶段收到终端同步信号的节点在分配给自己的时隙发送数据。中继同步阶段没有收到终端同步信号的节点收到相邻节点回复给终端的信息后,在本阶段自己的时隙内发送中继请求,目的ID为监听到的节点中的任意一个,由选中的节点在下一个信息同步发送阶段代替自己发送信息给终端。
图3数据帧格式
为了克服各个节点定时不够精确的问题,需在每个帧之间加入保护间隔,在本协议中设计为发送一个字节的时间。
即发送一帧数据需要5个字节的时间。因此可以计算得到满足要求最低的波特率。按照最坏情况计算,一共需要256×3A“时隙,每个时隙由5个字节之间,每个字节10个位,所以波特率大于:
这里为了留出余量设置为9 600 bps。
3 电路设计与软件设计
3.1 发射电路分析与设计
在发射电路中(见图4),我们选用74HC00,可在3 V电压下工作,74HC()o实现了lO.7 MHz的载波产生,信号调制,功放驱动为一体。功放的额定输出功率是0.1 w。
3.2 接收电路设计
接收电路见图5。接收机的前端采用了限幅电路,一个很小的电容(22 pF)后面接2个方向相反的二极管到地。这样就保证了在收发天线很近的时候,接收到的电压被限制在0.25 V。
控制收发的开关电路是有2个反向串联的1N4148和一个4.7mH电感串联一个5。6k电阻到单片机的I/O口。
图4发射电路
图5接收电路
3.3 工作流程图
监测终端的软件重要任务就是发送同步信号,等待探测节点返回的数据。并在液晶上显示出来。探测节点的任务是定时采集数据,并在收到同步信号或者监测到其它节点的时候发送数据,并在收到中继请求后提供中继服务。图6和图7便是终端软件和节点软件的流程图。
图6终端软件流程
图7节点软件流程
4 测试方法与数据
测试条件为:终端供电5 V。室温为26 qc。下面进行的是终端节点通信距离的测试。
终端、节点放置在同一水平面,在保证两天线对准的情况下,将距离分别设为1 em,9 cm。将节点A和B分别放在终端两侧,距离为10 cm,测试温度,光照,编码预置功能。测试结果如表1(均有预置编码的功能,探测延迟3 s)。
表1测试记录
下面进行的是中继节点转发测试。
将终端与节点A的距离没为50 cm,两者不能正常通信,将节点B插入到两者中间,测试终端是否能够正常识别2个节点,然后将A,B 2个节点互换,测试足否能正常识别。测试结果如表2所示。
再次测试最大转发距离,当A作为转发节点时,最大转发距离为66 cm,当B作为转发节点时,最大转发距离为80 em。
最后进行的是节点功耗测试。
保持D1+I)2=50 cm。测试转发节点测试。
实测发现,2个节点都作为中继的时候,最大的电流时3 mA,平均电流在2.4 mA。
5 测试结果分析
温度、光照测量:温度由于采用芯片内集成温度传感器,可采用温度计对温度准确度进行测试。经过算法补偿,在23~40℃的范围内,温度准确度在2℃以内。终端与节点的通信距离最远町达35 cm。节点实现r中继转发的功能。节点的电流非常小,在3 mA以内。