ImageVerifierCode 换一换
格式:DOCX , 页数:47 ,大小:2.33MB ,
资源ID:22234848      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22234848.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于ZigBee和LabVIEW的无线温度采集系统Word文档下载推荐.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于ZigBee和LabVIEW的无线温度采集系统Word文档下载推荐.docx

1、STC89C52单片机的软件编程自由度比较大,可通过编程实现各种算法以及逻辑控制。并且体积较小、引脚不多、方便安装使用。可以单独对数字温度传感器DS18B20进行控制,另外STC89C52在工农业控制上也有着比较广泛的应用,编程技术和外围电路的配合使用都相当成熟。但是使用51或者52单片机该系统的外围电路较多,实际操作比较麻烦,一次只能处理八位数据,计算比较繁琐。方案二 采用TI公司cc2430单片机。CC2430是一颗真正的系统芯片(SoC)CMOS解决方案。这种解决方案能够提高性能并满足以ZigBee为基础的2.4GHz ISM波段应用,及对低成本,低功耗的要求。它结合一个高性能2.4GH

2、z DSSS(直接序列扩频)射频收发器核心和一颗工业级小巧高效的8051控制器。 CC2430的设计结合了8Kbyte的RAM及强大的外围模块,并且有3种不同的版本,他们是根据不同的闪存空间32,64和128kByte来优化复杂度与成本的组合。CC2430包含一个DMA控制器。8k字节静态RAM,其中的4k字节是超低功耗SRAM。32k,64k或128k字节的片内Flash块提供在电路可编程非易失性存储器。CC2430集成了4个振荡器用于系统时钟和定时操作:一个32MHz晶体振荡器,一个16MHz RC-振荡器,一个可选的32.768kHz晶体振荡器和一个可选的32.768kHz RC 振荡器

3、。 综合对比之后选择方案二。2.1.2温度传感器模块比较与论证 温度传感器用来进行温度采集,我们把采集到的数据送到单片机上,单片机处理后把数据通过一个无线模块发送到另一个无线模块。所以在这个系统中温度传感器的作用是至关重要的。我们需要做到数据采集的准确,并且能够保持系统的稳定。有以下几个方案可以供选择。方案一 采用热敏电阻,可满足40摄氏度至90摄氏度测量范围。但热敏电阻精度、重复性、可靠性较差。对于检测1摄氏度的信号是不适用的。方案二 采用单片模拟量的温度传感器,比如AD590,LM35等。但这些芯片输出的都是模拟信号,必须经过A/D转换后才能送给单片机,这样就使得测温装置的结构较复杂。另外

4、,这种测温装置的一根线上只能挂一个传感器,不能进行多点测量。即使能实现,也要用到复杂的算法,一定程度上也增加了软件实现的难度。方案三 采用DS18B20来测量待测电的温度,数字温度传感器DS18B20输出的信号全数字化。方便单片机处理及控制,省去传统的测温系统的很多外围电路。且该芯片的物理化学性都很稳定,它能作为工业测温元件。此元件线性度好,在0到100时,最大线形偏差小于1。DS18B20的最大特点是单总线的数据传输,由数字温度计DS18B20和微控制器构成的温度采集系统,它可以直接输出温度的数字信号。因此该温度采集系统的结构就比较简单,体积也较小。综合对比之后选择方案三。2.1.3 无线模

5、块的比较与论证无线传输模块主要是用于主机和从机之间的数据传输,从机给主机发送温度数据。方案一 采用红外收发芯片NB9148、NB9149。NB9148是通用红外遥控发射器集成芯片,该器件与NB9149配合使用可完成10个功能控制。NB9148采用CMOS工艺制造,功耗极低,工作电压可在2.5-5.5V之间变化。NB9148的集成度高 工作时所需外围元件少,其振荡电路只需外接LC或陶瓷震荡器即可起振,并支持多键组合。方案二 采用nRF2401无线模块。无线芯片nRF2401是单片射频收发芯片 工作于2.4GHz、ISM频段,芯片内嵌晶体振荡器、地址解码器、时钟处理器、调制器、低噪声放大器、GFS

