




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章 选题背景1.1 交通灯的历史目前,对于交通灯控制系统的设计软件也种类繁多,有基于EDA设计的,基于单片机设计的,基于DSP设计的,基于ARM嵌入式的,等。还可以用标准逻辑器件、可编程控制器PLC等方案来实现。但是这些控制方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了功能修改及系统调试的困难。所以现在国内外广泛采用EDA技术设计交通灯控制系统。本设计是建立在EDA基础上完成的项目。EDA技术经历了CAD阶段,CAE阶段,EDA阶段三个发展阶段。在今天,EDA技术已经成为电子设计的普遍工具,无论设计芯片还是设计系统,没有EDA工具的支持,都是难以完成的。如今的EDA区别于曾经的:构成系统的“积木块”是各种标准芯片。EDA技术的出现改变了这种传统思路,使人们可以立足于PLD芯片来实现各种不同的功能,新的设计方法能够由设计者自己定义器件的内部逻辑和管脚,将原来由电路版设计完成的工作大部分放在芯片的设计中进行1.2 交通灯系统国内外现状及研究情况 在国外,英国,澳大利亚,日本和美国等国家均在交通控制系统上日益完善。如以澳大利亚悉尼为背景开发的交通自适应协调系统SCATS (Sydney Coordinated Adaptive Traffic System),英国的运输和道路研究所(TRRL)研制的SCOOT(Split Cycle Offset Optimization Technique )系统,日本的京三(Kyosan)系统等。这些系统,大都是在各路口附近安装磁性环路监控器,由各路口的控制设备、人员将交通控制参数通过通讯网络输入微处理器,用小型计算机进行集中处理1。目前国内己有一些自主开发的城市交通控制系统,如公安部交通科学研究所研制开发的HT-UTCS系统,但它在整体性能上比国外同类系统仍有较大差距,只在一些中小城市得到一些应用。国内城市尤其是大城市引进的交通控制系统大部分为进口的SCOOT和SCATS以及京三系统等,这些系统皆是建立在机动车为主的道路交通条件基础之上的被动型控制系统上的.由于我国交通流是混合交通流,和国外的交通流大不相同,因此,国外的这些交通控制系统在国内的使用效果不尽人意。所以国内的科研人员也在孜孜不倦的研究着更好的交通灯控制系统,大致研究可以分为两类,其一是按固定配时方案运行,其二是由车辆检测器提供的实时交通信息控制信号机运行的。如,基于时间分布的交通控制系统设计,它将一天分为N个不同的时间区间,应用计算机算出各个交通路口各时间段信号灯的最佳周期,在不同的时间区间赋予交通信号控制器不同的周期,以对应交通流量随时间的分布2。但在现实应用中,这种固定周期的交通信号灯的周期只在一天交通流量变化不大的路口可以得到较理想的效果,而交通流量呈周期变化的路口则无法两者兼顾,其只能使某个时段达到较好的效果,在另外一个时刻则需要人工干预,不然可能产生交通堵塞。再如基于模糊逻辑的智能交通灯控制系统,是从禁行车辆等待时间的角度出发,综合了各个方向车辆密度的因素,模仿交通带察的行为而设计的。其控制器采用三变量输入,输出不再是时间变量,而是车辆通行的权限3。所以,经过仔细研究国内外交通灯发展史,本设计决定采用EDA技术,应用目前广泛应用的Verilog HDL硬件电路描述语言,实现交通灯系统控制器的设计,利用MAX+plus集成开发环境进行综合、仿真,并下载到CPLD可编程逻辑器件中,完成系统的控制。所以先介绍一下EDA技术。本人所设计的交通灯设计早已经不仅仅禁锢于当初的红黄绿三色灯上了,在各大交通紧张的十字路口还可能设有左转灯,四盏灯按合理顺序亮灭。同样也可以运用Verilog语言进行编译完成此设计。本系统的控制原理框图可由图1表示,它主要由传感器、模糊控制器(包括计算控制变量、模糊量处理、模糊控制规则、模糊推理和清晰化处理五个模块,如图中虚线内所示)、执行机构、被控对象以及数模和模数转换器组成。 本系统以单向上有三个车道的道路为实验模型,共使用了24个传感器设计的交通灯模糊控制系统比传统的交通灯控制系统平均节约7.8秒的等待时间。而本人所要设计的交通灯控制器仅仅需要红绿两种颜色,控制两个干道的车辆,并且有5秒的闪烁时间以便提示车辆或者行人做好禁止通行准备.而此种设计已经可以用各种语言不同方式实现.我所使用的是较为简单的Verilog HDL语言编译程序,最终通过MAX+PLUS2这个全英文工具加以实现.1.3 EDA技术 (1) EDA技术的概念EDA技术( Electronic Design Automation,电子设计自动化的缩写),是在电子CAD技术基础上发展起来的计算机软件系统,是指以计算机为工作平台,融合了应用电子技术、计算机技术、信息处理及智能化技术的最新成果,进行电子产品的自动设计。利用EDA工具,电子设计师可以从概念、算法、协议等方面开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的整个过程在计算机上自动处理完成。(2)EDA技术在信息领域的研究 在信息通信领域,要优先发展高速宽带信息网、深亚微米集成电路、新型元器件、计算机及软件技术、第三代移动通信技术、信息管理、信息安全技术,积极开拓以数字技术、网络技术为基础的新一代信息产品,发展新兴产业,培育新的经济增长点。要大力推进制造业信息化,积极开展计算机辅助设(CAD)、计算机辅助工程(CAE)、计算机辅助工艺(CAPP)、计算机机辅助制造(CAM)、产品数据管理(PDM)、制造资源计划(MRPII)及企业资源管理(ERP)等。有条件的企业可开展“网络制造”,便于合作设计、合作制造,参与国内和国际竞争。开展“数控化”工程和“数字化”工程。自动化仪表的技术发展趋势的测试技术、控制技术与计算机技术、通信技术进一步融合,形成测量、控制、通信与计算机(M3C)结构。在ASIC和PLD设计方面,向超高速、高密度、低功耗、低电压方面发展。 第二章 方案论证2.1设计任务要求 (1)设计一个十字路口的交通信号灯的控制电路,如图2-1。要求红、绿灯按一定的规律亮、灭以及闪烁,且在亮灯期间进行倒计时,并将倒计时数用数码管显示出来。(2)绿灯亮时,为该车道允许通行信号,红灯亮时,为该车道禁止通行信号。要求主干道每次通行时间为99秒,支干道每次通行时间为30秒。每次变换运行车道前绿灯闪烁,持续时间为5秒。即车道要由主干道转换为支干道时,主干道在通行时间只剩下5秒钟时,绿灯闪烁显示,支干道仍为红灯,以便主干道上已过停车线的车继续通行,未过停车线的车停止通行。同理,当车道由支干道转换为主干道时,支干道绿灯闪烁显示5秒钟,主干道仍为红灯。(3)可以对主干道,支干道上红、绿灯的运行时间进行重新设置。 图 2-1 交通灯十字交叉路口2.2设计难点 本课题的设计难点在于计数器的计数值与交通灯的亮灭关系,如图2-2。关键是设计一个计数范围为0129(130s)的计数器和一个根据计数值作出规定反映的控制器。如图2-2所示,不妨设支干道的绿灯先亮。在一个周期内,当支干道的的绿灯持续亮了25s后,它会接着闪烁5s,而在这30s的时间内主干道持续红灯亮;然后主干道绿灯持续亮94s后,闪烁5s,而在这长达99s的时间内,支干道的红灯亮。于是交通信号灯就这样周而复始的亮灭。但当出现特殊情况,需要对运行时间进行重置的时候,相应的各个时间段的时间长短也会发生改变。 支干道主干道0124253030绿灯亮红灯亮红灯亮绿灯亮红灯亮1290干道129 图2-2 计数器的计数值与交通灯的亮灭关系2.3硬件系统分析1.器件(1)两组红绿灯,即两个红色的发光二极管,两个绿色的发光二极管。chief_green,chief_red,用于配合十字路口主干道的交通指挥控制;sub_green,sub_red,用于配合十字路口支干道的交通指挥控制。(2)三组七段LED数码显示管。数码管1,用于显示主干道置数的高位;数码管2,用于显示主干道置数的低位;数码管3,用于显示支干道置数的高位;数码管4,用于显示支干道置数的低位;数码管7,数码管8,用于交通信号灯的二位十进制倒计时数的显示。(3)一组手动控制开关。k5,k4,k3,k2,用于对主干道,支干道上红、绿灯的运行时间进行设置。 K5用于对主干道通行时间的高位进行设置;K4用于对主干道通行时间的低位进行设置;K3用于对支干道通行时间的高位进行设置;K2用于对支干道通行时间的低位进行设置;k1使能控制置数,当k1按下时,k5,k4,k3,k2所置的高电平会传给chief_h,chief_l,sub_h,sub_l,传给定时器,开始计时。2.系统框图 2-33.系统框图各端口功能说明(1)enable,使能作用,控制交通灯的计数。当enable为低电平时,即k1按键没按下时,定时器置数;当enable为高电平时,即k1按下,交通灯开始循环运行。 图 2-3系统框图(2)chief_h_button,chief_l_button,sub_h_button,sub_l_button,置数作用,分别设置主干道通行时间的高位,主干道通行时间间的低位,支干道通行时间的高位,支干道通行时间的低位,分别通过按键按键k5,k4,k3,k2来实现。(3)chief_h,chief_l,sub_h,sub_l, 时间显示作用,由按键k5,k4,k3, k2所得到的值,代表主干道通行时间的高位,主干道通行时间的低位,支干道通行时间的高位,支干道通行时间的低位,传递给数码管4,3,2,1显示。(4)clk ,外部时钟源。(5)flash, 控制绿灯的闪烁。(6)select,用于计数干道的选择。(7)chief_green,chief_red,sub_green,sub_red,用于显示主干道绿灯,主干道红灯,支干道绿灯,支干道红灯的亮灭。(8)counter_play,倒计时。从主干道的99开始,99,98,972,1,0,30,29,283,2,1,0,99,98一直周而复始的循环。2.4 软件系统分析2.4.1 运用Verilog HDL 语言进行设计HDL是硬件描述语言(HardwareDescriptionLanguage)的缩写。HDL巳有多种,但最流行和通用的只有VerilogHDL和VHDL两种。VerilogHDL起源于1983年的GDA(GatewayDesignAutomation)。VerilogHDL是在应用最为广泛的C语言基础上发展起来的一种硬件描述语言,它是由GDA公司的PhilMoorby于1983年创建的,最初只设计了一个仿真与验证工具,之后又陆续开发了相关的故障模拟与时序分析工具。1985年Moorby推出了它的第三个商用仿真器Verilog-XL,获得了巨大成功,从而使verilogHDL得到迅速的推广和应用。1989年CADENCE公司收购了GDA公司,使VerilogHDL成为该公司的独家专利。1990年CADENCE公司公开发表了VerilogHDL,并成立OVI(0penVerilogInternational)组织以促进VerilogHDL语言的发展。1995年VerilogHDL成为IEEE标准,即IEEEStandard13641995。VerilogHDL语言简单而优美,易学易用,对于有C语言的编程经验,可以在一个较短的时间内很快的学习和掌握。再者其描述硬件单元的结构简单且易读。在设计仿真中可以实现所需要的功能模块,层级结构、测试向量以及人机交换等。而且Verilog HDL语言本身是专门面向硬件与系统设计的,与VHDL相比,VHDL语法相对较自由些,容易犯错误,因而我选择Verilog HDL 语言进行编程设计。2.4.2 基于MAX+plus平台的设计又由于本课题是基于MAX+plus平台设计的,所以介绍下MAX+plus集成开发环境。MAX + plus是一种与结构无关的全集成化设计环境,使设计者能对Altera 的各种CPLD 系列方便地进行设计输入、快速处理和器件编程。MAX+ plus 开发系统具有强大的处理能力和高度的灵活性。使用MAX + plus软件的设计者无需精通器件内部的复杂结构,只需运用自己熟悉的输入工具进行设计,如原理图输入方法,文本输入方法 (AHDL,Verilog HDL,VHDL等)和波形输入方法。而且MAX + plus的设计结果还能够生成编程下载文件,对设计文件进行逻辑综合和器件适配等。那么,MAX+plus设计流程是这样的:(1) 设计输入。 MAX + plus 软件的设计文件可以是本软件自己的设计工具或者是各种工业标准的EDA设计输入工具。支持多种设计输入方式,如硬件描述语言输入、原理图输入、波形输入、文本输入、底层编辑、网表输入和层次设计输入。(2) 设计处理。 设计输入完后,用MAX + plus 的编译器编译、查错、修改直到设计输入正确,同时将对输入文件进行逻辑简化、优化,最后生成一个编程文件。 这是设计的核心环节。(3) 设计检查。MAX + plus 为设计者提供完善的检查方法设计仿真和定时分析。其目的是检验电路的逻辑功能是否正确,同时测试目标器件在最差情况下的时延。这一查错过程对于检验组合逻辑电路的竞争冒险和时序逻辑电路的时序、时延等至关重要。(4) 器件编程。 当电路设计、校验之后,MAX+plus 的Programmer 将编译器所生成的编译文件下载到具体的CPLD 器件中,即实现目标器件的物理编程 。 综上,MAX+plus2的软件设计流程应包含以下几个部分,每部分的关系如图2-4所示。 设计要求设计输入设计编译功能校验时序校验器件编辑板级校验系统产品修改设计 图2-4 MAX+plus2的设计流程图第三章 过程论述 由于是同组两人做一个课题,所以需要将交通灯控制系统划分为两大部分,若干个小模块。然后分别用Verilog HDL写出程序代码来,进行波形仿真,生成一个个小模块,再将各个模块所定义的输入/输出端口的引脚进行连线,形成一个总的层次图,然后再进行总体程序上的波形仿真。这样做,既可以增加程序的调试速度,提高编程速度。因此经过分析,此交通灯控制系统被划分成4个模块,分别是:置数模块,显示模块,定时控制模块,顶层模块。而我则负责置数模块和显示模块,我的同组人员,则做定时控制模块和顶层模块。定时器模块:Enable键控制定时器的运行和关闭。Enable按下后,将置数值赋给计数变量chief_h_temp,chief_l_temp,sub_h_temp,sub_l_temp。初始状态,计数选择寄存器select=0,对主干道的计数变量进行减计数。每到来一个时钟上升沿,对变量减1。顶层模块其作用:将置数模块,显示模块,定时控制模块所生成模块图连接起来,添上输出输入端口,重新编译仿真。 3.1 模块设计理念3.1.1 置数模块由于系统设计要求可以对主干道,支干道上红、绿灯运行的时间进行重新设置调整,所以要对系统进行参数化设计。首先引入一组参数,chief_h,chief_l,sub_h,sub_l,先赋上主干道,支干道上红、绿灯运行的时间初始值,一旦需要重置,就用一个enable信号控制外部按键,控制定时器的启动(可参考图2-3)chief_h_button,chief_l_button,sub_h_button,sub_l_button 通过 k5,k4,k3,k2键对参数进行赋值。 而在程序设计上,可以运用always语句进行设计,来判断置数键的变化。因为在Verilog HDL 语言中always块中begin end 在概念上顺序执行,实质上是并行的,因为每条语句的执行不占用具体时间,所有语句都是在一瞬间执行的,没有时间的先后,但有先后执行之分。仿真时是逐条执行的。但要弄清楚阻塞赋值和非阻塞赋值的区别。如果全部都是非阻塞的赋值的话,才相当于并行的。而此程序设计刚好要求,主干道计时的高位置数,主干道计时的低位置数,支干道计时的高位置数,支干道计时的低位置数并行进行,所以选用always 语句很合适。以主干道的高位为例,当chief_h_button产生一个高电平,即k5键按下,对应的置数位加1,当k5再按下一次时,对应的置数再位加1,当置数位加到9后,下一次则归0 ,置数值始终放在chief_h里。对于主干道的低位,支干道的高、低位亦是同理。所以程序需要四个并行的Always同时对四个置数按键进行监控。所以,四个输入信号:chief_h_button,chief_l_button,sub_h_button,sub_l_button四个输出信号:chief_h,chief_l,sub_h,sub_l。3.1.2 显示模块 其作用:主要用于控制主干道和支干道的红绿灯的亮灭,以及交通信号灯的倒计时显示。 由于交通信号灯的倒计时数值可能是一位或者两位的十进制数,所以需要在七段数码管的译码器的译码电路上增加一个分位电路,即将其分为两个一位的十进制数,如99分为9和9,30分为3和0。由输入信号select、flash,分别取00,01,10,11,所得到的chief_green,chief_red,sub_green,sub_red的不同值,来控制主干道,支干道红绿灯的亮灭。 1表示亮,0表示灭。如表3-1 所示。其方法就是用卡诺图算出chief_green,chief_red,sub_green,sub_red关于select,flash的数学表达式。闪烁的效果用flsh&clk实现。 输 入 信 号 输 出 信 号selectflashChief_greenChief_redSub_greenSub_red 0 0 1 0 0 1 0 1闪烁 0 0 1 1 0 0 1 1 0 1 1 0 1 闪烁 0 表3-1I. Chief_green=select&flash+select&(flash&clk) =select&(flash+flash&clk) =select&(flash&clk)II.Chief_red=selectIII.Sub_green=select&(flash&clk)IVSub_red=select所以,七个输入信号:clk,flash,select,chief_htemp,chief_ltemp,sub_htemp,sub_ltemp五个输出信号:chief_green,chief_red,sub_green,sub_red,counter_play3.2 程序代码3.2.1 置数模块程序代码Module set(chief_h_button,chief_l_button,sub_h_button,sub_l_button,chief_h,chief_l,sub_h,sub_l)input chief_l_button;input chief_h_button;input sub_l_button;input sub_h_button;output3:0 chief_h,chief_l,sub_h,sub_l;reg3:0 chief_h,chief_l,sub_h,sub_l;always(posedge chief_l_button)begin if(chief_l=9) chief_l=0; else chief_l=chief_l+1;endalways(posedge chief_h_button)begin if(chief_h=9) chief_h=0; else chief_h=chief_h+1;endalways(posedge sub_l_button)begin if(sub_l=9) sub_l=0; else sub_l=sub_l+1;endalways(posedge sub_h_button)begin if(sub_h=9) sub_h=0; else sub_h=sub_h+1;endendmodule3.2.2显示模块程序代码Module view(clk,flash,select,chief_green,chief_red,sub_green,sub_red,counter_play,chief_htemp,chief_ltemp,sub_htemp,sub_ltemp);input clk;input flash;input select;input3:0chief_htemp,chief_ltemp,sub_htemp,sub_ltemp;output chief_green,chief_red,sub_green,sub_red;output7:0counter_play;assign counter_play=(select)?chief_htemp,chief_ltemp:sub_htemp,sub_ltemp;assign chief_green=select&(flash&clk);assign chief_red=select;assign sub_green=select&(flash&clk);assign sub_red=select;endmodule3.3模块图3.3.1置数模块图Input :chief_h_button,chief_l_button,sub_h_button,sub_l_buttonoutput:chief_h,chief_l,sub_h,sub_l图3-1置数模块图注:模块图中,细实线表示单线连接,粗实线表示总线连接。chief_h_button,chief_l_button,sub_h_button,sub_l_button 都是简单的0或者1 二进制数,所以用细实线;而chief_h,chief_l,sub_h,sub_l都是四位二进制数,所以连接用的是粗实线。3.3.2 显示模块图Input : clk,flash,select,chief_htemp,chief_ltemp,sub_htemp,sub_ltempoutput:chief_green,chief_red,sub_green,sub_red,counter_play图3-2 显示模块图注: clk,flash,select 是一位二进制数;chief_htemp,chief_ltemp,sub_htemp,sub_ltemp,是四位二进制数;counter_play是八位二进制数。第四章 时序仿真结果分析4.1 置数模块仿真结果分析图4-1置数模块单模块仿真结果首先进行初始值设定,令chief_h_button产生1个高电平,chief_l_button产生3个高电平,sub_h_button产生1个高电平,sub_l_button产生1个高电平,即,可以发现chief_h置数为1,chief_l置数为3,sub_h置数为1,sub_l置数为1。观察图4-1,当且仅当,button出现高电平的时候,置数位才开始置数,每个信号,每产生一个高电平,置数位的数值就会加1,所以chief_l_button 连续产生3个高电平,chief_l才可以置3。从置数位数字改变的快慢,我们可以判断 chief_h_button,chief_l_button,sub_h_button,sub_l_button置数的先后顺序。Sub_l最先由0变为1,所以置数先后顺序是sub_l_button,sub_h_button, chief_l_button, chief_h_button。4.2 显示模块仿真结果分析首先设置初始值,clk为1,flash为1,select为1;而chief_htemp,chief_ltemp,sub_htemp,sub_ltemp设置为循环计数,计数值从0到F。如图4-2。又由卡诺图所得出的公式,得chief_green=select&(flash&clk)=0*(flash&clk)=0;chief_red=select=1;sub_green=select&(flash&clk)1*0=0;sub_red=select=0,前期计算值与仿真值完全相同。图4-2显示模块单模块仿真结果再者, counter_play=(select)?chief_htemp,chief_ltemp:sub_htemp,sub_ltemp;代入时间轴上chief_htemp,chief_ltemp,sub_htemp,sub_ltemp的值,算出来,进行比较也与仿真结果相同。4.3 系统置数仿真结果分析4.3.1主干道99s,支干道30s置数根据课题设计的要求,主干道的通行时间为99s,支干道的通行时间为30s,所以要先对chief_h_button,chief_l_button,sub_h_button,sub_l_button这四个input置数。又由于本设计是按键输入,按一下键,即可产生一个高电平,则置数为1;连续按两次,则产生两个高电平,置数为2,所以chief_h_button,赋值为9,即连续按下k5健9次,所以其波形含9个高电平。同理,chief_l_button为9 ,波形也含9个高电平,sub_h_button为3,波形含3个高电平,sub_l_button为0,不需要按键按下。又由于k5,k4,k3,k2不能同时按下,所以每次置数之间都有时间间隔。当k1按下,即使能端enable产生一个高电平后,counter_play 开始倒计时:99,98,97 03,02,01,00,30,2903,02,01,00,99,98,97不停的循环计数。(1)图4-3 主干道99s开始计数如图4-3,以chief_h_button与chief_h为例,当k5健按下一次时,chief_h_button的波形产生一个高电平,当下降沿到来时,chief_h置1 ,当第二个下降沿到来时,chief_h置2,当第九个下降沿到来时,chief_h置9,但第九个下降沿之后一直保持低电平,所以chief_h一直保持置9。其他信号同理。但是,chief_h_button与chief_l_button的时间轴之间有缝隙,如图前两条黑线,它表示k5,k4按键按下时有时间间隔。当enable 产生一个高电平,clk出现一个上升沿时,counter_play开始计数。注:1. clk的实际时钟周期,Multiplied By 要修改成2,这样clock period 才能为Grid Size的4倍。2. 由于交通灯的总计时间一个周期内为129s,所以要修改File菜单中的End Time 为10us。3. 第三条黑线表示主干道的第一次通行倒计时开始。(2)此时,当enable持续低电平时,也没有chief_h_button,chief_l_button,sub_h_button,sub_l_button的输入时,chief_h依旧为9,chief_l为9,sub_h为3,sub_l为0,当主干道计时到94s时,chief_green的波形出现了五个高电平,它表示主干道绿灯闪烁5s,当主干道的chief_green为低电平时,sub_green出现高电平,支干道的绿灯亮。在主干道的chief_red出现高电平的同时,sub_red也出现了低电平。但是chief_green与chief_red的波形的上下跳沿有很小的时间间隔,这是由系统误差造成的。图4-4 支干道30s开始计数注:黑线表示主干道99s的计时通行结束,支干道的30s开始。(3)此时,chief_green的波形出现了高电平, sub_green出现在连续5个高电平后呈现低电平,chief_red出现低电平,sub_red高电平时,表示主干道可以重新通行,支干道禁止通行。如图 4-5。注:黑线处表示循环开始,即主干道再次开始倒计时。图4-5 主干道的99s循环计时 4.3.2 系统重新置数 (1)图4-6系统控制时间重置,主干道52s计时开始由于课程设计的要求是既要能使主干道的通行时间为99s,支干道的通行时间30s,又可以对主干道,支干道上红、绿灯运行的时间进行重新置数,所以需要改变chief_h_button,chief_l_button,sub_h_button,sub_l_button的值,即改变k5,k4,k3,k2所置的高电平数,使其依次传递给置数模块的chief_h,chief_l,sub_h,sub_l。不妨将chief_h_button的高电平数设置为5,chief_l_button的高电平数设置为2,sub_h_button的高电平数设置为3,sub_l_button的高电平数设置为1,即主干道的通行时间为52s,支干道的通行时间为31s,如下图。注:黑线表示主干道的倒计时开始。(2)图4-7系统控制时间重置,支干道31s计时开始注:黑线前表示主干道最后5s的闪烁,黑线后表示支干道的通行倒计时开始。第五章 总结 通过这次设计我了解到,一般交通灯控制器设计至少可以分为四个模块,置数模块,显示模块,计时控制模块,顶层模块。对于置数模块,是为了调整交通灯的控制时间,使其适用于各种不同的需求。而置数模块可以用always并行的方式,对交通灯控制时间的高低位进行设置,其间需要对设置进行参数化处理。而对于显示模块,它起着至关重要的作用,控制交通灯的亮灭,以及通行时间倒计时,提醒人们注意交通安全。其可以通过卡诺图法,算出各个参数之间的关系式,从而控制显示。在有了理论知识的前提下,我们对所编写的程序进行时序仿真,对比预期结果和仿真结果,从而验证设计的正确性,得出结论。其实我们还可以利用MAX+plus2软件编译下载到可编程逻辑器件中去,通过定义可编程器件的引脚实现系统的功能,成为单片系统(SOC).现在的许多数字系统设计,一般都是采用可编程逻辑器件加以实现,不再是中规模的计数器或者译码器等这些部件了。最后,简述我在设计的过程中所遇到的一些问题。 (1)由于不经常使用Verilog HDL语言编写程序,所以难免会产生语法错误,致使编译失败,无法进行下一步操作。如 Verilog HDL语言区分大小写,像Initial的I,如果小写了是一种过程赋值语句,用来实现行为的建模,如果大写,只是编者定义的一个参量。再如用Verilog HDL编程,不仅要定义input,output,还要定义reg。还有verilog HDL中always块中begin end是顺序执行的。但要弄清楚阻塞赋值和非阻塞赋值的区别。如果全部都是非阻塞的赋值的话,就相当于并行的。再者,always语句中的触发信号,最好选用同种触发类型,或nesedge或posedge或电平变化。 (2)对MAX+PLUS2软件环境不适应,图形编辑时也出了些错。如端口连接错误,像chief_h就不能连接chief_h3.0,更不能连上其他无关端口上。再如在进行总线(BUS)与输入/输出端口的连接时,不能从输入/输出端口向元件的端口处引线,否则连不上去。又如,当Verilog HDL程序的元件符号更新后,必须在图形编辑器中进行相应的更新,在Symbol菜单中选择update symbol可对本图形文件中的元件符号进行更新,若不更新,你每次调用的元件都是以前的错误元件。Input,output修改的端口名必须与连接的原件的端口名相一致,否则会出错。 (3)用MAX+PLUS2仿真时,可能仿真出来的结果是对的,但实际电路中是错的。这是因为没在按键上接上拉电阻或者下拉电阻,导致CPLD/FPGA读取键值不稳定而引起整个系统的不稳定。再者,仿真时,要根据具体情况,适当调整仿真时间的长短,Grid Size 与Clock Period的倍数关系,以及总线与分线的关系,初始值。(4)用MAX+PLUS2保存文件时,存储路径中不得出现中文字符,也不能将文件存于根目录之下,否则无法编译。结束语踉踉跄跄地忙碌了三个月,我的毕业设计课题也终于将告一段落。点击运行,仿真,也达到预期的基本效果,小小的成就感在没人的时候也会冒上心头。但由于个人能力和时间的关系,总是觉得有很多不尽人意的地方,譬如功能比较简单,只能满足基本的红绿灯闪亮以及倒计时显示;定时控制,不能满足如今瞬息万变的交通,不能形成一个大而复杂的系统数不胜数。可是,我又会有点自恋式地安慰自己:做一件事情,不必过于在乎最终的结果,可贵的是过程中的收获。以此语言来安抚我尚没平复的心。 毕业设计,也许是我大学生涯交上的最后一个作业了。想籍次机会感谢四年以来给我帮助的所有老师、同学,你们的友谊是我人生的财富,是我生命中不可或缺的一部分。我的毕业指导老师吴建新老师,虽然我们是在开始毕设时才认识,但他却能以一位长辈的风范来容谅我的无知和冲动,给我不厌其烦的指导。在此,特向她道声谢谢。 大学生活即将匆匆忙忙地过去,但我却能无悔地说:“我曾经来过。”大学四年,但它给我的影响却不能用时间来衡量,这四年以来,经历过的所有事,所有人,都将是我以后生活回味的一部分,是我为人处事的指南针。就要离开学校,走上工作的岗位了,这是我人生历程的又一个起点,在这里祝福大学里跟我风雨同舟的朋友们,一路走好,未来总会是绚烂缤纷。参考文献1戴立江,基于EDA技术的FPGA应用研究D,天津工业大学,2004.2徐书雨,新型网络化智能多相位交通信号及的研究D,河北工业大学,2005.1.3王彬,基于时间分布的交通控制系统D,山东科技大学,2004.5.4刘大亮,谢克明,基于模糊逻辑的智能交通灯控制系统J,第二十三届中国控制会议文集,2003,1298-1301.5曾繁泰、李冰、李晓林著,EDA工程概论M,清华大学出版社,2002.1. 6陈德望、汤淑明、宫晓燕、刘小明.城市交叉口交通信号控制研究的发展J,自动化博览,2002,48-50.7王志鹏、付丽琴,可编程逻辑器件开发技术MAX+plus2M,国防工业出版社,2005.3,51-203.8袁俊泉,孙敏琪,Verilog HDL数字系统设计及其应用M,西安电子科技大学出版社,2002,20-86. 9杜建国,Verilog HDL硬件描述语言M,国防工业出版社,2004.10张亮著,数字电路设计与Verilog HDLM,人民邮电出版社,2000.11Donald E.Thomas, Philip R.Moorby,硬件描述语言VerilogM,4,清华大学出版社,2001.12王金明、杨吉斌,数字系统设计与Verilog HDLM,电子工业出版社,2002.1.13张佳佳,城市智能交通信号优化控制及仿真D,湘潭大学,2004.14程民,智能交通信号控制系统的设计与研究D,西安建筑科技大学,2003.15魏朗、陈荫三、饭田恭敬.城市主干道交通信号群系统控制的参数优化设计模式及其模拟系统开发J,交通运输工程学报,2001, 1-1,72-76.16李国丽,交通灯控制系统主控电路的设计与验证J,全国第十五届计算机科学与技术应用学术会议,合肥工业大学.17石建军、宋俪婧、于泉,现代交通控制相关技术的发展趋势分析J,公路交通科技,ISSN:1002-0268,2006,23(9),113-11718黄任,VHDL入门.解惑.经典实例.经验总结M,北京航空航天大学出版社,2005,136-143.19Fearghal Morgan, Patrick Rocke, Applied VHDL Training Methodology ,EDA Framework and Hardware Implementation Platform , National University of Ireland, 2005.20Altera Max II Development Board Data Sheet, V1.0, Oct 2004 /literature/ds/ds_maxII_develop_board.pdf 21Fearghal Morgan, Patrick Rocke, Applied VHDL Training Methodology ,EDA Framework and Hardware Implementation Platform , National University of Ireland, 2005.22Massaki Wada, Mami Mizutani, Masaki Saito. ICAN:Pursuing Technology for Near Future ITS. IEEE,ntelligent Transportation Systems, 2004, Vo1.19,No.l:pp50-52.23Tan Kok Khiang Marzuki Khalid, and Rubiyah Yusof,intelligent traffic lights control byfuzry logic,Malaysian Journal of Computer Science. Nov. 1995.24Altera公司,Data Book 2000.25Altera公司,Max+PlusII Getting Started.致 谢感谢我的导师吴老师。从最初的毕业设计的选题,模块分析,到后来的编程,仿真,再到最后的完成设计和毕业论文,曾多次得到老师的悉心教导。吴老师严谨细致、一丝不苟的工作作风一直是我学习的榜样;他循循善诱的教导和不拘一格的思路给予我无尽的启迪。 所以对吴老师的感激之情是无法用言语表达的。 感谢我的好朋友们,一直鼓励我,帮助我,支持我,和我一起欢笑,和我一起哭泣,不离不弃。我们永远都是最好的朋友。 感谢我的爸爸妈妈,焉得谖草,言树之背,养育之恩,无以回报,你们永远健康快乐是我最大的心愿。 在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!附录一 总程序代码Moduletrafficlamp(clk,ena
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司视频脚本策划方案
- 公司美食类活动方案
- 公司水果采摘活动方案
- 公司植树挂牌活动方案
- 公司深圳湾公园活动方案
- 公司组织骑单车活动方案
- 公司旅游业余活动方案
- 公司羽毛球例行活动方案
- 公司温泉团建策划方案
- 公司线上周年庆活动方案
- 消毒规范课件教学课件
- 生态养殖羊圈施工合同
- 撤并小学资产移交方案
- 手绘玻璃杯创意课程设计
- 传感器的种类课件
- 2023年国网山西省电力公司提前批招聘考试真题
- 《珍爱生命拒绝毒品》主题班会课件
- 墙布窗帘购销合同协议书
- 计算机网络的拓扑结构 教学课件
- 华为质量回溯(根因分析与纠正预防措施)模板
- 山东省烟台市牟平区(五四制)2023-2024学年八年级下学期期末语文试题(原卷版)
评论
0/150
提交评论