FPGA控制的交通灯课程设计_第1页
FPGA控制的交通灯课程设计_第2页
FPGA控制的交通灯课程设计_第3页
FPGA控制的交通灯课程设计_第4页
FPGA控制的交通灯课程设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、山东理工大学 毕业设计(论文)毕业设计(论文) 题题 目:目: 学 院: 专 业: 学生姓名: 指导教师: 毕业设计(论文)时间:二 六年 月 日 月 日 共 周 摘 要 设计一个十字路口两道路的交通灯控制器,两道路交替通行,每次 通行时间可设定 20 秒。该十字路口交通灯控制电路能使南北、东西各 四个灯(红、黄、绿、左转) ,四个灯能够按顺序依次亮灭。而且要求 绿灯亮转红灯亮或者转左转灯亮之前要先转黄灯亮 5 秒,左转灯亮转红 灯亮之前也要先转黄灯亮 5 秒,红灯亮可以直接转绿灯或左转灯亮,四 种灯的点亮时间能够以倒计时的形式显示出来。 关键词关键词:交通灯 左转 倒计时 Abstract

2、Electronic excited state is one of the common forms in which atoms, molecules and ions exist in the nature. Study on the characters and dynamics behaviors of the molecular excited states, such as energy levels, lifetimes, predissociation and auto-ionization, as well as on their electronic structures

3、, is not only a significant topic related to chemical reactions and chemical dynamics, but also one of the frontiers in the field of atomic and molecular physics. In present dissertation, experimental studies of the predissociated Rydberg states of CaCl by using the resonance enhanced multiphoton io

4、nization (REMPI) and ion-dip detection spectroscopy were carried out. Five core-penetrating Rydberg states of CaCl in the intermediate effective principle quantum number region, n*=57, were observed for the first time. Theoretical analysis confirmed the predissociation mechanism which supposed these

5、 Rydberg states were led by an interaction with a 2+ continuum state. A potential energy curve of this 2+ continuum state in the energy region of 4500047500cm-1 was fitted based on the observed predissociation linewidths. Some Rydberg levels with anomalously small rotational constants were also obse

6、rved. They might be the fragments of the core-nonpenetrating Rydberg states. All these results provide rich information for understanding the mechanism of dissociation of molecules with highly polar core and some correlative dynamical processes. Systematical investigation on the high-lying triplet g

7、erade states of Na2 by using the perturbation facilitated optical-optical double resonance (PFOODR) method is also made. A doubly excited valence state of Na2, 13g- state, which consists in the unique 3g- state as well as the unique pure two- electron excitation state below the ionization threshold,

8、 was first observed and characterized. A number of v=057 vibration levels were determined and assigned. The levels cover more than 99% of the potential well depth of the state. No evident autoionization was found related to the levels belonging to the 13g- state above the ionization threshold, imply

9、ing the distinct character of the doubly excited valence state from the Rydberg states. The observation of this state is of great importance for expounding homo-diatomic molecular structure in quantum chemistry. 目录目录 摘 要.I 1 FPGA/CPLD 概述 .1 2 系统分析与总体方案.3 2.1 系统分析.3 2.2 设计的总体方案.4 3 硬件电路设计.5 3.1 分频器设计

10、.5 3.2 状态控制电路设计.5 3.3 计数器设计.6 3.4 译码显示电路设计.7 4 实验程序设计.8 4.1 实体定义.8 4.2 译码显示.9 4.3 状态转换.10 4.4 显示器片选:.12 5 程序仿真与分析.13 5.1 仿真结果.13 5.2 仿真结果分析.13 6 元器件清单.15 7 心得体会.16 参考文献.18 附录.19 1 FPGA/CPLD 概述 随着世界范围内城市化和机动化进程的加快,城市交通越来越成为 一个全球化的问题。城市交通基础设施供给滞后于高速机动化增长需求, 道路堵塞日趋加重,交通事故频繁,环境污染加剧等问题普遍存在。目 前,全国大中城市普遍存在

