《eda技术》课程设计报告。
交通灯的设计与实现。
学生姓名。专业班级。
指导教师。起止日期。
重庆邮电大学通信与信息工程学院。
二ο一二年月日。
摘要。本次课程设计在altera公司研发的altera quartus ii 9.0编程环境中运用vhdl语言并结合相关实验箱最终实现了对十字路**通灯控制功能电路的设计。
最终试验的功能为南北方向红绿灯显示顺序为红灯、绿灯、黄灯,东西方向对应显示为绿灯、红灯、黄灯。其中红灯时等待时间为25s,绿灯等待时间为20s,黄灯等待时间为5s。
设计过程中通过分频模块、分为处理模块、状态转移模块、倒计时显示模块最终达到了软硬件两方面实现交通灯状态转换时间达到两位数这一扩展功能的目的。
由于此次设计最高等待时间为25秒,设计中采用了十位个位分开处理的方式。为使数码管多位显示时,能达到视觉暂留的效果,敏感信号要求高频,故此次实验要求的外部输入时钟为1khz。而后经分频模块一千分频后的时钟信号(周期为1s)作为倒计时模块的敏感信号,以保证一秒倒计时功能的实现。
在状态转移模块中,本设计采用了对两个红绿灯单独处理的方式,使得程序的设计更加简单易懂。
为保证硬件实现的可靠性,本次设计在进行硬件之前进行了软件**,并对**解雇进行了分析,从而保证了硬件检验时的安全性,降低了试验箱受损的概率。
关键词: 交通灯分频两位显示
目录。摘要 .1
一、课程设计任务及要求 3
二、系统硬件设计 4
2.1 交通灯的设计原理 4
2.2 交通灯的设计方案 5
三、系统软件** 8
3.1 系统实时图 8
3.2 时序**图 8
3.3 引脚分配图 9
四、硬件的调试 9
4.1 电路的调试及** 9
4.2 调试结果及结论分析 9
五、课程设计心得体会 10
5.1 个人体会 9
5.2 问题总结 11
六、总程序附录 11
七、参考文献 15
一、 课程设计任务及要求。
1、模拟十字路**通信号灯的工作过程,利用实验板上的两组红、黄、绿led灯作为交通信号灯,南北和东西方向各有一组红、黄、绿灯,各自持续的时间分别为:25s,5s,20s;
2、当南北方向的绿灯亮时,东西方向的红灯亮;当东西方向的绿灯亮时,南北方向的红灯亮;南北方向的黄灯亮时,东西方向的红灯亮;东西方向的黄灯亮时,南北方向的红灯亮;交通灯十字交叉路口如下所示:
图13、要求将实验箱上的8个led灯中的6个表示南北方向和东西方向的红黄绿交通灯。同时在7段数码管上以倒计时方式显示两个方向允许通行或禁止通行的等待时间,计数器由初始状态开始计数,对应状态的指示灯亮。
4、用vhdl语言进行程序设计,在eda实验箱上完成十字路**通灯的设计与实现,实现正常的交通红绿灯转换和显示倒计时总体功能。
二、系统硬件设计。
2.1 交通灯的设计原理
根据课程设计的任务及要求,交通灯控制器的状态转换列成下表1:
表12.2 交通灯的设计方案。
交通灯的控制电路控制东西和南北两个方向的信号灯,每个方向的信号灯包括红黄绿3盏灯。该系统还包括通行和等待时间显示。交通灯一个循环周期包括50个状态,对于每个方向红灯占25个状态,绿灯占20个状态,黄灯占5个状态。
由于此次设计将两个方向的交通灯分开处理,所以实际需设计的状态仅有三种,从而大大降低了程序的设计难度。两个交通灯的状态可以用真值表进行描述。如下表:
设计方案中交通灯的实现由四个部分组成:分频模块、分位处理模块、状态转移模块、倒计时显示模块 ,各个模块先用eda技术中的vhdl语言编程**。
1、 分频模块:
由于程序中进行位选扫描时需要很高的时钟频率而进行倒计时时要求的时钟频率为1hz,所以在此次设计中加入了分频部分。其主要功能是将有外部输入的1khz的时钟信号进行一千分频,而后用得到的1hz的心时钟控制倒计时模块。
分频部分程序流程图如下:
图22、 分位处理模块。
为与交通灯实际情况相结合,此次设计突破了倒计时数字单位显示的局限,利用位选快速循环显示的方式达到了视觉暂留的静态显示效果。
由于所需显示数字最高数值为25,所以采用十位个位分开显示时十位的数字只有三种情况,故将十位又做了特殊处理,再次降低了程序的复杂度。
显示部分设计流程图如下:
图33、 状态转移模块。
由于此次设计将两个红绿灯分开处理,所以对于单一的红绿灯来说,显示的状态只有红灯、绿灯、黄灯,三种情况,且顺序进行。在程序中通过使用同一时钟信号,使得两部分红绿灯在设定的对应状态下各自循环,并达到了最终的显示要求。
状态转移部分设计思想图如下:
图44、 倒计时显示模块。
在进行倒计时显示时,十位个位为分开显示。十位显示为0~2,个位显示为0~9,且个位变化周期为1s。
表2注:7段共阴极数码管。
三、系统软件**。
3.1系统rtl图
根据交通灯系统的控制要求,下图5为电路图。
图53.2 时序**图。
为尽量延长观测时间并考虑**时间,进行方针时设置的截止时间为1ms
图63.3 引脚分配图。
选择的器件为cyclone ⅲ系列的ep3c10e144c8 10320芯片,引脚锁定方法如下图所示。
图7四、硬件的调试。
4.1 电路的调试及**。
1) 建立一个新的工程完成电路的设计。
2) 编译程序并使用功能**来验证设计。
3) 引脚配置
这些配置是确保vhdl**中输出端口能使运用eda实验箱的芯片连接到试验箱上的引脚。重新编译项目,并将****到eda实验箱上。
4) 测试电路的正确性。
有2个led没有使用,其它6个led灯作为交通信号灯。三个表示南北方向的led灯,另外三个表示东西方向的灯;红灯等待时间为25秒,绿灯等待时间为20秒,黄灯等待时间为5秒。
4.2 调试结果及结论分析。
****到eda实验箱并进行软件**后,红、黄、绿灯分别按设计要求所示实现了交通灯秒数转换,得到了预期的实验结果,即实现了模拟十字路**通信号灯的控制。数码管动态显示,是通过位选和段选来控制的。通过查询资料,将2位位选信号接到实验箱数码管位选端,将七位段选信号连接到数码管的段选控制端,当接入合适的信号后,数码管即可正常工作。
五、课程设计心得体会。
5.1个人体会:
通过了一周的探索和实践的辛苦努力,我们终于完成了eda技术课程设计任务——交通灯的设计。回想起整个过程,酸甜苦辣尽在心头,有太多的感悟与切身体会。总的来说,我们舍去的是我们宝贵的时间,但我们换来的却是一笔无形的财富。
通过这次基于eda可编程逻辑器件的课程设计,我们受益匪浅。在这整个课程设计过程中,主要在两个方面学到了很多东西。
在学习方面,通过这次设计我们结合所学到的理论知识,将其转化成为实际有实用价值的东西。在这次较为漫长的课程设计过程中,它逐渐培养了我们的电路设计和程序编程能力,提高了我们的动手操作和独立思考解决实际问题的能力,巩固了我们在课本上所学的知识。起初,当课程设计的任务布置下来后,我们都无从着手,觉得有很大的难度,甚至不知道该从哪一部分开始。
所以唯一的办法就是查阅多方面的资料。然而,在这个繁琐的查阅的过程中,大家都收获了很多。积累了扎实的知识功底,我们开始了我们的硬件电路设计,分析交通灯的设计原理,开始了我们的探索旅程。
一个好的设计需要通过我们不断的思维,不断的改善。以前很缺乏独立能力的我,在通过设计之后,不再像以前那样遇到问题只会一味求助别人。其实,做任何事情都不能够一味地好高骛远,我所意识到的,是我们要通过踏实、虚心、刻苦地学习,才能真正有所收获。
起初我们通过讨论,初步有了设计的方案,觉得还是比较简单的。但是,具体到动手操作时,麻烦一个一个地接踵而来,比如出现的难点问题,段选和位选之间的联系和区别,如何利用位选功能来实现交通灯两位数甚至以上的数码管动态显示,如何通过按键来控制相应的状态。当遇到紧急情况时,如何控制交通灯的状态和数码管的动态显示。
通过理解多遍资料,才通过不断地探索和学习写出相应的程序。还有,程序里有模块忘记写复位信号,结果调试出现了问题,虽然看起来仿佛只是一个小错误,但决不能忽视之。总之,在学习上,它培养了我们自主学习的能力。
此外,在团队合作精神上我门也深刻意识到它的重要性。这种考察综合能力的课程设计,一个人的力量,是比较难以独立完成任务的。所以,我感受到的是团队合作还有那种互帮互助、齐心协力和共同进步的缺一不可。
总的来说,这次课程设计我们还是成功的,我们还是比较满意的,感觉收获到了很多。如果没有这次设计为我们搭建的平台,我们就不能通过实践把理论基础知识掌握牢固。也学不到这种自主独立学习的能力。
相信在此次的课程设计中所学到的知识在以后的生活和学习中对我们会有很大的帮助和提升。
5.2问题总结:
问题一、设计思路的局限性:
起初看到老师的设计框架之后没有认真思考,并将思路局限于状态转移图以及真值表的情况。而且没有想到之前学过的真值表化简以及状态机的设计,使得最初的设计模式仅限于基本功能,且倒计时时间没能突破一位。
解决:由于设计要尽量的贴近实际,而实际中的红绿灯等待时间均在十秒以上,所以想到要突破一位数的限制,而随之红绿灯的状态数也会随之增加,故应采用化简后的状态转移情况。
问题二、时间延长后状态的增加。
解决:将两个红绿灯分开考虑,其显示状态并不受等待时间的影响,固定为红黄绿,一次执行。所以在设计中使两部分独立显示,各自循环三个状态,使得程序更为简单。
问题三、位选段选不能同时进行。
解决:利用外部1khz时钟信号进行位选扫描达到视觉暂留的静态显示效果。
问题四、倒计时时钟要求为1s
解决: 将外部时钟进行分频,使一秒内只存在一个上升沿。
六、总程序附录。
总程序如下:
library ieee;
use use
use entity jtd is
port(seg : out std_logic_vector(7 downto 0duan xuan
dig : out std_logic_vector(7 downto 0wei xuan---
EDA课程设计报告
eda 课程设计报告。时间 2014年12月21日 学院自动化。专业班级自1204 姓名。学号。指导教师王丽君老师 成绩。2014年 12月。目录。卷烟机烟支漏气跟踪自检装置设计 1 一 设计背景及设计目的 3 1.1设计背景 3 1.2设计目的 3 二 设计原理 3 三 设计步骤 5 3.1模块分...
EDA课程设计报告
设计一个出租车自动计费器,计费包括起步价 行车里程计费 等待时间计费三部分,用四位数码管显示金额,最大值为999.9元,最小计价单元为 0.1元,行程 3公里内,且等待累计时间3分钟内,起步费为8元,超过3公里,以每公里1.6元计费,等待时间单价为每分钟1元。用两位数码管显示总里程,最大为99公里。...
EDA课程设计报告
课程名称eda技术。设计项目多功能数字钟。系 部 班级姓名学号 指导老师日期2010 06 09 电子系电子仪器仪表与维修仪表z082王叁少安老师。1 数字钟的设计要求。多功能数字钟具有计时功能和时钟的校时基本功能。计时功能采用24小时计时,显示时,分,秒。采用时校时,对于分钟和秒模块采用60进制实...