6、K滤波器、功率放大器和频率合成器等功能模块,通信频道和输出功率可通过程序进行调配。芯片能耗相当低,以-5dBm的功率发射的时侯,工作的电流只有10.5mA,接收的时侯工作电流只有18mA。该无线模块有多种低功率工作模式,设计节能而且使用更为方便。方案三 采用ZigBee无线自组织网模块。Zigbee是基于IEEE802.15.4标准的低功耗个域网协议。根据这个协议规定的技术是一种短距离、低功耗的无线通信技术。这一名称来源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飞翔和“嗡嗡”(zig)地抖动翅膀的“舞蹈”来与同伴传递花粉所在方位信息,也就是说蜜蜂依靠这样的方式构成了群体中的通信网络。其特点是近距离

7、、低复杂度、自组织、低功耗、低数据速率、低成本。主要适合用于自动控制和远程控制领域,可以嵌入各种设备。简而言之,ZigBee就是一种便宜的,低功耗的近距离无线组网通讯技术。ZigBee模块是已经包含了所有外围电路和完整协议栈的能够立即投入使用的产品,已经经过了厂家的优化设计,和老化测试,有一定的质量保证。优秀可靠的zigBee应用“模块”具有在硬件上设计紧凑,体积小,贴片式焊盘设计,可以内置Chip或外置SMA天线,通讯距离从100米到1200米不等,还包含了ADC,DAC,比较器,多个IO,I2C等接口和用户的产品相对接。软件上包含了完整的ZigBee协议栈,并有自己的PC上的配置工具,采用

8、串口和用户产品进行通讯,并可以对模块进行发射功率,信道等网络拓扑参数的配置,使用起来简单快捷。Zigbee自身的技术优势:功耗:在低耗电待机模式下,2 节5 号干电池可支持1个节点工作624个月,甚至更长。这是Zigbee的突出优势。相比较,蓝牙能工作数周、WiFi可工作数小时。.低成本:通过大幅简化协议(不到蓝牙的1/10) ,降低了对通信控制器的要求,按预测分析,以8051的8位微控制器测算,全功能的主节点需要32KB代码,子功能节点少至4KB代码,而且Zigbee免协议专利费。每块芯片的价格大约为2 美元。.低速率:Zigbee工作在20250 kbps的较低速率,分别提供250 kbp

9、s(2.4GHz)、40kbps (915 MHz)和20kbps(868 MHz) 的原始数据吞吐率,满足低速率传输数据的应用需求。.近距离:传输范围一般介于10100 m 之间,在增加RF 发射功率后,亦可增加到13 km。这指的是相邻节点间的距离。如果通过路由和节点间通信的接力,传输距离将可以更远。.短时延: Zigbee 的响应速度较快,一般从睡眠转入工作状态只需15 ms ,节点连接进入网络只需30 ms ,进一步节省了电能。相比较,蓝牙需要310 s、WiFi 需要3 s。高容量:Zigbee 可采用星状、片状和网状网络结构,由一个主节点管理若干子节点,最多一个主节点可管理254

10、个子节点;同时主节点还可由上一层网络节点管理,最多可组成65000 个节点的大网。.高安全:Zigbee 提供了三级安全模式,包括无安全设定、使用接入控制清单(ACL) 防止非法获取数据以及采用高级加密标准(AES 128) 的对称密码,以灵活确定其安全属性。.免执照频段:采用直接序列扩频在工业科学医疗( ISM) 频段,2. 4 GHz (全球) 、915 MHz(美国) 和868 MHz(欧洲)。Zigbee性能分析:. 数据速率比较低:在2.4GHZ的频段只有250KB/S,而且只是链路上的速率,除掉帧头开销,信道竞争应答和重传,真正能被应用所利用的速率可能不足100KB/S,并且余下的

