阜新矿务局职工大学

上传人:沈*** 文档编号:171596742 上传时间:2022-11-28 格式:DOC 页数:37 大小:846.50KB
收藏 版权申诉 举报 下载
阜新矿务局职工大学_第1页
第1页 / 共37页
阜新矿务局职工大学_第2页
第2页 / 共37页
阜新矿务局职工大学_第3页
第3页 / 共37页
资源描述:

《阜新矿务局职工大学》由会员分享,可在线阅读,更多相关《阜新矿务局职工大学(37页珍藏版)》请在装配图网上搜索。

1、用PLC控制的交通信号灯摘要:当今时代是一个自动化时代,交通灯控制等很多行业的设备都与计算机密切相关。因此,一个好的交通灯控制系统,将给道路拥挤、违章控制等方面给予技术革新。随着大规模集成电路及计算机技术的迅速发展,以及人工智能在控制技术方面的广泛运用,智能设备有了很大的发展,是现代科技发展的主流方向。本文介绍了一个智能交通灯系统的设计。该智能交通灯控制系统可以实现的功能有:对某市区的四个主要交通路口进行监控;各路口有固定的工作周期,并且在道路拥挤时中控中心能改变其周期;对路口违章的机动车能够即时拍照,并提取车牌号。在世界范围内,一个以微电子技术,计算机和通信技术为先导的,以信息技术和信息产业

2、为中心的信息革命方兴未艾。而计算机技术怎样与实际应用更有效的结合并有效的发挥其作用是科学界最热门的话题,也是当今计算机应用中空前活跃的领域。本文主要从单片机的应用上来实现十字路口交通灯智能化的管理,用以控制过往车辆的正常运作。关键词:交通灯控制 计算机技术 智能 单片机 十字路口交通灯 Use the traffic signal lamp that PLC controlsAbstract: The times is a automation times nowadays , traffic light waits for much the industry equipment to go

3、hand in hand with the computer under the control of. Therefore, a good traffic light controls system , will give road aspect such as being crowded , controlling against rules to give a technical improvement. With the fact that the large-scale integrated circuit and the computer art promptness develo

4、p, as well as artificial intelligence broad in the field of control technique applies, intelligence equipment has had very big development , the main current being that modern science and technology develops direction. The main body of a book is designed having introduced a intelligence traffic ligh

5、t systematically. The function being intelligence traffic light navars turn to be able to come true has: The crossing carries out supervisory control on four main traffic of some downtown area; Every crossing has the fixed duty period , charges centre for being able to change its period and in depen

6、ding on a road when being crowded; The motor vehicle breaking rules and regulations to the crossing is able to take a photo immediately , abstracts and the vehicle shop sign. Within world range, one uses the microelectronics technology , the computer and the technology communicating by letter are a

7、guides , centering on IT and IT industry information revolution is in the ascendant. But, how, computer art applies more effective union and there is an effects brought its effect into play with reality is the most popular topic of conversation of scientific community , is also that computer applica

8、tions is hit by the unparalleled active field nowadays. The main body of a book is applied up mainly from slicing machines only realizing intellectualized administration of crossroads traffic light , use operation in controlling the vehicular traffic regularity.目 录前言0第1章 PLC概述11.1 PLC的简介11.2 PLC的用途与

9、特点11.2.1 PLC的用途11.2.2PLC的特点2第二章 PLC控制系统设计42.1 设计任务和内容42.2 控制系统设计概要4第三章 十字路口交通信号灯的具体设计83.1 十字路口交通信号灯的控制要求83.2十字路口交通信号灯控制系统电路图93.3 PLC硬件控制电路设计103.4 PLC控制程序设计113.4.1 PLC的状态转移113.4.2 PLC的状态转移图123.4.3 十字路口交通信号灯PLC的程序设计说明12第四章 交通灯系统的设计144.1 交通系统的发展趋势144.2 选择VHDL硬件描述语言设计的优势144.3 红绿灯交通信号系统功能描述144.4 红绿灯交通信号系

10、统的VHDL模块164.4.1 时钟脉冲发生电路164.4.2 计数秒数选择电路184.4.3 倒计时控制电路204.4.4 红绿灯信号控制电路234.4.5 建立程序包244.4.6 连接各个模块25第五章 课程总结27附录28附录一:交通信号灯控制的梯形图28附录二:红绿灯交通信号系统的VHDL程序代码29谢辞31参考文献32前言当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特

11、在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。 1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有

12、人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。 第1章 PLC概述可编程控制器(PLC)是在继电器控制技术和计算机技术的基础上发展起来的一种新型的工业自动控制设备,它以微处理为核心,集自动化技术、计算机技术、通信技术为一体,广泛应用于自动化的各个领域。PLC从原来具有逻辑控制、顺序控制等功能,发展到现在已具有模拟量输入/输出、定位控制、旋转角度检测、高速计数、数据处理、联网通信等功能。PLC使用面向控制过程、面向用户的“自然语言”编程,适应工业环境,简单易懂,操作方

