MRF24J40的ZigBee网络分析及在电气监测中的应用

2019年11月12日10:56:12 评论

ZigBee是一种专注于低功耗、低成本、低复杂度、低速率的近程无线网络通信技术。ZigBee的组网能力强,广泛应用于无线传感网、嵌入式的自动控制和远程控制领域。ZigBee的协议栈由一组子层构成,由下至上依次是物理层、介质接人控制子层(MAC)、网络层、应用层,并与单片机配合完成数据包装收发、校验、各种网络拓扑、路由计算等复杂功能。

随着用户对电器智能化的要求越来越高,ZigBee技术需要传输更多的电气参量和现场参量,其中电压有效值和频率是确保电气系统稳定运行的重要参数。有线传输布线麻烦,会使电器结构复杂、成本增加、使用不方便,而采用ZigBee技术能够很好地解决这方面问题。

本文以Microchip公司的PIC18LF4620为核心,硬件收发电路采用MRF24J40芯片,结合ZENA网络分析仪器对ZigBee设备间的绑定和数据请求进行监控,测试终端将电气参数发往其他设备。

1 ZigBee协议栈结构和原理

ZigBee协议栈的分层结构中,最下面的两层是介质接入控制子层(MAC)和物理层,这两层是由IEEE 802.15.4定义的,而上面的网络层和应用层才是由ZigBee联盟定义的。网络层(NWK)负责设备到设备的通信,并负责网络中设备初始化、消息路由和网络发现;而应用支持子层(APS)可使用NWK提供的服务,实现数据传送和安全等服务。此外应用层还可以通过ZigBee设备对象(ZDO)进行网络层配置和访问,提供设备发现、服务发现和绑定管理服务。用户程序则通过240个端点与APS对接,实现用户功能。实现ZigBee任务的关键就是在应用层或者ZDO层中配置原语,单片机的任务就是不断地执行各种ZigBee协议栈任务。

2 ZigBee硬件和软件设计

2.1 ZigBee硬件设计

ZigBee相关的硬件设计包括两方面:一是以MRF24J40和PIC18LF4620为核心的射频电路;二是提供ZigBee网络分析的ZENA电路板。

MRF24J40的硬件电路包含去耦电路、平衡-不平衡变换电路和时钟振荡电路。与单片机相连的则是4线的串行SPI接口,它有中断、唤醒和复位功能。用户应用程序通过端点服务接口传到APS,再依次往下传至物理层,最后通过SPI控制MRF24J40将数据通过天线以电磁波形式发送出去,接收方的天线收到数据后则将数据逐层向上传递,请求应用层处理。在进行组网时至少需要3个这样的最小系统板,其中一个作为协调器,另两个作为终端设备或路由器。

ZENA电路板的核心是PIC18LF2550和MRF24J40,MRF24J40用于接收空气中的电磁波并传给单片机处理,最终通过USB传输到计算机中。而ZENA网络监视窗口就是该USB对接的界面,这样通过天线接收到的数据被还原成帧的形式显示出来,由此就可以判断ZigBee设备发送的数据是否正确。

2.2 ZigBee软件设计

ZigBee协议栈是通过下层的服务完成自己的功能,同时对上层提供服务。网络通信是在对等的层次上进行的,而这些服务是设备中的实体通过发送服务原语来实现的。原语中又包含很多参数,构造应用层的程序其实也就是对该服务相关的原语参数进行赋值。绑定的原语为:
APSME-BIND.request{SrcAddr,SrcEndpoint,Clusterld,DstAddrMode,DstAddr,DstEndpoint}。

该原语最前面的APSME表示这是一个APS服务原语,因此在执行ZigBee任务时将被送到APS.c文件执行。原语里的参数依次表示发送该原语设备的源地址、哪个端点发送该原语的、哪个簇标识符与目的设备绑定、目的地址模式是64位物理地址还是16位网络短地址、目的设备的地址值,以及将被送到目的设备的哪个端点执行。因此要向某设备发送绑定请求,首先要定义好使用哪个端点和簇ID来执行,并且要知道自己和对方的地址,对各参数赋值完毕后就令currentPremitive=APSME_BIND_request,设备就成功发送绑定请求了,并等待后续响应。

