基于PFGA和VHDL的交通灯系统的设计
- 格式:pdf
- 大小:101.60 KB
- 文档页数:2
目录第一章设计原理 (1)1.1 使用VHDL语言实现对FPGA器件的编程 (1)1.2 使用的设计工具 (1)1.2.1 硬件部分 (1)1.2.2 软件部分 (1)1.3 软件框图 (1)1.4 红绿灯拓展模块 (2)第二章程序设计及分析 (3)2.1 分频器器件的设计 (3)2.2 数码管显示驱动器件的设计 (3)2.3 顶层器件设计 (4)2.3.1 按键消抖 (4)2.3.2 数码管扫描显示 (5)2.3.3 24小时时钟 (5)2.3.4 改变时间设定 (6)2.3.5 交通灯主控程序 (7)第三章使用说明及实验结果 (8)3.1 使用说明 (8)3.2 实验结果 (9)第四章结论与体会 (12)附录程序源码 (13)第一章设计原理1.1 使用VHDL语言实现对FPGA器件的编程FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
对于目前的FPGA器件,可以使用硬件描述语言(Verilog或VHDL)完成电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC设计验证的技术主流。
这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。
1.2 使用的设计工具1.2.1 硬件部分Cyclone ii是一款FPGA器件,于2004年由Altera公司推出。
Cyclone II FPGA的成本比第一代Cyclone器件低30%,逻辑容量大了三倍多,同时具有丰富的I/O引脚。
实验板采用EP2C5T144C8芯片并配有SDRAM芯片,时钟频率为50MHz。
同时,实验板包含4个数码管以及5个按键,同时将丰富的I/O口用排针进行了引出。
课程设计一、设计任务要求基于FPGA的交通灯控制器设计1、总体要求:实现十字路口的交通灯有序显示2、具体要求:按照开发板上的两组红、黄、绿做为南北双向指示灯红灯亮60秒,绿灯亮55秒,黄灯亮5秒要求采用状态机实现状态切换3、附加要求:采用两组两位数码管实现时间倒计时显示二、设计思路1、总体设计方案由设计任务要求可知输入部分有:CLK时钟频率输入,可由实验板上直接提供,本设计选用1kHZ时钟频率。
输出部分有:1)东西方向和南北方向各使用3个LED显示,红黄绿各代表红黄绿灯。
2)东西方向和南北方向计时均为2位数,共需要4个LED七段数码管显示。
由于为共阴极控制,输出三个SEL0,SEL1,SEL2信号控制选择数码管显示,A,B,C,D,E,F,G信号为输出显示的内容。
3)R1,G1,Y1;R2,G2,Y2信号分别为东西南北红绿灯的输出控制信号。
总体设计软件原理图如下所示设计方案原理图:图1A对应13脚; B对应30脚;C对应15脚; D对应31脚;E对应33脚; F对应32脚;G对应35脚; R1对应4脚;R2对应5脚;Y1对应3脚;Y2对应10脚;G2对应8脚;SEL0对应14脚; SEL1对应11脚;SEL2对应12脚.CLK对应24脚;交通灯系统结构图如下所示:红黄绿红黄绿图2状态切换的状态图如下图:图2、模块设计及结果在VHDL设计中,采用自顶向下的设计思路。
顶层模块中,根据硬件设计,设置如下端口:外部时钟信号:Clk东西方向状态灯控制信号:R1,G1,Y1;南北方向状态灯控制信号:R2,G2,Y2;(1)分频模块:由于外部时钟信号clk的频率为1KHz,而实际需要的内部计时时钟频率为1Hz,需要一个分频电路。
输入端口:clk外部时钟信号输出端口:clk_out分频后信号源程序代码如下:数码管显示信号:A,B,C,D,E,F,G;数码管共阴极控制:SEL0,SEL1,SEL2;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity Frequency1 isport(clk:in std_logic; --外部时钟信号clk_out:out std_logic --分频后信号);end Frequency1;architecture Frequency1_arc of Frequency1 isbeginprocess(clk)variable temp:integer range 0 to 999;beginif(clk'event and clk='1')thenif(temp=999)then --分频计数temp:=0;clk_out<='0';elsetemp:=temp+1;clk_out<='1';end if;end if;end process;end;图4(2)状态选择模块:由于共需要显示4个数字,需要循环点亮7位数码管,该模块通过输入的时钟信号,循环输出4个选择信号。
引言随着城乡的经济发展,车辆的数量在迅速的增加,交通阻塞的问题已经严重影响了人们的出行。
现在的社会是一个数字化程度相当高的社会,很多的系统设计师都愿意把自己的设计设计成集成电路芯片,芯片可以在实际中方便使用。
随着EDA技术的发展,嵌入式通用及标准FPGA器件的呼之欲出,片上系统(SOC)已经近在咫尺。
FPGA/CPLD 以其不可替代的地位及伴随而来的极具知识经济特征的IP芯片产业的崛起,正越来越受到业内人士的密切关注。
FPGA就是在这样的背景下诞生的,它在数字电路中的地位也越来越高,这样迅速的发展源于它的众多特点。
交通等是保障交通道路畅通和安全的重要工具,而控制器是交通灯控制的主要部分,它可以通过很多种方式来实现。
在这许许多多的方法之中,使用FPGA和VHDL语言设计的交通灯控制器,比起其他的方法显得更加灵活、易于改动,并且它的设计周期性更加短。
城市中的交通事故频繁发生,威胁着人们的生命健康和工作生活,交通阻塞问题在延迟出行时间的同时,还会造成更多的空气污染和噪声污染。
在这种情况下,根据每个道路的实际情况来设置交通灯,使道路更加通畅,这对构建和谐畅通的城市交通有着十分重要的意义。
第一章软件介绍1.1 QuartusⅡ介绍本次毕业设计是基于FPGA下的设计,FPGA是现场可编程门阵列,FPGA开发工具种类很多、智能化高、功能非常的强大。
可编程QuartusⅡ是一个为逻辑器件编程提供编程环境的软件,它能够支持VHDL、Verilog HDL语言的设计。
在该软件环境下,设计者可以实现程序的编写、编译、仿真、图形设计、图形的仿真等许许多多的功能。
在做交通灯控制器设计时选择的编程语言是VHDL语言。
在这里简单的介绍一下QuartusⅡ的基本部分。
图1-1-1是一幅启动界面的图片。
在设计前需要对软件进行初步的了解,在图中已经明显的标出了每一部分的名称。
图 1-1-1 启动界面开始设计前我们需要新建一个工程,首先要在启动界面上的菜单栏中找到File,单击它选择它下拉菜单中的“New Project Wizard”时会出现图1-1-2所显示的对话框,把项目名称按照需要填好后单击Next,便会进入图 1-1-3 显示的界面。
交通信号灯控制器目录第一章系统设计1.1设计要求 (3)1.2 方案比较 (3)1.3方案论证 (3)1.3.1总体思路 (4)1.3.2设计方案 (5)第二章单元电路设计2.1 4位二进制计数器 (6)2.2 两位二进制计数器 (6)2.3定时时间到检测电路 (6)2.4红黄绿灯输出控制电路 (6)2.5计时器 (6)第三章软件设计3.1用VHDL编写程序 (6)3.2 程序流程 (7)3.3程序清单及仿真 (7)第四章系统测试 (7)第五章结论 (8)参考文献 (9)附录 (10)0 引言随着经济的飞速发展,现代化交通管理成了当今的热点问题。
一个完善的交通控制功能,可使混乱的交通变得井然有序,从而保障了人们的正常外出。
本系统通过设计一交通信号灯控制器,达到交通控制的目的。
除实现交通灯基本的控制功能外,系统还可显示该灯本次距灯灭所剩的时间,具有更完善的控制功能,使行人提前做好起、停准备,具有更强的实用性。
第1章 系统设计1.1设计要求(1) 交通灯从绿变红时,有4秒黄灯亮的间隔时间。
(2) 交通灯红变绿是直接进行的,没有间隔时间。
(3) 主干道上的绿灯时间为20秒,支干道的绿灯时间为10秒。
(4) 在任意时间,显示每个状态到该状态结束所需要的时间。
1.2方案比较要实现对交通灯的控制,有很多的方案可供选择。
方案一:由两块CMOS 集成电路完成定时和序列控制功能,三只双向晶体管完成实际的电源切换功能。
电路中采用10V 负电源(可由市电电压经降压、整流、滤波、稳压而得)、CD4049集成电路、计数器CD4017等器件。
其中双向晶闸管选用400V 、4A 的,二极管选用BY127型和1N4148型,稳压管选用10V 、1W 的。
因直接使用市电工作,故在安装和使用时安全系数较低,且硬件电路复杂,所用器件多。
方案二:运用VHDL 语言分别控制分频和状态机两个模块, 即信号源经分频器分频后得到1Hz 脉冲,输出脉冲控制状态机中预置四个状态的循环,从而达到交通控制作用.该方案电路结构简单,使用器件少,易于安装和使用.但不宜于电路扩展,适用范围小,应用不广泛.方案三:采用VHDL 语言输入的方式实现交通信号灯控制器,并灵活运用了通用元件CBU14和CBU12作为4位二进制计数器和两位二进制计数器,简化了硬件电路,同时也给调试、维护和功能的扩展、性能的提高带来了极大的方便。
基于FPGA的数字电子技术课程设计(以VHDL语言实现)课题:交通信号灯设计题目:1.由主干道A和支干道B的汇合点形成十字交叉路口,在交叉路口处设有红绿黄三色信号灯。
红灯亮禁止通行;绿灯亮允许通行;黄灯亮则让行驶到路口的车辆有时间停靠到禁止线外。
用两位数码管显示当前主支干道所处的状态。
红黄绿分别用R,Y,G表示。
2.主干道车辆较多,所以绿灯亮灯时间为50S;支干道亮绿灯时间设为30S。
当主干道允许通行亮绿灯时则支干道亮红灯;支干道亮绿灯时也相反。
每次由绿灯转变为红灯时,期间要亮5S的黄灯。
3.交通灯正常运行时,用四位数码管显示主干道和支干道的倒计时时间。
4.能实现系统总清0,清0后计数器由初始状态开始计数。
5.具有一定的扩展功能。
一.设计思路1.根据设计题目要求可以得出交通信号灯控制器的设计用“状态法”来实现较好,因此先划分出交通灯显示时的几个较大的状态。
设状态用S表示。
S0:主干道亮黄灯支干道亮红灯亮灯5SS1:主干道亮红灯支干道亮绿灯亮灯30SS2:主干道亮红灯支干道亮黄灯亮灯5SS3:主干道亮绿灯支干道亮红灯亮灯50S状态之间应该要能实现循环:S0=>S1=>S2=>S3=>S02.然后再考虑在每个状态下要能够实现的功能。
根据题目可知在每个状态下要能实现将交通灯的颜色变换以字母的形式显示在两位数码管上,每位各表示一条道路。
在交通灯颜色输出的同时还要能够实现计数的输出,也就是各路灯转换前剩余的时间量。
3.在实现了各个状态下的功能后就要考虑加上清0功能与紧急功能,清0也就是复位功能。
在复位时实现系统清0,并且清0后计数器从初始状态开始计时,在此将S0状态视为初始状态。
也就是清0完毕后系统进入S0状态。
课题中将紧急功能设为两条路都显示红灯,并且计数器全置0。
4.这些实现的功能都加入后就可以对所写的VHDL语言进行测试与仿真了。
在其中实现对所写语言的改进和完善,并得到仿真图结合仿真图再进行修改。
基于VHDL语言的交通灯控制器设计与实现摘要 VHDL是Very High Speed Integrated Circuit Hardware Description Language 的缩写,意思是超高速集成电路硬件描述语言。
对于复杂的数字系统的设计,它有独特的作用。
它的硬件描述能力强,能轻易的描述出硬件的结构和功能。
这种语言的应用至少意味着两种重大的改变:电路的设计可以通过文字描述的方式完成;电子电路可以当作文件一样来存储。
随着现代技术的发展,这种语言的效益与作用日益明显,每年均能够以超过30%的速度快速成长。
交通灯控制系统通常要实现自动控制红绿灯的变化,基于FPGA设计的交通灯控制系统电路简单、可靠性好。
本系统可控制2个路口的红、黄、绿三盏交通灯。
对于Max+PlusⅡ开发工具,它是美国Altera公司自行设计的一种CAE软件工具。
他具有全面的逻辑设计能力,设计者可以自由组合文本、图形和波形输入法,建立起层次化的单器件或多器件设计。
利用该工具配备的编辑、编译、仿真、综合、芯片编程等功能,将设计的电路图或电路描述程序变成基本的逻辑单元写入到可编程芯片中(如CPLD、FPGA),做成ASIC芯片。
仿真实验结果表明了该编解码器的正确性和合理性。
关键词:交通灯;控制器;VHDL;MAX+PlusⅡAbstract VHDL is the Very Hight Speed Integrated Circuit Hardware Description Language acronym,meaning that high-speed integrated circuit hardware description language.For complex digital system design,it has a unique role.Its hardware descirption ability,can easily describe the structure and funtion of the hardware.The application of this language implies that at least two kinds of major changes:the design of the circuit can actually be completed by the manner described in the text;electronic circuits can be used as to store the same files.With modern technology,the benefits and role of this language has become more obvious every year to more than 30% of the rate of rapid growth.Traffic light control system is usually to achieve the automatic trafffic light changes,FPGA-based design of a traffic light control system circuit is simplem,and good reliability.The system can control two junctions of red,yellow,green,three traffic lights.For theMax-Plus II development tool,it is United States Altera’s own design of a CAE software tools.It has a comprehensive logic design capabilities,designers can freely mix text,graphics,and waveform input method,set up hierarchical design of a single device or multiple devices.The use of the tool is equipped with the editing,compiling,simulation,synthesis,chip programming features such as the design of the circuit or circuit described procedure into the basic logic unit is written into the programmable chip(eg,CPLD,FPGA),made of ASIC chips.The simulation results show that the correct codec and rationality.Keywords:traffic light;controller,VHDL,MAX+PlusII目录1 引言 (1)2 课题背景及相关技术 (2)2.1 Max+plusII简介 (2)2.2 VHDL语言简介 (3)2.3 VHDL设计的优点与设计方法 (5)3交通灯控制器分析 (7)3.1 分频器 (7)3.2 状态机 (8)4交通灯控制器的VHDL设计 (9)4.1程序流程图 (9)4.2交通灯顶层文件和管脚分配 (10)4.3分频器和状态机的图示符号 (11)4.4仿真波形图 (12)附录 (13)结束语 (17)参考文献 (18)1引言在交通发达的当代,交通灯控制器无疑是最实用的的工具。
基于VHDL的交通灯控制器的设计一、设计目的1、掌握计数器、分频器、译码器的工作原理和设计方法;2、掌握数码管的动态扫描译码显示的工作原理和设计方法;3、掌握交通灯控制器的设计方法;4、掌握在EDA开发软件QuartusII环境下基于FPGA/CPLD的数字系统设计方法,掌握该环境下系统的功能仿真、时序仿真、管脚锁定和芯片下载的方法。
二、概述在城市的的十字路口处都设置有交通信号灯控制系统,这个系统由绿、黄、红信号灯指挥十字路口车辆和行人的正常通行。
其示意图如下所示:要支道主要干道S主要干道次要支道三、设计任务与要求设计一个主要干道和次要支道交叉路口处的交通信号灯控制器,其技术要求如下:1、要求主要干道和次要支道上各具有绿、黄、红三色信号灯,用来指示车辆的允许通行或禁止通行,同时设有计时、译码及显示电路,显示定时器的定时状态。
2、如果只有一个方向有车时,则保持该方向畅通;当两个方向都有车时,主要干道和次要支道交替通行,但主要干道通行的时间要比次要支道长一些。
设主要干道每次通行的时间为60秒,即主要干道每次绿灯亮的时间为60秒;次要支道上每次通行时间为30秒,即次要支道上绿灯亮的时间为30秒。
3、要求主要干道或是次要支道上绿灯亮足规定的时间后,要求黄灯先亮5秒钟后红灯才能亮,然后才能交换通行车道。
四、系统框图及组成系统主要由控制器和处理器两部分组成,控制器接受外部系统时钟信号。
处理器由定时器和译码显示器组成。
定时器能向控制器发出5秒、30秒和60秒的定时信号,译码器在控制器的控制下,改变交通灯的信号。
根据上述要求画出系统框图如下:图中:R:主要干道传感器来的信号,高电平表示有车,低电平表示设车。
S:次要支道传感器来的信号,高电平表示有车,低电平表示设车。
T L:主要干道绿灯亮的时间间隔为60秒,即主要干道车辆通行的时间为60秒,定时时间到时,T L=1,否则,T L=0。
T S:次要支道绿灯亮的时间间隔为30秒,即次要支道车辆通行的时间为30秒,定时时间到时,Ts=1,否则,T S=0。
基于FPGA的智能交通信号灯的设计智能交通信号灯是一个重要的交通设施,能够引导道路上的交通流动,提高道路交通的效率和安全性。
传统的信号灯系统通常是固定的时间间隔来控制交通流量,但是这种方式无法根据实际道路情况做出灵活的调整,并且无法提前预测交通拥堵的情况。
基于FPGA的智能交通信号灯设计可以利用其高度可编程的特性,结合实时数据分析,实现智能的信号控制系统。
首先,设计智能交通信号灯需要采集道路上的实时交通数据。
可以利用传感器、视频监控等技术,获取车辆的数量、速度、流量等信息,以及行人的行走情况。
这些数据将作为信号灯系统的输入,用于实时分析和控制。
其次,设计一个智能交通信号灯的控制算法。
基于FPGA的灵活性,可以采用神经网络、遗传算法等方法,对采集到的实时数据进行分析和预测,进而生成相应的信号控制策略。
通过实时调整信号灯的绿灯时间,根据交通流量的情况的不断优化信号灯的控制算法,进一步提高交通效率。
接下来,利用FPGA实现智能交通信号灯的控制系统。
FPGA具有高度可编程的特性,可以根据设计需求进行灵活的硬件设计。
使用HDL语言(如Verilog或VHDL)来编写信号灯控制逻辑,并通过FPGA进行硬件设计与实现。
FPGA还可以与传感器、通信模块等其他硬件设备进行连接,实现与外部数据的交互。
最后,进行实际的实验和测试。
将设计好的智能交通信号灯系统应用于实际的道路交通场景中,收集实际使用情况下的数据,进一步改进和优化系统性能。
通过实验和测试,可以验证智能信号灯系统的可行性和实用性,并对系统进行改进和完善。
总结起来,基于FPGA的智能交通信号灯设计需要从数据采集、控制算法、硬件设计和实验测试等方面进行综合考虑。
通过充分利用FPGA的高度可编程性和实时性,结合实时数据分析和控制算法,可以实现更加智能和高效的交通信号灯系统,提高道路交通的流畅性和安全性。
开发研究与设计技术本栏目责任编辑:谢媛媛1引言交通灯控制系统是数字电路的经典问题,传统的设计方法基于中、小规模集成电路进行,电路元件多、接线复杂、故障率高、可靠性低。
电子设计自动化EDA(ElectronicDesignAutomation)技术的发展,在线可编程逻辑器件(InsystemProgram-ProgrammableLogicDevice简称ISP-PLD)的出现,使实验室中制作专用集成电路成为可能。
我们使用现场可编程门阵列/复杂可编程逻辑器件FPGA/CPLD(FieldProgrammableGateArray/ComplexProgrammableLogicDevice),用VHDL(超高速集成电路硬件描述语言)进行以交通灯控制器的设计,用对应的工具软件(本文用MAX+plusII)对FPGA/CPLD芯片“下载”形成专用集成电路,由于不存在人工接线的问题,所以故障率低、可靠性好。
2交通灯控制系统的系统分析和算法设计2.1系统分析十字路口的交通灯指挥着行人和各种车辆的安全运行。
实现红绿灯的自动指挥是城市交通管理自动化的重要课题。
在一个具有主、支干道的十字路口,设计一个交通灯自动控制装置,实现如下功能:①由主干道和支干道汇合成十字路口,在入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。
②当主干道与支干道均无车辆要求通行时,主干道应保持畅通,亮绿灯;支干道亮红灯。
③如果主干道无车,支干道有车,则允许支干道通行,主干道亮红灯,支干道亮绿灯。
④如果主干道和支干道均有车要求通行,则两者应交替通行,并要求主干道每次通行30秒钟,支干道每次通行20秒钟。
⑤每次绿灯变红,黄灯应先亮5秒。
通过分析,可以得到信号灯切换顺序,如图1所示(A表示主干道、B表示支干道)。
图1信号灯切换顺序2.2算法设计交通灯系统工作主要有三个时间间隔Tt、Ts、Ty:Tt表示主干道绿灯亮的时间间隔30s;Ts表示支干道绿灯亮的时间间隔20s;Ty表示主干道或支干道黄灯亮的时间间隔5s。
用定时模块分别产生三个时间间隔后,向控制器发出“时间已到”信号,控制器根据定时模块信号,决定是否进行状态转换。
如果肯定,则控制器发出状态转换信号,计数器清零,准备重新计时。
交通灯控制器的控制过程分为四个阶段。
,对应的输出有四种状态,分别为S0、S1、S2和S3表示,按照格雷码进行编码分别为00、01、11和10,在此给出交通灯控制系统的工作流程图如图2所示,也可看作系统控制器的ASM图。
设系统的初始状态为主干道绿灯亮、支干道红灯亮,用S0状态框表示。
图2交通控制器工作流程图(ASM图)(下转第1618页)收稿日期:2007-03-20作者简介:文畅(1979-),女,湖北荆州人,助教,主要从事:计算机软硬件方面的教学与研究。
基于FPGA/CPLD和VHDL语言的交通灯控制系统设计文畅(长江大学计算机科学院文理学院,湖北荆州434100)摘要:用VHDL语言设计交通灯控制系统,并在MAX+PLUSII系统对FPGA/CPLD芯片进行下载,由于生成的是集成化的数字电路,没有传统设计中的接线问题,所以故障率低、可靠性高,而且体积小。
体现了EDA技术在数字电路设计中的优越性。
关键词:VHDL硬件描述语言;可编程逻辑器件;FPGA/CPLD;交通灯控制系统中图分类号:TP27文献标识码:A文章编号:1009-3044(2007)06-11605-01DesignofTrafficLightControlSystemBaseonFPGA/CPLDandVHDLWENChang(ComputerScienceCollege,ArtsandScienceCollege,YangtzeUniversity,Jingzhou434100,China)Abstract:ThedesignmethodoftrafficlightcontrolsystembyusingVery-High-SpeedIntegratedCircuitHardwareDescriptionLanguage(VHDL)isintroduced,andthedownloadingofthecontrollerdesigntotheFPGA/CPLDchipinMAX+PLUSIIisfulfilled.AsFPGA/CPLDchipsarebasedonlargescaleICandtherearenoconnectionproblemsinthepresentedcircuit,sothechipsarere1iableandfaultsarelesspronetohappen,whichshowstheadvantagesoftheEDAtechnologyindigitalcircuitsdesign.Keywords:Very-High-SpeedIntegratedCircuitHardwareDescriptionLanguage(VHDL);ProgrammableLogicDevice(PLD);FPGA/CPLD;TrafficLightControlSystem1605开发研究与设计技术本栏目责任编辑:谢媛媛(上接第1605页)3交通灯控制系统的设计实现由上述分析,可以得到系统框图如图3所示,系统由传感器、时钟电路控制器、定时器和6个交通管理灯组成。
3.1传感器和时钟电路在主干道和支干道设传感器,可检测到主、支干道上是否由车辆要求通过十字路口。
主干道上的传感器发出的信号分别用Sa和Sb表示,Sa和Sb若为‘1’,表示有车辆要求通行,否则表示无车辆要求通行。
时钟电路用来产生一个稳定的clk秒脉冲信号,以供计时和系统的同步控制。
秒脉冲信号可以由晶体振荡器输出信号经过分频后产生;当精度和稳定性要求不高时,可以采用RC环形振荡器、555定时器或其它振荡电路产生。
图3交通控制系统框图3.2定时器定时器在控制器提供的计时信号cnt和清零信号cr的作用下完成定时功能,并向控制器提供5s、20s、30s的计时信号。
3.3控制器控制器设计是本系统的核心,它的作用是根据传感器和定时器提供的信号,判断、调整和控制整个系统的状态,并控制定时电路工作,提供适当的灯光控制信号。
其中控制主、支干道上的红、黄、绿灯的信号分别用R、Y、G和r、y、g表示:其值为‘1’表示灯亮,为‘0’表示灯灭。
由于本系统的规模较小,因此可选用一片CPLD或FPGA器件来实现,现在利用MAX+PLUSII开发系统,采用分层次描述方式来完成设计,且用图形输入和文本输入混合方式建立描述文件,其中顶层设计采用图形输入法,它用图形表明系统的组成,在顶层图中,clk、Sa、和Sb为输入信号;R、Y、G、r、y和g为输出信号;cr和cnt为节点信号(节点信号属于内部信号,对外无引脚)。
底层采用VHDL文本输入方式。
由图2所示的ASM图,可以导出系统控制电路的MDS图,如图4所示。
1个完整的VHDL语言程序通常包含实体(Entity)、构造体(Architecture)、配置、包集合(Pack-age)和库(Library)5个部分。
根据MDS图就可以设计出相应的VHDL源文件。
图4交通控制系统的MDS图4编译、仿真与器件编程在MAX+PLUSII的文本编辑器中完成源程序的设计,接着就是对其进行编译,编译的目的是为了生成可以进行仿真、定时分析以及下载到可编程器件的相关文件。
选MAX+PLUSII菜单下的CompilerNetlistExtractor、LogicSynthesizer、Partitioner、Fitter、Tim-ingSNFExtractor、Assembler共七个模块,包括了综合、布线到生成下载文件的整个过程。
本设计的源程序顺利地通过了编译,但这只能说明源文件没有语法错误,要检验是否能完成预定的功能,可对其进行仿真。
在时序仿真阶段,还可以做一个延时分析。
例如:在选用FLEK系列的EPF10K10LC84-3的情况下,进行建立/保持时间分析,也可以给出片内所用寄存器的性能,近似表示此器件正常工作的最高频率。
当时序仿真得到正确的结果后,最后把编译的“.pof”文件或“.sof”文件下载到具体的CPLD/FPGA器件中。
本设计已下载到CPLD器件(EPF10K10LC84-3)中,通过实验系统得到验证。
5结束语本系统借助CPLD/FPGA器件及其支撑软件,快速、明确地完成了对交通灯的控制功能,而且可以看到VHDL对设计的描述具有相对独立性,毋需通过门级原理图描述电路,而是针对目标进行功能描述.这种设计方法使设计人员摆脱了电路细节的束缚,效率高、可靠性好、成本低。
这些都体现了EDA技术的优越性和广阔的应用前景。
参考文献:[1]陈意军.基于VHDL的FPGA开发[J].电子与封装,2006.3:9-11.[2]平均芬.硬件描述语言VHDL在数字系统设计中的应用[J].浙江工业大学学报,2006.2:20-21.[3]高书莉.罗朝霞.可编程逻辑设计技术及应用[M].北京:人民邮电出版社,2005.9.[4]蒋璇,臧春华.数字系统设计与PLD应用技术[M].北京:电子工业出版社,2006.1.[5]徐志军.CPLD/FPGA的开发与应用[M].北京:电子工业出版社,2005.1.参考文献:[1]范玉顺.工作流管理技术基础[M].北京:清华大学出版社,施普林格出版社,2001.[2]周光辉,江平宇,丘礼平.基于工作流和移动Agent的多Web应用系统的集成研究[J].西安交通大学学报,2002,36(9):933-937.[3]N.R.Jennings,P.Faratin,P.O’Brienetal.UsingIntelligentAgentstoManageBusinessProcesses[DB].http://www.springerlink.com.[4]DWJudge,BROdgers,ZCuietal.Agent-enhancedwork-flow[DB].http://citeseer.ist.psu.edu.[5]杨远红,刘飞,王旭等.通信网络安全技术[M].北京:机械工业出版社,2005.[6]刘锦德,张云勇.一个实用的移动Agent系统(Aglet)的综述[J].计算机应用,2001,21(8):1-3.1618电脑知识与技术。