论VHDL语言实现对交通灯控制系统设计的作用

发布时间:2016-10-06 17:19:54

  摘要:依据EDA自顶向下的设计流程进行交通灯控制系统设计, 采用VHDL语言编写各功能模块, 生成各模块符号图, 把各模块符号图以原理图的形式连在一起得到系统顶层设计。并在Quartus II9.0集成开发环境里进行编译、仿真和综合, 最后下载到实验箱进行调试, 调试结果表明:交通灯的状态切换, 倒计时时间显示均可实现。

  关键词:EDA; VHDL语言; QuartusⅡ;交通灯

  0 引言

  随着可编程逻辑器件应用的日益广泛, 以大规模可编程逻辑器件为基础的EDA技术打破了软硬件之间的设计界限, 使硬件系统软件化, 这已成为现代电子系统设计的发展趋势[1]。VHDL语言, 语法结构严谨, 描述功能强大, 可用简洁明了的代码实现复杂的逻辑电路设计;而且VHDL语言支持从系统级到门级所有层次的设计, 支持自顶向下的模块化设计方法, 在电子设计领域, 已被广泛使用[2]。本文详述了使用VHDL语言实现对交通灯控制系统的层次化设计, 将VHDL文本输入和图形输入两种方式混合使用, 实现交通灯控制系统的设计。

  1 交通灯控制系统的设计要求

  交通灯控制系统实现如下要求[3]: (1) 主、支干道各设有一个绿、黄、红指示灯, 两位数码管用于显示倒记时时间。 (2) 主干道处于常允许通行状态, 而支干道有车来才允许通行。当主干道允许通行亮绿灯时, 支干道亮红灯。而支干道允许通行亮绿灯时, 主干道亮红灯。 (3) 当主、支干道都有车流时, 两者交替允许通行。主干道每次放行时间45秒, 支干道每次放行时间25秒。在每次由亮绿灯变为亮灯的转换过程中, 要亮5秒的黄灯作为过渡, 并进行倒计时显示。

  2 交通灯控制系统各模块设计与实现

  2.1 状态控制模块

  控制模块电路clk为输入时钟, sm为主干道传感信号, sb为支干道传感信号, mg为主干道绿灯输出, mr为主干道上的红灯输出, my为主干道的黄灯输出, bg为支干道的绿灯输出, br为支干道上红灯输出, by为支干道黄灯输出。

  控制模块主要根据外部送来的sb、sm信号的状态去控制交通灯输出状态的切换并输出信号灯驱动信号。当sm=1、sb=1, 即主干道和支干道都有车辆通过时, 初始处于S1状态, 主干道显示绿灯, 支干道显示红灯, 倒计时45秒后转入S2状态, 则控制器使主干道切换为黄灯, 支干道为红灯;此后按照表1的状态循环。控制模块的仿真图如图2所示。

  2.2 定时单元模块

  1) 45秒定时单元

  45秒定时单元输入端口为clk、en45和支干道传感信号sb, 输出端口为八位主干道时间数据dout45m和支干道时间数据dout45b, 当sb=1且en45=1时, 执行45秒倒计时功能。

  2) 25秒定时单元

  25秒定时单元符输入端口为clk、en25、主干道传感信号sm和支干道传感信号sb, 输出端口为八位主干道时间数据dout25m和支干道时间数据dout25b。当sb=0或者sm=0时, 即主干道、支干道任意一道都没有车辆通过时, 不进行倒计时;当sb=1、sm=1且en25=1时, 时钟来到即执行25秒倒计时功能, 开始倒计时;若en25=0, 则不进行倒计时。

  3) 5秒定时单元

  5秒定时单元输入端口为clk、主干道使能en05m和支干道使能en05b, 输出端口为八位时间数据dout5。当en05m=1或者en05b=1时即表示主干道或支干道处于正常工作状态, 时钟来到就开始实行倒计时, 主干道、支干道倒计时均为5秒。

  2.3 显示控制单元模块

  显示控制单元模块以定时模块的输出ain05、ain25b、ain25m、ain45b、ain45m和en05b、en05m、en25、en45四个使能信号作为输入信号, 选择决定要送数码管显示的8位倒计时时间数据doutb、doutm。

  2.4 译码器单元模块

  该模块主要是完成四位BCD码到7位数码管显示数据的译码功能, 驱动主干道与支干道的数码管, 使其能够正常显示倒计时时间。输入端口为ain4, 输出端口为dout7。

  2.5 系统顶层原理图设计

  在以上各模块都编译通过且仿真正确的基础上, 采用原理图输入的设计方法, 将上述各模块连在一起, 创建了系统顶层原理图如图1所示。

  顶层设计仿真正确后, 选定好所选用的实验系统的配置芯片, 锁定引脚, 完成引脚配置, 重新进行编译综合后, 即可生成下载文件, 将此文件下载到选定的目标芯片, 接上外围器件, 完成整个系统的设计。经过在杭州康芯电子有限公司生产的GW48EDA/SOPC实验开发系统下载验证, 该设计完全符合交通灯控制系统的功能要求。

  3 结束语

  本系统借助VHDL语言和QUARTUSII开发软件, 快速、简明地实现了交通灯控制系统的功能, 根据上述设计实例, 可以看出通过VHDL语言实现电子系统设计, 是一个以软件设计为主, 器件配置相结合的过程, 使得设计更为灵活方便, 设计周期也可大大减小, 提高了设计效率和可靠性[4]。VHDL语言作为一种标准的硬件描述语言, 具备强大的行为描述能力和移植复用能力, 支持复杂电路设计的层次化分解和已有设计的移植再利用, 已经成为电子系统设计不可或缺的重要工具。

  图1 系统顶层原理图

  参考文献
  [1]潘松, 黄继业.EDA技术使用教程.北京:科学出版社, 2013.8.
  [2]江思敏.VHDL数字电路及系统设计[M].北京:机械工业出版社, 2006.181-203.
  [3]黄健, 谭永梅.基于CPLD的交通控制系统设计[J].《自动化技术与应用》, 2010 (08) .
  [4]王彩凤.VHDL语言在电子设计中的应用[J].《实验科学与技术》, 2014 (4) .

如果您有论文代写需求,可以通过下面的方式联系我们
点击联系客服

提交代写需求

如果您有论文代写需求,可以通过下面的方式联系我们。