APP下载

基于51单片机与nRF905收发器的无线智能控制交通灯的设计

2012-02-19欧玉荣王正玉

陕西科技大学学报 2012年1期
关键词:检测站收发器交通灯

欧玉荣, 张 力, 王 虎, 王正玉

(昆明理工大学信息工程与自动化学院, 云南 昆明 650500)

0 引 言

交通灯控制系统是现代城市交通控制和疏导的主要手段,但目前绝大多数交通灯其时间都是设定好的,无论是车流高峰还是低谷,红绿灯的时间都固定不变[1].还有一些交通灯能根据简单划分的时间段来调整时间,但控制起来都不是很灵活,这使得城市车流的调节不能达到最优.近年来,随着我国机动车数量的急剧增加,城市交通面临着巨大的压力,而城市道路建设相对滞后,特别是街道的十字路口,更是成为交通网中通行能力的瓶颈和交通事故的多发地.为了解决以上问题,本文进行了基于STC89C52单片机与nRF905收发器的无线控制智能交通灯系统的设计,对红绿灯可进行实时的动态改变,同时对于紧急车辆可进行特殊处理.

1 系统总体设计

本系统分为4个部分,分别是上位机、主控制单片机、红绿灯控制器以及特殊车辆检测站,其各部分所处路口处位置分布如图1所示.各部分联系结构如图2所示.

图1 智能交通灯系统各部分位置分布图 图2 智能交通灯系统各部分联系结构图

(1)上位机. PC机控制端对于其它3部分控制的命令以及查询获取其它3部分的状态都是通过主控单片机中转的.

状态控制:分别对红绿灯4个方向均禁止通行(即所有方向均为红灯);对特殊车辆检测站打开或关闭的控制(注:当特殊车辆检测站为关闭状态时,如果有特殊紧急车辆经过时该站就不会向红绿灯控制单片机发出报告).

时间控制:对东西方向、南北方向以及两者之间的黄灯的3个剩余时间进行控制.

反馈信号状态显示:显示查询当前红绿灯所处的状态,显示查询特殊车辆检测站的状态,即当前该站是处于监控状态还是处于非监控状态.

(2)主控单片机. 一方面,把从串口接收到的来自上位机的命令转换成nRF905无线收发器的数据格式并按上位机规定的地址转发出去.另一方面,对来自nRF905无线收发器接收到的其它模块的命令确认数据以及将状态报告数据包转换成串口规定的数据格式反馈给上位机.

(3)红绿灯控制单片机. 在正常状态下,按默认的预设的时间周期交替变化红绿灯的状态以控制交通.当特殊车辆检测站处于打开状态且有特殊车辆经过时,特殊车辆检测站就会发出报告,此时,红绿灯控制单片机就会将所有方向的交通灯全打成红色,并保持全红灯状态时间10秒钟(这个数据可以根据当地的实际情况进行调整),以便紧急车辆顺利通过,并向特殊车辆检测站回送一个确认信号.当接到通过主控单片机发来的上位机命令时,如果是状态查询命令,则把该时刻的红绿灯和各状态参数回送给主控单片机,再由主控单片机转传给上位机;如果是时间设置命令,则把时间参数保存在预定的存储单元中,当本轮红绿灯状态运行完毕后,再把要设置的时间参数调出来,实行新的时间计数;如果是特殊设置时禁止所有方向的普通车辆,即把所有方向的灯全开为红灯,然后直到等待恢复正常命令为止.

(4)特殊车辆检测站. 该站的主要功能是对特殊紧急车辆进行检测.当该站的状态处于打开状态时,若有特殊紧急车辆到达,其就会检测到,并产生一个报告发给红绿灯控制单片机,等待红绿灯控制器的回应.若该站处于关闭状态时,则不会对任何特殊紧急车辆产生任何反应,也不会向红绿灯控制单片机产生任何报告.特殊车辆检测站状态的控制是由上位机通过主控单片机实现的.

图3 智能交通灯系统开发板实物图

整个硬件开发板实物如图3所示.

2 硬件接口设计

2.1 nRF905无线收发器与STC89C52单片机之间的接口

nRF905无线收发器基于Nordic公司的VLSI ShockBurst技术,工作电压为1.9~3.6V,工作于433/868/915 MHz 3个ISM(工业、科学和医学)频段.它由一个完全集成的频率调制器、一个解调器的接收器、一个功率放大器、一个晶体震荡器和一个调节器组成[9].ShockBurst工作模式的特点是自动产生前导码和CRC,可以很容易通过SPI接口进行编程配置.

nRF905利用SPI口实现与STC89C52的双向通讯.nRF905的SPI总线包括4个引脚:CSN(SPI使能)、SCK(SPI时钟)、MISO (主入从出)和MOSI(主出从入).但由于STC89C52没有专用的SPI接口,于是在本系统中就用软件来模拟SPI的操作,包括串行时钟、数据输入和输出.nRF905有两种节能模式和两种工作模式,分别为掉电模式、待机模式、Shock Burst 接收模式和Shock Burst发送模式.这几种模式由STC89C52通过控制nRF905的3个引脚PWR_UP、TRX_CE和TX_ EN的高低电平来决定.nRF905有3个引脚用于状态输出,分别是:CD(载波检测)、AM(地址匹配)和DR(数据就绪),均为高电平有效.nRF905在处于接收模式时,若检测到接收频率段的载波,则置CD为高[5].接着检测载波数据中的地址字节,若与本身已配置的接收地址相同,则置AM为高;若检测到接收数据中的CRC校验正确,则存储有效数据字节,置DR为高.

