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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于某VHDL的交通信号灯设计Word格式.docx

1、经过40秒,ABL由B“100010”变为B“100001”,再经过5秒,ABL变为B“010100”,再经过40秒,S变为B“001100”,再经过5秒,ABL变为B“100010” 如此循环下去。南北、东西方向的红绿灯按表一表二变化。表一 交通灯状态转换表东西(A)方向红灯绿灯黄灯45秒40秒5秒南北(B)方向表二 交通灯状态转换表ABL备注1100100长时间亮红灯100010初始状态状态1: 100010持续40秒,转到状态2状态2: 100001持续5秒,转到状态3状态3: 010100持续40秒,转到状态4状态4: 001100持续5秒,转到状态1注:S的六位分别对应东西(A)方向

2、的红绿黄和南北(B)方向的红绿黄,1表示亮,0表示灭。三、模块设计及仿真1、顶层文件的设计顶层原理图设计可以依据系统框图进行,由反馈控制,倒计时,数码管显示,信号灯显示模块(jtd_ctrl,jtd_time,jtd_xs,jtd_light)五部分组成。其顶层原理图如图2所示。图2 顶层原理图顶层文件的仿真波形图如图3所示:图3 顶层文件的仿真波形2、状态控制模块(jtd_ctrl)的设计状态控制模块根据倒计时模块(jtd_time)的输出信号和1Hz的时钟信号,产生系统的状态机,控制其他部分的协调工作。该模块的源文件程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_

3、1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY JTD_CTRL IS PORT(CLK:IN STD_LOGIC; CTR: IN STD_LOGIC; AT,BT:IN STD_LOGIC_VECTOR(7 DOWNTO 0); S:OUT STD_LOGIC_VECTOR(1 DOWNTO 0);END JTD_CTRL;ARCHITECTURE JTD OF JTD_CTRL ISSIGNAL Q:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINPROCESS(CLK,AT,BT,CTR)IF CTR=1 THEN Q

4、=00;ELSEIF CLKEVENT AND CLK = THEN IF(AT = X01)OR(BT = X) THEN Q=Q+1; ELSE Q=Q;END IF;END PROCESS;SEND JTD;状态控制模块的仿真波形如图4所示:图4 状态控制模块的仿真波形图3、倒计时模块(jtd_time)的设计倒计时模块用来设定A和B两个方向计时器的初值,并为数码管显示模块提供倒计时时间。倒计时模块源文件程序如下:ENTITY JTD_TIME IS M: S:IN STD_LOGIC_VECTOR(1 DOWNTO 0);OUT STD_LOGIC_VECTOR(7 DOWNTO 0)

5、;END JTD_TIME;ARCHITECTURE JTD_1 OF JTD_TIME ISSIGNAL ATI:STD_LOGIC_VECTOR(7 DOWNTO 0):=XSIGNAL BTI:SIGNAL ART,AGT,AYT:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL BRT,BGT,BYT:ART45AGT40AYT05BRTBGTBYTPROCESS(CLK,M,S,CTR)IF M= THEN ATIATINULL;END CASE; THEN IF ATI /= XIF ATI(3 DOWNTO 0)=0000 ATI(3 DOWNTO 0)10

6、01 ATI(7 DOWNTO 4)=ATI(7 DOWNTO 4)-1;ELSE ATI(3 DOWNTO 0)=ATI(3 DOWNTO 0)-1;=ATI(7 DOWNTO 4); THEN BTI=BTI;BTI=BGT;=BYT;=BRT;IF BTI /= XIF BTI(3 DOWNTO 0)= BTI(3 DOWNTO 0) BTI(7 DOWNTO 4)=BTI(7 DOWNTO 4)-1;ELSE BTI(3 DOWNTO 0)=BTI(3 DOWNTO 0)-1;=BTI(7 DOWNTO 4);ATBTEND JTD_1;倒计时模块的仿真波形图如图5所示:图5 倒计时模

7、块的仿真波形图4、数码管显示模块(jtd_xs)的设计显示模块用来显示倒计时时间。采用动态扫描显示,通过分位程序,控制四个数码管的显示时间。数码管显示模块的源文件程序为:ENTITY JTD_XS ISPORT (CLK1K: LED1,LED2,LED3,LED4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END JTD_XS;ARCHITECTURE JTD_3 OF JTD_XS ISSIGNAL OU1,OU2,OU3,OU4:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL SL:PROCESS(CLK1K)IF CLK1KEVENT A

8、ND CLK1K=IF SL= THEN SLELSE SL=SL+1;PROCESS(SL,AT,BT)CASE SL ISOU1=BT(3 DOWNTO 0);OU2=BT(7 DOWNTO 4);OU3=AT(3 DOWNTO 0);OU4=AT(7 DOWNTO 4);LED1=OU1;LED2=OU2;LED3=OU3;LED4=OU4;END JTD_3;数码管显示模块的仿真波形图如图6所示:图6 数码管显示模块的仿真波形图5、信号灯显示模块(jtd_light)的设计通过控制模块的输出的状态控制信号,控制六个信号灯的亮灭。信号灯显示模块的源文件程序为:ENTITY JTD_LIG

9、HT ISPORT(M: ABL:OUT STD_LOGIC_VECTOR(5 DOWNTO 0);END JTD_LIGHT;ARCHITECTURE JTD_2 OF JTD_LIGHT ISSIGNAL LT:STD_LOGIC_VECTOR(5 DOWNTO 0);PROCESS(S,M) THEN LT100100LT100010100001010100001100ABL=LT;END JTD_2;信号灯显示模块的仿真波形图如图7所示:图7 信号灯显示模块的仿真波形图三、引脚映射本次设计我们采用GW48 EDA实验箱,选择芯片EP1K30TC144-1,选择模式3,引脚映射如表三所示

10、:表三 引脚映射NodePinABL0212ABL1223ABL2234ABL3265ABL4276ABL575481269LED104110LED114211LED126512LED136713LED206814LED216915LED227016LED237217LED307318LED317819LED327920LED3380LED4081LED4182LED428324LED438625四、编程下载在实验箱上选择clock2为1Hz,clock0为1024Hz,模式选择模式3,引脚锁定如表三所示。下载后,结果显示正确,六个信号灯依次为东西方向的红绿黄和南北方向的红绿黄。两个方向上的数

11、码管显示的时间完全吻合。键1为紧急状态控制开关,按下键1时,两路信号灯都为红灯,时间暂停,再次按下键1,恢复原状态,继续计时。键2为清零开关,按下键2时,两路信号灯从初始状态开始计时,结果证实调试成功。五、实验总结通过紧张的实验,我完成了设计任务用VHDL设计交通灯控制器。通过本次课程设计的学习,我深深地体会到设计课的重要性和目的性。为了完成项目,我在网络上找到了许多相关资料,大大扩充自己的知识面,使许多以前想解决却无法解决的困难迎刃而解。对软件设计流程有了更深刻的理解,掌握了MAX+plus的使用。将书本上的理论知识和实际有机地结合起来,锻炼了实际分析问题和解决问题的能力,提高了适应实际的能力,为今后的学习和实践打下了良好的基础。本次EDA课程设计的目的和意义,通过设计交通灯控制器,了解EDA技术,了解并掌握VHDL硬件描述语言的设计方法和思想,巩固和综合运用所学过的原理知识,提高分析、解决实际问题的独立工作能力。

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

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