交通灯控制器文档格式.docx
- 文档编号:4854787
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:28
- 大小:914.58KB
交通灯控制器文档格式.docx
《交通灯控制器文档格式.docx》由会员分享,可在线阅读,更多相关《交通灯控制器文档格式.docx(28页珍藏版)》请在冰点文库上搜索。
;
(2)当某相位上无车时,恰好是该相位上的车辆通行时间,则在这段时间内,就出现了交通指挥盲点;
(3)当一路口车流量很大时,不能够自动延长口的绿灯时间,导致在一个周期内此路口的车辆不能完全通过。
在实现正常交通灯控制功能的基础上,本课题研究的一个方向便是智能交通,
着眼于传统交通灯控制系统的缺陷,希望能够缓解这些问题。
1.3国内外研究概况
在国内普遍使用的交通灯还比较落后,但处在研究阶段的项目比较多,我个人
感觉交通灯的设计不仅仅是一个技术问题,很大程度上包含了
在西方发达国家,交通控制系统基本上完成了由传统的交通控制系统向智能交
通控制系统ITS的转变,而在我国,智能交通系统则刚刚处于起步阶段。
对于传统的交通控制系统而言,对红绿灯一般采用定时控制,无法对实际的交通流进行识别优化,以至于不能适应交通量的不确定性和随机性的原因,往往造成交通资源的浪费和道路的梗阻。
而智能交通控制系统则在不产生大的硬件改动的情况下有效的提高效率。
ITS(IntelligentTransportsystems)这一国际性术语于1994年被正式认定。
在此之前,美国称这类技术或相关研究项目为“智能车辆道路系统(IVHS)”
(IntelligentVehicleHighwaySystem)。
日本将这类技术称为UTMS、VICS等,欧盟则称之为“道路交通信息技术(RTI)”。
智能交通系统强调的是系统性、信息交流的交互性以及服务的广泛性,其核心
技术是电子技术、信息技术、通信技术、交通工程和系统工程。
智能交通系统ITS
是在较完善的道路设施基础上,将先进的电子技术、信息技术、传感器技术和系统工程技术集成运用于地面交通管理所建立的一种实时、准确、高效、大范围、全方位发挥作用的交通运输管理系统。
在国内,受客观条件的制约,ITS起步比较晚,在20世纪90年代初,我国的相关学者开始意识到研究和开发ITS的重要性。
到90年代中期,由于受到国外ITS研发的影响,政府部门也开始重视对ITS的研究,随后,又得到中央部门和部分地方政府的支持。
1999年,我国成立了全国智能交通系统(ITS)协调指导小组及办公室,同年,
又成立了全国智能交通运输系统(ITS)专家咨询委员会,其中,同济大学、清华大学、北方交通大学、北京航空航天大学、吉林工业大学、东南大学等高校的有关专家为咨询委员,并启动了国家“九五”科技攻关课题和国家“十五”科技攻关课题。
目前,在对一些大中型城市引入的国外ITS进行研究的基础上已经逐渐开始摸索开发设计适合自己国情的ITS系统。
2.任务概述
2.1设计内容与基本要求
①设计一个十字路口交通信号灯的控制电路。
要求红、绿灯按一定的规律亮和灭,并在亮灯期间进行倒计时,且将运行时间用数码管显示出来。
②绿灯亮时,为该车道允许通行信号,红灯亮时,为该车道禁止通行信号。
要求主干道每次通行时间为Tx秒,支干道每次通行时间为Ty秒。
每次变换运行车道前绿灯闪烁,持续时间为5秒。
即车道要由X转换为Y时,X在通行时间只剩下5秒钟时,绿灯闪烁显示,Y仍为红灯。
③可以对X,Y车道上交通灯运行的时间进行重新设置,
20≦Tx≦99,10≦Ty≦39
④对器件进行在系统编程和实验验证。
⑤写出设计性实验报告,并打印各层次的源文件和仿真波形,然后作简要说明。
3.系统设计
3.1设计思路
关键词:
主/支干道红绿灯时间设置绿灯闪烁倒计时
根据交通灯控制器要实现的功能,主控制模块考虑使用几个并行执行的always
模块来分别控制A、B两个方向的4盏灯的变化。
这些always模块使用同一个时钟信号。
四个灯按如下顺序点亮,并且循环往复:
每种灯亮的时间采用一个减法计数器进行计数,计数器用同步预置法设计,这
样只需改变预置数据,就能改变计数器的模;
同时可以利用开关编码来实时设置各绿灯的亮灯时间,方便手动改变X、Y两条路线的通行时间。
使用DE0开发板,必须考虑到可用资源的有限性。
DE0开发板上有10个拨动开关,4个数码管,10个发光二极管。
为了便于显示亮灯时间,计数器的输出均采用BCD码,显示由4个数码管来完成,X方向和Y方向各用两个数码管,置数的时间在相应的数码管上显示。
3.2系统框图与说明
3.3状态转换表
LA、LB分别表示主干道直行绿灯和红灯
LC、LD分别表示支干道直行绿灯和红灯
此交通灯系统工作主要有5个时间间隔,分别为:
1.主干道直行绿灯时间,可手动设置
2.主干道直行红灯时间,与3(支干道直行绿灯时间)相同
3.支干道直行绿灯时间,可手动设置
4.支干道直行红灯时间,与1(主干道直行绿灯时间)相同
5.主/支干道绿灯闪烁时间,时间为5秒
由于结合实际的十字路口交通灯的情况,将其简化为4个状态:
状态1:
主干道亮直行绿灯,支干道亮直行红灯,两者时间相同
状态2:
主干道直行绿灯最后5秒闪烁,支干道亮直行红灯
状态3:
支干道亮直行绿灯,主干道亮直行红灯,两者时间相同
状态4:
支干道直行绿灯最后5秒闪烁,主干道亮直行红灯
3.4输入输出设计
3.4.1开关输入
本设计系统共需要10个开关,其中sw0~sw3用来对主支干道的时间进行设置,
sw4~sw7用来选择需要设置时间的数码管,sw8为复位开关,sw9为清零开关
sw0:
用于对主支干道的时间进行设置,二进制编码,拨上去表示1,拨下来表示0
sw1:
用于对主支干道的时间进行设置,二进制编码,拨上去表示1,拨下来表示0
sw2:
sw3:
sw4:
用来选择需要设置时间的数码管,拨上去表示对支干道通行时间的个位进行时间设置
sw5:
用来选择需要设置时间的数码管,拨上去表示对支干道通行时间的十位进行时间设置
sw6:
用来选择需要设置时间的数码管,拨上去表示对主干道通行时间的个位进行时间设置
sw7:
用来选择需要设置时间的数码管,拨上去表示对主干道通行时间的十位进行时间设置
sw8:
复位开关,拨上去可以选择数码管对时间进行设置,拨下来开始通行时间的倒计时
sw9:
清零开关,设置时间时,拨上去对所设置的时间清零,重新设置
当然,也少不了时钟信号的输入,这里不用外接信号源,利用DE0开发板上自带的信号发生器就好。
原时钟信号产生的是50MHz的信号,输入到各个模块之前先进行一步分频,就可以很好的使用了。
3.4.2输出设计
分别用4个LED灯来表示X、Y干道的红绿灯,用2个LED灯来表示操作错误时的报错提示和设置时间超出规定范围的提示。
用4个数码管来计数,第一对儿显示主干道的绿灯和支干道的红灯时间,第二对儿显示支干道的绿灯和主干道的红灯时间。
时间设置时,在相应的数码管上进行。
3.4.3引脚配置与说明
将各个引脚配置表列出如下表,同时给出引脚配置图如下:
引脚配置表如下:
3.5系统模块仿真
进行系统仿真其实是和写程序代码同步进行的,在每编写一个模块后,都要进
行编译仿真,这样能及时发现问题,避免的最后出现一堆问题不好排除错误,提高检验的效率。
这里对关键模块进行仿真,以保证每一步设计的可靠性。
至于总体的仿真,个人认为没有必要:
一方面总体仿真操作太多,频繁改变信号不科学;
另一方面,下载到开发板上看功能是否正常更为直接、方便,故总体验证采用开发板而不是仿真。
3.5.1分频模块
fenpin(CLK,clk);
名称:
分频模块;
功能:
将50MHz的输入信号分频为1Hz的输出信号;
这个模块理论上虽然可以仿真,但是1Hz和50MHz数量级相差太大,即使仿
真结果正确,也无法直观的用眼睛观察出来,所以这里不在列出该模块的仿真图形,其模块的正确性可以在以后的开发板上明显的体现出来。
3.5.2时间设置模块
zhishu(cr,clk,rst,xuanshu,zhishu,tx1,tx2,ty1,ty2,tx,ty,error,error1);
名称:
时间设置模块;
功能:
手动设置主支干道绿灯通行时间
仿真波形如下:
3.5.3译码模块
display(qout,led);
译码模块;
将数值转换为相应数码管的编码;
仿真波形如下:
3.5.4复位开关选择模块
fuwei(rst,inx,iny,outz);
复位开关选择模块;
实现设置时间和倒计时的切换;
3.5.5控制模块
kongzhi(clk,rst,txa,tya,LA,LB,LC,LD,tx,ty);
控制模块;
根据设置的时间和倒计时的时间对主支干道的红绿灯进行控制
4.使用说明
4.1输出显示
用数码管来显示计时,具体各个作用如下:
左边两个数码管表示主干道X的计时器的十位和个位数字。
对时间进行设置时也在其上面显示。
右边两个数码管表示支干道Y的计时器的十位和个位数字。
分别用6个LED灯来表示主支干道的红绿灯和报错灯。
右一灯表示主干道绿灯。
右二灯表示主干道红灯。
右三灯表示支干道绿灯。
右四灯表示支干道红灯。
左一灯表示操作错误时的报错灯。
左二灯表示置数时超出范围的提示灯。
4.2输入开关
第一个开关是清零开关,用于置数时对所有数字清零。
第二个开关是复位开管,拨上去是设置时间,拨下来是开始倒计时。
第三到第六个开关是在置数时选择数码管的开关,第三个开关拨上去其他的三个开关拨下来选择第一个数码管,第四个开关拨上去其他的三个开关拨下来选择第二个数码管,一次类推。
第七到第十个开关是设置时间的开关,才用二进制编码,拨上去代表1,拨下来代表0,当对每一个数码管置数时,可以选择他们四个的组合而置出0~9。
实验总结及心得体会
5.1心得体会
完成课程设计的基本要求。
基本要求中,做到了红绿灯转换,绿灯闪烁,设置通行时间。
虽然这些功能可以实现,但是毕竟过于简单,仅仅有这些功能是不够的,在实际运用中如果仅仅有这些功能,就根本没有任何价值,所以必须进行功能的扩展。
增强动手能力。
这是一个将我们平时所学运用于实践的机会,而这正是我们学
生最欠缺的,正好可以弥补我们的不足,增强我们的动手能力,在实践中运用我们的知识解决实际的问题。
当我们在遇到困难的时候不应该气馁,而应该要努力去解决问题。
当遇到真正自己无法解决的,可以多和同学讨论或者是向老师请教。
好多事情可能在没做之前觉得很困难,但是一旦你真正开始投入精力去做的时候,你会发现事情没有你想的那么难。
而且你能够感觉到你在其中收获了很多。
设计数字系统的能力得以提升。
在进行Verilog编写的时候,对于wire与reg
的变量开始总是会用错,导致编译不能通过,之后查看了资料发现了我们完全用c语言的思路进行代码的编写,由于Verilog中的always语句中是并行执行的,所以不是像我们想的顺序执行,这样写出的代码的仿真经常会与我们所想的有一些出入,而且引起不必要的时序的混乱。
同时在进行代码与仿真的同时,加强了自己的查错改错的能力,完善了自己的Verilog功底,加深了对硬件电路的认识。
通过这个实验,使我更深的了解了Verilog编程时的一种模块化的思想。
在设计的时候,由于我们接触的一般都是小模块,所以对于小模块的编写还是比较习惯的,然而这次的交通灯的设计却是一个比较大的完整的项目。
故采用从上到下的设计方法,先设计整体的主模块,然后再分别设计各个所需要的模块,这样做的一个好处就是到时进行整合的时候可以更好的衔接而不会不连贯的现象。
5.2改进与展望
这次课程设计我也在网络、书籍资料上找了很多关于交通的信息,虽然自己已
经能比较完整的做好了自己的设计内容,但是这仅仅是非常简单的交通灯,今后我们交通会越来越发达,具体表现在道路会越来越宽,通行能力会越来越强,路口也会越来越复杂,那么就要求设计的交通灯控制系统要更加智能化、人性化。
比如图的设计,这是我在网上找到的一个比较复杂的路口,上面交通灯的控制也更加有难度。
尤其是在人行道的控制需要花费很大的心思。
这种设计更加贴近生活,更加实用。
这次设计的十字路口简单的红绿灯是最基本的,已经不能满足现在交通的需求。
故需要我们更加深入的探索。
开发出更加智能的交通系统。
参考文献
1.谢自美.电子线路设计综合设计.华中科技大学出版社,2006
2.罗杰,谢自美.电子线路设计.实验.测试(第4版).电子工业出版社,2008.4
3.王金明.VerilogHDL程序设计教程.人民邮电出版社.2004.1
附录程序源代码
/*******************************************************************/
顶层模块
Moduletrafficlight(cr,rst,in_50MHz,xuanshu,zhishu,LA,LB,LC,LD,led1,led2,led3,led4,error,error1);
inputin_50MHz;
inputrst;
inputcr;
input[3:
0]xuanshu;
0]zhishu;
output[6:
0]led1;
0]led2;
0]led3;
0]led4;
outputLA,LB,LC,LD;
outputerror;
outputerror1;
wireclk;
wire[3:
0]tx2;
0]tx1;
0]ty2;
0]ty1;
wire[6:
0]tx;
0]ty;
0]txa;
0]tya;
0]ta;
0]tb;
0]tc;
0]td;
0]outz1;
0]outz2;
0]outz3;
0]outz4;
freqDivZ1(in_50MHz,clk);
zhishuD1(cr,clk,rst,xuanshu,zhishu,tx1,tx2,ty1,ty2,txa,tya,error,error1);
kongzhiK1(clk,rst,txa,tya,LA,LB,LC,LD,tx,ty);
displayF1(outz1,led1);
displayF2(outz2,led2);
displayF3(outz3,led3);
displayF4(outz4,led4);
zhuanhuan(tx,ty,ta,tb,tc,td);
switchS1(rst,tx1,ta,outz1);
switchS2(rst,tx2,tb,outz2);
switchS3(rst,ty1,tc,outz3);
switchS4(rst,ty2,td,outz4);
endmodule
分频模块
modulefreqDiv(in_50MHz,out_1Hz);
outputout_1Hz;
regout_1Hz;
reg[24:
0]cnt;
always@(posedgein_50MHz)
begin
cnt<
=cnt+1'
b1;
if(cnt<
24999999)
out_1Hz<
=0;
else
if(cnt>
=50000000)
elseout_1Hz<
=1;
end
end
转换模块
modulezhuanhuan(tx,ty,ta,tb,tc,td);
input[6:
outputreg[6:
always@(tx,ty)
ta<
=tx/10;
tb<
=tx%10;
tc<
=ty/10;
td<
=ty%10;
置数模块
modulezhishu(cr,clk,rst,xuanshu,zhishu,tx1,tx2,ty1,ty2,tx,ty,error,error1);
inputclk;
outputreg[3:
outputregerror;
outputregerror1;
assigntx=tx1*10+tx2;
assignty=ty1*10+ty2;
always@(xuanshu,zhishu,cr)
if(cr)
begin
tx1<
tx2<
ty1<
ty2<
elseif(rst)begin
error<
error1<
if(xuanshu[3:
0]==4'
b1000)
case(zhishu[3:
0])
4'
b0000:
tx1<
=4'
d0;
b0001:
d1;
b0010:
d2;
b0011:
d3;
b0100:
d4;
b0101:
d5;
b0110:
d6;
b0111:
d7;
b1000:
d8;
b1001:
d9;
default:
error<
endcase
elseif(xuanshu[3:
b0100)
tx2<
b0010)
ty1<
defa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯 控制器