数字集成电路设计课程作业--实验十一红绿交通灯控制系统设计.docx

上传人:王** 文档编号:853579 上传时间:2024-01-29 格式:DOCX 页数:26 大小:430.87KB
下载 相关 举报
数字集成电路设计课程作业--实验十一红绿交通灯控制系统设计.docx_第1页
第1页 / 共26页
数字集成电路设计课程作业--实验十一红绿交通灯控制系统设计.docx_第2页
第2页 / 共26页
数字集成电路设计课程作业--实验十一红绿交通灯控制系统设计.docx_第3页
第3页 / 共26页
数字集成电路设计课程作业--实验十一红绿交通灯控制系统设计.docx_第4页
第4页 / 共26页
数字集成电路设计课程作业--实验十一红绿交通灯控制系统设计.docx_第5页
第5页 / 共26页
数字集成电路设计课程作业--实验十一红绿交通灯控制系统设计.docx_第6页
第6页 / 共26页
数字集成电路设计课程作业--实验十一红绿交通灯控制系统设计.docx_第7页
第7页 / 共26页
数字集成电路设计课程作业--实验十一红绿交通灯控制系统设计.docx_第8页
第8页 / 共26页
数字集成电路设计课程作业--实验十一红绿交通灯控制系统设计.docx_第9页
第9页 / 共26页
数字集成电路设计课程作业--实验十一红绿交通灯控制系统设计.docx_第10页
第10页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《数字集成电路设计课程作业--实验十一红绿交通灯控制系统设计.docx》由会员分享,可在线阅读,更多相关《数字集成电路设计课程作业--实验十一红绿交通灯控制系统设计.docx(26页珍藏版)》请在优知文库上搜索。

1、数字集成电路设计课程作业题目:红绿交通灯控制系统设计目录一、实验目的3二、实验原理3三、实验内容6四、实验步骤61 .实验代码62 .实验优化与仿真21五、实验总结24一、实验目的:1、初步学会用EDA进行系统设计2、理解电路模块化设计概念二、实验原理:1 .红绿交通灯控制系统如图1所示。硬件电路包括:两组红绿灯(配合十字路口的双向指挥控制)、两组七段数码管(配合红灯时倒计时的显示)、一组手动与自动控制开关(针对交通警察指挥交通控制使用)。图I红绿灯交通信号系统2 .实验电路安排如图2所示。其中,TRAFFIC_SIGN模块是用VHDL语言设计的。TRAFFIC_SIGN模块由4个子模块构成,

2、如图3所示。(1) clgen:时钟脉冲发生电路(即分频电路)在红绿灯交通控制系统中,大多数的情况是通过自动控制的方式指挥交通的。因此,为了避免意外事件的发生,电路必须给一个稳定的时钟才能让系统正常运作。但为了配合高峰时段,防止交通拥挤,有时必须使用手动控制,即让交警能顺利地指挥交通。clk.gen电路最主要的功能就是产生一些额外的输出信号,并将其用做后续几个电路的使能控制与同步信号处理。clk,gen电路系统输入信号:elk:由外接信号发生器提供IKHZ的时钟信号;reset:系统内部自复位信号;clk_gen电路系统输出信号:enascan:将外部的elk信号进行分频(此电路设计除4)处理

