- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
交通灯控制器-EDA课程设计报告书
目录
0
2 方案论证 1
2.1程序设计的任务要求 1
2.2方案选择 1
3 单元模块 5
3.1程序中使用的信号介绍: 5
3.2子模块功能介绍: 5
4 整体电路 11
5 仿真及实物图 12
5.2 实物图 13
6心得 16
参考文献 16
附录 17
源程序 17
1.绪论
EDA课程教会了我们如何运用电脑辅助我们进行数字电路的设计。还教会了我们用于对FPGA进行编程的VHDL语言。我十分喜欢FPGA的编程,也觉得这次课程设计是一次实践的好机会。由于在之前我已经写过一些FPGA的程序,所以在拿到这个题目时我的思路还是比较清晰的。
2.方案论证
2.1程序设计的任务要求
2.1.1初始条件:
要求完成的主要任务:
2.1.2.2每十字路口有显示灯亮时间,要求灯亮时间以秒为单位进行减计数。
2.2.1方案一
只使用一个计时器完成所有计时工作,通过计数到不同的数值时发出不同的脉冲信号告诉系统相应的计时值已到。该方案的优势在于占用资源少,只用使用一个计时器就可完成5种不同的计时。但不管是在哪一个状态都会调用该计时器,一旦该计时器出错,整个系统都会受影响,不利于系统的维护和模块化编程的思想。
2.2.2方案二
使用5个计时器进行计时。在某个状态时,系统会调用相应的计时器开始计时,并且只检测相应计时器的计时完成脉冲信号。该方案的缺点在于占用FPGA资源多,但由于FPGA上资源足够,这个缺陷不影响系统工作。但它的优势是很明显的,它采用模块化编程设计,单个计时器的复杂度远远小于方案一中的计时器,并且5个计时器完全类似,只要完成一个计时器的设计就能轻易完成整个计时模块的设计。
因此,我选择方案二进行设计。
2.2.3设计思路
整个程序设计可以分为4个部分,灯的显示部分、数码管的显示部分、计时部分和按键对倒计数时间的调整部分。
灯的显示部分可用状态机实现。由于交通灯的显示状况是有限的几个状态,于是可以用状态机让灯在固定的几个状态中顺次切换。对于这个题目,我将灯的显示分了8个状态:
首先,所有交通灯有12个:主干道直行的红黄绿灯,主干道左转的红黄绿灯,次干道直行的红黄绿灯,次干道左转的红黄绿灯。
主干道直行绿灯亮、主干道左转红灯亮、次干道直行和左转红灯亮;
主干道直行黄灯亮、主干道左转红灯亮、次干道直行和左转红灯亮;
主干道直行红灯亮、主干道左转绿灯亮、次干道直行和左转红灯亮;
主干道直行红灯亮、主干道左转黄灯亮、次干道直行和左转红灯亮;
主干道直行红灯亮、主干道左转红灯亮、次干道直行绿灯亮,次干道左转红灯亮;
主干道直行红灯亮、主干道左转红灯亮、次干道直行黄灯亮,次干道左转红灯亮;
主干道直行红灯亮、主干道左转红灯亮、次干道直行红灯亮,次干道左转绿灯亮;
主干道直行红灯亮、主干道左转红灯亮、次干道直行绿灯亮,次干道左转黄灯亮;
于是我定义了一个信号STATE用于存储状态机的状态:
TYPE STATE_TYPE IS(A,B,C,D,E,F,G,H);
SIGNAL STATE:STATE_TYPE:=A;--状态初始化为A
数码管的显示部分。设置了5个计时器,分别是30s计时器、25s计时器、20s计时器、15s计时器和5s计时器。每个计时器都有一个使能EN信号,每个状态下只允许一个EN有效,当检测的计时器的EN信号有效时,就会将它的计数数值送到数码管显示。
定义了一个常量数组:LED。代码如下:
constant LED:data:=1111100110110000100100101111100010010000);--储存0~9的数码管显示字符
将2位十进制数转化为2个8位二进制数显示的代码为:
hh:=current_30s/10;
ll:=current_30s rem 10;
LED2=LED(hh);
LED1=LED(ll);
计时部分使用5个计时器,每个计时器由使能信号EN控制启动。由计时完成信号SIN告知系统计时完成。
5个计时器结构类似,下面是计时器30S的程序代码:
SANs:process(time_1s,stop,pause,en_30s)
begin
if stop=1 then
current_30s=set_30s;
elsif pause=1 then
elsif en_30s=0 then
current_30s=set_30s;
sin_30s=0;
elsif time_1sevent and time_1s=1 then
current_30s=current_30s-1;
if sin_30s=1 then
s
您可能关注的文档
- 丙烯酸聚氨酯树脂合成及固含量测定-毕业论文.doc
- 丙烯腈流化床反应器设计.docx
- 世纪春天WLAN规划设计.doc
- 丙酮与空气混合气体填料吸收塔设计.docx
- 业鹏汽车零部件公司半挂车ABS智能控制系统产品设计研发技术、产品生产工艺技术、检测技术项目资金申请.doc
- GMP附录《计算机化系统》法规简介.pdf
- 东北南部和华北区域玉米产区玉米主要病虫草害发生状况检测项目申报书.doc
- 东北农业大学毕业论文交通肇事“因逃逸致人死亡”定性.doc
- 东北大学矿山机电毕业论文-供电系统谐波危害及消除办法.doc
- 东北大学毕业设计(论文)-年产炼钢生铁480万吨、铸造生铁40万吨炼铁车间设计.doc
- 2025AACR十大热门靶点推荐和解读报告52页.docx
- 财务部管理报表.xlsx
- 高中物理新人教版选修3-1课件第二章恒定电流第7节闭合电路欧姆定律.ppt
- 第三单元知识梳理(课件)-三年级语文下册单元复习(部编版).pptx
- 俄罗斯知识点训练课件-七年级地理下学期人教版(2024).pptx
- 课外古诗词诵读龟虽寿-八年级语文上学期课内课件(统编版).pptx
- 高三语文二轮复习课件第七部分实用类文本阅读7.2.1.ppt
- 高考物理人教版一轮复习课件第4章第3讲圆周运动.ppt
- 高考英语一轮复习课件53Lifeinthefuture.ppt
- 2025-2030衣柜行业风险投资发展分析及投资融资策略研究报告.docx
文档评论(0)