11、速率可能要被邻近多个节点和同一个节点的多个应用所瓜分.因此不适合做视频之类事情。.可靠性:在可靠性方面,zigbee有很多方面进行保证.物理层采用了扩频技术,能够在一定程度上抵抗干扰MAC曾,应用层(APS部分)有应答重传功能。 MAC层的CSMA机制使节点发送前先监听信道,可以起到避开干扰的作用。当zigbee网络受到外界干扰,无法正常工作时,整个网络可以动态的切换到另一个工作信道上。. 时延:由于zigbee采用随机接入MAC层,且不支持时分复用的信道接入方式,因此不能很好的支持一些实时的业务。. 能耗特性:能耗特性是zigbee的一个技术优势,通常zigbee节点所承载的应用数据速率都比

12、较低,在不需要通信是,节点可以进入很低功耗的休眠状态,此时能耗可能只有正常工作状态下的千分之一。由于一般情况下,休眠时间占总运行时间的大部分,有时正常工作的时间还不到百分之一,因此达到很高的节能效果。. 网络层特性:zigbee大规模的组网能力强,因为zigbee底层采用了直扩技术,如果采用非信标模式,网络可以扩展得很大,为不需同步而且节点加入网络和重新加入网络的过程很快,一般可以做到1秒以内,甚至更快。bluetooth通常需要3秒,在路由方面,zigbee支持可靠性很高的网状网的路由,所以可以布置范围很广的网络,并支持多播和广播特性,能够给丰富的应用带来有力的支持。图4.2为zigbee的

13、一个简单的网络架构,其中红色的为协调器,黄色节点为路由器,绿色节点为专用端设备 综合考虑后选择方案三。2.1.4控制显示比较与论证方案一 采用LCD12864显示。 LCD12864为一块128X64 点阵的LCD 显示模块,模块上的 LCM 采用COG 技术将控制(包括显存)、驱动器集成在LCM 的玻璃上,接口简单、操作方便。方案二 采用LabVIEW显示控制。LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言

14、G编写程序,产生的程序是框图的形式。LabVIEW(Laboratory Virtual instrument Engineering Workbench)是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW集成了与满足 GPIB、VXI、RS-232和 RS-485 协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、ActivX等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。图形化的程序语言,又称为 “G” 语言。

15、使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。利用 LabVIEW,可产生独立运行的可执行文件,它是一个真正的32位/64位编译器。像许多重要的软件一样,LabVIEW提供了Windows、UNIX、Linux、Macintosh的多种版本。它主要的方便就是,一个硬件的情况下,可以通过改变软件,就可以实现不同的

16、仪器仪表的功能,非常方便,是相当于软件即硬件!2.2系统设计1EndDevice通过DS18B20采集集温度信息;2EndDevice将采集的集温度信息经过ZigBee网络上传给coordinator;3Coordinator通过串口将温度信息上传PC;4LabVIEW通过串口接收温度信息处理后显示在控制界面。三、电路设计原理3.1 ZigBee 模块设计原理图ZigBee 模块设计原理图1ZigBee 模块设计原理图23.2LabVIEW模块设计原理图LabVIEW模块设计原理图前面板LabVIEW模块前面板用来显示以及控制平台,可以控制程序开始、停止,改变温度的低限制、高限制,图形显示的更

17、新周期。配置串口部分可以调整串口号、波特率、数据位、校验位、停止位、流控制。当温度高于设置温度高限制或低于温度低限制则在报警区产生相应的报警。LabVIEW模块设计原理图后面板LabVIEW模块设计后面板,LabVIEW设计的核心部分,也是代码编写部分。学习LabVIEW也是主要学习该部分的程序编写,根据上传温度数据的不同格式及位数要编写不同的温度转换程序。四、软件编程 本章节首先介绍工程流程图,然后分模块介绍功能及编程。因ZigBee EndDevice Coordinator建立网络程序复杂,仅给出主要控制DS18B20部分。4.1 程序流程图4.1.1 ZigBee部分程序流程图4.1.

