欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载  

    基于FPGA的交通灯控制器设计.docx

    • 资源ID:12334439       资源大小:41.82KB        全文页数:12页
    • 资源格式: DOCX        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于FPGA的交通灯控制器设计.docx

    引言随着城乡的经济开展, 车辆的数量在迅速的增加, 交通阻塞的问题已经严重影响 了人们的出行。现在的社会是一个数字化程度相当高的社会, 很多的系统设计师都愿意把自己的 设计设计成集成电路芯片,芯片可以在实际中方便使用。随着EDA技术的开展,嵌入 式通用及标准FPGA器件的呼之欲出,片上系统SOC已经近在咫尺。FPGA/CPL以其 不可替代的地位及伴随而来的极具知识经济特征的 IP 芯片产业的崛起,正越来越受 到业内人士的密切关注。FPGA就是在这样的背景下诞生的,它在数字电路中的地位 也越来越高, 这样迅速的开展源于它的众多特点。 交通等是保障交通道路畅通和平安 的重要工具, 而控制器是交通灯控制的主要局部, 它可以通过很多种方式来实现。 在 这许许多多的方法之中,使用FPGA和VHDL语言设计的交通灯控制器,比起其他的方 法显得更加灵活、易于改动,并且它的设计周期性更加短。城市中的交通事故频繁发生, 威胁着人们的生命健康和工作生活, 交通阻塞问题 在延迟出行时间的同时, 还会造成更多的空气污染和噪声污染。 在这种情况下, 根据 每个道路的实际情况来设置交通灯, 使道路更加通畅, 这对构建和谐畅通的城市交通 有着十分重要的意义。第一章 软件介绍Quartus H 介绍本次毕业设计是基于FPG下的设计,FPG是现场可编程门阵列,FPG开发工具种 类很多、智能化高、功能非常的强大。可编程 Quartus H是一个为逻辑器件编程提供 编程环境的软件,它能够支持 VHDL、 Verilog HDL 语言的设计。在该软件环境下,设 计者可以实现程序的编写、编译、仿真、图形设计、图形的仿真等许许多多的功能。 在做交通灯控制器设计时选择的编程语言是 VHD语言。在这里简单的介绍一下Quartus H的根本局部。图1-1-1是一幅启动界面的图片。 在设计前需要对软件进行初步的了解,在图中已经明显的标出了每一局部的名称。图 1-1-1 启动界面开始设计前我们需要新建一个工程,首先要在启动界面上的菜单栏中找到 File , 单击它选择它下拉菜单中的“ New Project Wizard 时会出现图 1-1-2 所显示的对话 框,把工程名称按照需要填好后单击 Next,便会进入图1-1-3 显示的界面。图 1-1-2 创立工程框图 1-1-3 芯片选择框根据自己选择的实验设备选择好相应的芯片型号点击 Next, 进入下一个步骤当出 现图 1-1-5 时,点击“ Finish 后这个工程就建立好了。图 1-1-4 仿真器选择框图 1-1-5 对话框建好工程后开始进行设计,首先在图1-1-6中单击file后选择new,接着会出现图 1-1-7 ,在交通灯控制器的设计中我们选择的是 VHDLFile, 当出现图 1-1-8 时就可以把 编辑的程序敲入编辑器中。图 1-1-6 工程建好后的界面图 1-1-7 新建文件类型选择框图 1-1-8 程序编辑框在第一章中对Quartus U软件的使用做一个简单介绍,设计中的编译和仿真步骤 在后面的几章中会做出介绍。第二章 交通灯控制器设计的概述控制器设计描述设计任务要求设计交通灯控制器, 分别在四个方向都安装红、 黄、绿三种颜色的交通指示 灯,红灯表示停止,绿灯表示通行,黄灯表示左转和直行将要禁止通行,四个方向分 别还安装有倒计时的计时器。设计要求东西方向和南北方向各有组指示灯, 红灯亮的时间为20S,黄灯亮的时间为5S,绿 灯亮的时间为25S。三种灯亮灭的顺序为红灯、绿灯、黄灯。第三章 交通灯控制器的设计过程设计方案本设计课题用FPG/来实现智能交通灯的设计,本设计现要研究的问题主要有: 智能交通灯的设计方案;各功能模块的设计与实现;如何用 VHDLS写源程序以及进 行系统仿真。框图设计 交通灯控制器设计的框图中包括控制器、分频器、显示器、指示灯、译码器、位 选器。 当倒计时为零时, 控制器改变交通灯的颜色, 同时倒计时开始进入下一个倒计 时。当有紧急情况出现的时候, 四面的交通灯都会变为红灯, 紧急情况的处理在设计 中是依靠HOLD®来实现的。图3-1-1-1 是交通灯设计的设计框图系统的红、黄、绿灯显示的总时间为50s,具体的亮灯时间和亮灯顺序看表3-1-1-2表3-1-1-2 交通灯亮灯顺序与亮灯时间安排东西方向A录灯亮A黄灯亮A红灯亮A丁20s(2125s)(2650s)南北方向B红灯亮B绿灯亮B黄灯亮E灯(0 25s)(2645s)(4650s)图3-1-1-1交通灯设计的设计框图)工程流程图创立一个新的工程创立VHD语言文件将程序输入文件中保存输入的程序进行硬件仿真进行图形电路设 计、保存、编译、 波形仿真、管脚对程序进行波形的仿真对程序进行编译,有错误的要进行修改、再编译,直图3-1-2工程流程图时序图的假象在时序图中,上升沿有效,即为“ 1时灯亮,好比RedA为上升沿“ 1 时A 方向的红灯是亮的,相对的GreenB也为上升沿“ 1 B方向上绿灯是亮的。具体 的时序显示见图3-2时序图。Gree nAYellowARedBGree nBYeelowB图3-2时序图模块设计 主控制器模块在Quartus U按照1-1中的方法新建一个工程并新建一个文件工程后,在图1-1-8程序编辑框中将主控制器的程序输入后保存。接着需要对主控制器的程序进行编译, 编译的步骤是点击Project f Set as Top将文件置顶,具体的参考图3-2-1-1置顶, 接着点击图3-2-1-2 的Start Compilation进行编译。图3-2-1-1置顶图3-2-1-2 编译在编译的过程中,出现了一些错误,在我编译主控制器的程序时,出现的错误是没有将CLOC放入PROCESS中,将程序中的错误一一改正后有时还会出现些 Warning,有些Warning并不会影响后面的设计步骤。将上面的错面都改正后,就会显示图3-2-1-3所显示的对话框。下一步就是对程序进行时序仿真,图3-2-1-3编译成功程序编译无措后在当前的工程下面新建一个文件,点击File出现图3-2-1-4新建文件对话框,选择图中显示蓝色的选项就会出现我们想要的界面,把鼠标移在图3-2-1-5 时序仿真编辑框中左边的空白处,然后点击右键,选择INSERP INSERTNODEDRBU魁项出现另一个对话框,选择对话框中的 NODINDE后就会产生新的对 话框,点击LIST是在左下角的空白处会出现很多的引脚, 我们选中需要的引脚后确定 后,我们需要的引脚就会出现在时序仿真编辑中左边的空白处, 我们对输入信号进行 设定,假设想让输出信号显示为十六进制数, 我们可以选中输出信号然后点击鼠标的右 键选择VALUE> COUNT VALUE出现的对话框中可以选择自己需要显示的进制类型和 进制数的定时等。 对输出输入信号编辑完成后保存。 在菜单工具栏中选择 PROCESSING pSIMULATOOR TOO出现图3-2-1-6的对话框,按照对话框显示的进行设定,点击 QENERAT FUNCTIONALSTARPREPORT就会得出我们想要的图3-2-1-7 主控制器 时序仿真图。图 3-2-1-4 新建文件对话框图 3-2-1-5 仿真编辑框图 3-2-1-6 仿真工具对话框图 3-2-1-7 主控制器的仿真图图3-2-1-7 中显示的仿真结果和设计前预计的时序仿真图的结果是相符合的。时 序图中的HOL是保持信号,当HOLES号为有效信号“ 1 时,那么四个方向的路 灯都是红灯亮,当HOLDS效时,四个方向的信号灯会正常工作。RESE信号有效时,计数器的显示就会重新从零开始。图中四个方向的指示灯的亮灭顺序是正确的。图 3-2-1-8 主控制器的模块主控制器的时序仿真完成后, 一个程序的设计、 仿真就已经暂时结束了, 下一步 还要进行图形的设计, 在总的图形设计前, 需要先将每个程序都生成模块, 为之后的 设计做好准备。点击File Create'Updade Create Symbol Files for Current File, 完成这个操作过程后便会生成主控制器的模块,具体的看图 3-2-1-8 主控制器的模 块。模块中主要有CLOCK RESET HOLD NUMA NUM和六个指示灯的输出。分频器模块设计中需要用到 1秒钟的脉冲,分频这个模块就是为了改变频率脉冲波,使20Mhz的频率最终变为1hz的脉冲,这样就可以得到一个周期是1秒钟的脉冲,分频器的程序 见附录。具体的程序编译过程和仿真的过程和主控制模块中谈到的过程是相同的。 按 照上面谈的步骤完成后就会得到图 3-2-2-1 分频模块的时序仿真图。图 3-2-2-1 分频模块的仿真图图 3-2-2-2 分频模块分频的程序经过编译和时序仿真图后生成的模块是图 3-2-2-2 分频模块所显示 的20mhZ勺脉冲通过第一模块时变为10hz,再经过第二个模块后变成1hz的脉冲。提取显示值模块提取显示值的功能是在10hz的速度下提取显示值,得到的是显示时间值的十位 和个位。图3-2-3-1提取显示值的时序仿真图中NUMII是主控制器的输出值,NUM和 NUM 两个输出端口是要显示的值的高位和低位。 高位的最大输出值是为二的四位二进 制数,低位的最大输出值是为九的四位二进制数。 图3-2-3-2 是提取显示值生成的模 块。提取显示值的程序见文章的附录。图 3-2-3-1 提取显示值的仿真图仿真图中,NUM先从0开始计数,当计到9时NUM计为1, NUM重新从0开始计数, 当计到9时NUM会计为2,NUM再次从0开始计数,当NUM高位计数到2时,NUMB 的最大值输出为 5。图 3-2-3-2 提取显示值的模块动态扫描模块LED显示的工作原理是利用人类的视觉特性。七段 LED数字显示块是由“ a、b、c、 d、e、f、g、dp这几段组成的,LED勺显示原理就是要看这八段中的哪几段是亮的, 那几段是灭的。 每段管子不是同时被点亮的并且点亮的时间都是极短的, 又因为变化 的时间很短暂, 亮灭的过程中留下的余光会给人一种错觉, 人的眼睛觉得是一组静态 的显示灯。 具体的动态扫描的程序请看正文后的附录。 图3-2-4-1 是动态扫描的时序 仿真图,图 3-2-4-2 是动态扫描生成的模块。图3-2-4-1 动态扫描的时序仿真图图 3-2-4-2 动态扫描的模块位选器模块位选程序的输入和编译完成后,对程序进行仿真,仿真的步骤依然和上面谈 到的一样,下面两幅图一张是位选程序的时序仿真图, 另一幅是位选程序生成的模块 见图3-2-5-1 和图 3-2-5-2 。图 3-2-5-1 位选时序仿真图图 3-2-5-2 位选模块译码器模块译码器是将要显示的数字转换成驱动七段数码管的信号,程序中的 NU与动态扫 描模块相连,将四位二进制数转换为八位二进制数, 再通过LED8俞出。译码器的程序 编辑和编译步骤也和前面所说的相同。 当译码器编译成功后进行仿真, 仿真的结果见 图3-2-6-1译码器的时序仿真。像时序仿真图中显示的一样,当 NU输入“ 0000时 LED便会输出“ 00111111显示数字“0,当NU输入“0001时LED8俞出“00000110' 显示数字“ 1。图3-2-6-2 是译码器程序生成的模块。图 3-2-6-1 译码器的时序仿真图图 3-2-6-2 译码器模块图形设计图形设计的生成将每个程序都编译、 仿真完成后, 下一步就是要设计图形仿真, 在进行图形的时 序仿真前, 要先进行图形的编辑和编译。 要建立一个新工程和图形编辑的文件的的过 程是点击 File NewBlock Diagram/Schematic File.见图 3-3-1-1 图 3-3-1-1 新建一个文件的对话框 新建了一个文件以后,就要开始编辑图形了,要把每一个模块都找出来,选择AssignmentSettings 后出现图 3-3-1-2 的对话框,在左边找到 libraries ,单击它 以后会出现图 3-3-1-2 右边显示的内容,再点击处可以找到之前生成的那些模块所在 的文件夹,把它们一次性添加在 libraries 中,这样可以为后面图形设计做好准备, 全部添加完成后点击“OK,这样在元件库中就可以找到生成的那些模块了。选择EditInsert Symbol 后出现图 3-3-1-3 的对话框,在这里就可以显示出上面生成的模块 和软件中原本存在的元器件,按照设计中的需要选出模块和元件。图 3-3-1-2 libraries 对话框图 3-3-1-3 元件库对话框图 3-3-1-4 编译对话框图3-3-1-4 中标明了每个快捷工具的用途, 选择适宜的工具把选择好的模块和元件连接起来。然后将连接好的图形文件保存以后进行编译。仿真结果图3-3-2-1 图形设计的时序仿真图图形设计编译完成以后按照程序的时序仿真的过程对图形设计进行时序仿真,给CLK适当的信号,并且要给输入值定义正确的值,开始仿真后会出现图3-3-2-1就是编 译后的时序仿真图。图形设计的时序仿真图中主要显示的是红、黄、绿灯之间的亮灭关系和LED显示的数值变化过程,还有位选输出端的变化,时序图中可以很容易看出 当计时数计数到某一个值的时候东西方向和南北方向是什么颜色的指示灯在工作。当A路的绿灯亮时,B路的红灯亮,A路的绿灯亮20秒后,A路的黄灯亮5秒由此可以 很容易的看出指示灯的亮灭是正确的。管脚的锁定管脚锁定是为了为硬件仿真做准备。当所有的设计都完成后,接着要对图形设计进行管脚的锁定。先确定设计时确定的器件类型和实际的硬件类型是不是一样,选择Assignments Device,在出现的对话框中认真确定选择的器件是不是正确的。接 下来选择Assignments Pins进入图3-4-1中,用鼠标双击Location就可以设定管脚 了。图3-4-2 是在这次毕业设计中使用到的芯片 ACEX1K-EP1K100QC208图343 是 完成编译、时序仿真、管脚锁定这些步骤后的图形设计。图3-4-1管脚锁定对话框图 3-4-2 芯片 ACEX1K-EP1K100QC208-3图3-4-3最终的图形设计表3-4-1管脚和相应的功能序号名称功能管脚口1CLK时钟信号792HOLD保持键73RESET复位键84RedAA路口的红灯115Gree nAA路口的绿灯136YellowAA路口的黄灯157RedBB路口的红灯128Gree nBB路口的绿灯149YellowBB路口的黄灯1610LED8LED数码管24-3111SI位选36-39在这次毕业设计中,我们用的芯片是ACEX1K-EP1K100QC208-图3-4-3就是设计所用的芯片,褐色小点是设计中锁定的管脚。而表3-4-1是锁定的管脚和相应的功能。结论经过了两个多月的努力,毕业设计终于完成了。这次的毕业设计是在大学期间完全没有接触过的知识,在两个月的时间里我已经对 FPGAt 了一定的认识,又学到 了新的知识。冈寸开始做这个课题时,我从知网和图书馆找了很多的资料,在对这些资料整理 的过程中开始一点点的熟悉 FPGA和VHDL语言,最初我连最根本的程序都看不懂, 经过努力后,我不仅可以看懂程序还可以利用 Quartus U软件对程序进行编译、仿真这次毕业设计的经历提高了我的自学能力,当我遇到一个问题的时候,我会认真的 查找出错的地方,然后想方法把它解决掉,一个程序的仿真结果出来后,我还会认 真的查看仿真的结果是不是正确的。在做硬件实验时,开始我反复琢磨了很久都没 有做出来,通过和老师同学的交流,我终于成功的做出了硬件的仿真。这次的毕业 设计结果可以按照设计的正常运行。这次毕业设计告诉我,只要努力、认真,再难再陌生的东西都能够做的出来

    注意事项

    本文(基于FPGA的交通灯控制器设计.docx)为本站会员(scccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开