3、;ena_lhz:产生每秒一个脉冲的信号;图2实验电路图SESUS SH,-. :SkGi)- SEG73;SeG 1 2SEG7IISH.7iu,SH,tV “HG 飞IUSfcICLK.GENEKA SCASEKA IHZSBC77 SBOT6Sj75 、Ss4SEC7J SEO72 桃7|Vhdl SMV)MflaXk CLK REStfr UMD111 ENASCAN RFKMNT MCI、WUElI :0) TRAFFIC MlrX SAD CFAD CFAD CPAD a:) ,(A J V AD CFAD ViPAI) 4C,AD f CMD CPA :C PAD CPAD (P

4、AD CPADVbdlcodeKfcCOUNI RESET KJM STATEll OjSlGN STATF1:0RD|1 叫ItEDtBNASCANENAIIiZFLASH IIIZ1STATL IHG16:0 RFSFTRECoVXT LoADn 刈 COCNLDOWZREIIGRcM 9KASH IHZYLiXOWI I O AMSl WJlTNO(TSTATrTRFC NMREDOGREENLOlGREENl GREENOYHKwlYEUX)WO 一YCLLOW IJ图3红绿灯交通信号系统的VHDL模块图(2) traffijmux:计数秒表选择电路当过马路的时候,绿灯的一方有时会附加

5、一个显示器告诉行人,目前还剩下几秒信号灯变成红灯。因此,traffijmux电路的主要功能就是负责输出显示器需要的值(即倒数的秒数值),作为倒数显示器电路(countdowncircuit)的计数秒表。traffic_mux电路的系统输入信号:elk:由外接信号发生器提供IKHZ的时钟信号;reset:系统内部自复位信号;ena_scan:接收由clgen电路提供的25OHZ的时钟脉冲信号;recount:接收由traffiJfSm电路产生的重新计数的使能控制信号;sign_state:接收由trafficjsm电路产生的状态信号(共2b,4种状态)系统输出宿号;traffic_mux电路的系

6、统输出信号:load:负责产生计数器所需的计数数值(共8b,可输入数值范围。255);(3) countdown:倒计时控制电路当过马路的前候,绿灯的一方有时会附加一个显示器告诉行人,目前还剩下几秒信号灯变成红灯。因此,countdown电路的主要功能就是负责接收traffijmux电路输出的值(即倒数的秒数超),然后将其转换成BCD码,利用七段显示器显示出来,让行人能清楚地知道在过多久就会变成红灯。countdown电路的系统输入信号:elk:由外接信号发生器提供IKHZ的时钟信号;reset:系统内部自复位信号;ena_lHZ:接收由clk_gen电路提供的IHZ的脉冲信号;recount

7、:重新计数的使能控制信号;load:负责接收计数器所需的计数数值CoUnjdOWn电路的系统输出信号:seg7:负责将计数数值转换成BCD码,并利用七段显示器显示;next_state:当计数器计时完毕时,负责产生一个脉冲信号,作为转态触发信号。(4) traffic_fsm:红绿灯信号控制电路在红绿交通行控制系统中,大多数的情况是通过自动控制的方式指挥交通的。但为了配合高峰时段,防止交通拥挤,有时必须使用手动控制,即让交警自行指挥交通。因此,trafficjsm电路除了负责监控路口红绿灯之外,最主要的功能就是能够利用开关来切毓手动与自动的模式,让交警能够通过外部输入的方式来控制红绿灯交通信号

8、系统的运作。trafficjsm电路的系统输入信号:elk:由外接信号发生器提供IKHZ的时钟信号;reset:系统内部自复位信号;ena_scan:接收由clk_gen电路提供的250HZ的时钟脉冲信号;ena_lHZ:接收由clk_gen电路提供的IHZ的脉冲信号;flash_lHZ:接收由clk,gen电路提供的IHZ的脉冲信号;a_m:年动与自动的切换按钮(1:自动,0:手动);SJbUtt:红绿灯状态切换键(在手动模式下,每按一次就切换一个状态)nexjstate:接收由countdown电路提供的转态触发信号(在自动模式下)trafficjsm电路的系统输出信号:sign_stat

9、e:产生的输出状态信号(共2b,4种状态);red:负责红灯的显示(共2b,4种状态);green:负责绿灯的显示(共2b,4种状态);yellow:负责黄灯的显示(共2b,4种状态);三、实验内容:用VHDL语言实现clk_gen时钟发生电路(即分频电路);traffijmux:计数秒表选择电路;countdown:倒计时控制电路;traffiJfSm:红绿灯信号控制电路;用上述电路构成红绿交通灯控制系统。四、实验步骤1 .编写红绿交通灯控制系统各个模块的VHDL程序,进行语法检查,直到语法检查正确。(1) clk_gen:分频到IHZ的电路clk_gen.vhd:libraryieee;u

10、seieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.stdJogic_unsigned.all;entityclk_genisport(elk:inStdJogic;ena_lhz:outStdJogic);-Ihzoutputendentity;architecturebehavofclk_genissignalreg_clk:std_logic:=O;beginena_lhz=reg_clk;div50m:process(clk)variabletmp:integerrange0to25000000:=0;-50MHz

11、(25000000*2)=lHzbeginifclk,eventandelk=,1,thentmp:=tmp+1;iftmp=25000000thentmp:=0;reg-clk=notreg_clk;endif;endif;endprocess;endbehave;(2) clk_div:分频到IKHz的电路clk_div.vhd:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.stdJogic_unsigned.all;entityclk_divisport(elk:inStdJogic;

12、clkout:outStdJogic);-elkdivtoIKHzendentity;architecturebehvofclk_divissignalreg_clk:std_logic:=O;beginclkout=reg-clk;process(clk)variabletmp:integerrangeOto25000:=0;-50MHz/(25000*2)=100OHzbeginifclk,eventandelk=,1,thentmp:=tmp+1;endif;iftmp=25000thenreg-clk=notreg_clk;endif;endprocess;endarchitectur

13、e;(3) traffiJmUX:计数秒表选择电路traffic_mux.vhd:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entitytraffic_muxisport(elk:inStdJogic;-IKHzCLKinreset:inStdJogic;ena_lhz:inStdJogic;-IHzCLKinrecount:inStdJogic;sign_state:instd_logic_vector(ldowntoO);-zzOOwre

14、dzz01,yellowzz10,reen11greenflashload:outstd_logic_vector(7downtoO);-abinarycountoutputst_butt:inStdJogic;-manualcontrolnext_state:outStdJogic);-outputtofsm(finitestatemachine)endentity;architecturebehavoftraffic_muxissignalcount:std_logic_vector(7downtoO);signalstate:StdJogic:=,0,;signaltmpr:integerrangeOto30:=30;signaltmpg:integerrangeOto25:=25;signaltmpy:integerrangeOto5:=5;signaltmpgflash:integerrangeOto4:=4;beginprocess(ena_lhz,sign_state)beginif(sign_state=00)then-rif(rising_edge(ena_lhz)thenif(recount=1orreset=1ortmpr=Oorst_butt=O,)thentmpr=30;elsetmpr=tmpr-1;endif;endif;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

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