18、2 LabVIEW部分程序流程图4.2 DS18B20芯片分析4.2.1单线数字温度计DSl820介绍 DSl820数字温度计提供9位(二进制)温度读数,指示器件的温度。信息经过单线接口送入DSl820或从DSl820送出,因此从主机CPU到DSl820仅需一条线(和地线)DSl820的电源可以由数据线本身提供而不需要外部电源。因为每一个DSl820在出厂时已经给定了唯一的序号,因此任意多个DSl820可以存放在同一条单线总线上这允许在许多不同的地方放置温度敏感器件。DSl820的测量范围从-55到+125增量值为0.5可在l s(典型值)内把温度变换成数字。DS18B20 的存储方式.18B

19、20 采用12 位存贮温度值,最高位为符号位,负温度S=1,正温度S=0。如:0550H = +85 度, 0191H = +25.0625 度, FC90H = -55 度.4.2.2 DSl820工作过程及时序DSl820工作过程中的协议如下初始化RoM操作命令存储器操作命令处理数据1初始化单总线上的所有处理均从初始化开始 2ROM操作品令总线主机检测到DSl820的存在便可以发出ROM操作命令之一这些命令如3存储器操作命令4时序主机使用时间隙(time slots)来读写DSl820的数据位和写命令字的位 初始化初始化时序单片机t0时刻发送一复位脉冲(最短为480us的低电平信号),接着

20、在tl时刻释放总线并进入接收状态,DS18B20 在检测到总线的上升沿之后,等待15-60us,接着DS18B20在t2时刻发出存在脉冲(低电平持续60-240us),如图中虚线所示。换句话说如果t2t3之间信号电平如果为低,则说明DS18B20复位成功;否则失败。写0时序 写1时序当单片机将总线t0时刻从高拉至低电平时,就产生写时间隙。见上图,从t0时刻开始 15us之内应将所需写的位送到总线上。DS18B20在t0后15-60us间对总线采样,若低电平写入的位是0;若高电平,写入的位是1。连续写2位间的间隙应大于1us。5. 读时序.读时序当单片机将总线t0时刻从高拉至低电平时,总线只须保

21、持低电平4us之后,在t1时刻将总线拉高,产生读时间隙,读时间在t1时刻后t2时刻前有效,t2距t0为15us,也就是说,t2时刻前主机必须完成读位 并在t0后的60us120us内释放总线。6.启动温度转换三个步骤:1、复位DS18B202、发出Skip ROM命令(CCH)3、发出Convert T命令(44H)7.读取温度五个步骤:3、发出Read命令(BEH)4、读两字节的温度5、温度格式转换4.3 .1 Z-stack协议栈介绍ZigBee联盟于2005年公布了第一份ZigBee规范“ZigBee Specification V1.0”。ZigBee协议规范使用了IEEE 802.1

22、5.4定义的物理层(PHY)和媒体介质访问层(MAC),并在此基础上定义了网络层(NWK)和应用层(APL)架构。4.2.1 ZigBee协议的体系结构 ZigBee的体系结构由称为层的各模块组成。每一层为其上层提供特定的服务:即由数据服务实体提供数据传输服务;管理实体提供所有的其他管理服务。每个服务实体通过相应的服务接入点(SAP)为其上层提供一个接口,每个服务接入点通过服务原语来完成所对应的功能。ZigBee协议的体系结构如下图所示:物理层(PHY) 物理层定义了物理无线信道和MAC子层之间的接口,提供物理层数据服务和物理层管理服务。物理层内容:1)ZigBee的激活;2)当前信道的能量检

