APP下载

车载交通信号灯状态采集和显示系统设计

2019-04-22刘恒源彭卫青裴博肖建利张目雷王法社

科技视界 2019年5期
关键词:ZigBee技术无线通信

刘恒源 彭卫青 裴博 肖建利 张目雷 王法社

【摘 要】本设计为车载信号灯状态采集和显示系统。该系统由交通灯控制模块、Zigbee协调器模块,Zigbee终端等模块构成。交通灯模块通过串口将信号灯状态信息传送到协调器,利用Zigbee无线通信技术将信号灯状态信息发送给终端并显示。利用CC2530及外围接口搭建硬件,Z-stack协议栈编写底层软件。测试结果表明:该系统能及时、准确的采集、显示交通灯状态信息。

【关键词】交通信号灯;无线通信;Zigbee技术

中国分类号:U495 文献标识码: A 文章编号: 2095-2457(2019)05-0061-003

0 引言

随着汽车的逐渐普及,城市交通安全和路口通行效率等问题日益突出。如何抑制交通事故的上升趋势,成为当今智能交通[1-3]系统的主要研究方向,针对恶劣天气(大雨、大雾、强光环境)以及有阻挡物使汽车驾驶员无法准确观察和判断交通信号灯的问题,交通灯状态信息采集是关键。电子信息技术的进步加速了智能系统的研发进程。但由于交通场景复杂,且各国标准的不一,导致至今仍然没有一种行之有效的交通灯信息采集和状态显示系统。本文设计了一种车载交通灯信息采集和显示系统,不但能够给驾驶者提供交通灯状态的时间信息,驾驶者能对交通狀态做出预判,能有效地降低路口交通事故发生率,同时为当前日益发展的智能交通和智能车辆交通灯信息采集提供一种解决方案。

1 系统总体结构

基于Zigbee的车载交通信号灯状态采集和显示系统设计,它是由交通灯控制模块、无线通信及显示模块构成,它可以实现将交通信号灯所传达的视觉信息通过无线的方式传达给车内的驾驶员。

图1中,ZigBee协调器模块与ZigBee接收终端模块主要是由CC2530芯片组成。其中,协调器模块与交通灯控制模块通过UART串口相连,协调器模块主要是负责建立协调器网络,及时获取信号灯的状态信息,并允许设备加入到网络中;接收终端模块与车内的显示模块相连,接收终端模块是将获取的信息状态传输给显示模块。ZigBee协调器模块与ZigBee接收终端模块共同组成了无线通信网络,实现交通灯信号的实时传输。当车辆进入到信号发射半径内时,由ZigBee特有的自组网功能,ZigBee接收终端模块会自动作为终端节点加入到网络中,由此获取交通灯的状态。通过基于ZigBee技术的车载交通信号灯状态采集和显示系统,能够体现出其信息传输的时效性。

2 硬件设计

此系统属于传输的详细内容为:交通灯控制模块控制的交通灯周期性变化,然后又由协调器模块通过串口接收来自交通灯周期性变化的信息,接着协调器模块会将信息通过网络传达给接收终端模块,最后接收终端模块会将收集到的信息处理后由车载显示模块显示出来。

2.1 发送端设计

发送端硬件设计主要由电源模块、交通灯控制模块、协调器模块和指示灯组成,如图2所示。电源模块为交通灯控制模块和CC2530提供3.3V电源,交通灯模块和ZIgBee协调器模块通过USART串口相连,ZigBee节点的作用是获取交通灯信息,自组织网络并把信息发到自组织网络中,指示灯模块显示为了显示节点以及网络的连接。

2.2 接收端设计

接收端设计如图3所示电源模块由汽车供电,通过电压转换为接收终端模块和显示模块供电,LED指示是用来显示终加入网络状态,显示模块模拟交通灯的状态和时间显示。

3 软件设计

ZigBee网络架构由物理层(PHY)、MAC层、网络层(NWK)、应用程序支持子层(APS)、应用层(APL)组成,其中前两层(PHY和MAC)由IEEE802.15.4协议标准定义[1-2]。后三层则由ZigBee联盟定义。物理层定义了物理无线信道,工作频段的分配,为MAC层提供数据服务和管理服务。MAC层负责处理所有的物理无线信道访问,由此并产生网络信号、同步信号;支持PAN连接和分离,提供两个MAC实体之间可靠的链路。在以上基础上定义了网络层(NWK)和应用层( APL)架构。在应用层内提供了应用支持子层(APS)和ZigBee设备对象(ZDO),应用框架中则加入了自定义的应用对象。具有Z-Stack协议栈系统的CC2530设备在通电后会形成自组网络[3-4]。其中ZigBee协调器模块、终端路由设备均进行Z-Stack协议栈移植。Zsatck协议栈包含了Zigbee协议所规定的基本功能,这些功能大部分是通过函数的形式(即模块化)实现的。为了便于管理这些函数集,Zstack协议栈中加入了实时操作系统,称为OSAL[5-7](Operating System Abstraction Layer,操作系统抽象层)。

