ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:430.32KB ,
资源ID:16200052      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16200052.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA交通灯课程设计Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA交通灯课程设计Word文档下载推荐.docx

1、2.2 实现方案2.2.1 从题目中计数值与交通灯的亮灭的关系如图(1)所示:图一2.2.2 交通灯控制器系统框图如图2 所示:3、硬件电路设计3.1 分频器的设计 分频器实现的是将高频时钟信号转换成低频的时钟信号,用于触发控制器和计数器。该分频器实现的是一千分频,将一千赫兹的时钟信号分频成一赫兹的时钟信号。生成的Symbol 文件如图3 和仿真波形如图4 所示。 图三图四3.2 控制器的设计 控制器的作用是根据计数器的计数值及t1 的输入数据控制发光二极管的亮、灭,以及输出正计时数值给七段数码管的分位译码电路。本控制器是利用时钟沿的下降沿读取前级计数器的计数值,然后作出反应;生成的实体模块如

2、图5 和仿真波形如图6所示。图五图六3.3 计数器的设计 计数器1 的计数范围为由t1 引脚输入。计到t1 后,下一个时钟沿恢复到0,开始下一轮计数。仿真波形如图当t1 取7 时,计数器计数到7 后清零。实体模块如图7 和仿真波形如图8。计数器2 和计数器3 的实体模块如图9 和图10 所示。图7图9图10图83.4 分位译码电路的设计-1 由于控制器输出的正计时数值可能是1 位或者2 位十进制数,因此在七段数码管的译码电路前要加上分位电路(即将其分成2 个1 位的十进制数,如40 分成4 和0,5分为0 和5)。与控制器一样,分位电路同样可以由时钟驱动,也可以设计成纯组合逻辑电路。控制器中,

3、引入了寄存器。本电路中分位电路使用组合逻辑电路实现。生成的实体模块如图11 及仿真波形如图12。图11图123.5 分位译码电路的设计2分位译码电路2 和分位译码电路1 的功能是一样的,为了区别两个不同的引脚图( 8)图(11)图(12)NumC3.0和NumD3.0因此再设计一个电路,只是引脚名的名称不同,如图13。3.6 数码管驱动的设计绿灯和红灯驱动 要求数码管共阳极连接(共阳极的公共端为低电平时,LED 不亮),在设计中为每个数码管都添加了一个驱动电路,在使用时通过调用模块来实现。本模块设计为时序逻辑电路,采用下降沿触发。实体模块如图14 和仿真波形如图15。图14图153.7 数码管

4、驱动的设计黄灯驱动 由于黄灯固定时间是5 秒,因此变化范围是0 至5 秒,七段数码管只要能显示0-5 的数就行了,所以单独用一个数码管驱动。实体模块如图16和仿真波形如图17。图16图173.8 顶层连接及其仿真交通灯控制器的顶层文件连接图如图18 和仿真波形如图19。图18图19 对图18 和19 的解释:在图18 中,绿灯计数器直接接分位译码器1,红灯计数器直接接分位译码器2,每个译码器分别接两个驱动电路,然后接输出。左边5 个驱动器接的数码管显示的是甲车道各个灯亮的时间,右边5 个驱动器接的数码管显示的是乙车道各个灯亮的时间。在19 图中可以看出甲、乙车道绿灯亮的时间加上黄灯亮的时间等于

5、甲车道红灯灭的时间。同时我们可以看出该系统满足我们所需的要求。4、程序设计4.1 分频器的设计library ieee;use ieee.std_logic_1164.all;entity fredevider is -分频器port(clkin:in std_logic;clkout:out std_logic);end;architecture devider of fredevider isconsta nt N:integer:=499;signa l counter:integer range 0 to N;图( 1signa l Clk:std_logic;beginprocess

6、(clkin)if rising_ed ge(clkin)thenif Counter=N thencounter=0;clk=not clk;else=counter+1;end if;end process;clkout=clk;4.2 控制器的设计 控制器的作用是根据计数器的计数值控制发光二极管的亮、灭,以及输出正计时数值给七段译码管的分译码电路。entity control is -控制器port (clk :c1,c2,c3:out std_logic; -计数器工作时能信号,为1 时计数w1,w2,w3: -计数器指示信号,在计数过程中,相应的指示信号为0,计数结束时为1r1,r2

7、 : -分别为甲乙车道红灯y1,y2 : -分别为甲乙车道黄灯g1,g2 : -分别为甲乙车道绿灯reset :in std_logic); -复位信号,高电平有效end control ;architecture a of control istype state_space is (s3,s2,s1,s0) ; -四种状态signa l state : state_space ;process (clk)if reset=1 thenstateif w1=s1;end if ;when s1=if w2=s2;when s2=if w3=s3;when s3=end case;c1=whe

8、n state =s0 else 0;c2when state =s1 or state =s3 else c3when state =s2 else r1when state =s1 or state =s0 else y1when state =s3else g1r2when state =s2 or state =s3 else y2when state =s1 else g2end a ;4.3 计数器的设计4.3.1 绿灯计数器entity counter1 isenable :t1 :in integer range 0 to 40 ; -绿灯可设置亮的时间c1 :end coun

9、ter1 ;architecture a of counter1 isvariable cnt : integer range 0 to 40 ; -变量cnt 定义为常数,取值范围为0到40if (clk) then -时钟上升沿到来if enable=a nd cntt1 then -使能信号为1,并且cnt 小于t1 时cnt:=cnt+1; -加计数if cnt=t1 then -乙道开始通行,S0 状态4.3.2 红灯计数器entity counter2 isc2 :end counter2 ;architecture a of counter2 isconsta nt y:Inte

10、ger:=5; -黄灯固定时间为5 秒signa l t2 : integer range 0 to 45; -红灯亮的时间 integer range 0 to 45 ; -变量cnt 定义为常数,取值范围为0到45t2=t1+y;t2 then -使能信号为1,并且cnt 小于t2 时if cnt=t2 then -工作在S1 或S3 状态end a;4.3.3黄灯计数器entity counter3 isc3 :m3 :out integer range 0 to 5 );end counter3;architecture a of counter3 is integer range 0

