基于CC2530的无线传感器网络节点设计.ppt
基于CC2530的无线传感器网络节点设计,第一节 无线传感器网络,一、无线传感器网络的基本概念无线传感器网络(Wireless Sensor Networks,WSN)就是由部署在监测区域中大量的廉价微型传感器节点组成,通过无线通信方式形成的一个多跳的自组织网络系统,其目的是协作地感知、采集、和处理网络覆盖区域中感知对象的信息,并发送给观察者。无线传感器网络的三要素:传感器、感知对象和观察者,无线传感器网络与Internet的区别:Internet构成了逻辑上的信息世界,改变了人与人之间的沟通方式。而无线传感器网络就是将逻辑上的信息世界与客观上的物理世界融合在一起,改变人类与自然界的交互方式。人们可以通传感器网络直接感知客观世界,从而极大地扩展现有网络的功能和人类认知世界的能力。无线传感器网络是大规模的网络,自组织的网络,动态性的网络,可靠性强的网络,以数据为中心的网络,与应用相关的网络。无论是互联网还是传感器网络均可以说成是现代物联网技术的一种应用。,无线传感器网络的应用:无线传感器网络的应用前景非常广阔,能够广泛应用于军事、环境监测和预测、健康护理、智能家居、建筑物状态监控、复杂机械监控、城市交通、空间探索、大型车间和仓库管理,以及机场、大型工业园区的安全监测等领域。随着无线传感器网络的深入研究和广泛应用,它将逐渐深入到人类生活的各个领域。,物联网:物联网是新一代信息技术的重要组成部分。其英文名称是“The Internet of things”。由此,顾名思义,“物联网就是物物相连的互联网”。这有两层意思:第一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信。因此,物联网的定义是通过射频识别(RFID)、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议,把任何物品与互联网相连接,进行信息交换和通信,以实现对物品的智能化识别、定位、跟踪、监控和管理的一种网络。,二、无线传感器网络的体系结构 无线传感器网络通常包括传感器节点(sensor node)、汇聚节点(sink node)、和管理节点大量的传感器节点随机部署在检测区域内部或附近能够通过自组织方式构成网络。传感器节点监测,的数据沿着其他传感器节点逐跳地进行传输,在传输过程中监测数据可能被多个节点处理,经过多跳后路由到汇聚节点。最后,还能通过互联网或卫星到达管理节点。用户通过管理节点对传感器网络进行配置和管理,发布监测任务以及收集监测数据。传感器节点:通常是一个微型的操作系统,它的处理能力、存储能力和通信能力相对较弱通过携带能量有限的电池供电。从网络功能上来看,每个传感器节点兼顾传统网络节点的终端和路由器双重功能。除了进行本地信息采集和数据处理外,还要对其他节点转发来的数据进行存储、管理和融合等处,理,同时与其他节点协作完成一些特定任务。目前传感器节点的软硬件技术是无线传感器网络研究的重点!(个人认为,通过这句话我们可以找到目前设计和研究无线传感器网络的突破点)汇聚节点的处理能力、存储能力和通信能力相对比较强,它连接传感器网络与Internet等外部网络,实现两种协议栈之间的通信协议转换,同时发布管理节点的监测任务,并把收集的数据转发到外部网络上。汇聚节点既可以是一个具有增强功能的传感器节点,有足够的能量供给和更多的内存与计算资源,也可以是没有监测功能仅带有无线通信接口的特殊网络设备。,二、无线传感器网络节点结构 传感器节点是传感器网络的基本单元,一般由处理器模块、无线通信模块、传感器模块和电源管理模块组成。,节点各部分功能如下:(1)处理器模块:处理器模块是无线传感器网络节点的计算核心,所有的设备控制、任务调度、能量计算和功能协调、通信协议、数据融合和数据转储程序都将在这个模块的支持下完成,所以处理器的选择在传感器节点的设计中至关重要。传感器网络节点的处理器应该满足如下的要求:外形小,集成度高,功耗低,运行速度快,足够的外部通用I/O接口和通信接口,成本低,有安全保证。(2)无线通信模块:传感器网络的数据通信协议包括物理层、链路层、网络层和应用层。由于传感器网络的特性,主要关心无线通信协议的物理层和MAC层的技术。无线传感,器网络节点消耗的主要能耗也集中在这个模块中,所以要考虑通信模块的工作模式和收发能耗,这对于降低单个传感器节点的能耗以及延长整个传感器网络的寿命非常关键。(3)传感器模块:传感器模块主要由各种类型的传感器和AD/DC转换等子模块构成。被监测物理信号的类型决定了传感器单元的类型,而且不同类型的传感器在功能和能耗方面都存在很大差异。可以根据我们感兴趣的物理信号,使用不同类型的传感器进行数据采集,然后传送给处理器模块进行必要的处理。,(4)电源管理模块:电源管理模块不但为传感器节点提供正常工作所必需的能源,同时提供必要的电源管理机制来延长无线传感器网络的寿命。因此,传感器节点是一个完整的嵌入式系统,要求其各个模块的性能必须是相互协调和高效的,各个模块的选择可以根据实际的应用系统来进行权衡和取舍。,三、无线传感器网络的特点(1)节点众多:一般情况下传感器节点的数据传输距离远、速率慢,所以为了获取精确的信息,通常在监测区域部署大量的传感器节点。(2)网络自组织:在被部署区域,传感器节点的位置通常是不固定的,甚至是移动的节点间的相互邻居关系也不能预先知道,甚至是随时变化的。这就要求节点能自动配置和管理,通过拓扑控制和网络协议形成转发监测数据的多跳网络系统。,(3)多跳路由:单节点通信距离有限。如果希望与其通信能力覆盖范围外的节点通信,则需要通过中间节点进行路由。这样每个节点既可以是信息的发起者,也可以是信息的转发着。(4)网络动态性:节点可以随处移动,也可以随机退出或加入到网络中。网络的拓扑结构总是处在变化中。(5)网络以数据为中心:网络以数据为中心:传感器是网络获取数据的本源,没有了传感器,网络也就失去了意义。,(6)面向应用的网络:传感器用来感知客观的物理世界,获取物理世界的信息量。客观世界的物理量多种多样。不同的传感器应用关系不同的物理量。因此,传感器对应用系统的要求具有多样性。因此网络的部署必须有目的性,没有哪一种网络可以适应所有的应用场景。,第二节 基于CC2530的节点设计,一、无线传感器网络节点的设计要求 设计传感器网络节点需要考虑以下几个方面:(1)微型化:无线传感器网络节点在保证对目标系统本身的特性不会造成影响的基础上,要求在体积上尽可能的小。在某些应用场合,甚至需要目标系统能够小到不容易让人察觉的程度,来完成一些特殊任务。在软件方面,要求所有的模块的软件都应该精简,没有冗余代码,对不同的应用系统需要配套不同的软件代码。,(2)扩展性和灵活性:无线传感器网络节点需要定义统一的、完整的外部接口,在需要添加新的硬件部件时,可以再现有节点上直接添加,而不需要开发新的传感器节点。可以根据需要开发多种应用,在相同的硬件平台上实现多种应用。软件的扩展性体现在节点的软件不需要额外的设备就可以自动升级。(3)稳定性和安全性:传感器节点的各个部件都能够在给定的外部变化范围内正常工作,在给定的温度、湿度、压力条件下,传感器网络节点的各个模块都要保证正常的功能,所以传感器节点必须具有稳定性和安全性。稳定性在软件上也要得到保证,一方面要保证逻辑上的正确性与完整性,另一方面保证硬件上出现问题时,能够及时的感知并采取积极的措施,如协议栈复位等。,(4)低成本:低成本是无线传感器网络节点的基本要求。只有低成本,才能大量地布置在目标区域中,也才能表现出无线传感器网络的各种优点。低成本也对传感器节点各个部件都提出了苛刻的要求。,二、芯片选型 调研了目前国内外现有典型的无线传感器网络节点的基础上,总结出传感器节点的设计方式主要有两种方式:一种是MCU+射频芯片;一种是集成了MCU+射频收发模块的SOC。上面介绍的典型的传感器节点基本上采用的是第一种设计方式,但是这种设计方式用在复杂的环境如矿井下会产生一些弊端。由于传感器节点主要是由单片机与无线通信模块的组合,而非集成于一个芯片上,这必然需要人为的布置单片机与无线通信模块的连接,这种组合连接方式的兼容性与芯片之间数据传输可靠性不如集成方式强,对于矿用器件,应该选用更加可靠的传输方式。同时,传感器节点各部件的这种组合与集成于一个芯片上设计相比,大大增加了节点的体积与重量。,针对以上弊端,我们采用集成MCU+射频收发模块的SOC设计方式,而且这种设计方式能实现节点的更微小化和极低的功耗。拟采用TI公司的CC2530为核心来设计传感器节点。之所以选用CC2530原因如下:(1)根据项目实际需求和矿井下实际情况,采用ZigBee这种通信数据量不大、低数据传输率、低成本、低功耗而且具有安全可靠性的这种无线通信技术,做为该无线传感器网络的组网通信方式最为合适。(2)CC2530集成单片机、ADC、无线通信模块于一体。与前述系列典型的节点相比,大大提高了单片机与无线通信模块,组合时的可靠性,同时也减小了节点的体积与质量。(3)CC2530支持最新的ZigBee协议ZigBee 2007/PRO,而TI之前的SOC射频芯片CC2430/CC2431等不支持ZigBee 2007/PRO协议栈。ZigBee 2007/PRO相对于以前的协议栈具有更好的互操作性、节点密度管理、数据负荷管理、频率捷变等方面有重大进步,且具有支持网状网络和低功耗特点。这就使得运用CC2530设计出来的节点通信距离更远,组网性能更稳定可靠。,(4)CC2530相对于CC2430/CC2431来说性能更优、价格更低。价格:由于TI早已停产CC2430/CC2431造成目前市场上的该类产品均为库存,“求大于供”每片CC2430有二十多元,每片CC2431的价格更是高大一百元。而每片CC2530的价格大概在十八元。注:CC2431内部集成有硬件定位引擎而CC2430内部没有。其他性能二者均相同。性能:以下是CC2530与CC2430/CC2431之间的性能比较:,注:CC2530的引脚描述为:,三、CC2530的CPU介绍 针对协议栈,网络和应用软件的执行对MCU处理能力的要求,CC2530包含一个增强型工业标准的8位8051微控制器内核,运行时钟32MHz。CC2530增强型8051内核使用标准8051指令集,因为:(1)每个时钟周期为一个机器周期而标准8051中是12个时钟周期为一个机器周期;(2)除去被浪费掉的总线状态的方式使得使用标准8051指令集的CC2530增强型8051内核,具有8倍于标准8051内核的性能。由于指令周期在可能的情况下包含了取指令操作所需的时间,故绝大多数单字,节指令在一个时钟周期内完成。除了速度的提高,CC2530增加内核还增加了两个部分:1)第二个数据指针;2)扩展了18个中断源。CC2530的8051内核的目标代码兼容标准8051的微处器。换句话说,CC2530的8051内核的目标码与标准8051完全兼容可以使用标准8051的汇编器和编译器进行软件开发,所有的CC2530的8051指令在目标码和功能上与同类的标准的8051产品完全等价。不管怎样讲,由于CC2530的8051内核使用不同于标准的指令时钟,因此在编程时候与标准的8051代码略有不同,主要是因为外设如定时器等不同于标准的8051。,四、无线射频电路设计 CC2530内部集成的无线通信模块其内核是符合IEEE802.115.4/ZigBee协议的,支持CRC硬件校验。CC2420具有完全集成的压控振荡器,只需要天线、晶振等少量的的外围电路元器件就能在2.4GHZ的频段上工作。CC2420内部使用1.8V工作电压,因此功耗很低,适合用于电池供电的设备;片内集成的直流稳压器,能够把外界提供的3.3V的电压转化为1.8V电压。在无线射频电路的设计中以下内容需要考虑:,(1)阻抗匹配。射频输入/输出匹配电路主要用来匹配芯片的输入输出阻抗CC2530 最佳的输入输出阻抗为50,同时为芯片内部的功率放大器(PA)及低噪声放大器(LNA)提供直流偏置。CC2530的射频信号采用差分方式,其最佳差分负载是69+29。符合这个要求时,信号传输中没有信号反射产生,这样就使得到达天线的信号最强。输出阻抗与制作PCB的板材、线宽、层间距都有关系。所以在制作PCB时,应该向厂家说明输出部分线路的阻抗匹配要求,由厂家来完成设计和计算,以确保最终的电路板能满足阻抗匹配要求。,注:通常无线射频电路要求板材的介电常数越小越稳定越好。介电常数越小,层间的电子移动越少,射频信号的泄漏也会越小,射频信号在板上的损失就越小。(2)高频信号泄露。在 CC2530 中,本振(LO)信号尤其需要控制,否则,耦合到电源层或者输出信号线中,将对发送信号造成很大的干扰。控制本振泄露的几种有效方法是:选择高 Q 值(Q 值表示器件的传输能量和器件本身损耗能量的比值。Q 值越高表示损耗越小,器件的质量越好)的 VCO(压控振荡器)电感;并且VCO电感需要放置在与VCO相对应的位置。,注:本振(LO):就是LC振荡器.用在超外差接收机中.超外差接收机中有一个振荡器叫本机振荡器.它产生的高频电磁波与所接收的高频信号混合而产生一个差频,这个差频就是中频.如要接收的信号是900KHZ.本振频率是1365KHZ.两频率混合后就可以产生一个465KHZ或者2265KHZ的差频.接收机中用LC电路选择465KHZ作为中频信号.因为本振频率比外来信号高465KHZ所以叫超外差。(3)射频天线的选择。射频天线需要考虑如下一些问题:天线形状、输出方向、天线长度、天线的材料。天线的形状有很,多种,有杆状天线、环形天线和螺旋天线。从输出方向上分为全向天线和定向天线,全向天线在水平平面上各个方向都有信号输出;而定向天线通常只在某些特定的方向上才有信号输出。对于传感器节点 应用来说因为不能预期其周围传感器节点的分布状况,所以一般都要选择全向 天线。一般杆状天线、螺旋天线和环形天线都可以在水平平面上实现全向收发,所以都可以考虑使用,只是在体积上有所区分。天线的长度和射频信号的频率相关,一般选取射频波长的整数倍或者整分数倍,对空间有限的应用,,,一般采用1/2 或者 1/4 波长的天线。天线的材料一般选用 Q 值比较低的非屏蔽线电路板上的信号往往要求信号的损失越小越好,所以选择器件都会选择 Q 值比较大的器件,而天线要尽量大地往电磁能量散播的空间中,才能有比较高的效率,所以需要选择 Q 值比较小的材料。,单极性天线是一种共鸣天线,长度为其波长的 1/4。这种天线很容易设计,而且可以被设计为线形,甚至能够集成到 PCB 中去。1/4 波长的单极性天线的长度可以由式子:L=7125/f 获得。其中 f 的单位是 MHZ,L 的单位是 cm。对于 2450MHZ的单极性天线来说,它的长度是 2.9cm。微带天线是在带有导体接地板上贴加上导体薄片而形成的天线,它是利用微带线或者同轴线供电,在导体贴片与接地板之间激励起射频电磁场,并通过贴片四周与接地板间的缝隙向外辐射。与接地板间的缝隙向外辐射。为了使用少量的元器件,以及降低成本,TI提供了可以应用于CC2530的Microstrip Balun。Balun设计的目的就是使得:在发送模式时,把差分RF引脚的输出转化为单端50RF信号;在接收模式时过程正好和发送模式相反。电阻匹配已经直流供电到输出阶段也在巴比伦中执行。由于这种设计的具体性能将很大程度依赖于Microstrip Lines的布置,所以精确复制参考设计是非常重要的。,以及降低成本,,使用单极子的一个不平衡的天线,应该使用一个巴伦来最优化性能。巴伦可以使 用低成本的分立电感和电容实现。显示的推荐巴伦包括C262,L261,C252 和L252。,(4)PCB设计过程中要注意的是选用器件的封装、布局的位置都有可能对整个射频模块电路的性能产生影响,所以电阻、电容、电感都推荐使用0402封装的器件,并且要尽量放置在距离CC2530芯片各引脚比较近的位置。(5)PCB板层设计:射频模块的PCB板层推荐使用双面板进行电路的设计。其中一面放置元器件和走线。两一面尽量保证一个完整的地平面,并且射频信号部分不能有任何信号线。,五、传感器模块设计 在无线传感器网络中,传感器模块是非常重要的,它是采集数据的原始来源,同时基于系统通用性考虑,采用的多种传感器支持在软件和硬件上兼容。CC2530的外设接口是可配置的,把它的接口用插针引出,根据不同的应用随时添加不同的传感器。我们主要采用是低功耗、低成本的数字式传感器,把采集获得的感兴趣的信息存储在CC2530的存储器中,然后把,CC2530通过定时发送数据的方式或是通过超过阈值的方式把数据发送给协调模器块接收。,注:电阻R301主要用来为32 MHz的晶振提供一个合适的工作电流;R301为56 k,六、外围的接口设计以及节点电路描述 根据实际需要,传感器节点提供用户接口供接入各种功能传感器(包括温度传感器、CO传感器等),USB控制器的接口等。1.电源模块 使用稳压芯片TPS73033在输入2.0V 3.6V情况下,保证输出稳压3.3V。(具体的TPS79333的参数下去可以详查其Datasheet),2、时钟模块 在设计的网关节点(依据ZigBee技术组网时该类节点可以成为协调器节点)的扩展板时在四位数码管上需要显示年、月、日、时、分、秒,并且按秒要时时更新。这里选用了一种体积非常小的表贴式芯片DS1302。该芯片在使用时需外接备份电池和外部晶振,电池用来保持主系统在意外掉电时为时钟芯片供电,外部晶振用来提供时钟芯片所必须的振荡来源,标准频率为32.768kHz.,3、数码管显示模块 为了防止添加传感器后,数码管发生随机亮灭的现象。我们需要在IO口与数码管的连接处加上锁存器SN74H373其相关参数为:电压范围:-0.5V-7.0V 输入钳位电流:+/-20mA 输出钳位电流:+/-20mA 连续输出电流:+/-70mA 由此可见,该芯片的主要参数均符合该设计的相关应用。,3、声光报警模块 按照国家对矿井下监控设备的要求,必须实现声光报警功能,所以在传感器节点的设计中,加入了声光报警模块。,4、RS232接口模块 RS232接口负责节点与PC之间的通信。其中,SP3232芯片负责RS232电平的转化。,5、JTAG接口模块 JTAG接口主要是用来连接仿真器,然后再由仿真器来连接PC,对节点实现程序的下载和在线调试功能。注:通过仿真器下载程序过程中用到的引脚只有1、2、3、4、7,也就是说除了电源、地和复位线以外,只需要DC、DD两个调试线,其中DC是调试时钟信号线,DD是调试数据线。其他信号线TX1、RX1与CC2530的串口相连。9、10两引脚用来做了普通接口线。,最后协调器/网关节点总体的样式为:,六、传感器介绍1.温度传感器 这里选用美国DALLAS半导体公司推出的数字化温度传感器(传感器探头、数据调理、数据转化-ADC已全部集成有芯片内部),该传感器只输出数字信号设计中只是负责简单地监测外部环境的温度。该传感器具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器特点。引脚介绍:GND:地;DQ:信号输入输出;VDD:电源正。硬件链接采用单总线,即采用单条信号线直接连接一个IO口即可。单条信号线既可以传输时钟信号又可以传输数据。,注:该单总线通常要外接一个约为5k的上拉电阻。,七、电路板布线设计原则 为减少干扰提高设计电路的可靠性,布线时一般要采取了以下措施:(1)适当加宽电源线和地线的宽度。导线宽度应以能满足电气性能要求而又便于生产为宜,它的最小值以承受的电流大小而定,在电路设计中适当加宽电源、地线的宽度,遵循地线宽度电源线宽度信号线宽度的原则,传感器节点PCB设计中分别取地线为40mil、电源线30mil、信号12mil。,(2)信号线近距离走线时应尽量避免平行走线,防止平行走线引入的“交叉干扰;走线间距在可能的情况下尽量满足3W原则,即平行走线之间的边缘距离不小于单根走线宽度的2倍。(3)遵循导线尽可能短的原则,高频电路布线和晶振的走线连接更应如此;导线的拐弯应成圆角或45度折线,避免直角或尖角在高频电路和布线密度高的情况下产生内部边缘电场噪声;双面布线时,两层导线采用相互垂直、,斜交或弯曲等走线方式,以避免相互平行产生的寄生耦合。(4)数字电路与模拟电路分开;同一功能的电路安排在一定范围之内;各功能电路的滤波网络就近连接;对于电路中易受干扰的器件,布局时避开干扰源。CC2530射频电路工作2.400GHz2.4835GHz高频率工作频段,抗干扰设 计直接关系到射频部分的性能和整个传感器节点的运转情况。在射频部分布,线时,合理的布局和布线设计及采用多层板既是布线所必须的也是降低电磁干扰提高抗干扰能力的有效手段。布线设计时要特别注意以下几点:一是射频电路没有用做布线的面积均需用铜填充并连接到地,以提供RF屏蔽达到有效抗干扰的目的;二是CC2530芯片底部应该接地,为了降低延迟、减少串扰,确保高频信号的传输,要使用多个接地过孔将芯片底部和地层相连;三是尽可能地减少串扰,减少,分布参数的影响,所有的元器件要尽可能紧密地分布在CC2530的周围,并 使用较小封装,例如电阻、电容和电感都采用0402封装。我们可以采用4层电路板设计:第1层布设信号线;第2层布设数据线;第3层布设供电线路;第4层布设接地线路。这样相对于双面板来说,节点的性能更稳定,通信距离更远。,八、模块功能实现 在介绍系统模块功能实现之前先简单介绍以下ZigBee协议栈:,按照OSI模型,ZigBee网络分为4层,从下向上分别为物理层、媒体访问层(MAC)、网络层次和应用层。最低两层即物理层和MAC层应用了IEEE802.15.4协议标准,而网络层和应用层由ZigBee联盟制定,每一层向他的上一层提供数据和管理服务。ZigBee的应用层有应用支持子层、ZigBee设备对象组成。,1.节点工作总的流程为:系统在上电复位后,首先进行初始化工作,然后进入程序主循环,检查收发机状态,并进行数据收发,判断数据收发是否结束,继续进入循环并发送或接收数据。初始化过程主要有初始化1/O、MAC层、网络层、建立信道等。系统具体初始化流程如下图:,2.节点初始化:节点初始化是和zigBee协议栈紧密关联,其实也是协议栈的初始化301,软件协议栈在底层工作,提供底层驱动,根据节点配置信息进行一些硬件的初始化工作。下面给出初始化流程图:,3.协议栈初始化函数 Tl提供的Z一Stack的物理层功能函数有:MAC_init/MAC层初始化MAC_InitDeviee/初始化设备MAC_initCoord/初始化协调器MAC_McPsDataReq/应用层请求发送数据MAC_MlmeAssoeiateReq/设备请求连接MAC_MlmeAssoeiateRsp/协调器对连接请求响应 应用层初始化函数:,(1)射频初始化函数 BOOL sppInit(UINT32 frequency,BYTE address)初始化简单的数据包装协议:simple Packet Protocol(SPP)(2)发送数据包函数 BYTE sppSend(SPP_TX_STRUCT*pPacketPointer)发送length字节的数据(最多122)(3)接收数据包函数 void sppReceive(SPP_RX_STRUCT*pReceiveData)这个函数使能接收122字节,包括头和尾。,(4)射频主函数,这里重点介绍一下通信功能实现:无线模块数据的发送函数的主要功能是把消息转换成无线传感器网络通信要求的数据格式,并通过射频模块的硬件发送出去。数据发射函数:BYTE sppSend(SPP_TX_STRUCT*pPacketPointer)它是整个消息进行无线发送的源头,它能发送一个长度达到122字节的消息(因为加上头传感器节点信息以及状态标志信息的,最大值不能超过128字节),根据目的地址和源地址,选择确定消息发送的通道,将该消息成功的发送到目的地址。无线模块的数据,接收函数的主要功能是把接收到的数据转换成消息的格式,并传输到相应的模块来处理这些数据消息。数据接收函数:Void sppReceive(SPP_RX_STRUCT*pReceiveData)无线传感网络中,它能接收满足接收缓冲区(RX FIFO)大小的数据包,当通道有信息传送时,接收的数据将产生通道触发,当数据包消息被传送接收时,通道将产生中断,调用中断函数,以完成整个消息的接收工作。由于射频模块的传输数据量一般都比较大,这里编写了针对Radio模块的DMA驱动程序,主要包括两个程序文件:,dmaFromRadio.c和dmaToRadion.c。下面简单介绍下,其中两个主要函数所完成的功能:Void culDmaToRadio(DMA_DESC*pDmaChannel,WORD length,BYTE*pSrcAddr,BOOL generateInterrupt)函数功能:配置DMA通道,把指定大小的数据传送射频发射缓冲区TX FIFO中。传送成功后,DMA控制器将产生相应的中断事件,来实现进一步的处理。Void culDmaFromRadio(DMA_DESC*pDmaChannel,BYTE*pDstAddr,BOOL generateInterrupt),函数的功能:配置DMA传送从射频接收缓冲区读取到的数据信息,传送数据的第一个字节用来表示传送数据信息的大小,最大可到128个字节。在传送完成后,DMA控制器将产生相应的驱动,来实现进一步的数据处理。,九、Z-Stack组网试验结果 在IAR Embedded Workbench IDE编程平台上编译好程序,配置好节点后逐步得出以下结果:(1)开启协调器节点,(2)开启路由器节点并于协调器节点建立连接,(3)开启终端传感器节点并通过路由器的路由功能与协调器建立连接,组网成功,并实时显示监测数据。,感受:1.射频是核心,协议是根本!2.唯有通过实际的产品,我们才能感受大无线传感器网络节点的神奇和奥妙!Thank you!,