STC89C52通过SPI总线配置nRF905的内部寄存器和收发数据.这里nRF905为从机,其SPI的时钟范围很宽,可为1 Hz~10 MHz,因此STC89C52在写控制程序时不必苛求时间的准确度.SPI总线的每次操作都必须在使能引脚CSN的下降沿开始,CSN 低电平有效,总线上的数据在时钟的上升沿有效.MCU对SPI总线进行读操作时先把CSN置低,然后在MOSI 数据线上输出一个表示读命令的字节,与此同时,nRF905会在MISO数据线上输出一个字节表示状态信息的数据,随后输出一个地址字节,后面跟随有效数据[3].在进行写操作时比较简单,MCU先把CSN拉低,然后在MOSI线上输出写命令字节和数据字节即可.

2.2 声音检测设备与特殊车辆检测站单片机之间的接口

在声音检测设备与特殊车辆检测站单片机两者之间是通过中断的方式连接的,当有特殊车辆到达时,该设备就会向特殊车辆检测站单片机的第0号外部中断口产生一个中断信号,而特殊车辆检测站单片机则一直处于等待状态,只要一发现有中断产生,马上就会进入中断响应程序,再根据当前的特殊车辆检测站状态做出是否响应的处理[4-7].

2.3 主控单片机与上位机之间的接口

主控单片机与上位机之间的连接是通过串行口RS-232C连接的,PC机与STC89C52之间采用了零调制3线经济型的连接方式,这种方式线路少、简单、稳定、成本低,而且支持全双工通信.由于STC89C52单片机输入、输出电平为TTL电平,而PC机配置的是RS-232C标准串行口,二者的电气规范不一致,因此要完成PC机与STC89C52单片机的数据通信必须进行电平转换[8].本系统中,采用MAX232单芯片实现STC89C52单片机与PC RS-232C标准接口的通信.

3 硬件与其它软件的接口

该接口主要为第三方的分析方法的软件,比如通过路口视频监控处理对车流量的计数来设定不同方向允许通过的时间等.

主要提供了两个接口程序“COMINIT.EXE”与“SERCMD.EXE”,其中“COMINIT.EXE”用于对串口进行初始化和测试,“SERCMD.EXE”用于命令的传送并反馈结果.

其具体使用方法为先调用“COMINIT.EXE”将串口进行初始化,再将一个17个字节长度的字符串写入“cmd.txt”文件,然后系统再自动查询调用“SERCMD.EXE”发送命令,其返回结果存放于“CMDRESUL.TXT”文件中.

其中17个字符串的定义如下:前16字节中第1到4字节为源地址,5到8字节为目的地址,9字节为数据包类型,10到16字节为辅助数据区(详细解释请参考前面单节的数据包定义内存).第17字节为串口端口号.

4 实验结果与分析

为了检测本设计的可用性,对于红绿灯的时间控制,我们分别用两种不同的方法进行了测试,分别为自己在界面输入相关时间参数和在cmd.txt文件中输入相关时间参数. 对于特殊紧急车辆的检测,利用现场采集的音频并尽量采集不同的声音,以达到涵盖各种情况的目的.实验结果如表1所示.

实验结果表明,应用本设计于交通灯可以灵活、有效、实时、正确地控制红绿灯的时间周期以及处理特殊紧急车辆.

表1 实验结果数据

5 结束语

本设计采用多种中断处理,实现了各种情况下交通灯的正常指示和倒计时功能,在此过程中还很好的完成了对特殊车到来的检测以及处理.从最终结果看,本设计模拟十字路口交通灯的情况与实际情况很吻合,有较高的实际应用价值.

参考文献

[1] 范海红,蒋 鹏,沈水金,等.新型城市智能交通灯的研制[C].第25届中国控制会议2007.

[2] 朱大奇,邬勤文,袁 芳.单片机原理[M].北京:电子工业出版社,2009.

[3] Intel.8255A/8255A-5 PROGRAMMANBLE PERIPYHERAL INTERFACE[Z].2008.

[4] 来清明,张玉英.关于音频译码器LM567的使用[J].河南教育学院学报(自然科学版),2001,10(2):63-66.

[5] National Semiconductor.LM567/LM567C Tone Decoder[Z].2007.

[6] 吴汉清.小提琴、二胡电子校音器[J].电子世界,2003,(9):52-54.

[7] GB.8108-1999.中华人民共和国国家标准车用电子警报器[S].1999.

[8] 李朝青.单片机原理及接口技术(第3版)[M].北京:电子工业出版社,2005.

[9] 讯通科技.单片433/868/915MHz无线收发器nRF905[Z].2009.

猜你喜欢

检测站收发器交通灯
地下汽车检测站建设的约束条件分析
为什么交通灯是红黄蓝三种颜色?
Virtex5 FPGA GTP_DUAL硬核两个收发器独立使用的实现
一直飘红的交通灯
基于单片机的LED模拟交通灯设计
高职道桥专业检测站管理运行中发现的问题
河南省超限检测站四级联网系统研究
黄黄超限超载检测站机电系统关键技术探讨
基于protues仿真的交通灯即时控制的一种实现
富士通半导体推出收发器家族全新LTE优化多频单芯片MB86L13A