23、测;3)接收链路服务质量信息;4)ZigBee信道接入方式;5)信道频率选择;6)数据传输和接收。 介质接入控制子层(MAC) MAC层负责处理所有的物理无线信道访问,并产生网络信号、同步信号;支持PAN连接和分离,提供两个对等MAC实体之间可靠的链路。MAC层功能:1) 网络协调器产生信标;2) 与信标同步;3) 支持PAN(个域网)链路的建立和断开;4) 为设备的安全性提供支持;5) 信道接入方式采用免冲突载波检测多址接入(CSMA-CA)机制;6) 处理和维护保护时隙(GTS)机制;7) 在两个对等的MAC实体之间提供一个可靠的通信链路。网络层(NWK) ZigBee协议栈的核心部分在网

24、络层。网络层主要实现节点加入或离开网络、接收或抛弃其他节点、路由查找及传送数据等功能。网络层功能:1)网络发现;2)网络形成;3)允许设备连接;4)路由器初始化;5)设备同网络连接;6)直接将设备同网络连接;7)断开网络连接;8)重新复位设备;9)接收机同步;10)信息库维护。应用层(APL) ZigBee应用层框架包括应用支持层(APS)、ZigBee设备对象(ZDO)和制造商所定义的应用对象。应用支持层的功能包括:维持绑定表、在绑定的设备之间传送消息。ZigBee设备对象的功能包括:定义设备在网络中的角色(如ZigBee协调器和终端设备),发起和响应绑定请求,在网络设备之间建立安全机制。Z

25、igBee设备对象还负责发现网络中的设备,并且决定向他们提供何种应用服务。ZigBee应用层除了提供一些必要函数以及为网络层提供合适的服务接口外,一个重要的功能是应用者可在这层定义自己的应用对象。应用程序框架(AF):运行在ZigBee协议栈上的应用程序实际上就是厂商自定义的应用对象,并且遵循规范(profile)运行在端点1 240上。在ZigBee应用中,提供2种标准服务类型:键值对(KVP)或报文(MSG)ZigBee设备对象(ZDO):远程设备通过ZDO请求描述符信息,接收到这些请求时,ZDO会调用配置 对象获取相应描述符值。另外,ZDO提供绑定服务。协议栈体系分层架构与协议栈代码文件

26、夹对应表如下:栈体系分层架构协议栈代码件物理层(PHY) 硬件层目录(HAL)介质接入控制子层(MAC)链路层目录(MAC和Zmac)网络层目录(NWK)应用支持层(APS) 应用程序框架(AF) 配置文件目录(Profile)和应用程序(sapi) ZigBee设备对象(ZDO)设备对象目录(ZDO)4.3.2 Z-Stack 体系架构(采用Z-stack1.4.3 1.2.1)1 Z-Stack 软件架构 Z-Stack 由main()函数开始执行,main()函数共做了2 件事: 一是系统初始化, 另外一件是开始执行轮转查询式操作系统, 如下图所示:ZstackZMain.cZSEG i

27、nt main( void ) osal_int_disable( INTS_ALL ); / 关闭所有中断 HAL_BOARD_INIT(); / 初始化系统时钟 zmain_vdd_check(); / 检查芯片电压是否正常 zmain_ram_init(); / 初始化堆栈 InitBoard( OB_COLD ); / 初始化I/O,LED、Timer 等 HalDriverInit(); / 初始化芯片各硬件模块 osal_nv_init( NULL ); / 初始化Flash 存储器 zmain_ext_addr(); / 确定IEEE 地址zgInit(); / 初始化非易失变量

28、 ZMacInit(); / 初始化MAC 层osal_init_system(); / 初始化操作系统 osal_int_enable( INTS_ALL ); / 使能全部中断 InitBoard( OB_READY ); / 初始化按键 zmain_dev_info(); / 显示设备信息 osal_start_system(); / 执行操作系统 Z-Stack操作系统初始化 OSAL.c byte osal_init_system( void ) osal_mem_init(); / Initialize the Memory Allocation System osal_qHead = NULL; / Initialize the message queue osalTimerInit(); / Initiaize the timers osal_pwrmgr_init(); / Initialize the Power Management System osalInitTasks(); /初始化系统的任务 osal_mem_kick(); / Setup efficient search for the first free block of heap. return ( ZSUCCESS );sapi.c

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1