13、便,是可靠性高的新一代通用工业控制装置。1.1 PLC的简介PLC是专为在工业环境下应用而设计的一种数字运算操作的电子装置,是带有存储器,可以编制程序的控制器。它能够存储和执行指令,进行逻辑运算,顺序控制,定时,计数和算术等操作,并通过数字式和模拟式的输入输出,控制各种类型的机械和生产过程。PLC及其有关的外围设备,都应按易于与工业控制系统形式一体,易于拓展其功能的原则设计。事实上,PLC就是以嵌入式CPU为核心,配以输入,输出等模块,可以方便的用于工业控制领域的装置。PLC与机器人,计算机帮助设计与制造一起作为现代工业的三大支柱。1.2 PLC的用途与特点1.2.1 PLC的用途PLC的初期

14、由于其价格高于继电器控制装置,使其应用受到限制。但近年来由于微处理器芯片及有关元件价格大大下降,使PLC的成本下降,同时又由于PLC的功能大大增强,使PLC 的应用越来越广泛,广泛应用于钢铁、水泥、石油、化工、采矿、电力、机械制造、汽车、造纸、纺织、环保等行业。PLC的应用通常可分为五种类型: (1)顺序控制这是PLC应用最广泛的领域,用以取代传统的继电器顺序控制。PLC可应用于单机控制、多机群控、生产自动线控制等。如注塑机、印刷机械、订书机械、随着电子技术和计算机技术的迅猛发展,PLC的功能也越来越强大,更多地具有计算机的功能,所以又简称PC(PROGRAMMABLE CONTROLLER)

15、,但是为了不和切纸机械、组合机床、磨床、装配生产线、电镀流水线及电梯控制等。 (2)运动控制PLC制造商目前已提供了拖动步进电动机或伺服电动机的单轴或多轴位置控制模版。在多数情况下,PLC把扫描目标位置的数据送给模版块,其输出移动一轴或数轴到目标位置。每个轴移动时,位置控制模块保持适当的速度和加速度,确保运动平滑。 相对来说,位置控制模块比计算机数值控制(CNC)装置体积更小,价格更低,速度更快,操作方便。 (3)闭环过程控制 PLC能控制大量的物理参数,如温度、压力、速度和流量等。PID(Proportional Intergral Derivative)模块的提供使PLC具有闭环控制功能,

16、即一个具有PID控制能力的PLC可用于过程控制。当过程控制中某一个变量出现偏差时,PID控制算法会计算出正确的输出,把变量保持在设定值上。 (4)数据处理在机械加工中,出现了把支持顺序控制的PLC和计算机数值控制(CNC)设备紧密结合的趋向。著名的日本FANUC公司推出的Systen10、11、12系列,已将CNC控制功能作为PLC的一部分。为了实现PLC和CNC设备之间内部数据自由传递,该公司采用了窗口软件。通过窗口软件,用户可以独自编程,由PLC送至CNC设备使用。美国GE公司的CNC设备新机种也同样使用了具有数据处理的PLC。预计今后几年CNC系统将变成以PLC为主体的控制和管理系统。

17、(5)通信和联网为了适应国外近几年来兴起的工厂自动化(FA)系统、柔性制造系统(FMS)及集散控制系统(DCS)等发展的需要,必须发展PLC之间,PLC和上级计算机之间的通信功能。作为实时控制系统,不仅PLC数据通信速率要求高,而且要考虑出现停电故障时的对策。1.2.2PLC的特点(1)抗干扰能力强,可靠性高 继电接触器控制系统虽具有较好的抗干扰能力,但使用了大量的机械触头,使设备连线复杂,由于器件的老化、脱焊、触头的抖动及触头在开闭时受电弧的损害大大降低了系统的可靠性。传统的继电器控制系统中使用了大量的中间继电器、时间继电器。由于触点接触不良,容易出现故障,PLC用软件代替大量的中间继电器和

18、时间继电器,仅剩下与输入和输出有关的少量硬件,接线可减少互继电器控制系统的1/10-1/100,因触点接触不良造成的故障大为减少。 而PLC采用微电子技术,大量的开关动作由无触点的电子存储器件来完成,大部分继电器和复杂的连线被软件程序所取代,故寿命长,可靠性大大提高。(2)配套齐全,功能完善,适用性强 PLC发展到今天,已经形成了大、中、小各种规模的系列化产品。可以用于各种规模的工业控制场合。除了逻辑处理功能以外,现代PLC大多具有完善的数据运算能力,可用于各种数字控制领域。近年来PLC的功能单元大量涌现,使PLC渗透到了位置控制、温度控制、CNC等各种工业控制中。加上PLC通信能力的增强及人

