文档详情

福大EDA交通灯控制电路的设计(新实验箱).doc

发布:2017-12-17约4.22千字共7页下载文档
文本预览下载声明
可编程逻辑设计实验 学号:111201006 姓名:方毓韬 2014.11.11 实验五 交通灯控制电路的设计 一、实验目的: 进一步学习复杂数字电路的设计方法,提高利用硬件描述语言进行电路设计的技巧和熟练程度。 二、实验要求及原理: 满足图1顺序工作流程。图中设南北方向的红、黄、绿灯分别为NSR、NSY、NSG,东西方向的红、黄、绿灯分别为EWR、EWY、EWG。它们的工作方式有些必须是并行进行的,即南北方向绿灯亮,东西方向红灯亮;南北方向黄灯亮,东西方向红灯亮;南北方向红灯亮,东西方向绿灯亮;南北方向红灯亮,东西方向黄红灯亮。 图1 交通灯顺序工作流程图 应满足两个方向的工作时序:即东西方向亮红灯时间应等于南北方向亮黄、绿灯时间之和,南北方向亮红灯时间应等于东西方向亮黄、绿灯时间之和。时序流程图2所示。 图2中,假设每个单位时间为3秒,则南北、东西方向绿、黄、红灯亮时间分别15秒、3秒、18秒,一次循环为36秒。其中红灯亮的时间为绿灯、黄灯亮的时间之和。 图2 交通灯时序工作流程图 十字路口要有数字显示,作为时间提示,以便人们更直观地把握时间。具体为:当某方向红灯亮时,置显示器为某值,然后以每秒减1计数方式方式工作,直至减到数为“0”,十字路口红、绿灯交换,一次工作循环结束,进入下一步某方向地工作循环。 例如:当南北方向从黄灯转换成红灯时,置南北方向数字显示为24,并使数显计数器开始减“1”计数,当减到“0”,时,此时红灯灭,而南北方向的绿灯亮;同时,东西方向的红灯亮,并置东西方向的数显为24。 三、实验内容 1、根据实验要求及原理1、2画出交通指示灯控制电路原理框图。 提示:两个方向的控制电路可以共用一个24进制计数器实现。 2、用VHDL硬件描述语言层次化设计方法进行顶层文件和各模块电路的设计。 3、用QuartusII对设计进行编译、综合、仿真,给出仿真波形和时序分析数据(不包括数码显示部分)。 4、通过QuartusII集成环境,将设计下载到实验电路上进行硬件测试。 管脚锁定: 信号 旧试验箱 新试验箱NO.5 管脚号 连接的器件 管脚号 连接的器件 Clk1 43 Clk1(1HZ) 153 CLK2(1Hz) start 30 SW1 233 SW1 NSG 29 LED12 12 LED8 NSY 28 LED11 8 LED7 NSR 27 LED10 7 LED6 EWG 18 LED3 3 LED3 EWY 17 LED2 2 LED2 EWR 16 LED1 1 LED1 数字显示所需管脚参考实验六。 5、画出完整的交通灯控制电路原理框图(含数码显示部分)。 6、修改上述内容2的设计,增加数码显示部分。 注意:两方向的计数要求分别显示在数码管1、2和数码管7、8上。 7、用QuartusII对设计进行编译、综合、仿真,给出仿真波形和时序分析数据。 8、再次将设计下载到实验电路上进行硬件测试。 四、思考题: 1、控制电路除用有限状态机实现外,还可以采用什么方法实现? 答: 还可以用进程语句实现,用一个十二进制的计数器作为控制模块,则EWR、EWG、EWY、NSR、NSG、NSY在计数器不同输出的时候有相应的输出。 2、如果增加夜间显示(即全部黄灯闪烁),电路该怎样设计? 答: 把黄灯输出信号EWY、NSY作为使能端,接到一个锁存器上,锁存器的输入时一个频率较高的信号,输出接黄色LED。当EWY、NSY=1时,黄灯闪烁。 五、实验总结: 这个实验呢,总体来说是最难的一个。在学习EDA时间上较短而上的问题也造成了不少麻烦造就了困难。推敲中得以完成。总而言之这次试验程度上了我的能力受益:程序 module traffic (clk,EN,ACOUNT1,ACOUNT2,BCOUNT1,BCOUNT2,LAMPA,LAMPB); input EN,clk; output[3:0] ACOUNT1,ACOUNT2,BCOUNT1,BCOUNT2; output[2:0] LAMPA,LAMPB; reg[3:0] ar1,ar2,ag1,ag2,ay1,ay2,br1,br2,bg1,bg2,by1,by2; reg[3:0] numa1,numa2,numb1,numb2; reg tempa,tempb; reg[1:0] counta,countb; reg[2:0] LAMPA,LAMPB; always @ (EN) if(!EN) begin//预置数部分 ar1=4d8; ar2=4d1; ag1=4d5; ag2=4d1; ay1=4d3; ay2=
显示全部
相似文档