11、着道路拥挤、车辆堵塞、交通秩序混乱的现 象,交通事故频发,这给人民的生命财产安全带来了极大的损失。如何 解决城市交通问题已成为全社会关注的焦点和大众的迫切呼声。探究城 市交通发展中存在问题的原因,无论是从宏观上还是从微观上分析,其 根本原因在于城市交通系统的管理机制不适应。城市交通控制系(UTC ,Urban Traffic Control System)是现代城市智能交通系统(IDJ ,Intelligent transport system)的组成之一,主要用于城市道路交 通的控制与管理。城市平交路口实现交通信号控制是城市交通管理现代 化的基本标志之一,是提高交通管理效能的重要技术手段。路

12、口信号控 制器是控制交叉路口交通信号的设备,它是交通信号控制的重要组成部 分。各种交通控制方案,最终都要由路口信号控制器来实现。为了确保 十字路口的行人和车辆顺利、畅通地通过,往往采用电子控制的交通信 号来进行指挥。伴随着社会的发展以及人类生活水平的提高,汽车的数 量在不断增加,EDA 技术的发展和应用领域也在不断的扩大与深入,机 械、电子、通信、航空航天、化工、矿产、生物、医学、军事等各个领 域的重要性日益突出。利用 EDA 技术设计交通灯来完成这个需求就显的 更加迫切,同样也是非常的实用和合理。 FPGA(现场可编程门阵列)和 CPLD(复杂可编程逻辑器件)都是可 编程逻辑器件,他们是在

13、PAL,GAL 等逻辑器件的基础上发展起来的。同 以往的 PAL,GAL 相比较 FPGA/CPLD 的规模比较大,它可以替代几十甚至 几千块通用 IC 芯片。这样的 FPGA/CPLD 上就是一个子系统部件。这种 芯片收到世界范围内电子工程设计人员的广泛关注和普遍欢迎。比较典 型的就是 Altera 公司和 Xilinx 公司的 CPLD 器件系列和 FPGA 器件系列, 他们开发较早,占用了较大的 PLD 市场。 FPGA/CPLD 芯片都是特殊的 ASIC 芯片,除了具有 ASIC 的特点外, 还具有以下几个优点: 随着 VLSI(超大集成电路)工艺的不断提高单一芯片内部可以容纳 上百万

14、个晶体管,FPGA/CPLD 芯片的规模也越来越大,其单片逻辑门数 已达上百万门,它所实现的功能也越来越强,同时也可以实现系统集成, 即片上系统 SOC。 FPGA/CPLD 芯片在出厂之前都做过百分之百的测试,不需要设计人 员承担芯片风险和费用,设计人员只需在自己的实验室就可以通过相关 的软硬件环境来完成芯片的最终功能设计。所以,FPGA/CPLD 的资金投 入就少,减少了潜在的花费。 用户可以反复的编程,擦除,使用或者在外围电路不动的情况下用 不同软件就可实现不同的功能。FPGA/CPLD 软件包中有各种输入工具和 仿真工具,及版图设计工具和编程器等全线产品,电路设计人员在很短 的时间内就

15、可完成电路的输入,编译,优化,仿真,直至最后芯片的制 作。当电路有少量的改动,更能显示 FPGA/CPLD 的优势。 在线可编程技术(ISP)使得使用 FPGA/CPLD 的产品可以做到远程升 级。 2 系统分析与总体方案 2.1 系统分析 通过分析可以知道,所要设计的十字路口交通灯控制电路要能够使 南北、东西各四个灯(红、黄、绿、左转),四个灯能够按顺序依次亮 灭。而且要求绿灯亮转红灯亮或者转左转灯亮之前要先转黄灯亮 5 秒, 左转灯亮转红灯亮之前也要先转黄灯亮 5 秒,红灯亮可以直接转绿灯或 左转灯亮(四种灯的循环顺序如图 2.1 所示)。还要求四种灯的点亮时 间能够以倒计时的形式显示出来