19、机界面技术的发展,使用PLC组成各种控制系统变得非常容易。 (3)易学易用,深受工程技术人员欢迎 PLC作为通用工业控制计算机,是面向工矿企业的工控设备。它接口容易,编程语言易于为工程技术人员接受。梯形图语言的图形符号与表达方式和继电器电路图相当接近,只用PLC的少量开关量逻辑控制指令就可以方便地实现继电器电路的功能。为不熟悉电子电路、不懂计算机原理和汇编语言的人使用计算机从事工业控制打开了方便之门。 (4)系统的设计、建造工作量小,维护方便,容易改造 PLC用存储逻辑代替接线逻辑,大大减少了控制设备外部的接线,使控制系统设计及建造的周期大为缩短,同时维护也变得容易起来。更重要的是使同一设备经

20、过改变程序改变生产过程成为可能。这很适合多品种、小批量的生产场合。 (5)体积小,重量轻,能耗低 以超小型PLC为例,新近出产的品种底部尺寸小于100mm,重量小于150g,功耗仅数瓦。由于体积小很容易装入机械内部,是实现机电一体化的理想控制设备。第二章 PLC控制系统设计2.1 设计任务和内容任务:设计一个能够控制十二盏交通信号灯的模拟系统。并且要求交通信号灯按照交通规则的模试来运行。实验通过控制六个交通灯就好了。内容:因为本课程设计是交通灯的单片机控制设计,所以要了解实际交通灯的变化情况和规律。假设一个十字路口为东西南北走向。然后转状态1南北红灯,东西绿灯通车。过一段时间转状态2东西绿灯灭

21、,黄灯闪烁几次,南北仍然红灯。再转状态3,南北绿灯通车,东西红灯。过一段时间转状态4,南北绿灯灭,闪几次黄灯,东西仍然红灯。最后循环至状态。2.2 控制系统设计概要我们在学习了PLC的大量的相关知识后,要能够把其运用在实际训练当中。当然要设计经济、可靠、简洁的PLC控制系统,需要丰富的专业知识和实际的工作经验。一、 PLC控制系统设计的基本原则1) 最大限度地满足被控对象的控制要求。2) 保证控制系统的高可靠、安全。3) 满足上面条件的前提下,力求使控制系统简单、经济、实用和维修方便。4) 选择PLC时,要考虑生产和工艺改进所需的余量。二、 PLC控制系统设计的基本内容1)选择合适的用户输入设

22、备、输出设备以及输出设备驱动的控制对象。2)分配I/O,设计电气接线图,考虑安全措施。3)选择适合系统的PLC.4)设计程序5)调试程序,一个是模拟调试,一个是联机调试。6)设计控制柜,编写系统交付使用的技术文件,说明书、电气图、电气元件明细表。7)验收、交付使用。三、 PLC控制系统设计的一般步骤1 流程图功能说明1) 分析生产工艺过程。2) 根据控制要求确定所需的用户输入、输出设备,分配I/O。3) 选择PLC。4) 设计PLC接线图以及电气施工图。5) 程序设计和控制柜接线施工。2 PLC程序设计的步骤1) 对于复杂的控制系统,最好绘制编程流程图,相当于设计思路。2) 设计梯形图。3)

23、程序输入PLC模拟调试,修改,直到满足要求为止。4) 现场施工完毕后进行联机调试,直至可靠地满足控制要求。5) 编写技术文件6) 交付使用。3 设计步骤框图如下: 分析控制要求确定I/O设备选择PLC分配I/O、设计电气图编写流程图设计梯形图编制程序清单输入程序并检查调试满足NY联机调试满足NN编制技术文件交付使用设计控制柜现场连接 四、控制系统执行程序的过程及特点PLC执行程序的过程分为三个阶段,即输入采样阶段、程序执行阶段、输出刷新阶段。1输入采样阶段 在输入采样阶段,PLC以扫描工作方式按顺序对所有输入端的输入状态进行采样,并存入输入映象寄存器中,此时输入映象寄存器被刷新。接着进入程序处

24、理阶段,在程序执行阶段或其它阶段,即使输入状态发生变化,输入映象寄存器的内容也不会改变,输入状态的变化只有在下一个扫描周期的输入处理阶段才能被采样到。2程序执行阶段在程序执行阶段,PLC对程序按顺序进行扫描执行。若程序用梯形图来表示,则总是按先上后下,先左后右的顺序进行。当遇到程序跳转指令时,则根据跳转条件是否满足来决定程序是否跳转。当指令中涉及到输入、输出状态时,PLC从输入映像寄存器和元件映象寄存器中读出,根据用户程序进行运算,运算的结果再存入元件映象寄存器中。对于元件映象寄存器来说,其内容会随程序执行的过程而变化。3输出刷新阶段程序执行完毕后,进入输出处理阶段。在这一阶段里,PLC将输出

