《工业控制计算机)2006午19卷第6期 55 基于Zig bee芯片的数据采集系统在钢丝绳无损检测中的应用 Application of Data Acquisition System Based on Zigbee RF on Wire Ropes NDT 陈 凯 杨晓非 (华中科技大学电子科学与技术系,湖北武汉430074) 摘要 在一些恶劣的环境或者人难以到达环境下工作的钢丝绳,需要对它进行无损探伤检测和监测时,通过采集数据无线发 送的方式是一种较好的选择,但是这种情况下也造成了更换电池的困难,于是对系统的功耗问题提出了更高的要求。介绍一 种解决方案,利用Zigbee兼容的无线发射芯片和一款低功耗的MCU为核心组成数据采集以厦无线传输的模块,详细介绍 了所使用的一种简单的通信协议SMAC以厦应用程序实现一个点对点的数据受拉采集无线收发与数据波形显示的方案, 包括上位机的监控程序。 关键词:钢丝绳,低功耗,无线传输,IEEE802.15.4,ZigBee Abstract Wireless data transmission is a good choice when we need to test or inspect wire ropes which is used in some formidable or unreachable circumstance.But when the device is run out the power,it brings the trouble of battery replace— ment.And then this condition present a critical requirement on the system power consuption.In the article。we introduce a new solution based on zigbee compatible RF chip and a low power consumption MCU with excellent power management.The above two parts build up the core of the wireless transcieve module to implement a point to point data transmission..More— over a communication protocal in use named SMAC and the application firmware are introduced in detail including the in— specting software on computer Keywords:wire rope。low power consumption。wireless transmission,IEEE802 15.4。Zigbee 在现有的钢丝绳无损探伤设备里,大部分都是采用的数据 存,并且该监控程序支持将保存了的数据重新读出并回放数据 有线传输的方式,但是在一些大型的厂矿中,钢丝绳应用场所分 波形。其系统架构整体图,如图1所示。 布广泛,在设备众多的场合造成传输线布线困难的局面,另外, 钢丝绳使用的环境千差万别,有时检测设备很难到达钢丝绳工 作的现场。因此,采用无线传输的方式,便于受空间制约的钢丝 绳检测。在固定的检测点安装数据采集以及无线传输的模块进 , / 行长期的监测,并在远端采用相应的接收模块以及相应的控制 , / 和数据处理设备是一个较好的解决方案。但是,这样又带来了新 圈1系统架构图 的问题,数据采集端如果功耗较大,需要频繁地更换电池也会造 2系统实现 成很大的不便,而且功耗往往很大部分消耗在数据无线传输这 2.1无线传输模块的芯片选择 个环节上。因此,本文提出了一种基于Zigbee无线收发芯片的 MC9S08GT60是飞思卡尔半导体公司HCS08系列8位单 低功耗点对点无线传输的解决方案,可以在使用两节AA电池 片机中的一款,其工作电压为1.8V,性能和一些16bit单片机相 供电的情况下,使数据采集端工作至少半年以上。除此以外,该 当,但是功耗很低。它片内集成4KB RAM和60KB的FLASH 无线接人模块成本低、可靠性高、所占空间小、安装灵活、所使用 ROM,另外还集成了8个通道1O位AD转换器,2个SCI接口, 的通信协议栈可升级,便于今后众多数据采集端采用无线传感 1个SPI接口等,还有相应的内部时钟模块和后台调试接口 器网络的方式进行数据传输。 (BDM)。该单片机得最突出特点是具有多电源管理模式,在超低 1 系统架构 功率的STOP1模式下,内部电流为20nA;在局部低功率的 本系统数据采集端主要由磁阻传感器及相应的信号调理电 STOP2模式下,内部电流为400nA;在正常功率的STOP3模式 路、HCS08系列的MCU和IEEE802.15.4兼容的无线收发芯片 下,内部电路为500nA;内部时钟模块提供2KHz的振荡器,可 组成。AD转换使用MCU集成的AD控制器,其采样频率和精 以供STOP2和STOP3模式下运行,以定期的唤醒CPU。 度都能满足要求。MCU与无线收发芯片通过SPI总线连接。二 本系统由于需要移植专用的通信协议栈,所以对MCU提 者构成无线传输的模块。相应的通信协议与应用程序都在MCU 出了较高的要求。另外,本系统用于定期对钢丝绳进行检测,为 上实现。 了降低系统的功耗,大部分时间需要MCU处在睡眠状态,所 数据接收端使用相同的无线传输模块,并且利用RS232异 以,只要数据采集端没有接收到采集数据的请求时,就将数据采 步串El与PC机通信,其功能相当于一个接人点,一方面将主机 集端置于STOP模式下,大大降低了系统的功耗。 向数据采集端发送的控制信号以无线的方式发射出去,另一方 无线收发芯片采用得是MC13192,该射频芯片是飞思卡尔 面接收采集数据并上传给主机。 提供的一款zigbee兼容的无线收发芯片,其物理层是按照 主机端通过相应监控程序,向数据采集端发出数据采集请 IEEE802.15,4的标准来设计的,它选择的工作频段是2.405- 求,接收数据并实时显示数据波形同时将数据以文件的形式保 —————————]维普资讯 http://www.cqvip.com
2.480GHz。数据传输速率为250kbps,采用0一QPSK调试方 式.该频带划分为16个信道,每个信道占5MHz的带宽。采用直 接序列扩频(DSSS)的方式,由于传输输率低而且所占带宽大, 所以其信道的信噪比很大。 为了适应低功耗的要求,芯片除了接收、发送和空闲三种工 作状态外还有三种低功耗运行模式:一是停止模式,这种模式下 芯片电流小于1 A;二是深度睡眠状态,这种模式下电流在 2.3 A左右;三是浅度睡眠状态,该状态下电流约为351 ̄A。在本 系统中,当采集端请求数据采集的任务完成后,就将芯片置于深 度睡眠状态,等待下次请求的唤醒。另外芯片采用的是可编程功 率输出模式,发送功率为0—4dBm。传输距离30 ̄70m。 芯片由片内的48个16位的专用寄存器进行控制和操作, 包括数据寄存器,工作状态寄存器,中断控制寄存器等等。这些 寄存器是通过SPI接1:3来访问的,标准的四线SPI接1:3使得 MCU对芯片的访问与控制很容易实现。 芯片提供可编程输出时钟供MCU使用,进一步减少了外 围器件和简化了系统的结构。 2l2无线模块的硬件设计 该模块架构如图2所示,其主要的设计在于MCU对RF的 控制,其电路连接图如图3所示。MC13192外接16MHz的晶 振提供芯片工作所需的时钟,芯片本身具有可编程输出时钟,提 供MCU所需的时钟源,在这里设置同样设置为16MHz。标准的 4线SPI实现对MC13192的访问与具体的读写操作,SPSCLK 来源与MCU的总线,提供了4MHz的波特率实现读写操作。另 外还设置了两个通用的l/O口PTC2和PTC3分别用于RF收 发使能和唤醒操作。MCU对RF的大部分操作都是以中断服务 程序的形式来实现的,采用电平触发的方式,在中断触发后,中 断服务程序通过读取中断状态寄存器的相应位,来确定进行何 种的操作。 日国日 l-I调 l传感理器模信块号 黯 JJ IM应物A用理C层 lJ 电源管理模块 l —叫 驱动层 I 田2数据采集端系统结构圈 2.3系统软件设计 2.3.1底层驱动设计 驱动层包括主要是两部分的设计。一部分是对专用寄存器和 收发数据缓冲区的访问操作,另外一部分是MC13192的中断服 务程序的设计。其它的一些操作直接封装成函数供上层调用。 对寄存器的操作实际上是对SPI的驱动,每一次完整的 SPI操作至少要完成3个字节的数据传输。对于读操作,首先将 所要访问的寄存器地址(OxOO ̄Ox3f)写入SPI的数据寄存器,该 字节的bitO ̄bit5为地址,bit6置0,bit7为读写判别位(R/'W), 读操作置1,当CE变低电平后,在SPSCLK的作用下地址值经 过MOSI I=1发送到MC13192,紧接着先读取该地址对应寄存器 的的高八位,再读取低八位,最后将CE置高,完成一次读操作。 一次写寄存器操作同样是第一个字节发送6位的寄存器地 址。此时R/ 位置为0,再接下来的两个字节的发送过程中分 别通过SPI寄存器将高字节和低字节数据发送到MC13192对 应的寄存器中。 基于Zigbee芯片的数据采集系统在钢丝绳无损检测中的应用 MCl3192 MC9S08GT60 CE SS I Mosl M0SI MIso Mlso 槲z sPICLK sPsCLK RXTXEN P7℃3 丌’Ⅳ P7℃2 Q ,尺Q CLKo E 田3无线传输模块电路连接示意圈 MC13192有两个128B ̄e的数据缓冲区,分别用来缓存待 发送数据和已接收数据,通过SPI对这两个缓冲区的访问与访 问寄存器的方式相同,不同的是对于数据的读写,首先要读写数 据长度寄存器。确定当前数据读写的数量,接着只需要在开始时 写入一次数据缓冲区的地址值,随后的128个字节全部是有效 数据的传输,而不需要像访问寄存器那样每完成一个字的传输 然后重新寻址,从而减小了SPI传输在地址上的开销,提高了数 据传输的效率。 2.3l2 SMAC协议栈的移植 该通信协议栈,结构比较简单。除了应用层以外分为两层, 一层是物理层,一层是MAC层,所需要的系统资源少,但是能 够较好的完成整个系统所需要的功能。 物理层的功能实际上就是向上层提供了一系列的对 MC13192芯片功能实现的函数,上层通过这些函数接口就可以 直接实现所需要的功能,而不关心这些功能具体是怎么实现的。 这些功能包括:数据请求,状态切换,信道能量探测与选择,计数 器的设置,芯片复位等操作。 MAC层提供了13个完整的通信源语,通过这些源语就可 以灵活的编写应用程序。 2.3.3应用层软件设计 应用层软件包括数据采集端应用软件和数据接入点的应用 软件设计。通过对整个系统的需求分析,可知数据采集端长时间 处于非工作状态,只是当需要数据的时候,主机发送数据请求信 号来通知数据采集端进行工作,数据采集端先解析请求命令中 所要传输的数据量,然后采集并发送相应的数据,完成后自动进 入低功耗状态,等待下个命令的激活。图4所示为采集发送端点 固件程序的流程图,系统复位后相继对MCU和MC13192进行 初始化,然后选择通信信道、开中断并进入低功耗接收状态。如 ————j[一 初始化MCU/RF =二[ 选择通信信道 进入低功耗准备接收状态 应用层获得信号 收到谓莲.、、—,, .=> 底层收到信号 请求合法::—一 ! 是 初始ADC/开始采集发送 圈4数据采集端应用程序流程圈 (下转第59页) j 维普资讯 http://www.cqvip.com
《工业控制计算机12006年19卷第6期 3 系统的软件设计 稷摄jj确磺2X,飘秘 躁0 侪.舡般 59 冲击产生的干扰。印制电路板进行了合理分区,模拟电路区、数 字电路区、功率驱动区尽量分开,地线不相混和,分别和电源端 从控制系统要完成的功能可知, 软件编程主要由信号的采集,输出控 制和参数及状态显示三部分组成。信 号的采集包括了温度,流量。电压信号 的采集;参数和状态显示部分实现对 温度、流量、加热功率和故障的显示; 输出控制部分是由一系列算法完成, 图7是控制器控制算法的框图,其中 的地线相连。在信号的采集、处理以及传送的过程中采用带有光 耦的接口电路,实现单片机系统与外设之间的电隔离,以消除来 自外设的各个方面的干扰。为了防止程序在执行控制加热管动 作时出现干扰,使用指令复执、程序卷回的方法,让程序在一段 时间内连续循环执行这个动作,确保控制准确无误。在各功能模 块子程序适当位置设置软件陷阱,进行冗余设计,在信号采集与 处理程序中采用多种数字滤波的方法,以消除随机的尖脉冲干 il 承溢 T 锻 t l 远竹铺 儿 ● 锋 3rI.IJ.Ii. ● Il口一,0l|-∽ , 瞬黼藤 辅 包括出水温度反馈的PID控制输出, 扰。 < 三个前馈量控制算法输出,两者叠加 5结束语 ● 控制继电器和可控硅的工作,完成对 本系统通过采用以AT89S52单片机作为核心检测、控制器 燃咆麟卅作 电热水器的输出控制,继电器的实现 件实现了电热水器的自动快速恒温的功能,并且加强了安全保 ,卜一 粗调控制,可控硅做细调控制。控制系 护,加入了人为控制、抗干扰等功能,对传统的设计方案提出了 PWM叫。撺眭城节 统软件的设计采用模块化结构,由主 改进措施,加入了前馈控制环节,使调温速度更快,精确性更高, l 程序、中断服务程序、若干功能模块子 加入多项保护措施使系统使用更安全可靠,目前该项技术已成 豳7控制算法流程框图 程序组成。 功应用到了产品当中,效果良好。 4抗干扰设计 由于实际使用环境的复杂性,存在着各种各样的干扰因素, 参考文献 因此应采取一些措施来抑制和消除来自各方面的干扰,以维持 [1]金权林.电热水器的热平衡及参数选择[J]l家用电器科技,1996(1) 系统的可靠性,使其正常工作。本系统从硬件和软件两方面采取 [2]杨宁,胡学军.单片机与控制技术[M].北京航空航天大学出版社, 了抗干扰措施。 20O5(3) 在电源设计中采用多级滤波和多级稳压的方法来消除瞬态 [收稿日期:2005.12.1] 干扰,提高直流输出电压的稳定性,以消除电源电压波动和浪涌 l●I|_●…● ●0,¨●l¨● (上接第56页) 果此时收到底层上传来的请求信号,则对请求信号进行判别并 解析请求信号中所要求的数据量,然后初始化AD模块,进行采 集并发送出去。发送完毕后,系统进入低功耗准备好接收模式。 针对定期检测的要求,数据采集端实际上长时间处于低功耗的 状态,电池供电能够满足要求。 接收端应用程序要实现的功能是将主机端监控程序发送的 数据请求信号发送出去,另外还要接收数据采集端的数据并上 传给主机。首先,进行系统初始化并开中断,完成后系统进入睡 眠模式。当主机端需要数据时,通过应用程序发出数据请求命 令,并通过串口将命令发出,此时将会触发系统的串口中断激活 系统。然后,中断服务程序将系统置为发送命令状态,先解析命 令信号,接着将命令信号打包发送出去,发送成功后将进入等待 图5数据接收端应用程序流程圈 接收数据模式。此后,如果有数据发送过来,底层将数据上交到 耗,能够在很长时间内稳定的工作,另一方面,由于无线信号在 应用层后,就直接将数据通过串口上传给主机。这样就完成了一 2.4GHz频带上传输,采用直接序列扩频,传输带宽为5MHz,而 次数据传输。 且传输速率不高,所以该信号抗干扰能力很强,通过大量的实验 2.4主机端监控软件设计 ‘ 分析得出数据波形失真小,能够准确的反应出钢丝绳断丝信号, 上位机的程序是基于串口通信来设计的。Visual C++的环 满足我们的技术要求。 境提供了串口通信控件,该控件控件采用的是事件驱动方式,很 另外,本文提出的解决方案有这很大的系统升级空间,该系 方便的对串口进行操作。软件通过串口发送任意数据量请求命 统实际上是一套Zigbee技术的解决方案,可以通过在该系统上 令,接收数据时通过进度条反映数据接收过程,并通过波形显示 移植Zigbee协议栈,然后将系统扩充成众多采集点受控于一个 界面实时显示数据波形,同时将数据保存到数据库中,可以重新 主接人点进行分布式采集的无线传感器网络。 载人程序中进行数据波形回放或者对数据进行进一步的分析。 3结束语 参考文献 采用无线传输方式来解决处于恶劣或者难以到达的环境中 [1]Freescale Semiconductor INC MC9SO8GB6O/D.Rev 2.3 12/ 的钢丝绳监测问题最重要的问题为功耗问题和数据传输的可靠 2004.http:/1www.freescale.corn 性问题。本文所提供的解决方案极大的降低了数据采集端的功 [收稿日期:20051214]
因篇幅问题不能全部显示,请点此查看更多更全内容