16、。可以用 VHDL 语言合理设计系统功能, 使红黄绿左转灯的转换有一个准确的时间间隔和转换顺序。 绿灯黄灯左转灯黄灯红灯 图 2.1 四种灯的循环顺序 使用基于 FPGA 的方法具有周期短、使用灵活、易于修改等明显的 优点。而且,随着 FPGA 器件,设计语言和电子设计自动化工具的发展 和改进,越来越多的电子系统采用 FPGA 来设计。未来使用 FPGA 器件设 计的产品将出现在各个领域。因此此次的交通灯控制器将基于 FPGA 的 设计方案来实现所需要的功能。 2.2 设计的总体方案 根据设计要求和系统所具有功能,并参考相关的文献资料经行 方案设计画出如下所示的十字路口交通灯控制器系统框图,及

17、为设计的 总体方案,框图如下图 3.1 所示: CLK 时钟分频模块 交通灯控制及计时模块 扫描显示模块 LED 显示数码管位码数码管段码 图 2.2 系统的框图 3 硬件电路设计 3.1 分频器设计 分频器实现的是将高频时钟信号转换成低频时钟信号,用于触 发控制器、计数器和扫描显示电路。具体实物模块如图: 图 3.1 分频器模块 3.2 状态控制电路设计 状态控制器的作用是根据计数器的计数值控制各方向上发光二极管 的亮、灭,当计时时间到达,状态控制器就响应,自动跳转到下一个状 态。此外,当检测到特殊情况(EMI =1)发生时,无条件点亮红灯 的二极管(急救灯按下 EMI=1,则东西南北都亮红

18、灯,在这种状态下 原来的状态必须保持,即东西南北方向定时时间保持不变。急救灯未按 下或者按下后恢复,则继续计时(计时通过计数器 ct),同时恢复东 西南北原来灯的状态)。具体实物模块如图: 图 3.2 控制电路模块 3.3 计数器设计 这里需要的计数器的计数范围为 0-80。计到 80 后,下一个时钟沿 回复到 0,开始下一轮计数。此外,当检测到特殊情况(EMI =1) 发生是,计数器暂停计数,而系统复位信号 RESET 则使计数器异步清零。 图 3.3 计数器模块 3.4 译码显示电路设计 根据状态控制器所控制的状态和计数器的计时时间,选择当前状态 下的显示器,使显示器输出当前状态下的数码管