11、 to 5 ; -变量cnt 定义为常数,取值范围为0到55 then -使能信号为1,并且cnt 小于5 时if cnt=5 then -工作在S2 状态m3=40 THEN -输入计时数据大于40NumA=4; -把十位数字送给ANumB=30 THEN=3;=Numin-30;=20 THEN=2;=Numin-20;=10 THEN=1;=Numin-10;ELSE=Numin;END IF;END PROCESS;4.5 分位译码电路的设计2ENTITY Fenwei2 ISNumC,NumD:OUT Integer RANGE 0 to 9 -红灯亮的时间,十位和个位ARCHITE

12、CTURE behavior OF Fenwei2 IS=40 THENNumCNumDsegout0110000when 2=1101101when 3=1111001when 4=0110011when 5=1011011when 6=0011111when 7=1110000when 8=1111111when 9=1110011when others =null;END CASE;4.6.2 黄灯驱动ENTITY HDqudong IS -黄灯驱动IN integer RANGE 0 TO 5; -黄灯变化范围ARCHITECTURE behavior OF HDqudong IS5硬

13、件测试 把顶层文件连接图进行编译仿真后就可以进行硬件测试了,我们所用的仿真实验箱是GW48 系列SOPC/EDA 实验开发系统(杭州康芯电子有限公司现代DSP 实验开发系统)。在实验箱中因为有1HZ 的频率并且自带译码器,所以在下载时用的顶层文件连接图就把分频器和译码器驱动电路给去掉了,如图(20),在实验过程中由于数码管不够,图中5 个数码管显示的是一个车道的绿、红、黄灯时间。图206、引脚锁定在下载之前,要进行引脚的锁定,我们用的是模式5,各个端口的引脚锁定如图21。图21 在确定引脚锁定正确后再编译一次,然后下载到实验箱中。首先对绿灯时间t1 进行置数,可在0 到40 任意置数,不妨设为

14、7 秒,然后系统开始工作,绿灯从0 开始正计时到7 再跳到黄灯从0 开始正计时到5 然后再跳到红灯从0 开始正计时到12。相应的另一车道的红、绿、黄灯会变化只是没有显示相应的时间。7、心得体会 EDA 课程设计,使我对EDA 的认识有提高了一个层次,现在能够熟练的使用QuartsII,能够用VHDL 语言编写简单的、实用的小程序,这次EDA 课程设计重点学习了交通灯部分程序的编写、调试、还有硬件下载、操作等过程。在整个课程设计的过程中,我查阅了大量的关于EDA 的资料,特别是在网上和图书馆我找到了大量的关于硬件编程的资料。另外,图(21)- 22 -在课程设计的过程中我认为调试程序是很重要的,

15、要有耐心。我在第一次编译时有三十几个错误,其中有输入错误、语法错误,如:工程名和实体名不一致,少了分号或者少了END IF 等错误。发现错误之后就要一遍一遍的仔细查错,直到没有错误,然后可以进行波型仿真了。8参考文献(1)潘松,黄继业.EDA 技术实用教程.科学出版社.2006.9(2)李辉.PLD 与数字系统设计.西安电子科技大学出版社.2005(3)蒋璇.臧蠢华.数字系统设计与PLD 应用(第二版).电子工业出 版社.2005(4)刘笃仁、杨万海编著.在系统可编程技术及其器件原理与应用. 西安:电子科技大学出版社.2001(5)张原编著.可编程逻辑器件设计及应用.北京:机械工业出版 社.2001

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1