3 电压采样电路和测频电路

由于电力线路是高电压的交流电,而PIC18LF4620只能采样小于3.3V的直流电压,因此线路的电压都要经过变压器或互感器降压后再经过绝对值线路整流。本文选用电流型的精密微型电压互感器HPT304,互感器应用电路如图1所示。通过运算放大器输出,二次负载基本为0。被测的输入电压VIN通过限流电阻RIN限流,产生的0~2mA电流通过微型电压互感器。HPT304感应出相同的0~2mA。通过运算放大器可以调节反馈电阻R值在输出端得到所要求的电压输出,而电容C及电阻r是用来补偿相位差的。限流电阻RIN要有足够大的功率。

MRF24J40的ZigBee网络分析及在电气监测中的应用
图1 互感器应用电路

绝对值线路的作用是将交流变成直流,线路简单、容易实现。绝对值线路和绝对值线路仿真波形如图2和图3所示。图2放大倍数是R2/R1=5,选用的两个运算放大器最好是同在一个芯片上,这样出来的半波才会对称。

MRF24J40的ZigBee网络分析及在电气监测中的应用
图2 绝对值线路
MRF24J40的ZigBee网络分析及在电气监测中的应用
图3 绝对值线路仿真波形

用单片机算出交流电压的有效值,也必须先测出交流电压的频率,再根据频率确定每一个点的采样周期。这样计算的有效值才不会随频率的变化而变化。测频电路和测频电路输出波形如图4和图5所示。

MRF24J40的ZigBee网络分析及在电气监测中的应用
图4 测频电路
MRF24J40的ZigBee网络分析及在电气监测中的应用
图5 测频电路输出波形

电压有效值表达式为:

MRF24J40的ZigBee网络分析及在电气监测中的应用

式中:N为每个电源周期采样点数,uk为电压第k点的采样值。本文N为64。输入波形与采样脉冲如图6所示。

MRF24J40的ZigBee网络分析及在电气监测中的应用
图6 输入波形与采样脉冲

4 测试结果

本文的绑定实验采用间接绑定的方法,即由协调器来建立绑定表,两终端节点分别向协调器请求绑定。请求绑定的终端设备要给协调器发送数据请求,不过请求的簇为0x20,且端点为ZDO(0x00),因此该请求到达协调器后会进入ZDO处理绑定请求任务。从节点绑定的ZENA分析图可以看到,应用层最后面的AF数据帧包含了终端节点请求绑定的所有信息,如果两设备的输入簇和输出簇对应,模板标识符也一样,就能在协调器中建立绑定表。这里的输入簇和输出簇都是Test模板的缓冲请求簇(0x1C)。需要说明的是,当两个终端设备分别向协调器请求绑定后,协调器还要分别发送UnBind_req和Bind_req给各终端,并根据给出的响应设置标志位,当所有的工作完成后才能给请求绑定的设备发送簇(ID为end_device_bind_rsp)完成绑定。由于篇幅所限这里直接给出绑定的结果,协调器串口输出如图7所示。

MRF24J40的ZigBee网络分析及在电气监测中的应用
图7 协调器串口输出

绑定成功后,终端设备只需标明簇标识符就可以将数据通过协调器发送给绑定表中对应输入簇的设备。协调器收到终端采样数据,该数据为电网频率和有效值,在下一个工作周期内,协调器就会将数据根据绑定表传递给目的设备,目的设备收到数据后就能进行分析和处理,实现对现场的监控。值得一提的是,由于ZigBee协议栈本身的限制,数据最快也只能0.5s更新一次。

结语

本文组建了ZigBee无线网络,并由协调器统一管理绑定表,实现了电压有效值和频率的远程监控,经过ZENA分析测试,网络运行稳定。以PIC18LF4620为核心的单片机系统功能强大、性价比高,适合用于电气监测系统。

本文的创新点在于深入分析协议栈应用层原理,提供了使用Microchip ZigBee协议栈进行网络绑定的方法,并将电气在线监测和无线网络结合在一起,具有一定的推广应用价值。

发表评论

您必须才能发表评论!