提出了一种以ZigBee技术为核心的机动车综合检测系统方案,以CC2430无线通信芯片和LPC2292微控制器为核心设计了数据采集终端节点和网络协调器,并对系统的数据收发过程以及无线网络组网过程进行了详细分析,给出了关键技术实现过程。
随着无线技术应用领域的不断扩展,工业控制领域开始使用无线通信技术进行现场数据传输,与有线设备相比,无线通信技术具有成本低、无需布线等优点。近年来,面向低成本的无线网络通信标准ZigBee备受关注,不断开发出基于ZigBee标准的无线网络通信设备及基于ZigBee标准的无线网络通信技术(以下简称ZigBee技术)。ZigBee标准是建立在IEEE 802.15.4协议的基础之上,具备强大的设备联网功能。它主要支持三种自组织的无线网络类型:星型网络、对等网络、簇树状网络。网络系统节点具有多跳路由功能,特别是能够组成蜂窝网状网络结构,因此,具有很强的网络健壮性和系统可靠性。
ZigBee技术具有低功耗、低成本、短时延、高容量、免布线等特点,以其为核心对现有的机动车检测系统进行技术升级,将极大地简化系统结构,降低生产及维护成本。
1 系统总体设计
完整的机动车检测系统一般由后台管理系统、前台控制系统、现场检测系统三部分组成。后台管理系统由服务器、办公系统、收费机等组成;前台控制系统由主控计算机系统、前置板、光电开关、网络系统、录入程序、通信服务程序等组成;现场检测系统由CO/HC分析仪、烟度计、车速检验台、轮重仪、制动检验台、侧滑检验台、前照灯检测仪、声级计及二次仪表等组成。基于ZigBee无线网络的检测系统框图如图1所示。
在检测系统中采用星型拓扑结构,只有一个网络协调器控制整个网络的通信,主要完成网络同步和维护设备之间的链接管理。在网络中,终端设备之间不能直接通信,只能通过网络协调器配合完成设备之间的通信。
现场检测系统中每一个检测工位的检测设备均内置ZigBee模块成为无线终端节点,网络协调器通过UART接口与前台控制系统中的主控机相连。应用时,将终端设备(终端节点)连接于现场检测设备;基站(协调器)连接于前台主控制机。终端设备部分对实时采集的数据进行滤波处理计算,处理后的数据通过芯片CC2430内部集成的ZigBee射频( RF)前端调制成模拟信号发送出去。基站部分的CC2430将收到的远程数据解调后通过UART接口传输给上位机,进一步对数据进行处理、分析、显示、存储和共享。由于设备一次性置于现场数据采集点,无需额外布线,降低了施工难度和成本。同时,即使某一设备出现故障,也不会影响其他设备的正常工作,增强了系统的可靠性和稳定性。由于可以将设备带离现场数据采集点,也使检修工作更加方便快捷。
2 终端节点与协调器设计
终端节点由ZigBee芯片CC2430、LPC2292、外存储器Flash、ADC模块、RS232及RS485接口组成,负责现场检测数据的采集、存储与无线发送。终端节点硬件原理图如图2所示。CC2430是IEEE802.15.4标准的低成本、低功耗单片高集成度的解决方案,工作在ISM免费频带上,工作频率为2.4 GHz。
终端节点相当于通信协议转换器,根据所连接的检测设备(如CO/HC 分析仪、烟度计、车速检验台、轮重仪、制动检验台等)的接口特性设置了相应的通信接口(RS485、RS232以及A/D采样接口),直接进行数据采集与分析。控制模块主芯片是ARM7TDMI-S内核的LPC2292,最高工作频率为60 MHz,内含256 KB的Flash空间和16 KB的RAM空间,外围控制部分包括定时器模块、捕捉/比较模块、A/D转换模块、SPI接口和USART串口等,完成系统的控制和处理功能。
CC2430与主控制器是通过SPI连接的,其中主控制器处于主模式,CC2430处于从模式。LPC2292还有4个I/O与CC2430相连,主要作用为必要时查询CC2430的状态。CC2430使用SFD、 FIFO、 FIFOP和CCA 4个引脚表示收发数据的状态。SFD脚高电平表示处于接收状态;FIFO和FIFOP引脚表示接收FIFO缓存区的状态;CCA引脚在信道有信号时输出高电平,它只在接收状态下有效。CC2430是一个半双工的RF芯片,在同一时刻只处于一种工作状态。CC2430有15个命令寄存器,每个寄存器都有一个固定的地址。发送缓冲与接收缓冲是分开的:TXFIFO、RXFIFO各128 bit。
协调器的硬件结构与终端节点类似,在此不再赘述。数据传输的格式规定如表1,帧数据格式为:检测工位编号(1B)+数据内容(4B)。
2.1 硬件数据发送程序
发送程序首先通过查询状态字来确保CC2430允许发送,若允许发送,程序先把残留在TXFIFO中的信息清空,然后将待发送的数据包通过SPI写入TXFIFO中。然后通过SPI接口触发发送命令,即STROBE_ STXONCCA。通过状态位来判断是否发送成功,若不成功则调用CSMS/CA的算法多次尝试;若发送成功,则向上层返回发送成功的原语。程序流程如图3所示。
2.2 硬件数据接收程序
当CC2430接收到一个有效的数据包后,会通过拉高FIFOP引脚电平指示数据包的到来。主控制器检测到FIFOP的高电平会触发外部中断,利用中断函数来接收数据,此中断优先级设为最高。程序流程如图4所示。
3 网络建立与通信
本文设计的网络系统未使用ZigBee联盟定义的标准配置文件,而在应用程序中对网络进行配置。设置节点的最大子节点数为5,网络深度为3,子节点中最大路由器个数为3,由此可计算出网络最大节点数为66。
在ZigBee技术定义的LR-WPAN中,网络建立的起点是PAN网络协调器(PAN Coordinator)。节点在两种情况下将建立一个新的PAN网络: (1)在主动扫描时没有收到任何信标帧; (2)收到的信标帧参数与自身节点能力不相匹配。
建立PAN网络步骤如下:
(1)协调器节点加电后,首先由网络层发布NLME-NETWORK-FORMATION.request 原语,之后由网络层管理实体(NLME)请求MAC层检测网络信道,通过发布MLME-SCAN.request 原语扫描有效信道能量,扫描完成后的结果由MLME-SCAN.confirm 原语返回至网络层管理实体。NLME根据能量检测结果将能量水平较低的信道丢弃不用,之后对选出的信道进行主动扫描,最终找出建立网络的最佳信道(默认为18信道)。
(2)选择网络标识。每一个网络都分配有一个独立的网络标识PAN ID。网络中的设备根据此标识来确认自己所属的网络。在完成第一步的工作之后,协调器节点在此信道上选择一个随机的网络标识,并开始侦听该信道。本系统采用18号信道对应的PAN ID编号0x1aab。
(3)设定网络地址。一旦网络标识被选定,NLME将选择一个16位网络地址,同时通过发布MLME-SET. request原语修改MAC子层的PIB属性macShortAddress,与其保持一致。此时NLME将向MAC层发布MLME START.request 原语开始一个新的PAN的操作。然后,网络层管理实体(NLME)通过发送NLME-NETWORK-FORMATION.confirm 原语将初始化ZigBee协调器的执行结果通知上一层。
在ZigBee协调器设备建立网络后,终端设备可作为子节点加入协调器建立的网络,子节点加入网络的方式有两种:通过MAC层关联方式加入网络;通过指定的父节点直接方式加入网络。本文取前种方式。
首先子节点调用NLME-NETWORK-DISCOVERY.request 原语,设定待扫描的信道以及每个信道扫描的时间,一旦MAC层完成了扫描,将发送 MLME-SCAN.confirm 原语,告知网络层,网络层将发送NLME-NETWORK-DISCOVERY.confirm 原语,告知应用层,应用层从关联表中选择所发现的网络加入。一旦潜在的父节点确定,网络层将调用MLME-ASSOCIATE.request 原语到MAC层。当收到节点的入网请求后,协调器的MAC层会将分配给子节点的16 bit网络地址与其IEEE 64 bit网络地址存入AddressMap,并在NeighborEntry中加以记录。协调器将在关联表中创建一个表项,作为其子节点,并通过MLME-ASSOCIATE.reponse 原语,将16 bit网络地址包含在确认信息中返回终端节点。
图5是协调器组网以及终端节点入网的相关信息显示。在调试模式下硬件通过串口向计算机发送数据,串口传输设置为:速率9 600 b/s, 8位数据位,1位起始位,1位停止位,无奇偶校验。图5左侧显示了协调器组网及添加子节点的过程,右侧则显示了子节点入网过程。
ZigBee是一种高性能的短距离、低速率无线网络技术,具有广泛的应用前景。机动车检测系统终端设备较多、现场环境复杂,采用ZigBee技术来构建无线传感器网络、实现对各检测工位数据的实时处理,具有组网简单、系统花费少、扩展网络容易、通信稳定、维护简便等优点,这是机动车检测系统集成化、智能化的新趋势。
技术专区
- TLE9842-2QX主要特性_PCB设计图
- CMU机器人研究所_无人驾驶上路测试牌照Gatik.AI
- DRV10983-Q1主要特性_功能框图
- 自动驾驶汽车由自动驾驶机器人系统操控
- 汽车电子:全球前十大车用半导体供应商排行榜