19、亮、灭指令,其中数码 管的显示采用动态扫描显示。具体实物模块如图: 图 3.4 译码显示电路模块 4 实验程序设计实验程序设计 一个完整的 VHDL 语言程序通常包括实体(Entity)、构造体、配 置、包集合(Package)和库(Library)5 个部分组成。下面结合实际 的程序来加以说明。 4.1 实体定义 library IEEE; use IEEE.std_logic_1164.all; entity traffic_light is port(clk : in std_logic; - 时钟频率为 250KHz. start : in std_logic; - 交通灯控制:1 开

20、, 0 关. EMI : in std_logic; - 急救灯控制,1 所有红灯亮. ew_rled : out std_logic; -东西红灯控制,0 开, 1 关. ew_gled : out std_logic; - 东西绿灯控制,0 开, 1 关. ew_yled : out std_logic; - 东西黄灯控制,0 开, 1 关. ew_turnled: out std_logic; - 东西左转灯控制,0 开, 1 关 sn_rled : out std_logic; - 南北红灯控制,0 开, 1 关 sn_gled : out std_logic; - 南北绿灯控制,0开

21、, 1关 sn_yled : out std_logic; - 南北黄灯控制,0 开, 1 关 sn_turnled: out std_logic; - 南北左转灯控制,0 开, 1 关 L : out std_logic_vector(2 downto 0); -显示器选取 dled : out std_logic_vector(7 downto 0); -显示器数据输出 end traffic_light; 4.2 译码显示 architecture control of traffic_light is TYPE eastwe IS (ew_red,ew_green,ew_yellow0

22、,ew_yellow1,ew_turnl); TYPE southnorth IS (sn_red,sn_green,sn_yellow0,sn_yellow1,sn_turnl); signal ew_state: eastwest; signal sn_state: southnorth; begin process(clk) function display(s:integer range 0 to 9) return std_logic_vector is variable result:std_logic_vector(7 downto 0); begin cases is when

23、 0 = result:=XFC;-0 when 1 = result:=X60;-1 when 2 = result:=XDA;-2 when 3 = result:=XF2;-3 when 4 = result:=X66;-4 when 5 = result:=XB6;-5 when 6 = result:=XBE;-6 when 7 = result:=XE0;-7 when 8 = result:=XFE;-8 when 9 = result:=XF6;-9 when others = null; end case; return result; end display; 4.3 状态

24、转换 variable cnt:integer range 0 to 7; variable ct:integer range 0 to 5; variable ew_secondH,sn_secondH: integer range 0 to 8; variable ew_secondL,sn_secondL: integer range 0 to 9; begin if start=0 then 初始化 dled=X00; ew_state=ew_red; sn_state=sn_green; ew_secondH:=8; ew_secondL:=0; sn_secondH:=5; sn_

25、secondL:=0; ew_rled=0; ew_gled=1; ew_yled=1;ew_turnled=1; sn_rled=1; sn_gled=0; sn_yled=1;sn_turnled=1; elsif clkevent and clk=1 then - clk rising edge detection cnt:=cnt+1; if EMI=1 then ew_rled=0; ew_gled=1; ew_yled=1;ew_turnled=1; sn_rled=0; sn_gled=1; sn_yled=1;sn_turnled ew_rled=0; ew_gled=1; e

26、w_yled=1;ew_turnled ew_rled=1; ew_gled=0; ew_yled=1; ew_turnled ew_rled=1; ew_gled=1; ew_yled=0;ew_turnled ew_rled=1; ew_gled=1; ew_yled=0;ew_turnled ew_turnled=0;ew_rled=1; ew_gled=1; ew_yled ew_rled=0; ew_gled=1; ew_yled=1; ew_turnled sn_rled=0; sn_gled=1; sn_yled=1; sn_turnled sn_rled=1; sn_gled=

27、0; sn_yled=1;sn_turnled sn_rled=1; sn_gled=1; sn_yled=0;sn_turnled sn_rled=1; sn_gled=1; sn_yled=0;sn_turnled sn_turnled=0;sn_rled=1; sn_gled=1; sn_yled sn_rled=0; sn_gled=1; sn_yled=1;sn_turnled ew_state ew_state ew_stateew_stateew_state ew_state sn_state sn_state sn_statesn_statesn_state sn_state

28、L=000; dled L=001; dled L=010; dled L=011; dled L=100; dled L=101; dled L=110; dled L result:=X60;-1 when 2 = result:=XDA;-2 when 3 = result:=XF2;-3 when 4 = result:=X66;-4 when 5 = result:=XB6;-5 when 6 = result:=XBE;-6 when 7 = result:=XE0;-7 when 8 = result:=XFE;-8 when 9 = result:=XF6;-9 when ot

29、hers = null; end case; return result; end display; variable cnt:integer range 0 to 7; variable ct:integer range 0 to 5; variable ew_secondH,sn_secondH: integer range 0 to 8; variable ew_secondL,sn_secondL: integer range 0 to 9; begin if start=0 then 初始化 dled=X00; ew_state=ew_red; sn_state=sn_green;

30、ew_secondH:=8; ew_secondL:=0; sn_secondH:=5; sn_secondL:=0; ew_rled=0; ew_gled=1; ew_yled=1;ew_turnled=1; sn_rled=1; sn_gled=0; sn_yled=1;sn_turnled=1; elsif clkevent and clk=1 then - clk rising edge detection cnt:=cnt+1; if EMI=1 then ew_rled=0; ew_gled=1; ew_yled=1;ew_turnled=1; sn_rled=0; sn_gled=1; sn_yled=1;sn_turnled ew_rled=0; ew_gled=1; ew_yled=1;ew_turnled ew_rled=1; ew_gled

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论