25、映象寄存器中与输出有关的状态(输出继电器状态)转存到输出锁存器中,并通过一定方式输出,驱动外部负载。因此,PLC在一个扫描周期内,对输入状态的采样只在输入采样阶段进行。当PLC进入程序执行阶段后输入端将被封锁,直到下一个扫描周期的输入采样阶段才对输入状态进行重新采样。这方式称为集中采样,即在一个扫描周期内,集中一段时间对输入状态进行采样。在用户程序中如果对输出结果多次赋值,则最后一次有效。在一个扫描周期内,只在输出刷新阶段才将输出状态从输出映象寄存器中输出,对输出接口进行刷新。在其它阶段里输出状态一直保存在输出映象寄存器中。这种方式称为集中输出。对于小型PLC,其I/O点数较少,用户程序较短,

26、一般采用集中采样、集中输出的工作方式,虽然在一定程度上降低了系统的响应速度,但使PLC工作时大多数时间与外部输入/输出设备隔离,从根本上提高了系统的抗干扰能力,增强了系统的可靠性。而对于大中型PLC,其I/O点数较多,控制功能强,用户程序较长,为提高系统响应速度,可以采用定期采样、定期输出方式,或中断输入、输出方式以及采用智能I/O接口等多种方式。从上述分析可知,当PLC的输入端输入信号发生变化到PLC输出端对该输入变化作出反应,需要一段时间,这种现象称为PLC输入输出响应滞后。对一般的工业控制,这种滞后是完全允许的。应该注意的是,这种响应滞后不仅是由于PLC扫描工作方式造成,更主要是PLC输

27、入接口的滤波环节带来的输入延迟,以及输出接口中驱动器件的动作时间带来输出延迟,同时还与程序设计有关。滞后时间是设计PLC应用系统时应注意把握的一个参数。第三章 十字路口交通信号灯的具体设计3.1 十字路口交通信号灯的控制要求随着城市和经济的发展,交通信号灯发挥的作用越来越大,正因为有了交通信号灯,才使车流、人流有了规范,同时,减少了交通事故发生的概率。然而,交通信号灯不合理使用或设置,也会影响交通的顺畅。交通信号灯由红灯、绿灯、黄灯组成。红灯表示禁止通行,绿灯表示准许通行,黄灯表示警示。交通信号灯分为机动车信号灯、非机动车信号灯、人行横道信号灯、车道信号灯、方向指示信号灯、闪光警告信号灯、道路

28、与铁路平面交叉道口信号灯。交通信号灯用于道路平面交叉路口,通过对车辆、行人发出行进或停止的指令,使各同时到达的人、车交通流尽可能减少相互干扰,从而提高路口的通行能力,保障路口畅通和安全。十字路口交通信号灯现场示意图如图3-1所示,南北和东西每个方向各有红、绿、黄三种信号灯,为确保交通安全,要求如下。1)采用PLC构成十字路口的南北向和东西向交通信号灯的电气控制。系统上电后,交通指挥信号控制系统由由一个3位转换开关SA1控制。SA1手柄指向左45时,接点SA1-1接通,交通指挥系统开始按常规正常控制功能工作,按照如图3-2所示工作时序周而复始,循环往复工作。SA1手柄指向中间0时,接点SA1-2

29、接通,交通指挥系统南北向绿灯常亮,东西向红灯常亮,。SA1手柄指向右45时,接点SA1-3接通,交通指挥系统东西向绿灯常亮,南北向红灯常亮。 图3-1交通灯现场示意图2)正常控制时 当东西方向允许通行(绿灯)时,南北方向应禁止通行(红灯);同样,当南北方向允许通行(绿灯)时,东西方向应禁止通行(红灯)。在绿灯信号要切换为红灯信号之前,为提醒司机提前减速并刹车,应有明显的提示信号:绿灯闪烁同时黄灯亮。信号灯控制系统启动后应能自动循环动作。信号灯动作的时序图如图3-2所示,它是按信号灯置1与置0两种状态绘制的,置1表示信号灯点亮。图3-2 十字路口交通灯正常工作时序3)输入/输出信号分配 输入/输

30、出信号分配如表3-1所示。输入输出文字符号信号地址说明文字符号信号地址说明SA1-1X0交通灯正常工作控制开关H1Y0南北向绿灯指示SA1-2X1南北向交通灯常绿控制开关H2Y1南北向黄灯指示SA1-3X2东西向交通灯常绿控制开关H3Y2南北向红灯指示H4Y3东西向绿灯指示H5Y4东西向黄灯指示H6Y5东西向红灯指示表3-1 十字路口交通灯控制信号说明3.2十字路口交通信号灯控制系统电路图开关合上后,东西绿灯亮25s后闪3s灭;黄灯亮2s灭;红灯亮30s;绿灯亮循环,对应东西绿黄灯亮时南北红灯亮30s,接着绿灯亮25S后闪3s灭;黄灯亮2s后,红灯又亮循环,图3-4 十字路口交通信号灯控制系统

