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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

《现代数字系统设计》课程论文Word文档格式.docx

1、如果每个方向的灯是独立变化的,那么交通灯就没有了意义。2.2 主控模块2.2.1 FPGA芯片FPGA采用了LCA这样一个概念,内部包括可配置逻辑模块CLB、输入输出模块IOB和内部连线三个部分。本设计采用Altera公司ACEX1K EP1K10TC100-3芯片,具有低内核电压、低功耗的特点。芯片内门电路高达一万门,内部使用RAM作电路结构,速度高达几百MHZ,其输出可用管脚已全部开放,位于芯片的四周,用户可以根据自己的要求和芯片本身的功能自己任意定义管脚。同时为了体现实验箱的可扩展性,在芯片的两边各有一个34脚的IDE插口,可以通过数据排线与其它应用模块相连接。2.2.2. 控制类模块交

2、通灯:由12个红黄绿灯按交通灯方式排列的交通灯模块,可做交通灯或舞台灯光实验。其工作原理与LED灯相似。2.2.3.显示类模块8位7段数码管:采用2个进口共阴的7段数码管组成,其连接管脚位选信号在数码管的左边由连接孔SEL0、SEL1、SEL2与其它模块连接。数码管采用动态扫描显示,位选信号SEL0、SEL1、SEL2经3-8译码后选择一位数码管,段选信号为A、B、C、D、E、F、G、DP。其输入由位于其下方的8位连接孔与其它模块连接,可以模拟二进制数据输出。2.2.4.输入类模块在这个模块中采用的是两个时钟源,一个是24M的高频时钟;一个是32768HZ能完成二次分频的时钟。时钟输出通过其上

3、方的四组跳线改变其频率的输出,每一组频率相对独立。其频率值在电路板上均已标明。用户也可以通过软件的方式来实现分频。每一组的频率输出端位于其上方对应的CLK1、CLK2、CLK3、CLK4连接孔。3.系统软件设计3.1 软件整体设计3.1.1 交通灯控制系统原理图3.1.2 交通灯控制系统框图3.2控制模块3.2.1状态机与倒计时状态机用两个进程分别控制两个方向的灯,引入有限状态机控制交通灯的状态转化,即由绿灯到黄灯然后到左拐灯再回到黄灯最后到红灯。复位时红灯全亮。交通灯状态图如下:在正常情况下的一个完整周期内,交通灯控制器系统一共有四种状态,分别为S0、S1、S2、S3。其运行方式从S0S1S

4、2S3S4,S结束后回到S0状态。各个状态具体的运行方式如下:S0:自南向北方向绿灯亮,自东向西方向红灯亮。此时允许自南向北方向车辆通行,禁止自东向西方向车辆通行。S1:自南向北方向黄灯亮,自东向西方向红灯亮。此时提醒自南向北方向车辆准备停车,禁止自东向西方向车辆通行。S2: 自南向北方向左拐灯亮,自东向西方向红灯亮。此时自南向北方向车辆允许左拐,禁止自东向西方向车辆通行。S3: 自南向北方向黄灯亮,自东向西方向红灯亮。S4:自南向北方向红灯亮,自东向西方向绿灯亮。此时禁止自南向北方向车辆通行,此时允许自东向西方向车辆通行。倒计时用两个减法计数器实现倒计时,当某个状态的剩余时间减到零时则切换状

5、态。3.2.2控制模块RTL图与流程图控制模块RTL图CLK连接1Hz时钟,EN接高电平时使能,系统正常工作,接低电平时系统不能正常工作,红灯全为亮。LAMPA0、LAMPA1、LAMPA2、LAMPA3分别控制自南向北方向的左拐、绿、黄和红灯,LAMPB0、LAMPB1、LAMPB2、LAMPB3分别控制自东向西方向的左拐、绿、黄和红灯。ACOUNT 用于自南向北方向的时间显示,驱动两个数码管。BCOUNT用于自东向西方向的时间显示,驱动两个数码管。控制模块流程图:3.3显示模块3.3.1位选扫描模块数码管扫描时钟接clk为1KHz。输出out与数码管的位选信号SEL0、SEL1相连,接至F

6、PGA芯片。每来一个时钟脉冲,做一次相应输出,频率为1KHz达到动态扫描。位选扫描模块流程图:3.3.2段选扫描模块数码管的位选信号SEL0、SEL1分别连接FPGA芯片。十六位数据经数据总线输入到段选扫描模块,十六位数据分为四段,通过sel选择相应段来输出。段选扫描模块流程图如下:3.3.3显示译码模块输出为数码管的段选信号,其段选信号A、B、C、D、E、F、G、DP分别连接FPGA芯片。根据相应的输入,输出相应的信号。例如:假设输入为1001,则相应输出所对应的段选信号为11110110。需要注明的是,这里采用的是共阴极数码管。显示译码模块流程图3.4顶层文件设计交通灯控制系统的顶层文件是

