交通灯控制电路的设计教学内容.doc

上传人:1595****071 文档编号:51392593 上传时间:2022-10-18 格式:DOC 页数:28 大小:222.50KB
返回 下载 相关 举报
交通灯控制电路的设计教学内容.doc_第1页
第1页 / 共28页
交通灯控制电路的设计教学内容.doc_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《交通灯控制电路的设计教学内容.doc》由会员分享,可在线阅读,更多相关《交通灯控制电路的设计教学内容.doc(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、Good is good, but better carries it.精益求精,善益求善。交通灯控制电路的设计-交通灯控制电路的设计一、主要内容及提出1、任务的提出设计一个十字路口交通灯控制电路,能够指挥车辆在十字路口完成左转和不同路口的直行。2、功能及初步分析东西两组灯,南北两组灯,分别用来指示转弯和直行。如下表所示。交通灯控制电路状态表状态直行灯(南北)左转灯(南北)直行灯(东西)直行灯(东西)有效状态时间红黄绿红黄绿红黄绿红黄绿S000110010010027S10100101001003S210000110010027S31000100101003S410010000110027S5

2、1001000100103S610010010000127S70101001000103S000110010010027注:0表示灯灭,1表示灯亮。3、扩展功能能够用倒计时计数及显示模块,实现有效状态下交通灯的持续亮的时间,且用数码管显示,方便行人。二、总体方案设计方案:用时间控制交通灯的状态转换1、原理本方案的主要思想是用时间控制交通灯状态的转换,时间变化是有规律的。先南北直行红灯亮,而后黄灯亮3秒,再直行绿灯亮27秒,黄灯亮3秒;然后南北转弯绿灯亮,黄灯亮,南北交通灯都亮红灯;东西交通灯以同样规律变化。(1)每次绿灯变红灯时,要求黄灯先亮3秒,黄灯亮时,绿灯灭。(2)要求在绿灯亮(通行时间

3、内)和红灯亮(禁止通行时间内)时均有倒计时显示。所以基本符合现实功能,能够指挥车辆在十字路口完成左转和不同路口的直行。2、基本功能、扩展功能分析考虑交通灯的功能,一个十字路口至少需8组交通灯:东西南北各两组,一组指挥转弯,一组指挥直行。而设计的关键是控制交通灯的亮灭。考虑南北、东西方向灯的亮灭规律相同,故可以考虑用四组交通灯来模拟实际的八组交通灯:东西两组灯,南北两组灯,分别用来指示转弯和直行。可用计数器控制时间,在不同的时间显示不同的灯。根据设计分析,可以采用如下方案实现交通灯显示:通过计数来计时,不同的时间输出不同的使能信号,使各方向的不同交通灯显示不同的颜色。夜间车少需交通灯,则红灯、绿

4、灯灭,黄灯闪烁使司机明白前方为十字路口,小心行驶。倒计时显示需设计不同的倒计时计数器,显示不同方向交通灯的显示时间,通过数码管显示时间,使行人方便。3、总体方案(1)结构图(2)主要模块交通灯设计主要分以下几个模块:时钟分频模块,交通灯亮灭控制模块,交通灯显示模块,倒计时计数模块,倒计时显示模块。时钟分频模块可以将10MHz的信号,用一个二进制计数器,对其进行分频,从而得到适合的频率。选一个合适的作为时间计数器的扫描信号,另外再选一个作为数码管选通电路的触发信号。本方案是用一个24位的计数器,倒计时计数的周期比较慢,而数码管比较快所以可以将分得的23位和10位分别给两者作为扫描信号。交通灯亮灭

5、控制模块,是通过时间的变化来传输的。条件达到时即进行状态转换。用一个120的计数器,当时间递减到达93、90、63、60、33、30、3时发生相应的交通灯亮灭的转变。而时间为0时,重新置为120。交通灯显示模块,利用LP2900装置的LED灯,将LED_COM端共阴点即P49=1,就可以启动。由交通灯控制模块来控制交通灯的亮灭变换。倒计时计数模块及显示模块主要用于记录显示时间,以方便行人,可以用数码管显示,要注意的是需要将二进制数通过修正关系转化成BCD码。而当使能信号置0复位时,时间也要清零。本设计所用的修正关系,如下表所示。二进制转化BCD码修正关系十进制数二进制数BCD码修正值(十进制/

6、二进制)0000000000000,00000/000000009000010010000,10010/0000000010000010100001,00006/0000011019000100110001,10016/0000011020000101000010,000012/0000110029000111010010,100112/0000110030000111100011,000018/0001001039001001110011,100118/0001001040001010000100,000024/0001100049001100010100,100124/0001100050

7、001100100101,000030/0001111059001110110101,100130/0001111060001111000110,000036/00100100(3)状态转换状态转换中,任一状态的EN=1的前提,若EN=0均复位为S8状态。且每个状态下的时间没有到达时,都保持原有状态。通过这样的分析很容易得出交通灯之间的亮灭转换和时间的变化。若发生紧急情况就将交通灯的使能端置0,是所有的交通灯都工作在黄灯状态,保证道路的安全。(4)所需要的外围电路实验所需部件及功能管脚号基本功能本实验中具备功能P56开关,按下时输出高电平;没按下时输出为低电平开关按下时:交通灯停止工作,黄灯闪

8、烁;弹起时,交通灯正常工作P49发光二极管使能端,高电平有效P47石英晶振输出端,产生10MHz周期信号做分频器的输入端,用来产生待测信号、开关门信号,即时基、时标信号P2、3、4、5、9、10、12、13、14、15、16、13812只发光二极管,高电平发亮模拟交通灯,不同时刻不同的灯亮P30、31、32数码管扫描管脚,三管脚为不同的数时,选择不同的数码管,实现动态显示三、各模块的设计(1)顶层模块的设计10MHz作为脉冲信号,需要分频,NS、NSL、EW、EWL分别为南北、东西方向的直行和左转灯;GA为7段LED数码管所对应的段;P49为LED_COM端共阴点;P32选择数码管的扫描管脚。

9、(2)分频模块10MhzshiFPGA芯片内部提供的脉冲振荡源,通过24位的计数器可以分得所需的频率。可以将FREQ10赋给数码管选通显示模块的扫描信号,将FREQ23赋给倒计时交通灯显示模块的扫描信号。(3)倒计时计数模块EN=0,赋初值TIME=120;EN=1,TIME=TIME-1;且当TIME=0时,将TIME重新赋初值120。构成的就是一个8位M120的递减计数器。(4)交通灯显示模块TIME的条件达到时,NS、NSL、EW、EWL灯发生相应的变化。(5)74LS138数码管选通模块数据输入端译码输出P32(2)P32(1)P32(0)Y000Y0=0001Y1=0010Y2=00

10、11Y3=0100Y4=0101Y5=0110Y6=0111Y7=0(6)数码管显示模块十六进制码共阴极7段显示码DATA3DATA2DATA1DATA0GFEDCBA00000111111000100001100010101101100111001111010011001100101110110101101111101011100001111000111111110011101111101011110000000四、具体实现及结果1、实验目的利用FPGA实现交通灯基本复习了这一学期所学习及实验的VHDL语言和各种技巧。如:分频器、计数器、译码器(74LS138译码器、7段LED数码管显示器)

11、等知识。对实体、端口、结构体、进程、元件例化语句等也是很好的复习,同时锻炼了自己的逻辑思维能力,分析能力和c语言的基本知识。2、实验环境本实验的逻辑设计平台是LP2900装置,它是力浦电子有限公司在1999年推出的新产品。能为逻辑设计提供设计、仿真及验证环境。LP2900是以XilinxXCS10TQ144芯片为核心设计出来多功能逻辑电路设计实验平台。分为CPLD芯片板、电源、PC并口下载接口电路与I/O组件实验板等四部分。有10000门。而我本次实验所用资源为:四组红黄绿LED、四个共阴极七段显示器、一个数据开关、一个脉冲电路。即为下图所示。3、实验内容及步骤本实验的实现,只用了两个模块分频

12、和计数模块,主要的实验程序都是在计数模块里面实现的。我先设计了一个用24位计数器是的分频模块,得到合适的扫描信号赋值给下一个模块,作为进程的信号敏感表。这样使计时的时间更加合理。主要有分频器计数器交通灯的状态显示模块时间显示模块。用到的符号的含义如下表所示。符号功能或含义CLK时钟控制信号EN使能信号,控制交通灯是否工作NNS南北方向直行灯NNSL南北方向左转灯EEW东西方向直行灯EEWL东西方向左转灯P32数码管选通信号P49LED共阴极点GA7段LED数码管CP倒计时扫描信号CP1数码管扫描信号FREQ分频后的24位频率VM5计数器选择数码管符号功能或含义DATA传送给数码管的数据NBCD

13、南北方向交通灯有效状态时间NBCD1南北方向交通灯有效状态时间NBCD2南北方向交通灯有效状态时间BCD码EBCD东西方向交通灯有效状态时间EBCD1东西方向交通灯有效状态时间EBCD2东西方向交通灯有效状态时间BCD码TIME倒计时时间符号4、实验结果及分析(1)软件仿真结果这与在LP2900装置上仿真所用的信号是不相等的,为了方便看到结果,我将分频后得到的低两位分别作为交通灯状态转换倒计时扫描信号和数码管选通扫描信号。即CP=FREQ(0),CP1327357327;东西方向的时间变化为:57327327357;整个时间的计数:从120开始递减到0后又重新赋值;南北直行方向的灯的状态为:黄

14、绿黄红黄绿;南北左转方向的灯的状态为:黄红黄绿黄红;东西直行方向的灯的状态为:黄红黄绿黄红;南北左转方向的灯的状态为:黄红黄绿黄红。(3)状态转换图五、结论1、能实现的功能交通灯的状态转换和倒计时时间的显示,基本能实现东西、南北直行和转弯灯的显示功能。2、不足之处(1)我所用的是一个大的计数器来实现交通灯的控制电路的设计,若能使用双进程状态机描述会使程序更加简练,而且状态之间的转化关系更加明朗。(2)另外,在现实中晚上没有行人,可以不用交通灯控制,只需要黄灯亮着提醒人们前方有路口即可。那就需要一个始终显示模块,指定的时间内回到初始状态也就是我用的EN=0是的状态。只是人为控制,若有24小时的计

15、时会使交通灯的控制智能化。(3)有些城市的交通灯中也有右转灯,这个程序中有很多地方仍然需要改进。附录:程序清单libraryIEEE;useIEEE.std_logic_1164.all;useIEEE.std_logic_arith.all;useIEEE.std_logic_unsigned.all;entitytrafficisport(clk:inSTD_LOGIC;en:inSTD_LOGIC;p49:outSTD_LOGIC;nnsl:outSTD_LOGIC_VECTOR(2downto0);eewl:outSTD_LOGIC_VECTOR(2downto0);nns:outST

16、D_LOGIC_VECTOR(2downto0);eew:outSTD_LOGIC_VECTOR(2downto0);ga:outSTD_LOGIC_VECTOR(6downto0);p32:outSTD_LOGIC_VECTOR(2downto0);endtraffic;architecturetraffic_archoftrafficissignalcp,cp1:std_logic;signalfreq:std_logic_vector(23downto0);signalv:std_logic_vector(2downto0);signaldata:std_logic_vector(3do

17、wnto0);signalnsl,ewl,ns,ew:std_logic_vector(2downto0);signalnbcd,nbcd1,nbcd2,ebcd,ebcd1,ebcd2:std_logic_vector(7downto0);signaltime:std_logic_vector(7downto0);beginfrequence:block-div_frenbeginprocess(clk)beginifclkeventandclk=1thenfreq=freq+1;endif;endprocess;cp=freq(23);cp1=freq(10);endblockfreque

18、nce;state:block-statebeginprocess(en,cp)beginifen=0thenns=010;nsl=010;ew=010;ewl=010;-s8time=01111000;elsifcpeventandcp=1thentime=time-1;iftime=120thenns=001;nsl=100;ew=100;ewl=100;-s0elsiftime=93thenns=010;nsl=010;ew=100;ewl=100;-s1elsiftime=90thenns=100;nsl=001;ew=100;ewl=100;-s2elsiftime=63thenns

19、=100;nsl=010;ew=010;ewl=100;-s3elsiftime=60thenns=100;nsl=100;ew=001;ewl=100;-s4elsiftime=33thenns=100;nsl=100;ew=010;ewl=010;-s5elsiftime=30thenns=100;nsl=100;ew=100;ewl=001;-s6elsiftime=3thenns=010;nsl=100;ew=100;ewl=010;-s7elsiftime=0thentime=01111000;endif;iftime93thennbcd=time-93;ebcd=time-63;e

20、lsiftime90thennbcd=time-90;ebcd=time-63;elsiftime63thennbcd=time-63;ebcd=time-63;elsiftime60thennbcd=time-60;ebcd=time-60;elsiftime33thennbcd=time-3;ebcd=time-33;elsiftime30thenebcd=time-30;nbcd=time-3;elsiftime3thenebcd=time-3;nbcd=time-3;elsiftime0thennbcd=time;ebcd=time;endif;endif;nnsl=nsl;eewl=

21、ewl;nns=ns;eew=ew;nbcd1=nbcd;ebcd1=50andnbcd1=60thennbcd2=40andnbcd1=50thennbcd2=30andnbcd1=40thennbcd2=20andnbcd130thennbcd2=10andnbcd120thennbcd2=nbcd1+6;elsenbcd2=50andebcd1=60thenebcd2=40andebcd1=50thenebcd2=30andebcd1=40thenebcd2=20andebcd130thenebcd2=10andebcd120thenebcd2=ebcd1+6;elseebcd2=ebc

22、d1;endif;endprocess;process(cp1)-M6,chooseLEDbeginifcp1eventandcp1=1thenifv=5thenv=000;elsev=v+1;endif;endif;endprocess;process(v,cp1,en)beginifen=0thenifv=000andv=001andv=011andv=100thendata=0000;-rstelsedata=1111;endif;elsifcp1eventandcp1=1thenifv=000thendata=nbcd2(3downto0);elsifv=001thendata=nbc

23、d2(7downto4);elsifv=011thendata=ebcd2(3downto0);elsifv=100thendata=ebcd2(7downto4);elsedata=1111;endif;endif;endprocess;ga=0111111whendata=0else-Segment7Code0000110whendata=1else1011011whendata=2else1001111whendata=3else1100110whendata=4else1101101whendata=5else1111101whendata=6else0000111whendata=7else1111111whendata=8else1101111whendata=9else0000000;endblockstate;p49=1;p32=v;endtraffic_arch;-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