基于pld的交通灯控制电路的设计.doc
《基于pld的交通灯控制电路的设计.doc》由会员分享,可在线阅读,更多相关《基于pld的交通灯控制电路的设计.doc(29页珍藏版)》请在咨信网上搜索。
1、 第 29 页 共 29 页 引言交通灯控制器件在我们的日常生活中有着很重要的意义。由一条主干道和一条支干道的汇合点形成十字交叉路口,为确保车辆安全、迅速地通行,在交叉路口的每个入口处设置了红、绿、黄三色信号灯。红灯亮禁止通行; 绿灯亮允许通行;黄灯亮则给行驶中的车辆有时间停靠在禁行线外。实现红、绿灯的自动指挥对城市交通管理现代化有着重要的意义。本次设计是采用可编程逻辑器件(PLD)为主控制器芯片,通过Quartus II综合性PLD开发平台,用Verilog HDL硬件描述语言完成控制器电路的程序设计和仿真验证,然后将设计结果编程下载到PLD芯片中,通过PLD的I/O口输出信号,控制外围电路
2、连接以实现对交通灯的控制。在该设计的制作过程中Quartus II综合性PLD开发平台和Verilog HDL硬件描述语言必不可少的工具。设计的各个模块功能都要运用到Verilog HDL硬件描述语言、Quartus II综合性PLD开发平台对其进行编写和模拟仿真。并将所写程序下载至EDA6000实验开发系统上,对各方面功能进行模拟硬件电路验证实现。在对程序验证正确,并论证其现实可行后,还需要运用电路知识和PCB设计软件Protel 99SE制作电路板。下面简要介绍可编程逻辑器件(PLD)、Quartus II综合性PLD开发平台、Verilog HDL硬件描述语言和EDA6000实验开发系统
3、。可编程逻辑器件(PLD)。PLD是可编程逻辑器件(Programable Logic Device)的简称。是电子设计领域中最具活力和发展前途的一项技术,它的影响丝毫不亚于70年代单片机的发明和使用。PLD能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用PLD来实现。PLD如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用PLD的在线修改能力,随时修改设计而不必改动硬件电路。使用PLD来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的
4、可靠性。 PLD的这些优点使得PLD技术在90年代以后得到飞速的发展,同时也大大推动了EDA软件和硬件描述语言(HDL)的进步。随着科学的发展,社会的进步,数字集成电路本身在不断地进行更新换代。它由早期的电子管、晶体管、小中规模集成电路、发展到超大规模集成电路(VLSIC,几万门以上)以及许多具有特定功能的专用集成电路。但是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(
5、FPLD),其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。本次设计所运用到的EPM7128SLC84-15便是复杂可编程逻辑器件(CPLD)的一个代表。虽然名字和复杂程度各不相同,但是一个PLD器件一般由三大部分组成,其结构如图1所示。(1)、一个二维的逻辑块阵列,构成了PLD器件的逻辑组成核心。(2)、输入输出块。(3)、连接逻辑块的互连资源。连线资源:由各种长度的连线线段组成,其中也有一些可编程的连接开关,它们用于逻辑块之间、逻辑块与输入输出块之间的连接。图 1 典型的PLD框图Quartus II 综合性PLD开发平台。Quartus II 是Alte
6、ra公司的综合性PLD开发软件,支持原理图、VHDL、Verilog HDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点,并支持MAX7000/MAX3000等乘积项器件,为目前常用的EDA开发软件。此外由于Quartus II简单易学功能强大,所以在许多大中院校中被选为E
7、DA课程学习的配套软件。也是广大师生在学习EDA过程中运用得最多的PLD开发软件。Verilog HDL硬件描述语言。Verilog HDL是一种硬件描述语言(HDL:Hardware Discription Language),是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。Quartus II开发软件中支持VHDL、Verilog HDL等硬件描述语言。Verilog HDL就是在用途最广泛的C语言的基础上发展起来的一种件描述语言,其最大特点就是易学易用,如果有C语言的编程经验,可以在一个较短的时间内很快的学
8、习和掌握。由于HDL语言本身是专门面向硬件与系统设计的,这样的安排可以使学习者同时获得设计实际电路的经验。与之相比,VHDL的学习要困难一些。但Verilog HDL较自由的语法,也容易造成初学者犯一些错误,这一点要注意。EDA6000实验开发系统。EDA6000是南京伟福公司结合多年PLD、EDA、DSP及SOPC开发经验,分析国内外多种EDA实验开发系统,取长补短,研制出的EDA实验开发系统。该系统的优点很多,这里只介绍其中最重要,也是在PLD设计过程中运用得最多的两个功能。(1)多芯片。支持XCS05/10、XC9572/108、XCV200、FLEX10K10、MAX7128S等多种系
9、列FPGA/EPLD芯片。本次设计用到的是MAX7128S芯片。(2)软、硬件结合。EDA6000实验系统采用软、硬件结合技术,可以在PC机的软件(伟福6000)上定义实验所要连线,下载到实验仪上即可。实验仪运行的结果可以在软件上观察到,如果想观察高速信号,就用逻辑分析仪采样,传上来进行分析。软件可以将RAM的数据下载到实验仪上,供实验仪做VGA、DAC等数据输出类实验。也可将ADC采样的到数据上载到PC机的软件中,供学生分析、观察、保存。由于这个优点,为程序的模拟硬件电路实现提供了很大的方便。1 方案论证根据毕业设计任务书的要求,本次设计必须满足以下要求:(1)用PLD芯片实现交通灯控制电路
10、的设计。(2)能设置道路东西和南北两侧通行和禁止的倒计时时间,最大设置时间为99秒,最小设置时间为1秒,红、绿、黄灯显示的次序符合实际交通道路控制的要求。(3)在EDA实验开发系统上完成电路的设计与验证后,根据设计电路的输入和输出设备的需要设计并制作PCB板,完成基于PLD的交通灯控制电路的设计。11 整体设计构想在查阅资料后可以得知,交通灯控制系统的设计平台有很多种。如:有基于单片机的交通灯,有基于FPGA的也有基于PLD的。在众多设计中,基于单片机的交通灯控制系统是最具有实用价值的。目前交通信号灯,大部分都是用单片机控制,加上无线通信来实现的。基于PLD的交通灯控制系统的设计题是在PLD学
11、习中一个最经典,最典型的题目,尤其是定时器和计数器那部分。通过基于PLD的交通灯控制电路设计,让制作者熟悉掌握EDA技术,并能够运用硬件描述语言对PLD器件进行程序编写,通过对PLD芯片的选择和硬件电路实现,让设计者能够基本掌握该项技术。根据第(2)项的要求,要能够设置道路东西和南北两侧通行和禁止的倒计时时间,最大设置时间为99秒,最小设置时间为1秒,所以要在路口要放置数码管,用以倒计时的显示。还有红、绿、黄灯显示的次序要符合实际交通道路控制的要求,根据对现实中的十字路口交通灯的观察,发现交通灯的形式虽然有多种多样,但是基本的结构是不变的,其主要工作状态有以下几种:状态0:东西方向绿灯亮,南北
12、方向红灯亮,用以东西方向的车辆通行。状态1:东西方向黄灯亮,用于给予东西方向通行的车辆以准备停止的时间。状态2:南北方向绿灯亮,东西方向红灯亮,用以南北方向的车辆通行。状态3:南北方向黄灯亮,用于告给予南北方向通行的车辆以准备停止的时间。此四种状态反复轮回运行便构成了一个十字路口交通灯。图2就是这四种状态的示意图。图 2 十字路口交通灯示意图完成整体设计构想以后,在Quartus II 综合性PLD开发平台上,用Verilog HDL硬件描述语言编写各设计模块的程序,然后在EDA6000实验箱上验证可以实现交通灯控制器的功能,最后制作PCB板,实现电路整体设计方案。1.2 程序设计方案根据任务
13、书的要求,该交通灯控制系统主要有这几个功能(1)、能够产生倒计时,可以设置倒计时的大小(即倒计时起始时间),并能显示出来。(2)、能够产生1秒的时钟。(3)、能够控制红、黄、绿灯的显示。根据以上三点,本次设计大体可以分为四大部分:(1)、分频电路。将外部晶振分频用于产生1秒的时钟信号。(2)、中央控制电路。用于控制东西、南北方向信号灯的亮灭和与之配套的倒计时(即倒计时起始时间)。(3)、减法计数器。用于倒计时的产生。(4)、译码显示电路。用于倒计时的显示。根据以上四点,可以设计并绘制出原理图,如图3所示。图 3 交通灯控制系统原理图2 程序设计根据以上流程,用Verilog HDL硬件描述语言
14、完成对各部分进行编写,在编译通过后完成的顶层文件如图4所示:图 1 交通灯控制系统顶层文件在图4中, newclk为分频电路,conter为中央控制电路,sub10为减法计数器,ymq为译码显示电路。下面将对各部分电路一一解释。21分频电路分频电路用于完成外部石英晶体振荡器输出频率的分频。本电路设计中使用的石英晶体振荡器的输出频率为4096kHZ,经过4096000分频后得到周期为1s的时钟。分频电路的Verilog HDL程序如下: module newclk(clk,newclk); input clk; outputnewclk;regnewclk;reg 24:0 cnter;alwa
15、ys (posedge clk)beginif (cnter 0) beginq=q-1;if (q=0) cout=0;else cout=1;endelse if (q = 0) begin q=9;cout=1;end endendmodule在十进制减法计数器中,clk用于接收分频电路产生的1秒时钟信号;Lod与中央控制电路的lod相连,用于决定减法计数器的工作状态;输入信号a与中央控制电路的qa相连,用以决定倒计时起始时间,Cout为进位端,用于产生进位信号。当要显示两位十进制数时,将位于个位的减法计数器的cout与位于十位的减法计数器的clk端相连。编译通过后生成的十进制减法计数器
16、的元件符号如图6所示。图 6 减法计数器的元件符号23 译码显示电路共阴数码管的引脚图如图7所示。共阴极数码管的原理是将数码管内部的发光二极管的阴极连接起来并接地。输出为高电平有效,即当输出为高电平时,数码管中相应的发光二极管发光。图7 共阴数码管引脚图译码器的译码原理如下:按照图7中ABCDEFG的顺序,在输入端输入要显示的数字的二进制数,对其进行翻译,以得到该数字的电平信号,并在输出端通过数码管显示出来。例如:当输入信号为二进制0000时,数码管显示0,即A,B,C,D,E,F都亮而G不亮。具体翻译如表格1所示。表格1二进制十六进制共阴数码管显示G F E D C B A 00000011
17、11110001100001100010210110110011310011110100411001100101511011010110611111000111700001111000811111111001911001111010A11101111011B11111001100C10110001101D10111101110E11110011111F1110001根据表格1写出16进制共阴显示译码器电路的Verilog HDL程序,如下:module ymq (in ,out );input 3:0 in ;output 6:0 out ;reg 6:0 out ;always (in)be
18、gin case (in ) 4b0000: out = 7b0111111; 4b0001: out = 7b0000110; 4b0010: out = 7b1011011; 4b0011: out = 7b1001111; 4b0100: out = 7b1100110; 4b0101: out = 7b1101101; 4b0110: out = 7b1111100; 4b0111: out = 7b0000111; 4b1000: out = 7b1111111; 4b1001: out = 7b1100111; 4b1010: out = 7b1110111; 4b1011: ou
19、t = 7b1111100; 4b1100: out = 7b1011000; 4b1101: out = 7b1011110; 4b1110: out = 7b1111001; 4b1111: out = 7b1110001; default: out = 7b0000000; endcaseendendmodule 图 8 译码器元件符号该译码器程序可以显示0到F共16个数字(即代表10进制的0到15)。其中输入端in用于接收减法计数器产生的4位二进制信号,在翻译后由输出端out输出。编译完成后的生成元件符号如如图8所示。24 中央控制电路中央控制电路用于整个电路的控制,其Verilog
20、HDL程序如下:module contr(lod,cin,aq,qa,d); input7:0aq;inputcin; output reg7:0 qa;output reg5:0d;output reg lod;reg 1:0qc;initial d=b100010;always (negedge cin )beginif (aq=0) lod=0; else lod=1;endalways (negedge lod )begin qc=qc+1;case (qc)0 :begin qa=h03;d=b100010;end1 :begin qa=h19;d=b001100;end2 :beg
21、in qa=h03;d=b010100;end3 :begin qa=h19;d=b100001;enddefault :qa=h00;endcaseendendmodule中央控制电路的作用是对整个交通灯控制电路进行控制,控制器接收倒计时的结果,当倒计时归0时,改变电路的控制模式,输出倒计时的初始时间和交通灯亮灭控制信号。本程序共提供了0、1、2、3四种工作状态,其中最大定时为19秒,最小为3秒。其具体的工作状态如方案论证中的图2所示。编译完成后生成的元件图如图9所示。图9 中央控制电路元件图25 顶层文件在Quartus II中新建一个工程,为交通灯控制器电路建立一个原理图编辑BDF文件。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 pld 交通灯 控制电路 设计
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。