7、一个原理图文件,首先用Verilog 语言编写好所需的四个模块后,编译正确后保存,生成相应的可视化元件后,然后新建一个原理图文件,插入所生成的可视化元件它包含有四个元件,其实每个元件均由一个模块生成。四个元件分别为:位选扫描模块、段选扫描模块、显示译码模块、控制模块。然后将各元件用具有电气性质的导线连接好,保存编译。4.系统测试与总结4.1 系统测试建立一个vwf波形文件,将所需管脚加到波形文件中,设置相应的输值,保存并仿真,观察输出数据。实验证明仿真结果正确。也因此证明设置的该系统能按预期的设计进行工作,达到预期结果。仿真波形图:4.2 设计体会通过这次课程论文设计,我进一步加深了对EDA(

8、电子设计自动化)的了解。并进一步熟练了对QuartusII软件的操作。在做本次设计论文的过程中,遇到了很多问题,使我发现自己学习上存在的不足。并加深了对交通灯原理和设计思路的了解。同时也掌握了做课程论文的一般流程,为以后的设计积累了一定的经验。做课程设计时,先查阅相关知识,把原理吃透,确定一个大的设计方向,在按照这个方向分模块的把要实现的功能用流程图的形式展示。最后参照每个模块把输入和输出引脚设定,运用我们所学的VHDL语言进行编程。本设计采用VHDL 硬件描述语言文本输入方式和顶层文件设计两种方式,在确立总体预期实现功能的前提下,分层次进行描述,其中所用到的数据均可依现场情况而设置,修改方便

9、灵活。两种方式各有侧重,一种直观,一种则需要我们对语言有一定了解。二者的结合体现了基于FPGA技术和VHDL语言进行数字系统设计的优越性和广阔前景。城市交通情况较为复杂,所以在设计十字路口交通灯时考虑了左拐弯的功能。并设计实现了此功能。数字化时代的到来给人们的生活带来了极大的改变,有理由相信随着数字化的深入,交通灯控制器的功能将日趋完善。而且,VHDL 语言对EDA 产生的影响也是深远的,它缩短了电子产品的设计周期,为设计者提供了方便。总之,通过这次的设计,我进一步了解了EDA技术,收获很大,对软件编程、排错调试等方面得到了提高。另外,我也意识到,不管做什么事,我们都需要耐心、踏实、勤奋、严谨

10、的处事态度。更重要的是,学习上,我们必须从理论应用到实践,再从实践中验证理论,只有这样我们才能真正学会、学透并应用我们所学的知识,真正做到理论与实践相结合。附录控制模块源程序代码:/* 信号定义CLK 同步时钟EN 使能信号LAMPA 03分别控制A方向的左拐、绿、黄和红灯LAMPB 03分别控制B方向的左拐、绿、黄和红灯ACOUNT 用于A方向的时间显示,驱动两个数码管BCOUNT 用于B方向的时间显示 */module traffic( CLK, EN, LAMPA, LAMPB, ACOUNT, BCOUNT );output7:0 ACOUNT, BCOUNT;output3:0 LA

11、MPA, LAMPB;input CLK, EN;reg3:reg7:0 numa, numb; / 剩余时间reg tempa, tempb; / 切换状态reg2:0 counta, countb; / 状态量0 ared, ayellow, agreen, aleft, / 保持时间 bred, byellow, bgreen, bleft;assign ACOUNT = numa;assign BCOUNT = numb;/* 设置灯的计数初值 */always ( EN )begin if( !EN ) begin ared = 8h55; ayellow h5; agreen h4

12、0; aleft h15; bred h65; byellow bgreen h30; bleft endend/* 控制A方向的灯*/always ( posedge CLK ) if( EN ) / 正常情况tempa ) / 切换状态 tempa = 1; case( counta ) / 控制亮灯的顺序 0: begin numa=agreen; LAMPA=2; counta=1; 1:=ayellow;=4; 2:=aleft;=3; 3: 4:=ared;=8;=0; default: LAMPA 1 ) if( numa3:0 = 0 ) numa3:0 = 4b1001; n

13、uma7:4 = numa7:4 - 1; end else numa3:= numa3:0 - 1; if( numa = 2 ) tempa = 0; else / 返回初态b1000; counta tempa /* 控制B方向*/ if( EN )tempb ) tempb case( countb ) / 控制亮灯的顺序 begin numb=bred; LAMPB countb=bgreen;=byellow;=bleft; LAMPB if( numb3: numb3: numb7:= numb7: else numb3:= numb3: if( numb = 2 ) tempb

14、 else countb tempb endmodule位选模块源程序代码:module weixuan(out,clk);output1:0 out;input clk;reg1:always (posedge clk) if(out=3) out=out+1;译码显示模块源程序代码:module yima(dout,num);input0:3 dout;output0:7num;reg0:7 num;always(*) case(dout) 4b0000:num=8b11111100;b0001:b01100000;b0010:b11011010;b0011:b11110010;b0100

15、:b01100110;b0101:b10110110;b0110:b10111110;b0111:b11100000;b1000:b11111110;b1001:b11110110; default:b11111111;endmodule 段选模块源程序代码:module select1_4(dout,din,sel);0 dout;input15:0 din;input1:0sel;always (*) case(sel) 2b11:dout=din3:0;b10:=din7:4;b01:=din11:8;b00:=din15:12;参考文献1康华光.电子技术基础一一数字部份M .北京:高等教育出版社, 2006.2王金明. 数字系统设计与Verilog HDL(第四版). 北京:电子工业出版社,20103湖南理工学院. 专业实验辅导资料. 20104包明. EDA 技术与数字系统设计M.北航出版社 20025田瑞利.陈海滨.基于VHDL有限状态机的交通灯信号控制系统设计J.广州航海高等专科院校学报.20086徐春娇. 基于VHDL状态机设计的智能交通控制灯.20077 陈金玉. 吴振铨.广东工业大学第五届电子设计竞赛.8万军华. 现代数字系统设计课件. 2010

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

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