31、电路图根据交通灯系统的控制要求,如图3-4所示十字路口交通信号灯控制系统电路图,实现了预定的交通灯系统的控制功能。3.3 PLC硬件控制电路设计1) 硬件结构设计。了解各个控制对象的驱动要求,如:驱动电压的等级、负载的性质等;分析对象的控制要求,确定输入/输出接口(I/O)数量;确定所控制参数的精度及类型,如:对开关量、模拟量的控制、用户程序存储器的存储容量等,选择适合的PLC机型及外设,完成PLC硬件结构配置。2) 根据上述硬件选型及工艺要求,绘制PLC控制电路接线图,编制I/O接口功能表。据信号控制要求,I/O分配及其接线如图7-11所示。 图3-5十字路口交通信号灯PLC外部I/O分配及

32、其接线图中用一个输出点驱动两个信号灯,如果PLC输出点的输出电流不够,可以用一个输出点驱动一个信号灯,也可以在PLC输出端增设中间继电器,由中间继器再去驱动信号灯。3.4 PLC控制程序设计3.4.1 PLC的状态转移在设计较为复杂的程序时,仅仅采用简单的逻辑处理已经很难保证程序的正确性和易读性,所以就需要采用别的方法来编制程序。为了保证程序逻辑的正确以及程序的易读性,我们可以将一个控制过程分为若干个阶段,在每一个阶段均设立一个控制标志,当每一个阶段执行完毕,就启动下一个阶段的控制标志,将本阶段的控制标志清除。所谓“状态”是指特定的功能,因此状态转移实际上就是控制系统的功能转移。机电自控系统中

33、机械的自动工作循环过程就是电气控制系统的状态自动、有序、逐步转移的过程。这种功能流程图完整地表现了控制系统的控制过程,各状态的功能、状态转移顺序和条件,它是PLC应用控制程序设计的极好工具。3.4.2 PLC的状态转移图图3-6 十字路口交通信号灯PLC的状态转移图3.4.3 十字路口交通信号灯PLC的程序设计说明据图3-6所示的状态转移,说明十字路口交通信号灯PLC的程序设计。1)PLC开始运行时,M8002产生一初始脉冲,使初始状态S0置1。2)当SA1手柄指向中间0时,触点X1接通,交通指挥系统南北向绿灯Y1常亮,东西向红灯常亮。3)当SA1手柄指向右45时,触点X2接通,交通指挥系统东

34、西向绿灯Y1常亮,南北向红灯常亮。 4)当SA1手柄指向左45时,触点X0接通,状态转移到S20和S30,使S20和S30置1,同时S0在下一扫描周期自动复位,Y1线圈得电南北绿灯亮与此同时Y6线圈得电,东西红灯亮。5)延时25S后,转移条件T0闭合,状态从S20转移到S21,使S21置1,同时驱动T1记时,而S20在下一扫描周期自动复位。6)延时5S后,转移条件T1闭合,状态从S21转移S22,使S22置1产生0.5S接通和断开的时针脉冲信号,从而使南北绿灯闪烁,同时驱动计数器C0记数,若记数次数未到三次,C0的常闭触点接通,状态转移到S21,继续循环共计三次。7)次数到三,C0常开触点闭合

35、,状态由S22转移到S23,使S23置1同时S22在下一扫描周期自动复位,Y2线圈得电南北黄灯亮。8)延时2S后,转移条件T3闭合,一方面状态从S23转移到S24,使S24置1,S23在下一扫描周期自动复位,Y3线圈得电南北红灯亮,计数器C0复位。另一方面状态S30转移到S31,使S31置1同时S30在下一扫描周期自动复位,线圈Y4得电东西绿灯亮。9)延时25S后,转移条件T4闭合,状态从S31转移到S32,使S32置1,同时驱动T5记时,而S31在下一扫描周期自动复位。10)延时5S后,转移条件T5闭合,状态从S32转移S33,使S33置1产生0.5S接通和断开的时针脉冲信号,从而使东西绿灯

36、闪烁,同时驱动计数器C1记数,若记数次数未到三次,C1的常闭触点接通,状态转移到S32,继续循环共计三次。11)次数到三,C1常开触点闭合,状态由S33转移到S34,使S34置1同时S33在下一扫描周期自动复位,Y5线圈得电东西黄灯亮,计数器C1复位。12)延时2S后,回到初始状态S0进行循环执行。第四章 交通灯系统的设计4.1 交通系统的发展趋势交通系统未来的发展趋势就是要提高通行能力,加强环境保护,开展智能化运输和环保专项技术的研究,并且要做到以人为本,重点开展交通安全技术的研究,在这个过程中要确定经济合理的目标,促进新材料的广泛应用和开发。4.2 选择VHDL硬件描述语言设计的优势首先,

