已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
可编程逻辑器件与 VHDL 课程设计 基于基于 VHDL 的交通灯设的交通灯设 计计 班 级 08 级通信 1 班 姓 名 学 号 指导教师姓名 杨泽霖 摘要 伴随着社会的发展以及人类生活水平的提高 汽车的数量在不断增加 交通事业得以蓬勃发展 而随之引起的安全问题已经不容忽视 EDA 技术的发 展和应用领域也在不断的扩大与深入 机械 电子 通信 航空航天 化工 矿产 生物 医学 军事等各个领域的重要性日益突出 为了确保十字路口的 行人和车辆顺利 畅通的通过 往往采用电子控制的交通信号来进行指挥 利 用 EDA 技术设计交通灯来完成这个需求就显的更加迫切 同样也是非常的实用 和合理 关键字 VHDL 语言 交通灯 Quartus 软件 正文 一 系统分析与总体方案 1 系统分析 通过分析可以知道 所要设计的十字路口交通灯控制电路要能够使南北方向 有左转 直行各三个灯 红 黄 绿 东西方向有左转 直行各三个灯 红 黄 绿 三个灯能够按顺序依次亮灭 而且要求绿灯亮转黄灯亮然后其他时间 为红灯 红灯亮可以直接转绿灯 三种灯的循环顺序如图 2 1 所示 还要求三 种灯的点亮时间能够以倒计时的形式显示出来 可以用 VHDL 语言合理设计系统 功能 使红黄绿灯的转换有一个准确的时间间隔和转换顺序 绿灯黄灯红灯黄灯红灯 图 2 1 三种灯的循环顺序 2 设计思路 1 时间脉冲可以直接赋予得到 2 10s 5s 40s 30s 定时信号用倒计时 计时起始信号由控制流程电路 给出 每当计满所需时间 即向控制电路输出 时间到 的信号 并使计数器 清零 由控制电路启 闭三色信号灯 3 主控电路是核心 这是一个时序电路 其输入信号为东西 南北方向 10s 5s 40s 30s 定时信号 其输出状态控制相应的三色灯 4 三种灯转换状态表 时间 S 105405105305 东西左 转 绿黄红红红红红红 东西直 行 红红绿黄红红红红 南北左 转 红红红红绿黄红红 南北直 行 红红红红红红绿黄 3 设计方案 根据设计要求和系统所具有功能 并参考相关的文献资料经行方案设计画出 如下所示的十字路口交通灯控制器系统框图 及为设计的总体方案 框图如下 图 2 2 所示 CLK 交通灯控制及计时模块 扫描显示模块 LED 显示 图 2 2 系统的框图 电路设计 1 控制器电路设计 流程控制器的作用是根据计数器的计数值控制各方向上发光二极管的亮 灭 当计时时间到达 状态控制器就响应 自动跳转到下一个状态 此外 当检测 到特殊情况 urgen 1 发生时 无条件点亮红灯的二极管 急救灯按下 urgen 1 则东西南北都亮红灯 在这种状态下原来的状态必须保持 即东 西南北方向定时时间保持不变 急救灯未按下或者按下后恢复 则继续计时 计时通过计数器 count 同时恢复东西南北原来灯的状态 具体实物模块 如图 3 1 所示 图 3 1 控制器模块 程序实现如下 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY ledcontrol IS PORT reset clk urgen INSTD LOGIC state OUTSTD LOGIC VECTOR 2 DOWNTO 0 sub set1 set2 set3 set4 OUTSTD LOGIC END ledcontrol ARCHITECTURE a OF ledcontrol IS SIGNAL count STD LOGIC VECTOR 6 DOWNTO 0 SIGNAL subtemp STD LOGIC BEGIN sub subtemp AND NOT clk 将电平型信号变为脉冲型 即高电平时 输出一个脉冲 statelabel PROCESS reset clk BEGIN IF reset 1 THEN 系统复位 count 0000000 state 000 set2 1 set4 1 ELSIF clk event AND clk 1 THEN IF urgen 0 THEN count count 1 subtemp 1 ELSE subtemp 0 END IF 经过脉冲电平变换后 使得正常状态时 正常减 计数 紧急状态下停止计数 IF count 0 then state 000 set1 1 set2 1 set3 1 set4 1 ELSIF count 10 then state 001 set1 1 ELSIF count 15 THEN state 010 set1 1 set2 1 ELSIF count 55 THEN state 011 set2 1 ELSIF count 60 THEN state 100 set2 1 set3 1 elsif count 70 THEN state 101 set3 1 elsif count 75 THEN state 110 set3 1 set4 1 elsif count 105 THEN state 111 set4 1 ELSIF count 110 THEN count 0000000 ELSE set1 0 set2 0 set3 0 set4 0 END IF END IF 控制流程 END PROCESS statelabel END a 2 输出显示电路设计 根据状态控制器所控制的状态和计数器的计时时间 选择当前状态下的 显示器 使显示器输出当前状态下的数码管亮 灭指令 其中数码管的显 示采用动态扫描显示 具体实物模块如图 图 3 2 译码显示电路模块 程序实现如下 LIBRARY IEEE USE IEEE STD LOGIC 1164 ALL USE IEEE STD LOGIC UNSIGNED ALL ENTITY ledshow IS PORT clk urgen IN STD LOGIC state IN STD LOGIC VECTOR 2 DOWNTO 0 sub set1 set2 set3 set4 IN STD LOGIC eg1 ey1 er1 edg2 edy2 edr2 ng1 ny1 nr1 ndg2 ndy2 ndr2 OUT STD LOGIC led1 led2 OUTSTD LOGIC VECTOR 7 DOWNTO 0 END ledshow ARCHITECTURE a OF ledshow IS SIGNAL count1 count2 count3 count4 STD LOGIC VECTOR 7 DOWNTO 0 SIGNAL setstate1 setstate2 setstate3 setstate4 STD LOGIC VECTOR 7 DOWNTO 0 SIGNAL etg1 ety1 etr1 edirr1 edirg1 ediry1 norg2 nory2 norr2 nordirg2 nordir y2 nordirr2 STD LOGIC BEGIN led1 00000000 WHEN urgen 1 AND clk 0 ELSE 显示东西向行和 停 count1 WHEN state 000 ELSE count1 WHEN state 001 ELSE count2 WHEN state 010 ELSE count2 WHEN state 011 ELSE count2 led2 00000000 WHEN urgen 1 AND clk 0 ELSE count3 WHEN state 000 ELSE count3 WHEN state 001 ELSE count3 WHEN state 010 ELSE count3 WHEN state 011 ELSE count3 WHEN state 100 ELSE count3 WHEN state 101 ELSE count4 WHEN state 110 ELSE count4 etg1 1 WHEN state 000 AND urgen 0 ELSE 0 ety1 1 WHEN state 001 AND urgen 0 ELSE 0 etr1 1 WHEN state 010 or urgen 1 OR state 011 OR state 100 OR state 101 OR state 110 OR state 111 ELSE 0 edirg1 1 WHEN state 010 and urgen 0 ELSE 0 ediry1 1 WHEN state 011 and urgen 0 ELSE 0 edirr1 1 WHEN state 000 OR urgen 1 OR state 001 OR state 100 OR state 101 OR state 110 OR state 111 ELSE 0 norg2 1 WHEN state 100 AND urgen 0 ELSE 0 nory2 1 WHEN state 101 and urgen 0 ELSE 0 norr2 1 WHEN state 000 OR state 001 OR state 010 OR state 011 OR state 110 OR state 111 OR urgen 1 ELSE 0 nordirg2 1 WHEN state 110 AND urgen 0 ELSE 0 nordiry2 1 WHEN state 111 and urgen 0 ELSE 0 nordirr2 1 WHEN state 000 OR state 001 OR state 010 OR state 011 OR state 100 OR urgen 1 OR state 101 ELSE 0 setstate1 00010000 WHEN state 000 ELSE 00000101 WHEN state 001 ELSE 10010101 setstate2 00010101 WHEN state 000 ELSE 00000101 WHEN state 001 ELSE 01000000 WHEN state 010 ELSE 00000101 WHEN state 011 ELSE 01010000 setstate3 01100000 WHEN state 000 ELSE 00010000 WHEN state 100 ELSE 00000101 WHEN state 101 ELSE 00110101 setstate4 01110101 WHEN state 000 ELSE 00110000 WHEN state 110 ELSE 00000101 label4 南北直行 PROCESS sub BEGIN IF sub event AND sub 1 THEN IF set4 1 THEN count4 setstate4 elsif count4 3 downto 0 0000 then count4 count4 7 ELSE count4 count4 1 END IF ndy2 nordiry2 ndg2 nordirg2 ndr2 nordirr2 END IF END PROCESS label4 label3 南北左行 PROCESS sub BEGIN IF sub event AND sub 1 THEN IF set3 1 THEN count3 setstate3 elsif count3 3 downto 0 0000 then count3 count3 7 ELSE count3 count3 1 END IF ng1 norg2 ny1 nory2 nr1 norr2 END IF END PROCESS label3 label2 东西直行 PROCESS sub BEGIN IF sub event AND sub 1 THEN IF set2 1 THEN count2 setstate2 elsif count2 3 downto 0 0000 then count2 count2 7 ELSE count2 count2 1 END IF edg2 edirg1 edy2 ediry1 edr2 edirr1 END IF END PROCESS label2 label1 东西左行 PROCESS sub BEGIN IF sub event AND sub 1 THEN IF set1 1 THEN count1 setstate1 elsif count1 3 downto 0 0000 then count1 count1 7 ELSE count1 count1 1 END IF eg1 etg1 er1 etr1 ey1 ety1 END IF END PROCESS label1 END a 程序仿真与分析 1 仿真结果 利用 Quartus II 软件对本程序进行编译 生成了可以进行仿真定时分析 以及下载到可编程器件的相关文件 仿真结果如图 5 1 所示 图 5 1 仿真结果 2 仿真结果分析 通过设定 clk 值以及 reset 和 urgen 的初值 就可以得到如上所示的仿真 波形图 由仿真波形图可以看出波形是由 reset 初值信号触发而显示出各个状 态的 Urgen 高电平信号输入时 所有交通灯都变为红灯状态 由仿真波形图 还可以清楚的看出各时间段每个交通灯的状态 要得到正确的仿真波形图就不许设定合适的时间信号 clk 值 如果 clk 值 设置的太小则交通灯状态变化得太快无法分辨 如果 clk 值设置得太大则交通 灯状态转换缓慢 效果不明显 其次 要设定 reset 初值 如果没有设定 reset 初值就不可能触发而得到仿真图 最后 就是要设置一 Urgen 高电平信 号来检测紧急情况下的交通灯的状态 心得体会 通过此次课程设计 使我对 EDA 程序设计有了进一步的学习 进一步的认 识 在程序的设计 程序的调试方面都学到了很多东西 这是第一次编写 EDA 的大程序 很有成就感 在这几天课设的时间里 实验室的氛围对我们的影响 很大 大家一起努力 这也是我们能完成课设的动力 在编程中出现问题时 一定要戒骄戒躁 脚踏实地 认真看书 仔细分析 仔细调试 就一定会发现 错误 克服困难 我们也是这么做的 这在课设中十分重要 从这次的课程设 计中 我真真正正的意识到 在以后的学习中 要理论联系实际 把
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 交通信号灯施工方案
- 钢管桩护坡基础施工方案
- 电力工程实施流程方案
- 无人机配送医疗急救药品路径规划方案
- 景观石布置专项施工方案
- 无人机在灾害评估中的快速响应能力分析方案
- 2026-2031中国沙发行业全景调研及投资前景分析报告
- 2026-2031中国核酸检测行业市场发展深度调查及投资战略可行性报告
- 铸铁管道安装施工方案及质量控制措施
- 【《日处理5000吨污水处理厂工艺方案的确定案例分析》3800字】
- 19 中国石拱桥 课件 2025-2026学年统编版语文八年级上册
- 2026年合肥合燃华润燃气有限公司校园招聘25人笔试考试备考试题及答案解析
- 北师大版(2024)2025-2026学年三年级下册期中调研试卷(含解析)
- 2025成都农商银行社会招聘(综合柜员)模拟试卷附答案详解(综合卷)
- 2025中国水利报社公开招聘工作人员12人笔试历年参考题库附带答案详解
- 2025年全新科级年轻干部选拔笔试真题及答案解析
- DB43∕T 388-2020 用水定额标准规范
- 万豪酒店管理集团介绍
- 小升初数学衔接方法指导
- 装载机安全培训考试试题及答案解析
- GB/T 32965-2025钢渣加工和金属回收技术规范
评论
0/150
提交评论