基于FPGA/CPLD和VHDL语言的交通灯控制系统设计

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:jimmycjriyue
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:用VHDL语言设计交通灯控制系统,并在MAX+PLUS II系统对FPGA/CPLD芯片进行下载,由于生成的是集成化的数字电路,没有传统设计中的接线问题,所以故障率低、可靠性高,而且体积小。体现了EDA技术在数字电路设计中的优越性。
  关键词:VHDL硬件描述语言;可编程逻辑器件;FPGA/CPLD;交通灯控制系统
  中图分类号:TP27文献标识码:A文章编号:1009-3044(2007)06-11605-01
  
  1 引言
  交通灯控制系统是数字电路的经典问题,传统的设计方法基于中、小规模集成电路进行,电路元件多、接线复杂、故障率高、可靠性低。电子设计自动化EDA(Electronic Design Automation)技术的发展,在线可编程逻辑器件(In system Program-Programmable Logic Device简称ISP-PLD)的出现,使实验室中制作专用集成电路成为可能。我们使用现场可编程门阵列/复杂可编程逻辑器件FPGA/CPLD(Field Programmable Gate Array/Complex Programmable Logic Device),用VHDL(超高速集成电路硬件描述语言) 进行以交通灯控制器的设计,用对应的工具软件(本文用MAX+plus II)对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图)
  
  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+PLUS II开发系统,采用分层次描述方式来完成设计,且用图形输入和文本输入混合方式建立描述文件,其中顶层设计采用图形输入法,它用图形表明系统的组成,在顶层图中,clk、Sa、和Sb为输入信号;R、Y、G、r、y和g为输出信号;cr和cnt为节点信号(节点信号属于内部信号,对外无引脚)。底层采用VHDL文本输入方式。由图2所示的ASM图,可以导出系统控制电路的MDS图,如图4所示。1个完整的VHDL语言程序通常包含实体(Entity)、构造体(Architecture)、配置、包集合(Package)和库(Library)5个部分。根据MDS图就可以设计出相应的VHDL源文件。
  图4 交通控制系统的MDS图
  
  4 编译、仿真与器件编程
  在MAX+PLUS II的文本编辑器中完成源程序的设计,接着就是对其进行编译,编译的目的是为了生成可以进行仿真、定时分析以及下载到可编程器件的相关文件。选MAX+PLUS II菜单下的Compiler Netlist Extractor、Logic Synthesizer、Partitioner、Fitter、Timing SNF Extractor、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.
  本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
其他文献
摘要:IPv6是解决IPv4局限性和缺陷的关键技术,但IPv6不可能在一夜之间代替IPv4,IPv4和IPv6将会有一个很长的共存期。怎样使得IPv4向IPv6平稳的过度是目前积焦点。文章将对双栈机制、隧道机制、转换机制这三种策略进行分析。  关键词:双栈机制;隧道机制;转换机制;NAT-PT  中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)06-11538-02  
期刊
摘要:Linux是一个开放式系统,可以在网络上找到许多现成的程序和工具,这既方便了用Linux系统的用户,也给黑客提供了入侵的便利。本文首先介绍了文件目录、文件权限及用户和组标识等的安全性,接着强调了安全管理的基本措施,然后介绍安全审计工作,最后提出了面对安全威胁的一些应对措施,为提高Linux系统的安全性提供一些建议。  关键词:Linux系统安全;安全管理;安全审计;安全威胁  中图分类号:T
期刊
摘要:本文概括的描述了应用系统中任务调度框架的发展。从调度思想,触发模式,调度的一些基本原则等方面阐述了任务调度的体系结构及其内容。接着对其在应用中的部署进行了优化,得出了改进和优化以后的任务调度构架。最后还提出了与数据库技术相结合的技术解决方案。  关键词:任务调度;触发模式;作业储存;作业触发;作业监听  中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)06-158
期刊
摘要:本文提出了一个定理并给出了详细证明,该定理给出了n-可扩图的一个充分必要条件。  关键词:n-可扩图;对集  中图分类号:TP301文献标识码:A文章编号:1009-3044(2007)06-11587-02    1 对集理论的历史及发展现状  对集理论的研究最早始于 1891 年,彼德森(Peterson)在 1891 年的一篇文章中,把代数的因子分解问题转换为图的因子分解问题,证明了任
期刊
摘要:本文主要介绍了基于OpenGL的摩擦力对物体运动的影响实验的设计与实现。实现了实验器材、实验场景的三维可视化以及实验器材的缩放和移动功能,还实现了运动物体在定时器的控制下准确地运动的过程及其轨迹的描述,最后还实现了实验数据的生成。  关键词:OpenGL;摩擦力;摩擦率;仿真;教学软件  中图分类号:TP391文献标识码:A文章编号:1009-3044(2007)06-11585-02   
期刊
摘要:为了免除在不同的通讯终端上重复输入或者修改地址信息的麻烦,设计一种移动统一地址簿系统,在SyncML数据同步协议的基础上,实现在移动终端与互联网应用服务器间进行地址簿数据的交换。  关键词:SyncML;数据同步;地址簿  中图分类号:TP311文献标识码:A 文章编号:1009-3044(2007)06-11572-03    1 引言  据统计,目前移动应用业务功能中,语音通话、短信、通
期刊
摘要:利用软件工程领域中的相关知识,提出了有效策略,构建出了服务组件知识库结构,解决了服务组合的重用问题。  关键词:Web服务组件;组合重用;组件知识库  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)06-11600-01    1 引言  Web Service是一种通过URI(Uniform Resource Identifier)定位的软件应用,以XML形式
期刊
摘要:围绕重用这个问题人们已经进行了大量的实践研究。随着面向对象技术的提出,面向组件的软件重用技术已成为近几年软件重用技术的研究的热点,它正改变着软件系统的开发方式。对重用技术、组件技术进行了简单介绍,对组件的模型进行了论述和研究,最后对软件重用作出了总结和展望。  关键词:组件;重用;组件模型;基于组件的软件工程  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)06
期刊
摘要:基于UML 的ATM系统面向方面模型,能够把关注从系统中分离出来,形成一个独立于系统的方面模块。面向方面编程(AOP)技术允许把设计好的方面模块根据特定需要重新织入系统,组合为完整系统。模型扩展了UML来表达方面元素概念,并从系统的静态结构模型和方面织入建模ATM系统。  关键词:统一建模语言;面向方面编程;横切;方面模型  中图分类号:TP311文献标识码:A文章编号:1009-3044(
期刊
摘要:在分析入侵检测系统、技术以及其它正在研究的入侵检测方法的基础上,对现行入侵检测系统存在的问题进行了分析研究。  关键词:入侵检测系统,基于网络的入侵检测系统,基于主机的入侵检测系统,异常检测,误用检测  中图分类号:TP309文献标识码:A文章编号:1009-3044(2007)06-11564-01    1 引言  目前采用的入侵检测系统主要有基于网络的入侵检测系统,基于主机的入侵检测系
期刊