娜娜eda交通灯_第1页
娜娜eda交通灯_第2页
娜娜eda交通灯_第3页
娜娜eda交通灯_第4页
娜娜eda交通灯_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、前言伴随着社会的发展以及人类生活水平的提高 ,汽车的数量在增加的 EDA 技术 的发展和应用领域的扩大与深入, EDA 技术在电子信息,通信,自动,控制及 计算机应用等领域的重要性日益突出。随着技术市场与人才市场对 EDA 的不断 的增加交通的问题日益突出,单单依靠人力来指挥交通已经不可行了 ,所以,设 计交通灯来完成这个需求就显的越加迫切了 .为了确保十字路口的行人和车辆顺 利、畅通地通过 ,往往采用电子控制的交通信号来进行指挥。以下就是运用数字 电子设计出的交通灯:其中红灯亮 ,表示该条路禁止通行;黄灯亮表示停车;绿 灯亮表示允许通行。1.1 设计的目的本次课程设计的目的是通过设计交通灯控

2、制器,了解 ED敲术,了解并掌握 VHDL硬件描述语言的设计方法和思想,巩固和综合运用所学过的计算机组成原 理知识,提高分析、解决计算机技术实际问题的独立工作能力。1.2 设计的基本内容交通灯的显示有很多方式, 如十字路口、 丁字路口等, 而对于同一个路口又 有很多不同的显示要求, 比如十字路口, 车辆如果只要东西和南北方向通行就很 简单,而如果车子可以左右转弯的通行就比较复杂, 本实验仅针对最简单的南北 和东西直行的情况。这次课程设计的题目是交通灯控制器的设计。 设计了主干道的交叉路口交通 信号灯无人自动管理的控制系统。 将路口红绿灯的各种亮灯情况定义不同的状态, 路口状况定义为触发条件,

3、组成有限状态机。 基于此模型的交通信号灯控制系统 可充分利用现有交通资源 ,缓解城市交通压力。要完成本实验, 首先必须了解交通路灯的燃灭规律。 本实验需要用到实验箱 上交通灯模块中的发光二极管,即红、黄、绿各三个。依人们的交通常规, “红 灯停,绿灯行,黄灯提醒” 。其交通灯的燃灭规律为:初始态是两个路口的红灯 全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而 同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。在实验

4、中使用8个七段码管中的任意两个数码管显示时间。东西路和南北路的通车时间均设定为20s。数码管的时间总是显示为19、18、170、3、2、1、0、9、80。在显示时间小于4秒的时候,通车方向的黄灯闪烁2交通灯控制器设计2.1交通灯控制器应具备的功能本实验要完成任务就是设计一个简单的交通灯控制器,交通灯显示用实验箱 的交通灯模块和七段码管中的任意两个来显示。系统时钟选择时钟模块的 1KHz 时钟,黄灯闪烁时钟要求为2Hz,七段码管的时间显示为1HZt冲,即每1s中递减 一次,在显示时间小于3秒的时候,通车方向的黄灯以2Hz的频率闪烁。系统中用 S1按键进行复位。从题目中计数值与交通灯的亮灭的关系如

5、图 1所示:支干道O O OOOCO主干道OOO O O图1路口交通管理示意图ABCD主干道交通灯绿(20秒)黄(4秒)红红支干道交通灯红红绿(20秒)黄(4 秒)2.3交通灯控制器系统设计思路与实现根据题目要求的功能,可以把整体设计分为三个模块:分频模块,把1kHz的频率分成1Hz, 1Hz用于倒计时计数的时钟信号,而1kHz则可以用于数码管扫描 显示的片选时钟信号;交通灯控制及倒计时模块;数码管译码扫描显示模块。根据上面的思路分析最终得到的顶层文件原理图如下:图2顶层文件仿真图3硬件电路设计3.1分频器的设计分频器实现的是将高频时钟信号转换成低频的时钟信号,用于触发控制器和 计数器。该分频

