首页 交通信号灯控制器设计

交通信号灯控制器设计

举报
开通vip

交通信号灯控制器设计交通信号灯控制器设计 交通信号灯控制器的设计 (陕西理工学院电信工程系通信 班,陕西 汉中 723003) 指导教师: [摘 要]: 交通灯控制系统在城市交通监管中起着极其重要的作用。应用V HDL 语言,在Altera 公司的Max + Plus软件环境下,通过模块化编程完成了灯亮时间可调的交通灯控制系统设计,并进行了逻辑综合、仿真和硬件下载,系统的软件仿真和实验测试结果满足了设计要求,达到了预期的效果。整个设计包括控制器、定时器、显示器、译码器等几部分。最后各部分模块元件符号连接到一起得到顶层模块~实现...

交通信号灯控制器设计
交通信号灯控制器设计 交通信号灯控制器的设计 (陕西理工学院电信工程系通信 班,陕西 汉中 723003) 指导教师: [摘 要]: 交通灯控制系统在城市交通监管中起着极其重要的作用。应用V HDL 语言,在Altera 公司的Max + Plus软件环境下,通过模块化编程完成了灯亮时间可调的交通灯控制系统设计,并进行了逻辑综合、仿真和硬件下载,系统的软件仿真和实验测试结果满足了设计要求,达到了预期的效果。整个设计包括控制器、定时器、显示器、译码器等几部分。最后各部分模块元件符号连接到一起得到顶层模块~实现控制器的功能要求。最终需要将设计编程下载到选定的期间进行硬件测试~来了解设计的正确性。硬件下载采用FPGA数字逻辑电路万能实验开发器硬件~还需要安装硬件驱动,Drivers,~以支持Max + Plus ?对PC机并行接口的操作。 [关 键 词]:交通信号灯控制器; FPGA ;V HDL ;仿真;硬件描述语言 [中图分类号]:TN702 [文献标志码]:A - I - Design of Traffic Light Controller Based on FPGA (Grade08,Class2,Major of Communication Engineering,Dept. of E.I.of Shaanxi University of Technology, Hanzhong 723003,China) Tutor: [Abstract]: Traffic light control system in urban traffic control plays an extremely important role. Application of V HDL language, in Altera's Max + Plus ? software environment, through the completion of modular programming time is adjustable lights traffic light control system design, and carried out logic synthesis, simulation and hardware to download the system software simulation and experimental test results meet the design requirements to achieve the desired results. The whole design, including controllers, timers, displays, decoders and so on several parts. In the end, part of the module component symbols to be connected to the top of the module together to achieve the controller functional requirements. Eventually need to be designed to download to the selected programming hardware during the test, to understand the design is correct. Download the hardware using FPGA digital logic circuit device universal experimental development hardware, but also need to install the hardware drivers (Drivers), in support of the Max + Plus ? parallel interface on the PC-operation. [Keywords]: traffic signal controllers; FPGA; V HDL; simulation; hardware description language [CLC]: TN702 [Literature Logo yards]: A - II - 1( 绪 论 1.1课 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 背景 任何一个由两个或两个以上相互作用部件组成的物体都可以称为系统。而由电子器件、电路元件及相关装置构成的能实现某种特定功能的电子电路称之为电子系统。按所处理的信号分,有模拟电子系统、数字电子系统、模拟数字混合的电子系统。 模拟电子系统如:多路输出高精度直流稳压电源; 数字电子系统如:数字计算机,数字移动通信网系统,数控机床数字控制系统; 模拟数字混合的电子系统如:数字化彩色电视接收机,电站发电过程集散控制系统。 电子系统经历了从分立元件到集成电路的发展阶段,电子系统的设计 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 也有了发展变化。电子设计自动化在不同的时期有不同的 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 。在20世纪70年代表现为计算机辅助设计,既将电子设计中涉及到的许多计算机程序实现。在20世纪80年代表现为计算机辅助工程(CAE),主要体现在一些绘图软件出现,减轻了设计人员的劳动。从20世纪80年代末开始,设计复杂程度越来越高,EDA的主要内容逐步转变为电子系统的设计自动化(ESDA)。现在数字系统的EDA可以直接根据设计要求,以自顶至底的方式设计,并相应的完成系统描述、仿真、集成和验证等环节,直到最后生成所需要的器件。在以上过程中,除了统级设计和行为级描述及功能的描述以外均可由计算机自动完成。 对电子系统设计自动化而言,现代设计方法和现代测试方法是至关重要的。当前,EDA包含单片机、ASIC(专用集成电路)和DSP(数字信号处理)等主要方向。 在我学习了MAX+plusII软件和VHDL语言,了解了CPLD(【注释】:CPLD是复杂的可设 - 1 - 通 信 工 程 专 业 课 程 设 计 ? 计的逻辑装置(复杂可编程逻辑器件)的缩写)的原理和产品设计方法,在设计之前,老师还给我们用了三周的时间对VHDL语言进行熟悉,在在这三周的时间内我通过VHDL语言并结合自己的理解和想法设计交通指示灯电路。 在现代化的大城市中, 十字交叉路口越来越多,在每个交叉路口都需要使用红绿灯进行交通指挥和管理,交通灯是城市交通监管系统的重要组成部分,对于保证机动车辆的安全运行,维持城市道路的顺畅起到了重要作用。目前很多城市交叉路口的交通灯实行的是定时控制,灯亮的时间是预先设定好的,在时间和空间方面的应变性能较差,一定程度上造成了交通资源的浪费,加重了道路交通压力。本文在EDA 技术的基础上,利用FPGA 的相关知识设计了交通灯控制系统, 通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。可以根据实际情况对灯亮时间进行自由调整,整个设计系统通过Max + Plus ?软件进行了模拟仿真,并下载到FPGA 器件中进行硬件的调试,验证了设计的交通信号灯控制电路完全可以实现预定的功能,具有一定的实用性。 《计算机综合课程设计》是通信专业学生的主要实践教学环节之一。目的是使我们通过对已学过的相关计算机方面的知识的理解,结合具体实践应用完成设计,为以后的学习和工作打下基础。通过实践设计来培养我们理论与实践相结合的能力和动手能力。要熟练掌握数字电子技术基础,计算机基础,微型计算机原理,EDA技术等课程,通过自己对知识的理解与应用来完成本次课程设计任务。 本次试验主要采用了EDA技术,利用Max + Plus ?软件完成了程序的设计。EDA技术的一个重要手段就是使用硬件描述语言(HDL),常用的有VHDL、Verilog HDL、System C等,其中VHDL、Verilog HDL在EDA设计中使用最多。VHDL是电子设计主流硬件的描述语言之一,它具有很强大的电子描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。 - 2 - 通 信 工 程 专 业 课 程 设 计 ? 1.2 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 选择 1.2.1方案对比 方案一、用纯数字系统方式控制实现 当支干道没有车时,只需要点亮主干道的绿灯和支干道的红灯,而且主、支干道的数码管不需要显示,这很容易实现。当支干道有车时,则进入交替通行的情况,交替通行一次所需要的时间是80秒,所以需要一个0到79循环计数的计时器,在不同的计数时间段里实现相应的功能。主干道:0到44秒亮绿灯,数码管从44倒计时到00;45到49秒亮黄灯,数码管从04倒计时到00;50到79秒亮红灯,数码管从29倒计时到00。支干道:0到49秒,亮红灯,数码管从49倒计时到00;50到74秒,亮绿灯,数码管从24倒计时到00;75到79秒,亮黄灯,数码管从04倒计时到00。所以要根据0到79循环计数器的计数情况来控制主、支干道的红绿黄灯和50秒、45秒、30秒、25秒和5秒倒计时计数器的计数。 方案二、用状态机控制 交通灯的工作状态明显可以分成5个状态,如下表 - 3 - 通 信 工 程 专 业 课 程 设 计 ? 支干道是否状态 实现功能 有车 支干道没车 Str0 支干道亮红灯,主干道亮绿灯,数码管不显示。 St1 主干道亮绿灯45秒,数码管显示45秒倒计时; 支干道有车 支干道亮红灯,数码管显示从49秒倒计时到05 秒。 St2 主干道亮黄灯5秒,数码管显示5秒倒计时;支 干道亮红灯,数码管显示从04秒倒计时到00 秒。 St3 支干道亮绿灯25秒,数码管显示25秒倒计时; 主干道亮红灯,数码管显示从29秒倒计时到05 秒。 St4 支干道亮黄灯5秒,数码管显示5秒倒计时;主 干道亮红灯,数码管显示从04秒倒计时到00 秒。 表1: 交通灯的工作状态 把交通灯的工作分成五个状态,则写程序的时候思路就比较清晰,只要在相应的状态里完成相应的工作,控制好黄绿红灯和数码管的倒计时显示,而且把握好五个状态转换的条件。 1.2.2方案的选择 由上述两种方法的对比可知,方案一主要用到计数器,纯硬件,连线多,杂,修改不方便而且抗干扰能力差;而方案二用到软件编程,系统仿真,连线少,稳定性高,易于修改等优点,随着FPGA器件、设计语言和电子设计自动化工具的发展和改进,越来越多的电子系统采用FPGA来设计。未来,使用FPGA器件设计的产品将出现在各个领域里。因此,此次的交通信号灯控制器的设计将采用基于FPGA的设计方案来实现所要求的功能,即选用方案二。 - 4 - 通 信 工 程 专 业 课 程 设 计 ? 1.3系统总体设计 交通灯控制器的功能 设东西和南北方向的车流量大致相同,因此红、黄、绿灯的时长也相同,定为红灯45s,黄灯5s,绿灯30s,同时用数码管指示当前状态(红、黄、绿)剩余时间。分别用1、2、3、4表明四个流向的主车道,用a、b、c、p分别表示各主车道的左行车道、直行车道、右行车道以及人行横道。通过 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 很容易得知,除了四个右行车道外,在同一时间,最多只能有两个车道通行,如1a、1b通行时,其它车道都会被阻断。所以在设计红绿灯时,可以两两组合,共有四组(如la-1b、2a-2b、3a-3b、4a-4b);而各车道的红灯时间和人行横道通停时间都由这四个组合的绿灯窗口时间决定。 制器的工作过程如下:设计十字路口的M为主干道,B为支干道,G、R、Y分别表示红、绿、黄灯,组合到一起MG、MR、MY表示主干到绿、红、黄灯,BG、BR、BY表示支干道的绿、红、黄灯。SM、SB分别为主支干道的传感信号,CLK来自时钟信号,他们为系统定时器和控制器提供时钟信号源。通常主干道畅通,主干道绿灯亮,支干道红灯亮,支干道有车来才允许通行。当支主干道都有车时,有控制部分开始控制,根据SM、SB、CLK及JDTKZ发出有关使能信号EN1、EN2、EN3、EN4,来选定CNT45S、CNT25S、CNT5S进行计数,并传送到显示控制单元。设计采用6个发光二极管来模拟黄绿红灯,并用4个数码管来显示通行或禁止剩余时间。 - 5 - 通 信 工 程 专 业 课 程 设 计 ? 图1.1 十字路口示意图 计数器 控制器 红黄绿发 光二极管 分频电路 分为译码器 扫描显示七段数码管 电路 图1.2 交通灯控制系统总框图 - 6 - 通 信 工 程 专 业 课 程 设 计 ? 2 单元模块的设计 2.1控制器的设计 控制器的作用是根据计数器的计数值控制发光二极管的亮、灭,以及输出倒计 时数值给七段译管的分译码电路。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY JTDKZ IS PORT(CLK,SM,SB:IN STD_LOGIC; MR,MY,MG,BR,BY,BG:OUT STD_LOGIC); END ENTITY JTDKZ; ARCHITECTURE ART OF JTDKZ IS TYPE STATE_TYPE IS(A,B,C,D); SIGNAL STATE:STATE_TYPE; BEGIN CNT:PROCESS(CLK)IS VARIABLE S:INTEGER RANGE 0 TO 45; VARIABLE CLR,EN:BIT; BEGIN IF(CLK'EVENT AND CLK='1')THEN IF CLR='0'THEN S:=0; ELSIF EN='0'THEN S:=S; ELSE S:=S+1; END IF; CASE STATE IS WHEN A=>MR<='0';MY<='0';MG<='1'; BR<='1';BY<='0';BG<='0'; IF(SB AND SM)='1'THEN IF S=45 THENSTATE<=B;CLR:='0';EN:='0'; ELSE STATE<=A;CLR:='1';EN:='1'; - 7 - 通 信 工 程 专 业 课 程 设 计 ? END IF; ELSIF(SB AND (NOT SM))='1'THEN STATE<=B;CLR:='0';EN:='0'; ELSE STATE<=A;CLR:='1';EN:='1'; END IF; WHEN B=>MR<='0';MY<='1';MG<='0'; BR<='1';BY<='0';BG<='0'; IF S=5 THEN STATE<=C;CLR:='0';EN:='0'; ELSE STATE<=B;CLR:='1';EN:='1'; END IF; WHEN C=>MR<='1';MY<='0';MG<='0'; BR<='0';BY<='0';BG<='1'; IF(SM AND SB)='1'THEN IF S=25 THEN STATE<=D;CLR:='0';EN:='0'; ELSE STATE<=C;CLR:='1';EN:='1'; END IF; ELSIF SB='0' THEN STATE<=D;CLR:='0';EN:='0'; ELSE STATE<=C;CLR:='1';EN:='1'; END IF; WHEN D=>MR<='1';MY<='0';MG<='0'; BR<='0';BY<='1';BG<='0'; IF S=5 THEN STATE<=A;CLR:='0';EN:='0'; ELSE STATE<=D;CLR:='1';EN:='1'; END IF; END CASE; END IF; END PROCESS CNT; END ARCHITECTURE ART; - 8 - 通 信 工 程 专 业 课 程 设 计 ? 波形仿真 : 图2.1 控制电路仿真 由波形图可以看出显示结果与理论相符,当SB为0时表示支干道没车时,状态为st0,此状态中主干道亮绿灯,支干道亮红灯,当一直保持SB为1时,变为状态st1,之后进入st1-st2-st3-st4-st1的循环状态,在相应的状态里面也能正确地控制红黄绿灯点亮。在状态st1中,主干道进行着45秒的倒计时,而支干道进行着50秒的倒计时,两个倒计时在st0的状态中始终相差5秒,符合设计要求。将此文件设置成一单一元件,元件图库见附录。 2.2定时器的设计 定时器(CNT)与系统秒脉冲生成器同步的计数器构成,要求计数器在状态信号EN作用下,首先置数(45),然后再时钟脉冲上升沿作用下,计数器从所置数(45)开始进行减1计数,定时单元包含有CNT45S、CNT25S、CNT5S,根据SM、SB、CLK及JTDKZ发出的有关使能控制信号EN1、EN2、EN3、EN4,按要求进行计数,并将其输出传送至显示控制单元。其中计数器的计数范围分别有45S、25S、5S。计数完成后在下一个时钟沿回复到0,开始下一个计时。 2.2.1 45秒定时 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; - 9 - 通 信 工 程 专 业 课 程 设 计 ? USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT45S IS PORT(SB,CLK,EN45:IN STD_LOGIC; DOUT45M,DOUT45B:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END ENTITY CNT45S; ARCHITECTURE ART OF CNT45S IS SIGNAL CNT6B:STD_LOGIC_VECTOR(5 DOWNTO 0); BEGIN PROCESS(SB,CLK,EN45)IS BEGIN IF SB='0' THEN CNT6B<=CNT6B-CNT6B-1; ELSIF(CLK'EVENT AND CLK='1')THEN IF EN45='1'THEN CNT6B<=CNT6B+1; ELSIF EN45='0'THEN CNT6B<=CNT6B-CNT6B-1; END IF; END IF; END PROCESS; PROCESS(CNT6B)IS BEGIN CASE CNT6B IS WHEN"000000"=>DOUT45M<="01000101";DOUT45B<="01010000"; WHEN"000001"=>DOUT45M<="01000100";DOUT45B<="01001001"; WHEN"000010"=>DOUT45M<="01000011";DOUT45B<="01001000"; WHEN"000011"=>DOUT45M<="01000010";DOUT45B<="01000111"; WHEN"000100"=>DOUT45M<="01000001";DOUT45B<="01000110"; WHEN"000101"=>DOUT45M<="01000000";DOUT45B<="01000101"; WHEN"000110"=>DOUT45M<="00111001";DOUT45B<="01000100"; WHEN"000111"=>DOUT45M<="00111000";DOUT45B<="01000011"; WHEN"001000"=>DOUT45M<="00110111";DOUT45B<="01000010"; WHEN"001001"=>DOUT45M<="00110110";DOUT45B<="01000001"; WHEN"001010"=>DOUT45M<="00110101";DOUT45B<="01000000"; WHEN"001011"=>DOUT45M<="00110100";DOUT45B<="01101001"; WHEN"001100"=>DOUT45M<="00110011";DOUT45B<="00111000"; WHEN"001101"=>DOUT45M<="00110010";DOUT45B<="00110111"; - 10 - 通 信 工 程 专 业 课 程 设 计 ? WHEN"001110"=>DOUT45M<="00110001";DOUT45B<="00110110"; WHEN"001111"=>DOUT45M<="00110000";DOUT45B<="00110101"; WHEN"010000"=>DOUT45M<="00101001";DOUT45B<="00110100"; WHEN"010001"=>DOUT45M<="00101000";DOUT45B<="00110011"; WHEN"010010"=>DOUT45M<="00100111";DOUT45B<="00110010"; WHEN"010011"=>DOUT45M<="00100110";DOUT45B<="00110001"; WHEN"010100"=>DOUT45M<="00100101";DOUT45B<="00110000"; WHEN"010101"=>DOUT45M<="00100100";DOUT45B<="00101001"; WHEN"010110"=>DOUT45M<="00100011";DOUT45B<="00101000"; WHEN"010111"=>DOUT45M<="00100010";DOUT45B<="00100111"; WHEN"011000"=>DOUT45M<="00100001";DOUT45B<="00100110"; WHEN"011001"=>DOUT45M<="00100000";DOUT45B<="00100101"; WHEN"011010"=>DOUT45M<="00001101";DOUT45B<="00100100"; WHEN"011011"=>DOUT45M<="00011000";DOUT45B<="00100011"; WHEN"011100"=>DOUT45M<="00010111";DOUT45B<="00100010"; WHEN"011101"=>DOUT45M<="00010110";DOUT45B<="00100001"; WHEN"011110"=>DOUT45M<="00010101";DOUT45B<="00100000"; WHEN"011111"=>DOUT45M<="00010100";DOUT45B<="00011001"; WHEN"100000"=>DOUT45M<="00010011";DOUT45B<="00011000"; WHEN"100001"=>DOUT45M<="00010010";DOUT45B<="00010111"; WHEN"100010"=>DOUT45M<="00010001";DOUT45B<="00010110"; WHEN"100011"=>DOUT45M<="00010000";DOUT45B<="00010101"; WHEN"100100"=>DOUT45M<="00001001";DOUT45B<="00010100"; WHEN"100101"=>DOUT45M<="00001000";DOUT45B<="00010011"; WHEN"100110"=>DOUT45M<="00000111";DOUT45B<="00010010"; WHEN"100111"=>DOUT45M<="00000110";DOUT45B<="00010001"; WHEN"101000"=>DOUT45M<="00000101";DOUT45B<="00010000"; WHEN"101001"=>DOUT45M<="00000100";DOUT45B<="00001001"; WHEN"101010"=>DOUT45M<="00000011";DOUT45B<="00001000"; WHEN"101011"=>DOUT45M<="00000010";DOUT45B<="00000111"; WHEN"101100"=>DOUT45M<="00000001";DOUT45B<="00000110"; WHEN OTHERS=>DOUT45M<="00000000";DOUT45B<="00000000"; END CASE; END PROCESS; END ARCHITECTURE ART; 波形仿真: - 11 - 通 信 工 程 专 业 课 程 设 计 ? 图2.2 45秒定时电路仿真 45秒使能信号EN45为高电由图看出,SB为高电平,表示主干道处于忙状态, 平,处于使能状态,DOUT45M主干道的数码管45秒倒计时显示,DOUT45B支干 道的数码管50秒倒计时显示,结果显示与理论相符合设计要求。将此文件设置成一 单一元件,元件图库见附录。 2.2.2 25秒定时 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT25S IS PORT(SB,SM,CLK,EN25:IN STD_LOGIC; DOUT25M,DOUT25B:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END ENTITY CNT25S; ARCHITECTURE ART OF CNT25S IS SIGNAL CNT5B:STD_LOGIC_VECTOR(4 DOWNTO 0); BEGIN PROCESS(SB,SM,CLK,EN25)IS BEGIN IF SB='0' OR SM='0' THEN CNT5B<=CNT5B-CNT5B-1; ELSIF(CLK'EVENT AND CLK='1')THEN IF EN25='1'THEN CNT5B<=CNT5B+1; ELSIF EN25='0'THEN CNT5B<=CNT5B-CNT5B-1; END IF; - 12 - 通 信 工 程 专 业 课 程 设 计 ? END IF; END PROCESS; PROCESS(CNT5B)IS BEGIN CASE CNT5B IS WHEN"00000"=>DOUT25B<="00100101";DOUT25M<="00110000"; WHEN"00001"=>DOUT25B<="00100100";DOUT25M<="00101001"; WHEN"00010"=>DOUT25B<="00100011";DOUT25M<="00101000"; WHEN"00011"=>DOUT25B<="00100010";DOUT25M<="00100111"; WHEN"00100"=>DOUT25B<="00100001";DOUT25M<="00100110"; WHEN"00101"=>DOUT25B<="00100000";DOUT25M<="00100101"; WHEN"00110"=>DOUT25B<="00001101";DOUT25M<="00100100"; WHEN"00111"=>DOUT25B<="00011000";DOUT25M<="00100011"; WHEN"01000"=>DOUT25B<="00010111";DOUT25M<="00100010"; WHEN"01001"=>DOUT25B<="00010110";DOUT25M<="00100001"; WHEN"01010"=>DOUT25B<="00010101";DOUT25M<="00100000"; WHEN"01011"=>DOUT25B<="00010100";DOUT25M<="00011001"; WHEN"01100"=>DOUT25B<="00010011";DOUT25M<="00011000"; WHEN"01101"=>DOUT25B<="00010010";DOUT25M<="00010111"; WHEN"01110"=>DOUT25B<="00010001";DOUT25M<="00010110"; WHEN"01111"=>DOUT25B<="00010000";DOUT25M<="00010101"; WHEN"10000"=>DOUT25B<="00001001";DOUT25M<="00010100"; WHEN"10001"=>DOUT25B<="00001000";DOUT25M<="00010011"; WHEN"10010"=>DOUT25B<="00000111";DOUT25M<="00010010"; WHEN"10011"=>DOUT25B<="00000110";DOUT25M<="00010001"; WHEN"10100"=>DOUT25B<="00000101";DOUT25M<="00010000"; WHEN"10101"=>DOUT25B<="00000100";DOUT25M<="00001001"; WHEN"10110"=>DOUT25B<="00000011";DOUT25M<="00001000"; WHEN"10111"=>DOUT25B<="00000010";DOUT25M<="00000111"; WHEN"11000"=>DOUT25B<="00000001";DOUT25M<="00000110"; WHEN OTHERS=>DOUT25B<="00000000";DOUT25M<="00000000"; END CASE; END PROCESS; END ARCHITECTURE ART; 波形图: - 13 - 通 信 工 程 专 业 课 程 设 计 ? 图2.3 25秒定时电路仿真 由图看出,SM、SB都为高电平,表示主干道支干道都处于忙状态,25秒使能 信号EN25为高电平,处于使能状态,DOUT25M主干道的数码管30秒倒计时显 示,DOUT25B支干道的数码管25秒倒计时显示,符合设计要求。 2.2.3 5秒定时 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT05S IS PORT(CLK,EN05M,EN05B:IN STD_LOGIC; DOUT5:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END ENTITY CNT05S; ARCHITECTURE ART OF CNT05S IS SIGNAL CNT3B:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN PROCESS(CLK,EN05M,EN05B)IS BEGIN IF(CLK'EVENT AND CLK='1') THEN IF EN05M='1' OR EN05B='1' THEN CNT3B<=CNT3B+1; ELSE CNT3B<="000"; END IF; END IF; END PROCESS; PROCESS(CNT3B)IS - 14 - 通 信 工 程 专 业 课 程 设 计 ? BEGIN CASE CNT3B IS WHEN "000"=>DOUT5<="00000101"; WHEN "001"=>DOUT5<="00000100"; WHEN "010"=>DOUT5<="00000011"; WHEN "011"=>DOUT5<="00000010"; WHEN "100"=>DOUT5<="00000001"; WHEN OTHERS=>--DOUT5<="00000000"; END CASE; END PROCESS; END ARCHITECTURE ART; 波形图: 图2.4 5秒定时电路仿真 en05m、en05b分别表示主干道支干道5秒倒计时使能信号,都为高电平,表示 主干道支干道都处于5秒的准备状态,dout5为5秒倒计时,由波形图可以看出显示 结果与理论相符,将此文件设置成一单一元件,元件图库见附录。 2.3显示器的设计 显示控制单元(XSKZ)是根据JTDKZ发出的有关使能控制信号EN1、EN2、EN3、 EN4选择定时单元CNT45S、CNT25S、CNT5S的输出传送至各显示译码器。 程序如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY XSKZ IS PORT(EN45,EN25,EN05M,EN05B:IN STD_LOGIC; - 15 - 通 信 工 程 专 业 课 程 设 计 ? AIN45M,AIN45B:IN STD_LOGIC_VECTOR(7 DOWNTO 0); AIN25M,AIN25B,AIN05:IN STD_LOGIC_VECTOR(7 DOWNTO 0); DOUTM,DOUTB:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END ENTITY XSKZ; ARCHITECTURE ART OF XSKZ IS BEGIN PROCESS(EN45,EN25,EN05M,EN05B) BEGIN IF EN45='1'THEN DOUTM<=AIN45M(7 DOWNTO 0);DOUTB<=AIN45B(7 DOWNTO 0); ELSIF EN05M='1'THEN DOUTM<=AIN05(7 DOWNTO 0);DOUTB<=AIN05(7 DOWNTO 0); ELSIF EN25='1'THEN DOUTM<=AIN25M(7 DOWNTO 0);DOUTB<=AIN25B(7 DOWNTO 0); ELSIF EN05B='1'THEN DOUTM<=AIN05(7 DOWNTO 0);DOUTB<=AIN05(7 DOWNTO 0); END IF; END PROCESS; END ARCHITECTURE ART; 波形仿真: 图2.5 显示电路仿真 显示控制单元(XSKZ)是根据JTDKZ发出的有关的交通灯状态结合SM、SB来控 制使能控制信号EN45、EN25、EN05M、EN05B来选通DOUTM、DOUTB 显示 AIN25M、AIN25B、AIN45M、AIN45B的信号,由波形图可以看出显示结果与理论 - 16 - 通 信 工 程 专 业 课 程 设 计 ? 相符。将此文件设置成一单一元件,元件图库见附录。 2.4译码器的设计 译码器的主要任务是将控制器的输出EN1、EN2、EN3、EN4的4种工作状态翻译 成主、支干道上的6个信号灯的工作状态。译码器的输出时由16进制数显示的。 程序如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY YMQ IS PORT(AIN4:IN STD_LOGIC_VECTOR(3 DOWNTO 0); DOUT7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END ENTITY YMQ; ARCHITECTURE ART OF YMQ IS BEGIN PROCESS(AIN4)IS BEGIN CASE AIN4 IS WHEN"0000"=>DOUT7<="0111111"; WHEN"0001"=>DOUT7<="0000110"; WHEN"0010"=>DOUT7<="1011011"; WHEN"0011"=>DOUT7<="1001111"; WHEN"0100"=>DOUT7<="1100110"; WHEN"0101"=>DOUT7<="1101101"; WHEN"0110"=>DOUT7<="1111101"; WHEN"0111"=>DOUT7<="0000111"; WHEN"1000"=>DOUT7<="1111111"; WHEN"1001"=>DOUT7<="1101111"; WHEN OTHERS=>DOUT7<="0000000"; END CASE; END PROCESS; END ARCHITECTURE ART; - 17 - 通 信 工 程 专 业 课 程 设 计 ? 波形仿真: 图2.6 译码器仿真 为方便观察AIN4使用无符号十六进制数,当AIN4=0时,DOU7=3F,对于共阴数码管,此时数码管显示0,当AIN4=1时,DOU7=06,此时显示数字1,其余同理。由此可以看出,此模块实现了译码功能由波形图可以看出显示结果与理论相符,将此文件设置成一单一元件,元件图库见附录。 - 18 - 通 信 工 程 专 业 课 程 设 计 ? 3 顶层模块设计 顶层文件可以采用调用单元模块的的元件入库图连接成原理图,也可采用VHDL源程序设计。将所有的程序包都调出来之后,按图纸连接线路,然后将各个输入输出的原件设置好芯片及管脚。然后编译。看显示是否有错误。改正错误直到没有错误,然后就可以总程序图仿真。 原理图如下所示: 图3.1整体原理图 波形仿真: - 19 - 通 信 工 程 专 业 课 程 设 计 ? 图3.2 整体电路仿真 由仿真图看,当主支干道都有车时,及sm=1,sb=1时,主干道绿灯45秒倒计时,及mg=1,br=0;结束后跳变到黄灯,进行5秒倒计时,my=1,by=1;支干道亮绿灯,进行倒计时,及bg=1,mr=1;主干道5秒倒计时结束后跳变到红灯,mr=1;经行30秒倒计时,支干道跳变到绿灯进行25秒倒计时,及bg=1;当支干道无车时,主干道绿灯一直亮,mg=1,br=1,数码显示管不倒数计时,只显示00,因此对应的结果和课设要求的结果一致,即程序正确,可以得到理想的结果。那么现在就可以将该模块下载到所选用的芯片当中。然后就可以连接实物图了。 总体连接图: - 20 - 通 信 工 程 专 业 课 程 设 计 ? 图3.3 总体实物连接 - 21 - 通 信 工 程 专 业 课 程 设 计 ? 4 编程下载及测试 程序的显示结果验证了设计的正确,为了进一步来观察实验现象,还需要将设计编程下载到选定目标器件中测试。实验室提供的器件是EPM7128SLC84-15。 用连接线将实验开发板与电脑连接,接通电源,将最终的原理图程序下载到器件内。最后按照原理图在开发板连接好线路,检查无误后打开电源,硬件测试界面如下图: 1 当支干道无车时,主干道一直亮绿灯,数码管保持在00状态,不倒数计时: 图4.1主干道绿灯 2 当支干道有车时,主支干道交替通行: - 22 - 通 信 工 程 专 业 课 程 设 计 ? 图4.2 主干道通行 图4.3 主干道黄灯 - 23 - 通 信 工 程 专 业 课 程 设 计 ? 图4.4 主干道红灯 支干道黄灯 图4.5 支干道通行 - 24 - 通 信 工 程 专 业 课 程 设 计 ? 结 论 本次课设要求:主干道处于常允许通行状态,而支干道有车来才允许通行;当主干道允许通行亮绿灯时,支干道亮红灯。而主干道允许亮绿灯时,主干道亮红灯;当主、支干道均有车时,两者交替允许通行,主干道每次放行45s,支干道每次放行25s,在每次由亮绿灯变成亮红灯的转换过程中,要亮5s的黄灯作为过渡,并进行减计时显示。本次课程设计,我们完成了基于VHDL语言的交通灯控制器的设计,按时完成了上述功能要求,由于对EDA知识的不扎实,一开始的我们举步维艰,拿到题目不知从何处下手,通过查找资料学习,我们才开始整理程序代码,起初在编写完各个模块的程序之后,编译查错最初有63个错误:有输入的错误、语法错误等等。经过一遍一遍的查错,直到最后没有错误,顺利的编译。, 对此,我感觉对于EDA设计时程序的调试极其重要,实验软件、硬件熟悉其次。在用VHD语言时,必须注意工程名和实体名相一致,不然都会出现错误。在没有错误之后才可以进行波形仿真。若波形与理想的不同,就得再查查程序,有无原理上的编辑错误或者没有查出的输入错误。若编译通过而且波形满足要求则可以进行管脚配对,把程序下载到芯片,在实物上看结果,从显示中的出还需要改正的地方,再改程序。必须注意每改一次程序都要编译通过,且重新下载。 通过三周的课程设计,使我学会了很多宝贵的东西,开阔了眼界,增加了见识,明白了交通灯在实际生活中的原理,更多了解了EDA技术在电子设计领域的应用,同时也锻炼了我们自学及其与同学们相互交流学习的能力。本次的课设,我受益匪浅,相信一定会对我以后的学习和生活影响颇深。 - 25 - 通 信 工 程 专 业 课 程 设 计 ? 致 谢 在这三周我们组的任务是交通灯控制器的设计,首先很感谢学院能给我们这次难得的机会,同时也感谢郑争兵老师及其他老师的细心指导,最后感谢热心帮助我的同学以及和我一起努力的队友。 - 26 - 通 信 工 程 专 业 课 程 设 计 ? 参考文献 【1】陈雪松, 滕立中编著. VHDL 入门与应用. 北京: 人民邮电出版社, 2000 年12 月 【2】刘玉琴, 沈雅芬. 计算机电路基础(1). 北京: 中央广播电视大学出版社, 2000 年9 月 【3】边计年, 薛宏熙译. 用VHDL 设计电子线路. 北京: 清华大学出版社, 2000 年8 月 【4】侯伯亨.VHDL 硬件描述语言与数字逻辑电路设计[M], 西安:西安电子科技大学出版社,1999. 【5】 邢建平,曾繁泰. VHDL 程序设计教程. 3 版. 北京:清华大学出版社,2005. 【6】 谭会生.基于EDA技术的单片交通控制器的设计.中国包装工业,2002 - 27 - 通 信 工 程 专 业 课 程 设 计 ? 附 录 A 元器件清单 表2 元器件清单 元器件名称 规格 数量 数码管 共阴 四个 面包板 一个 导线 若干 C84-15 实验开发板一盒 表3 管脚设置 管脚名称 编号 管脚名称 编号 Bg 75 Dout21 39 Br 76 Dout22 40 By 77 Dout23 41 Clk 83 Dout24 44 Dout10 29 Dout25 45 Dout11 30 Dout26 46 Dout12 31 mg 63 Dout13 33 mr 64 Dout14 34 my 65 Dout15 35 sb 73 Dout16 36 sm 74 Dout20 37 B 元器件管脚图 .LED数码管管脚图 图1 LED数码管管脚图 - 28 - 通 信 工 程 专 业 课 程 设 计 ? C 部分封装图 图2. 交通灯控制元件 图3. 45S定时元件 图4. 显示控制元件 图5 译码器元件 图6. 25S定时元件 图7. 5S 定时元件 - 29 -
本文档为【交通信号灯控制器设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_637320
暂无简介~
格式:doc
大小:323KB
软件:Word
页数:30
分类:生活休闲
上传时间:2017-10-13
浏览量:55