37、简单地介绍一下什么是VHDL硬件描述语言。VHDL的英文全称是VHSIC(Very High Speed Integrated Circuit)Hardware Description Language。是EDA设计中使用最多的语言之一,它具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大地简化了硬件设计任务,提高了设计效率和可靠性。其次,这次设计选用VHDL硬件描述语言的优势就在于传统的用原理图设计电路的方法具有直观形象的优点,但如果所设计系统的规模比较大,或者设计软件不能提供设计者所需的库单元时,这种方法就显得很受限制了。而且用原理图表示的设计,通用性、可移植性也

38、比较弱,所以在现代的设计中,越来越多地采用了基于硬件描述语言的设计方式。利用硬件描述语言来设计电路,使探测各种设计方案变成一件很容易的事,因为只需要对描述语言进行修改,这比更改电路原理图要容易实现得多。4.3 红绿灯交通信号系统功能描述在交通信号灯的设计中,外部硬件电路方面主要包括:两组红绿灯、两组LED显示器(见图1)。软件方面包括:(1)电路合成模块的概念:将交通灯信号系统划分成若干个小电路,编写每一个模块的VHDL程序代码,并将各个小电路相连接。这样可以增加程序的调试速度,同时也能够将工作细分,以提高编程速度(见图2、图3)。(2)参数化的概念:针对不同时段的交通流量,可以调整红绿灯电路

39、(增加或者减少电路的计数时间),以增加程序的灵活性。 图1 十字路口示意图时钟发生电路红绿灯信号控制电路倒计时控制电路计数秒数选择电路 东西及南北方向信号灯时钟输入端系统复位端东西及南北方向倒计时 图2 交通信号灯系统结构图由交通信号灯系统结构图(见图2)可知,该系统由4个子电路组成。其中包括:(1) 时钟发生电路;(2) 计数秒数选择电路;(3) 倒计时控制电路;(4) 红绿灯信号控制电路。图3 交通信号灯系统模块图由图3可以看出系统大体的工作程序是:首先由时钟发生电路产生稳定的时钟信号,为下面三个子电路提供同步工作信号。接收到时钟信号的红绿灯信号控制电路开始工作,并将产生的重新计数的输出使

40、能控制信号发送给计数秒数选择电路和倒计时控制电路,同时还会将目前电路产生的状态信号发送给前者。接收到重新计数的信号后计数秒数选择电路就会负责产生计数器所需要的计数值,并将这一数值发送给倒计时控制电路,由它利用发光二极管显示倒计时的状态。当计数器计时完毕,倒计时控制器就会负责产生一个脉冲信号发送给红绿灯信号控制电路进入下一个状态,之后循环这一过程。4.4 红绿灯交通信号系统的VHDL模块4.4.1 时钟脉冲发生电路在红绿灯交通信号系统中,大多数的情况是通过自动控制的方式指挥交通的。因此,为了避免意外事件的发生,电路必须给出一个稳定的时钟(clock)才能让系统正常的工作。因此,hld1时钟发生电

41、路(见图4)最主要的功能就是产生一些稳定的输出信号,并将其用做后面几个电路的使能控制与同步信号。 图4 时钟发生电路模块图系统输入信号:clk:由外部信号发生器提供1kHZ的时钟信号;reset:系统内部自复位信号。系统输出信号:ena_scan:将外部的时钟信号进行分频处理;ena_1hz:产生每秒一个的脉冲信号;flash_1hz:产生每秒一个脉冲的时钟信号。经仿真后得到的时序图(见图5、图6):图5 将clk经分频处理后得到的ena_scan信号 图6 时钟发生电路时序图从图5中可以看出,当外部信号发生器提供了1kHZ的时钟信号后,系统输出信号ena_scan就将时钟信号进行了4分频。从

42、图6又可以看出,当加入1kHZ的时钟信号后,ena_1hz产生了周期为一秒的脉冲信号,flash_1hz产生了周期为一秒的脉冲时钟信号。在这段程序的设计过程中最大的特点就是引用了参数化的概念,即使用了常数(constant)。常数的定义和设置主要是为了使程序更容易阅读和修改,只要改变了常量的数值,使用到该常数的地方都会随着更新而使用新的常数值。这就使设计的灵活性增强了。例如程序中用到的:constant scan_bit:positive:=2;signal clk_scan_ff:std_logic_vector(scan_bit-1 downto 0);第一句就是将scan_bit设为常数