6、器实现的是一千分频,将一千赫兹的时钟信号分频成一赫兹的时 钟信号。生成的Symbol文件如图3和仿真波形如图4所示。divelk ClkIHzinstVHDL源程序library ieee;use ieee.stdo gic_1164.all;use ieee.std_logic_ un sig ned.all;en tity div isport(clk:in std_logic;Clk1Hz:out stdo gic);end div;architecture behave of div issig nal Clk_Cou nt1 : stdo gic_vector(9 dow nto 0

7、);beg inprocess(Clk)beg inif(Clkevent and Clk=1) thenif(Clk_Cou nt11000) the nClk_Cou nt1=Clk_Cou nt1+1; elseClk_Cou nt1=0000000001;Clk1Hz=Clk_Cou nt1(9);end if;end if;end process;end behave;图43.2控制器的设计控制器的作用是根据计数器的计数值及t1的输入数据控制发光二极管的亮、灭, 以及输出正计时数值给七段数码管的分位译码电路。本控制器是利用时钟沿的下 降沿读取前级计数器的计数值,然后作出反应; ii

8、ani 1 mmii 11*! an ! vibi i i display*iiL 一ClkltizDir_FlagiiiRstSECip.CrSEC1&E3.ODAi:i-toi ji31_*I-i iY1IFiiY2I甲instLVHDL源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity display is port(Clk1Hz,Rst:in std_logic;Dir_Flag: buffer std_logic;SEC1,SEC10 :buffer integer r

9、ange 0 to 9;R1,R2,G1,G2,Y1,Y2:out std_logic);end display;architecture three of display issignal Direction : integer range 0 to 15;beginprocess(Clk1Hz,Rst)beginif(Rst=0) thenSEC1=0;SEC10=2;Dir_Flag=0;elsif(Clk1Hzevent and Clk1Hz=1) then if(SEC1=0) thenSEC1=9;if(SEC10=0) thenSEC10=1;elseSEC10=SEC10-1;

10、end if;elseSEC1=SEC1-1;end if;if(SEC1=0 and SEC10=0) thenDir_Flag=not Dir_Flag;end if;end if;end process;process(Clk1Hz,Rst)beginif Clk1hz event and Clk1hz=1 then if Rst=0 thenR1=1;G1=0;R2=1;G20 or SEC13) then if(Dir_Flag=0) then - 横向通行 R1=0;G1=1;R2=1;G2=0;elseR1=1;G1=0;R2=0;G2=1;end if;elseif(Dir_F

11、lag=0) then - 横向通行R1=0;G1=0;R2=1;G2=0; else R1=1;G1=0;R2=0;G20 or SEC13) thenY1=0;Y2=0;elsif(Dir_Flag=0) thenY1=Clk1Hz;Y2=0; else Y1=0;Y2=Clk1Hz;end if;end process;process(Dir_Flag)beg inif(Dir_Flag=0) then - 横向Directio n=10;else - 纵向Directi onDisp_TempDisp_TempDisp_TempDisp_TempDisp_TempDisp_TempDi

12、sp_TempDisp_Temp=SEC1; end case;end process; process(Clk) begin if(Clkevent and Clk=1) then -扫描累加SEG_SEL=SEG_SEL+1;DisplayDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeDisp_DecodeoriP1N H3Yes5Display JLocation卩INHY

13、es6t/DisolayLocfitionPIN H5Yes7Diolay 5LDCBtiDnP1NJ16Yes3Display 司LocatioriPINJ4YesgLocationPIN D5Yee10LocationPIN F3Yes11LocationPIN P3Yes12LocatkinPIN E3Yes134 口 MtLDcationPIN FSYes14CSEGSELfOLocationPINGSYes155EG SELLLocationPIN G3Yea16t5EG_SEL2LocatiDnPIN F4Yes17LocationPINJD4YesISLocatiorrPIN尸Y

14、es19new4.2 实验结果接好硬件,下载好程序, 开始时把 rst 置为低电平, 即表示支干道没有车来 时,主干道亮红灯,支干道亮红灯,四个倒计时数码管都是灭的。当把 rst 置为高电平并不变后, 首先南北亮绿灯, 东西方向为红灯, 当倒计 时为 03时南北亮闪黄灯, 东西继续亮到 00时红灯,南北亮红灯东西亮绿灯, 倒 计时为 03 时东西方向黄灯开始闪南北方向继续亮红灯直到计时器从新赋值。如 此循环下去。5 心得体会为期两周的EDA课程设计,使我对EDA的认识有提高了一个层次,现在能 够熟练的使用 Quartsll,能够用VHDL语言编写简单的、实用的小程序,这次 EDA 课程设计重点学习了交通灯部分程序的编写、 调试、还有硬件下载、 操作等 过程。在整个课程设计的过程中,我查阅了大量的关于EDA的资料,特别是在网上

温馨提示

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

评论

0/150

提交评论