基于无线传输的数据采集系统设计.docx
- 文档编号:10859054
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:39
- 大小:1.07MB
基于无线传输的数据采集系统设计.docx
《基于无线传输的数据采集系统设计.docx》由会员分享,可在线阅读,更多相关《基于无线传输的数据采集系统设计.docx(39页珍藏版)》请在冰豆网上搜索。
基于无线传输的数据采集系统设计
本科毕业设计(论文)
(2010届)
题目基于无线传输的数据采集系统设计
学院物理与电子工程学院
专业电子信息工程
班级06电子信息工程
(1)班
学号0605220106
学生姓名饶艺群
指导教师叶剑超实验师
完成日期2010年4月
基于无线传输的数据采集系统设计
Basedonwirelesstransmissionofdataacquisitionsystem
学生姓名:
饶艺群
Student:
RaoYiqun
指导老师:
叶剑超实验师
Adviser:
EngineerYeJianchao
台州学院
物理与电子工程学院
SchoolofPhysics&ElectronicsEngineering
TaizhouUniversity
Taizhou,Zhejiang,China
2010年4月
April2010
摘要
本文介绍了无线传输网络技术的概念,从无线传输网络技术的体系结构、网络协议、节点技术出发,归纳了无线传输网络技术的基本特点。
基于无线传输节点设计原则及选用微型数字温度传感器DS1820和单片机AT89S51组成数据采集系统,用集成的无线传输技术模块(本设计选用ZigBee集成模块)作为无线传输部分,给出了无线传输网络的通用结构,系统硬件及软件的设计方案和具体实现。
最后进行实验环节,实验结果表明本文设计的无线传输网络可以实现温度信息的采集及无线传输。
关键词
无线传输网络;IEEE802.15.4;ZigBee协议;DS1820;AT89S51单片机
Abstract
ThisdissertationdescribestheconceptofWSN.Systemstructure,nodetechnologyandprotocolsofnetworksofwirelesssensornetworksareexploredastheresearchworkofthebeginning.Thecharacteristicsandanalyzeoftheprotocolsofdatalinklayerandnetworklayerarecarriedout.Then,theprotocolstructureandcharacteristicsofthewirelesscommunicationprotocolareintroducedindetail.ItwasproposedthatbasicontheprincipleofwirelesscommunicationprotocolandmiracledigitaltemperaturecommunicationDS1820andAT89S51.Thesolutionandpracticalsensornetworkbasicsontheprincipleofdesign.Thesolutionandpracticalimplementationofhardwarestructureandsoftwareofthesystemisprovided,agoodconsiderationofthefactofhardwareandsoftwarewasoutlined.Atlast,theexperimentalresultsshowthatthesystemcanrealizewirelesscommunicationbetweenthesensornodes.
Keywords
Wirelesssensornetwork(WSN);IEEE802.15.4;ZigBeeprotocol;DS1820;AT89S51
1. 引言
1.1 无线传感器的概述
无线传输网络是由许多独立的无线传输网络节点通过无线电波互相通信而构成的无线通信网络[1]。
无线传输网络在配置上分为“点到点”和“主从”两种。
1.1.1 基于蓝牙技术的无线传输网络
蓝牙技术主要面向网络中各类数据及语音设备(如PC拨号网络、笔记本电脑、数码相机、移动电话和高品质耳机等),通过无线方式将它们连成一个微微网(Piconet),它是实现语音和数据无线传输的开放性规范,是一种低成本、短距离的无线连接技术。
其无线收发器是很小的一块芯片,大约有9mm×9mm,可方便地嵌入到便携式设备中,从而增加设备的通信选择性。
蓝牙技术实现了设备的无连接工作,提供了接入数据网的功能,并且具有外围设备接口,可以组成一个特定的小网。
1.1.2 基于ZigBee技术的无线传输网络
ZigBee是一种近距离、低复杂度、低功耗、低数据速率、低成本的双向无线技术,主要适合于自动控制、传感、监控和远程控制等领域,可以嵌入各种设备中,同时支持地理定位功能。
IEEE802.15.4定义了一种廉价的供固定、便携或移动设备使用的极低复杂度、成本和功耗的低速率无线连接技术。
1.1.3 ZigBee与蓝牙的比较
(1)系统复杂性
ZigBee的系统复杂性要远小于蓝牙的系统复杂性。
ZigBee协议栈[2]简单,实现相对容易,需要的系统资源也较少,据估计运行ZigBee需要系统资源约28Kb;蓝牙协议栈相对复杂,需要系统资源约为250Kb。
一个网络只需要一个网络协调者,其他终端设备可以是RFD,也可以是FFD。
RFD的价格要比FFD便宜得多,其占用系统资源仅约为4Kb,因此网络的整体成本比较低。
从这一点来说,ZigBee适合有大量终端设备的网络,如传感网络、楼宇自动化等。
(2)功耗
ZigBee的MAC信道接入机制[3]有两种:
无信标(Beacon)模式和有信标模式。
无信标模式就是标准的ALOHACSMA-CA的信道接入机制,终端节点只在有数据要收发的时候才和网络会话,其余时间都处于休眠模式,这样平均功耗非常低。
蓝牙主要采用两种方式来控制功率:
自适应发射功率和调整基带链接模式。
在自适应发射功率控制方式中,从属设备检测到接收信号强度指示值小于最低阈值时,从属设备可以请求主控设备增大的发射功率,反之,当RSSI大于某个规定阈值时,从属设备也可以请求主控设备降低发射功率。
蓝牙基带有四种链接模式:
活跃(Active)、呼吸(Sniff)、保持(Hold)和休眠(Park)。
通过调节基带链接模式,也可以实现节约功率的目的。
活跃、呼吸、保持、休眠这四个状态消耗的平均功率逐次减小,但设备响应时间也依次增加通过从技术和应用两方面的分析与比较,可以看出:
ZigBee非常适合于低功耗、低数据速率的监视、传感网络。
蓝牙则适合于较高数据数率的应用,如语音和数据传输。
两者之间同时又存在着竞争。
比如,在计算机外设、互动玩具、家庭自动化和工业自动化等应用领域及在未来的穿戴网络中ZigBee技术有较强的竞争力。
2. 选用ZigBee集成模块的无线传输数据采集系统总体设计
2.1 系统设计总体方案
方案一采用模块和自己的单片机系统组合设计,这要求对单片机技术比较熟悉,当然最好是采用自己熟悉的单片机,主要工作是熟悉ZigBeeAT命令集,如何通过AT命令集来操作复杂ZigBee无线网络,由于不需要分析无线协议栈代码和进行高频设计,用户可以将主要精力集中在自己的应用代码开发。
方案二:
采用模块或者直接使用ZigBee芯片进行自己的ZigBee应用系统设计。
因为不希望进行高频设计,可以从模块开始,直接使用TI等公司提供的ZigBee协议栈源代码和库文件,自己进行应用代码的编写,然后直接下载到模块进行调试,由于EZ-LBee这样的通用,开放,开源模块的出现,使这种开发办法成为了可能。
通过对我所学知识掌握程度以及两操作系统性能及前途等方面的比较我选择方案二作为我的研究方向,同时单片机是我专业的主要课程,通过此可以巩固自己所学的知识,同时如果能够使用带有驱动源代码的模块开发系统,还可以进一步缩短上手时间。
zigbee是一种相对较新的技术,这么一来,我不仅可以提高自己的自学能力,而且可以学得新知识。
ZigBee无线传感器系统的功能单元结构[4]如图3-1所示。
以ZigBee为基础构建的网络有着更大的网络容量,可以管理更多个网络终端。
其中感测单元包括温度传感器与A/D转换器,用于感知和采集信息,并将其转换为数字信号。
由处理单元包括嵌入式微处理器、存储器及CC2430芯片,将数据转换为射频信号来进行信号的收发。
图3-1 ZigBee无线传感器系统设计方案
3. 硬件电路的设计
3.1 芯片CC2430简介
CC2430是一颗真正的系统芯片(SOC)CMOS解决方案[5],这种方案能够提高性能并且满足2.4GHzISM波段应用对低成本、低功耗的要求。
它包括了一个高性能的2.4GHzDSSS(直接序列)射频收发器核心和一颗工业级小巧且高效的8051单片机控制器。
CC2430电路原理图详见附录I所示
图3-1 CC2430芯片
3.1.1 CC2430功能特性如下:
(1)高性能和低功耗的8051微控制器。
(2)集成符合IEEE802.15.4标准的2.4GHz的RF无线收发机。
(3)优良的无线接收灵敏度和强大的抗干扰性。
(4)在休眠模式时仅0.9μA的流耗,外部的中断或RTC能唤醒系统。
在待机模式时少于0.6μA的流耗,外部的中断能唤醒系统。
(5)硬件支持CSMA/CA功能。
(6)较宽的电压范围(2.0~3.6V)。
(7)数字化的RSSI/LQI支持和强大的DMA功能。
(8)具有电池监测和温度感测功能。
(9)集成了14位模数转换的ADC。
(10)集成了AES安全协处理器。
(11)带有2个强大的支持几组协议的USART,以及1个符合IEEE802.15.4规范的MAC计时器,1个常规的16位计时器和2个8位计时器。
(12)强大和灵活的开发工具。
3.2 硬件应用电路设计
CC2430模块原理图详见附录一
图3-3 硬件应用电路
3.3 RFD节点电路
该节点可以检测自己所处环境的温度,并可以扫描按键值,然后发送给主机。
同时增加了串口的扩展接口,若外接一个RS-232模块,就可以把数据上传到计算机上了。
图3-5 节点电路原理框图
3.4 温度传感器的构建
3.4.1 DS1820的特性
独特的单线接口仅需一个端口引脚进行通讯,简单的多点分布应用,无需外部器件,可通过数据线供电;零待机功耗,测温范围-55~+125℃,以0.5℃递增。
华氏器件-67~+2570F,以0.90F递增,温度以9位数字量读出;温度数字量转换时200ms(典型值);用户可定义的非易失性温度报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;应用包括温度控制、工业系统消费品、温度计或任何热感测系统[8].
图3-6 DS1820方框图
图3-7 DS1820封装
DS1820引脚及功能:
NC:
空
GND:
接地;
DQ:
数据输入/输出脚(单线接口,可作寄生供电);
VDD:
电源电压。
3.4.2 DS1820的工作原理
DS1820测温原理[9]:
用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。
计数器被预置到对应于-55℃的一个值。
如果计数器在门周期结束前到达0℃,则温度寄存器(同样被预置到-55℃)的值增加,表明所测温度大于-55℃。
同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。
然后计数器又开始计数直到0℃,如果门周期仍未结束,则将重复这一过程。
斜坡式累加器[10]用来补偿感温振荡器的非线性,以期待在测温时获得比较高的分辨力。
这是通过改变计数器对温度每增加一度所需计数的的值来实现的。
因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器的值和每一度的数值。
DS1820内部对此计算的结果可提供0.5℃的分辨力。
温度以16bit带符号位扩展的二进制补码形式读出。
数据通过单线接口以串行方式传输。
DS1820测温范围-55℃~+125℃,以0.5℃递增。
如用于华氏温度,必须要用一个转换因子查找表。
3.4.3 温度检测系统原理及程序流程图
温度检测系统采用寄生电源供电方式[11]。
为保证在有效的DS1820时钟周期内,提供足够的电流,我们用一个MOSFET管和89C51的一个I/O口(P1.0)来完成对DS1820总线的上拉。
当DS1820处于写存储器操作和温度A/D变换操作时,总线上必须有强的上拉,上拉开启时间最大为10μs。
采用寄生电源供电方式时VDD必须接地。
由于单线制只有一根线,因此发送接收口必须是三态的,为了操作方便我们用89C51的P1.1口作发送口Tx,P1.2口作接收口Rx。
通过试验我们发现此种方法可挂接DS1820数十片,距离可达到50米,而用一个口时仅能挂接10片DS1820,距离仅为20米。
同时由于读写在操作上是分开的故不存在信号竞争问题。
无论是单点还是多点温度检测,在系统安装及工作之前,应将主机逐个与DS1820挂接,读出其序列号。
其工作过程为:
主机Tx发一个脉冲,待“0”电平大于480μs后,复位DS1820,待DS1820所发响应脉冲由主机Rx接收后,主机Tx再发读ROM命令代码33H(低位在前),然后发一个脉冲(15μs)并接着读取DS1820序列号的一位。
用同样方法读取序列号的56位。
对于图3-8系统的DS1820操作的总体流程图如图3-9所示。
它分三步完成:
①系统通过反复操作,搜索DS1820序列号;②启动所有在线DS1820做温度A/D变换;③逐个读出在线DS1820变换后的温度数据[12]。
图3-8 寄生电源供电的DS1820温度检测系统
4. 基于无线传输温湿度数据采集系统软件的设计
4.1 系统程序设计
系统初始化主要包括节点定义和各参数初始化。
ZigBee包含全功能设备FFD和精简功能设备RFD[13]。
程序根据应用要求定义节点是FFD还是RFD,从而确定节点性质。
参数初始化主要包括I/O接口和外设的初始化,自定义系统的时钟信号、工作频率、电源管理方式及ZigBee网络层和MAC层的参数,如网络地址、节点所属接口、集群等。
主程序主要包括信号采集、计算处理、数据收发以及组网功能,可充分利用CC2430丰富的中断资源对各种类型的事件进行排序和处理。
图4-1 系统初始化
图4-2 系统主程序
4.2 协议栈
协议栈[14]是使用C语言编写的,协议栈使用闪存程序存储器来存储可配置的MAC地址、网络表和绑定表。
图4-3 协议栈构架
4.3 网络节点的软件设计
网络节点主要负责采集传感器数据并将这些数据传送给协调器(控制器),同时接收来自协调器(控制器)的数据并根据这些数据进行相关操作。
网络节点上电后扫描所有信道来找到临近协调器,申请加入此网络。
由于采用电池供电方式,必须要保证终端节点的低功耗,设计中采用定时唤醒的方式连接协调器,接收或发送数据。
其它时间则转入休眠模式,功耗降到最低。
图4-4 网络节点软件流程
4.4 串口通信
4.4.1 信道选择
IEEE802.15.4为2.4GHz频段分配了16个信道,从2405MHz到2480MHz,每5MHz有一个信道,提供250kb/s的传输速率[15]。
信道频率的计算公式为
(4-1)
为减少成本,系统仅使用一个信道来创建多条虚拟链路。
为避免k=18时(2440MHz)与蓝牙的2437MHz频率在传输数据时发生冲突,取k=20(2450MHz)。
4.4.2 帧格式
系统通信采用了IEEE802.15.4可变帧长的帧格式,如表1所示。
同步头(SHR)包含前导序列和SFD。
帧控制字段(FCF)、数据序列号、地址信息、MAC有效载荷与帧检测序列(FCS)一起构成了MAC协议数据单元(MPDU)。
前导序列被定义为4Byte的0X00,SFD为1Byte,设为0XA7。
在接收模式时,同步头用于同步和频偏校正。
长度字段定义了MPDU中的字节数,在发送模式中被用于下溢探测。
0~20Byte的地址信息用以标志各个节点。
帧有效载荷长度可变。
FCS中第一个字节为8bit接收信号强度指标(RSSI)值,最后一个字节包含接收到的长度字段和MPDU最前面8个符号的平均相关值。
这个相关值可被作为计算链路质量指示(LQI)的要素。
4.4.3 控制字
CC2430包括了较多的自定义SFR寄存器,如何使用好这些SFR寄存器较为关键。
在对USART的控制操作中,CC2430内部集成的USART的控制寄存器和状态寄存器分别是UxUCR和UxCSR(其中x可取值为0和1,表示CC2430集成的两USART中的一个)。
UxCSR状态字格式和UxUCR控制字格式如表1所示。
用这两个寄存器可完成USART的基本设置,如:
SETU0CSR.MODE;选择USART0为UART模式
SETU0CSR.RE;允许USART0接收数据
MOVU0UCR,#1FH;设置UART的帧格式。
此格式为奇偶校验有效,一帧为9位,第9位为偶校验,停止位为高电平,且接收器校验两位停止位,开始位为高电平。
CC2430串口波特率的设置与一般8051不同,因为其内部集成了一个波特率发生器,因此不需要使用定时器而只需设置相关的SFR寄存器UxBAUD.BAUD_M[7:
0]和UxGCR.BAUD[4:
0],便可得到系统要求的波特率,其关系式[16]如下:
(4-2)
其中,F为系统时钟频率。
若F为32MHz,执行下列语句,得到9600b/s的串口波特率:
MOVU0GCR,#08H
MOVU0BAUD,#3BH;设置波特率为9600b/s
实际上对USART的操作还包含对其所连接的I/O口的设置。
设置I/O应与硬件密切结合,如:
MOVP1SEL,#30H;选择P1.5,P1.4为外部功能口
MOVP1DIR,#20H;选择P1.5为输出口,P1.4为输入口CLRP1FG
CLRP1FG;清空P1口的中断标志
MOVP2SEL,#00H;设置USART0为优
4.5 各功能部件的程序流程及程序
4.5.1 液晶驱动C51程序
在进行主程序之前,要先了解系统中的液晶扩展的地板的液晶驱动程序。
液晶只需要用SPI方式直接写入就行了。
在网络协调器中首先初始化CC2430和液晶,然后程序开始初始化协议栈并打开中断。
之后程序开始格式化一个网络,若网络格式化成功,可以在液晶上或是通过串口看到格式化网络的信息。
图4-5 网络协调器流程图
4.5.2 主程序
在网络协调器中首先初始化CC2430和液晶,然后程序开始初始化协议栈并打开中断。
之后程序开始格式化一个网络,若网络格式化成功,可以在液晶上或是通过串口看到格式化了的网络的信息。
通过串口57600,8,N,1可以在串口调试助手中看到网络协调器的无力地址、现在简历网络的网络ID号和频道号等。
之后程序进入应用层,处理函数apsFSM()检测空中的ZigBee信号。
如果现在有RFD或路由节点加入网络,则液晶和串口输出都会显示有新的RFD或路由节点加入网络,并且显示加入网络节点的无力地址,此时网络协调器给节点分配网络地址。
同样在函数apsFSM()里接收RFD节点发送过来的温度值和按键值,并在液晶上显示出来,也同时从串口发送出来。
5. 系统调试
5.1 系统开发环境及设备
IAREmbeddedWorkbench(简称EW)的C/C++交叉编译器和调试器是当今最完整和最容易使用的专业嵌入式应用开发工具。
本次设计中,所用的传输设备由cc2430集成模块。
5.2 调试步骤
5.2.1 进入调试
选择菜单Project\Debug或按快捷键CTRL+D进入调试状态,也可按工具栏上的按钮进入调试。
图5-1 进入调试
5.2.2 窗口管理
在IAREmbeddedWorkbench中用户可以在特定的位置停靠窗口,并利用标签组来管理它们。
用于也可以使某个窗口处于悬浮状态,让它始终停靠在窗口的上层。
状态栏位于主窗口底部,包含了如何管理窗口的帮助信息。
图5-2 程序调试界面
5.2.3 查看源文件语句
StepInto执行内部函数或子进程的调用;
StepOver每步执行一个函数调用;
Nextstatement每次执行一个语句;
这些命令在工具栏上都有对应的快捷键。
5.2.4 查看变量
C-SPY允许用户在源代码中查看变量或表达式,可在程序运行时跟踪其值的变化。
使用自动窗口:
选择菜单View\Auto,开启窗口。
自动窗口会显示当前被修改过的表达式。
连续步进观察j的值的变化情况。
图5-3 自动串口
设置监控点:
使用Watch窗口来查看变量。
选择菜单View\Watch,打开Watch窗口。
点击Watch窗口中的虚线框,出现输入区域时键入j并且回车。
5.2.5 设置并监控断点
选择ToggleBreakpoint命令,在i++语句出插入断点:
图5-4 设置断点
5.2.6 在反汇编模式中调试
选择菜单View\Disassembly,打开反汇编调试窗口,可看到当前C语言语句对应的汇编语言指令。
图5-5 汇编模式中调试程序
5.2.7 完整运行程序
选择菜单Debug\Go。
如果没有断点,程序将一直运行下去。
可以看到LED1间隙点亮。
完成之后选择菜单Debug\StopDebugging退出调试模式。
6. 总结
本次设计以CC2430集成芯片和微型数字温度传感器DS18B20相通信实现无线传输网络节点的组建。
把低成本、低功耗的无线ZigBee技术应用于无线网络,实现了对环境温度的自动监测控制,提高了系统应用的灵活性,同时也减少了温度监测系统现场布线带来的各种问题。
ZigBee是一门新兴的技术,有着巨大的发展潜力。
通过做设计期间的学习,我了解到ZigBee无线传输网络应用市场潜力非常大,可以涉及到人们生活、工作、娱乐、研究等各个方面。
以下就如何推广该技术应用提几点看法:
(1)医疗领域:
在医院,ZigBee无线网络可以帮助医生及时准确地收集急诊病人的信息和检查结果。
带有ZigBee终端的患者可以得到24小时的体温、脉搏监控;配有ZigBee终端的担架可以遥控电梯门的开关。
在医院,时间就是生命,ZigBee网络可以帮助医生和患者争取每一秒的时间。
(2)工业自动化领域:
在工业自动化领域,人们可以通过ZigBee网络实现厂房内不同区域温湿度的监控;及时得到机器运转状况的信息;结合RF标签,可以方便的数据统计库存量。
(3)智能建筑领域:
通过建立完备的ZigBee网络,智能建筑可以感知随处可能发生的火灾隐患,及早提供相关信息;根据人员分布情况自动控制中央空调,实现能源的节约;及时掌握酒店客房内客人的出入信息,以便在突发事件时及时准确的发出通知。
总之,通过这次毕业设计让我学会了很多新的概念,掌握了新的技术,也为以后的工作打下了基础。
本设计由于能力有限尚有一些错误及许多不足之处,恳
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 无线 传输 数据 采集 系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)