43、2,这个数值是可以根据设计的需要任意设定的。第二句是定义一个信号,它的位数就是(scan_bit-1),因为之前scan_bit设定的值为2,所以信号的位数就是2位。如果想增减信号的位数,只需要改动常数的赋值就可以了。4.4.2 计数秒数选择电路当通过交通路口时,如果能在一个方向增添一个倒计时显示器对车辆、行人加以提示,可能会有更好的效果。因此,hld2计数秒数选择电路(见图7)最主要的功能就是负责输出显示器需要的数值(即倒数的秒数值),作为倒计时显示器电路的计数秒数。 图7 计数秒数选择电路模块图系统输入信号:clk:由外部信号发生器提供1kHZ的时钟信号;reset:系统内部自复位信号;e

44、na_scan:接收由时钟发生电路提供的250Hz的时钟脉冲信号;recount:接收由交通灯信号控制电路产生的重新计数的使能控制信号;sign_state:接收由交通灯信号控制电路产生的状态信号。系统输出信号: load:负责产生计数器所需要的计数数值。经仿真后得到的时序图(见图8): 图8 计数秒数选择电路时序图由计数描述选择电路的时序图(见图8)可以看出这段程序中定义了在正常车流量情况下,东西及南北方向红灯、黄灯和绿灯需要维持的秒数分别是15s、5s和25s。architecture bhv of hld2 isconstant redew_time:integer:=15;-东西方向红

45、灯设定为15s。constant yellowew_time:integer:=5;-东西方向黄灯设定为5s。constant greenew_time:integer:=25;-东西方向绿灯设定为25s。constant redsn_time:integer:=15;-南北方向红灯设定为15s。constant yellowsn_time:integer:=5;-南北方向黄灯设定为5s。constant greensn_time:integer:=25;-南北方向绿灯设定为25s。beginprocess(reset,clk)begin if reset=1 then loadloadloa

46、dloadloadloadloadloadload=conv_std_logic_vector(greenew_time,8);就是将十进制的25转换成二进制的19,这就使设计减少了很多不必要的麻烦。4.4.3 倒计时控制电路通过日常生活中的观察,我发现在一些交通路口已经开始使用倒计时显示器,它们的作用就是用来提示车辆行人目前还有多长时间信号灯会发生变化,这样车辆行人就可以提前判断是否有足够的时间通过路口,进而就可以避免很多意外事故的发生。例如:南北方向绿灯,车辆处于正常行驶中,东西方向红灯,车辆处于等待中,若南北方向行驶的车辆看到倒计时显示器上可以通行的时间很短,可能就会放慢速度等待下一次通

47、行,这样在东西方向绿灯时,车辆就能够正常行驶,不会为等待南北方向强行的车辆而耽误更多的时间。如此循环下去,道路就会畅通无阻了。考虑到有些路口的交通拥堵现象较为严重,车辆会在道路上排成很长的一队,这样排在较远距离的司机就很难看清楚倒计时显示器上变化的数字,有可能会影响到车辆之间的正常行驶。因此,如果采用发光二极管作为倒计时的显示装置就会使司机和行人一目了然,同样也能够起到很好的提示作用。所以,hld3倒计时控制电路(见图9)最主要的功能就是负责接收hld2电路输出的值,然后将其转换成BCD码,并利用发光二极管显示出来,让车辆行人能够清楚地知道再过多久信号灯就会发生变化。图9 倒计时控制电路系统输

48、入信号:clk:由外部信号发生器提供1kHz的时钟信号;reset:系统内部自复位信号;ena_1hz:接收由时钟发生电路提供的1Hz的脉冲信号;recount:重新计数的使能控制信号;load:负责接收计数器所需要的计数数值。系统输出信号:led:负责将计数数值转换成BCD码,并利用发光二极管显示倒计时状态;next_state:当计数器计时完毕后,负责产生一个脉冲信号,作为下一个状态的触发信号。经仿真后得到的时序图(见图10):图10 倒计时控制电路时序图由倒计时控制电路的时序图(见图10)可以看出,当clk时钟信号来临后,在ena_1hz脉冲信号的同时激励下,led会按照预先设置好的时间

49、开始逐1递减,进行倒计时显示。process(clk,reset)beginif (reset=1) then cnt_ff=; led=000;-当reset=1,则将cnt_ff与led清零。elsif (clkevent and clk=1) then if ena_1hz=1 then if (recount=1) then cnt_ff=load-1;-当reset=0,clk为上升沿触发,且ena_1hz与recount为1时,load将减1的数值赋给cnt_ff。 else cnt_ffled(24 downto 0)led(24 downto 0)led(24 downto 0

50、)led(24 downto 0)led(24 downto 0)led(24 downto 0)led(24 downto 0)=000; end case;这段程序是采用的就是查表的方法并且利用发光二极管进行倒计时显示,如图10所示:当绿灯点亮开始计数后,load就会将减1后的值赋给cnt_ff,之后cnt_ff又会从case语句中查找到相对应的值再赋给led显示所剩余的时间。在程序编写过程中运用到了conv_integer()语句,它可以将cnt_ff所赋的值转换成整数。由图可知led是25位的系统输出信号,负责控制发光二极管的输出,所以25位的输出信号可以分成七组控制发光二极管的显示,