3.1 协调器节点设计

协调器模块主要功能是建立网络且允许其它的节点加入到该网络,同时还可以和交通信灯控制模块通过串口完成信息传送,并把交通灯状态信息发送出去。这部分的软件实现主要包括各层的初始化设备、协调器的自组网、节点的入网申请、串口的初始化、数据信息的处理和发送等。

Stack由 main()函数开始执行,main()函数有两个作用:一是系统初始化,二是开始执行轮转查询式操作系统,进入Osal_init_system()函数,执行操作系统初始化,进入osalInitTasks()函数,执行操作系统任务初始化,Zigbee网络设备的启动是通过ZDApp_Init()函数来实现的,ZDApp_Init()函数在ZDApp.c中定义。SampleApp.c中SampleApp_Init()函数是任务初始化函数。在移植过程中,修改SampleApp_ProcessEvemt( )函数,实现协调器网络建立后点亮LED,通过MT_UartInit(),MT_UartTaskID() 对串 口 部 分 进行初始化[5-7]。

修改的就是波特率和流控制,波特率要修改和配置成115200,和连接串口的上位机保持一致,在SampleApp_Init(uint8 task_id)函数调用配置好的MT_UartInit ()函数;然后登记任务号。在协议栈的无线数据处理部分添加串口信号互相转换的处理函数,通过调用串口回调函数 SerialApp_CallBack()查询串口内容,一旦收到数据,则调用 HalUARTRead ()将数据读至缓冲区 Buffer 并调用串口发送 SerialApp_Send()函数。在 SerialApp_Send()中使用函数 AF_DataRequest()把数据发送出去。

3.2 终端节点设计

工作在路由器模式的终端节点会自动搜寻附近的网络并申请加入。终端节点自动加入网络,再发出绑定请求,若无网络连接或节点无应答,终端的节点再次进行发现网络和绑定过两个过程。当终端节点接收到的数据后,ZigBee 协议栈的应用层会接收AF_INCOMING_MSG_CMD 消息,随后调用 SerialApp_ProcessMSGCmd( MSGpkt )函数进行相应的数据处理,修改SampleApp_MessageMSGCB( )函数实现对数据的处理,并把交通灯状态的信息通过显示模块显示信号灯状态和时间。

4 硬件测试

经过软件设计,通过CC2530芯片组成的系统,模拟当车辆通过交通信号灯时,先允许其加入当前路口的ZigBee信号网络,模拟当前所交通信号信息接收的情景。在模拟测试中,用CC2530芯片组成的系统板作为协调器,模拟路口交通灯信号的发射,另一块作为路由器,在车辆上进行模拟信号的接收模块,最后由显示模块进行显示当前信息。

5 结束语

本文将提出的基于ZigBee的车载交通信号灯状态采集和显示系统设计,硬件利用51单片机设计了交通灯模块,采用CC2530设计了协调器模块发送和接收信号,通过显示模块显示交通灯信息,软件上以Z-Stack协议栈为基础进行移植。并对系统进行了测试,此系统可以辨识交通信号灯,并将信号实时传输,且受外界干扰较小,能有效地在环境恶劣情况下准确及时的将信号灯的状态信息传递给驾驶员,为智能交通和智能车辆交通灯信息采集提供一种解决方案。

【参考文献】

[1]孙静,陈佰红.Zigbee协议栈及应用实现,通化师范学院学报2007.4.35

[2]任秀丽,于海斌.Zigbee无线通信协议实现技术的研究.计算机工程与应用,2007.43.143

[3]青岛东合信息技术有限公司.Zigbee开发技术及实践[M].西安电子科技大学出版社,2014.

[4]贾玉雷,勒伍银,等.基于Zigbee技术的智能车无线控制系统开发.传感器微系统.2013.

[5]趙士鹏,魏啸东,基于ZigBee的车载交通信号灯状态采集系统设计,信息与通信,2016.7.162.

[6]张健.ZigBee技术在智能交通信号灯控制中的应用研究[J].铜陵学院报,2014(12).

[7]李新慧,俞阿龙,潘苗.基于CC2530的水产养殖监控系统的设计[J].传感器与微系统,2013,32:85-88.

猜你喜欢

ZigBee技术无线通信
多传感器数据融合技术在机房监控系统中的应用
无线通信技术在测绘工程中的应用分析