51、其中“1”为点亮,“0”为熄灭。其对应方式如下表所示:4.4.4 红绿灯信号控制电路在红绿灯交通信号系统中,大多数的情况是通过自动控制的方式指挥交通。但为了配合高峰时段,防止交通拥挤,有时还必须使用手动控制,即让交通警察自行指挥交通。因此,hld4红绿灯信号控制电路(见图11)除了负责监控路口红绿灯之外,最主要的功能就是能够利用开关来切换手动与自动的模式,让交通警察能够通过外部输入的方式来控制红绿灯交通信号系统的运做。 图11 红绿灯信号控制电路系统输入信号:发光二极管7组6组5组4组3组2组1组led(24 downto 0)000yxwvutsrqponmlkjihgfedcbaclk:由

52、外部信号发生器提供1kHZ的时钟信号;reset:系统内部自复位信号;ena_scan:接收由时钟发生电路提供的250Hz的时钟脉冲信号;ena_1hz:接收由时钟发生电路提供的1Hz的脉冲信号;flash_1hz:接收由时钟发生电路提供的1Hz的脉冲时钟信号;a_m:手动、自动切换按钮(1:自动、0:手动);st_butt: 红绿灯状态切换按钮(在手动操作下,每按一次按钮就变换一个状态);next_state:接收由倒计时控制电路提供的下一个状态的触发信号。系统输出信号: recount:产生重新计数的输出使能控制信号;sign_state:产生输出状态信号;red:负责红色信号灯的显示;g

53、reen:负责绿色信号灯的显示;yellow:负责黄色信号灯的显示。经仿真后得到的时序图(见图12):图12 红绿灯信号控制电路时序图图12显示的是第三种状态时东西方向红灯亮、南北方向绿灯亮。红绿灯信号控制电路的作用就是产生的一系列的控制信号去完成之前几个模块设定好的功能。4.4.5 建立程序包在程序设计语言中,程序的开始总会调用库(library)来提供设计程序时所需要的基本命令。但是,如果要进一步设计较为复杂的程序时,库中的命令可能就无法支持了。因此,可以设计一个子程序来满足程序设计的需求。上述问题在硬件描述语言的设计中也存在,在VHDL程序中的第一行(library ieee;)就是要使

54、用IEEE设计好的库文件,但如果需要使用的元器件并不在库中时,就只能自己定义了。一个程序包中至少应该包含以下结构中的一种:u 常数说明:如定义系统数据总线通道的宽度。u VHDL数据类型说明:主要用于在整个设计中通用的数据类型。u 元件定义:元件定义主要规定在VHDL设计中参与文件例化的文件接 口界面。u 子程序:并入程序包的子程序有利于在设计中任一处进行方便地调 用。4.4.6 连接各个模块light电路的工作就是将所有的子电路全部连接起来,进行时序分析,当程序完成后,再下载到FPGA,以便硬件电路的验证工作。经仿真后得到的时序图(见图13):图13 连接各个模块后的时序图 连接各个模块后的

55、时序图(见图13)是综合了上述4个模块后仿真出来的波形。图13显示的也是状态三时东西方向红灯亮、南北方向绿灯亮,这与之前红绿灯信号控制电路仿真出来的波形结果是相同的。管脚分配图(见图14):图14 连接各个模块后的管脚分配图第五章 课程总结本系统结构简单,操作方便;可现自动控制,具有一定的智能性;对优化城市交通具有一定的意义。本设计将各任务进行细分包装,使各任务保持相对独立;能有效改善程序结构,便于模块化处理,使程序的可读性、可维护性和可移植性都得到进一步的提高。本设计采用了VHDL硬件描述语言文本输入方式,在确立总体预期实现功能的前提下,分层次进行设计。实现了三种颜色交通信号灯的交替点亮,以及时间的倒计时显示,指挥行人和车辆安全通行。程序中所用到的数据均可以根据实际情况进行设置,修改灵活方便。通过此次设计,我对于VHDL硬件描述语言有了更深入地了解,也在原来所学的理论基础上得到了进一步地应用。但由于经验上的不足,有些地方还需要做进一步地改善。附录附录一:交通信号灯控制的梯形图附录二:红绿灯交通信号系统的VHDL程序代码-定义使用到的包/库LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;-下面定义实体-ENTITY JTDKZ ISPORT(CLK,SM,SB:IN BIT;-定义输入(位),

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!