当前位置:首页 >> 信息与通信 >>

基于VHDL状态机的交通灯控制器设计


山西电子技术   2010 年第 1 期
文章编号 : 1674 2 4578 ( 2010 ) 01 2 0054 2 03 单 ,性能稳定的特点 。

软件技术  

基于 VHDL 状态机的交通灯控制器设计
李春雨 , 高   原
(安阳工学院 计算机科学与信息工程系 ,河南 安阳 455000 )

摘   : 用 VHDL 语言设计交通灯控制器 , 并利用 Quartus II软件平台对设计系统进行仿真 、 要 编译 , 并下载到

FPGA / CPLD 可编程逻辑器件中 。由于生成的是集成化的数字电路 ,没有传统设计中的接线问题 ,所以故障率低 、

可靠性高 。由于采用了 EDA 技术 ,所以大大缩短了开发研制周期 ,提高了设计效率 ,使系统具有设计灵活 ,实现简 关键词 : 交通灯控制器 ; FPGA; VHDL 中图分类号 : TP312    文献标识码 : A
( 5 ) 上电复位后 ,主干道先通行 。

0  引言

交通灯是城市交通监管系统的重要组成部分 ,对于保证

2  VHDL 设计实现
2. 1   系统整体设计

机动车辆的安全运行 , 维持城市道路的顺畅起到了重要作 用 。本文在 VHDL 状态机的基础上 ,利用 FPGA 的相关知识 设计了交通灯控制系统 ,可以根据实际情况对灯亮时间进行 自由调整 ,整个设计系统通过 Quartus II软件平台进行了模 拟仿真 , 并下载到 FPGA 器件中进行硬件的调试 , 验证了设 计的交通信号灯控制电路完全可以实现预定的功能 ,具有一 定的实用性 。

该系统主要由控制模块 、 分频模块以及显示电路构成 。 其中分频模块主要将系统输入的基准时钟信号转换为 1 Hz 的激励信号 ,驱动控制模块工作 。控制模块根据计数情况对 交通灯的亮灭及持续时间进行控制 ,并将灯亮时间以倒计时 的形式通过数码管显示出来 。其中 Reset 是复位信号 ,高电 平有效 。
2. 2   分频模块设计

1  设计要求

有一条主干道和一条支干道的汇合点形成的十字路口 ,

在红绿灯交通信号系统中 ,电路必须给一个稳定的时钟 源才能够使系统正常运行 。用晶振电路提供 4 MHz的稳定 时钟信号 ,把其分频为 1 Hz脉冲信号 ,原理是用 VHDL 语言
if——elsif的并行运行关系 , 把分频频数的前半部分进行计 —

为确保车辆安全 ,迅速通行 ,在干道和支道的入口设置了红 、 绿 (包括直行和左拐 ) 、 3 色信号灯 (如图 1 所示 ) 。 黄

数并置高电平“1 ”把分频频数的后半部分进行计数并置低 , 电平“0 ”最后输出即为 1 Hz时钟信号 。 ,
2. 3   控制模块的设计与仿真

根据交通灯控制器要实现的功能 ,考虑用状态机来控制
A 和 B 两个方向的四盏灯 ,状态机控制一个方向的四种灯按

图 1  十字路口交通灯示意图

如下顺序点亮 ,并往复循环 : 绿灯 → 黄灯 → 左拐灯 → 黄灯 → 红灯 ,并且一个方向为非红灯时 ,另一个方向一定为红灯 ,此 状态机有 8 个状态 ,其示意图如图 2。

设计要求 :

( 1 ) A 方向和 B 方向各设红 ( R ) 、 ( Y) 、 ( G) 、 黄 绿 和左 ( 2 ) 四种灯按合理的顺序亮灭 ,并能将灯亮的时间以倒 (3) 主 、 支干道交替通行 ,假设 B 方向是主干道 ,车流量

拐 (L )四盏指示灯 ;

计时的形式显示出来 ;

大 ,因此 B 方向通行的时间应比 A 方向长一些 。B 方向每次 放行 40 秒 , A 方向每次放行 30 秒 ,在每次亮绿灯 、 左拐灯与 红灯的转换过程中 ,亮 5 秒的黄灯作为过渡 ;
( 4 ) 两个方向各种灯亮的时间应该能够进行非常方便

图 2  状态机示意图

当计数时间不到时转向自身 ,当计数时间到时转向下一 状态 。 S000 状态表示 B 道路 (主干道 )亮绿灯 , A 道路 (支干 道 )亮红灯 , 此时 B 道路可以过车辆 , 人行道可以过行人 ;
S001 状态表示 B 道路亮黄灯 , A 道路亮红灯 , 提醒车辆和行

的设计和修改 ;

收稿日期 : 2009 - 09 - 29 作者简介 : 李春雨 (1980 2 ) ,男 ,河南南阳人 ,大学本科 ,主要从事嵌入式技术研究 。

  1 期          第 李春雨 ,等 : 基于 VHDL 状态机的交通灯控制器设计
人马上要禁行了 ; S010 状态表示 B 道路亮左拐灯 , A 道路亮 红灯 ,此时 B 道 路的 车 辆 可 以 拐向 A 道路 , 人行 道 禁行 ;
S011 状态表示 B 道路亮黄灯 , A 道路亮红灯 , 提醒车辆马上 end component; component traffic0 is

55

  port ( clk: in std_logic;
reset: in std_logic; a: out integer range 0 to 14: = 14; b: out integer range 0 to 9; G01, Y01, L01, R01: out std_logic; G02, Y02, L02, R02: out std_logic ) ; end component; signal clk1: std_logic; begin u1: traffic0 port map ( clk1, reset, c, d , G1, Y1, L1, R1, G2, Y2, L2, R2 ) ; u2: fp port map ( clk, reset, clk1 ) ; end tri;

要禁行了 ; S100 状态表示 B 道路亮红灯 , A 道路亮绿灯 , 此 时 A 道路可以过车辆 ,人行道可以过行人 ; S101 状态表示 B 道路亮红灯 , A 道路亮黄灯 ,提醒车辆和行人马上要禁行了 ;
S110 状态表示 B 道路亮红灯 , A 道路亮左拐灯 ,此时 A 道路

的车辆可以拐向 B 道路 ,人行道禁行 ; S111 状态表示 B 道路 亮红灯 , A 道路亮黄灯 ,提醒车辆马上要禁行了 。 为便于显示灯亮的时间 ,计数时采用分位输出 , 输出均 采用 BCD 码 ,显示由数码管完成 。 主程序如下 :
library ieee; use ieee. std_logic_1164. all; entity traffic is

 port ( clk: in std_logic;
reset: in std_logic; c: out integer range 0 to 10; d: out integer range 0 to 9; G1, Y1, L1, R1: out std_logic; G2, Y2, L2, R2: out std_logic) ; end traffic; architecture tri of traffic is component fp is port ( clk : in std_logic; reset: in std_logic; clk_out: out std_logic ) ;

3  编译并下载验证
在 Quartus II软件平台上设定可编程器件引脚 , 编译后 生成 pof 文 件 , 下 载 到 可 编 程 器 件 中 , 本 设 计 已 下 载 到 得到验证 。
MAX7000S系列的 EPM7128SLC84 2 芯片中 ,通过实验系统 15

4  硬件实现

利用 Protel 99 SE画出原理图 (见图 3 ) 。采用 5 V 电源

供电 ,图 3 右上角为电源模块 ,最下面为数码管模块 ,中间为 的时钟脉冲 ,芯片左右为发光二极管 ,用来表示交通灯 ,左上 角为下载电路 。
EPM7128SLC84 2 芯片 ,芯片上方为晶振电路 , 提供 4 MHz 15

图 3  交通灯原理图

   4 为 PCB 制板和装配好的实物图 。 图

计交通灯控制系统 , 借助其功能强大的语言结构 , 简明的代 码描述复杂控制逻辑设计 , 与工艺无关特性 , 在提高工作效 率的同时达到求解目的 ,并通过 VHDL 语言的综合工具进行 相应硬件电路生成 ,具有传统逻辑设计方法所无法比拟的优

5  结束语
本系统借助 CPLD / FPGA 器件及其支撑软件 ,快速 、 明确 地完成了对交通灯的控制功能 ,在本文中采用 VHDL 语言设

56

山                        2010 年   西 电 子 技 术
参考文献
[1 ]  谭会生 , 张昌凡 . EDA 技术及应用 [M ]. 西安 : 西安电

越性 。这种设计方法使设计人员摆脱了电路细节的束缚 ,效 率高 、 可靠性好 、 成本低 。

子科技大学出版社 , 2004. 4.
[2 ]  黄任 . VHDL 入门 , 解惑 , 经典实例 , 经验总结 [M ]. 北

京 : 北京航空航天大学出版社 , 2005.
[3 ]  潘松 ,王国栋 . VHDL 实用教程 [M ]. 成都 : 电子科技大

学出版社 , 2000.
[4 ]  程云长 . 可编程逻辑器件与 VHDL 语言 [M ]. 北京 : 科

学出版社 , 2005.
图 4  交通灯电路板

Traff ic L ight Con troller D esign Ba sed on VHDL Sta te M ach in e
( Com pu ter Eng ineering D epa rt en t, A nyang Institu te of Technology, A nyang Henan 455000, Ch ina ) m

为 20 dB 时 ,基本上达到理想互信道条件下的误码率 ; 在理 想互信道条件下 ,协同达到的最大分集阶数 3。同时由图看 出 B ICC方案在未协同时仍然能够达到 2 阶分集 , 验证了理 论分析的结论 。

5  结论

平坦瑞利慢衰落信道条件下 ,提出三节点 B ICC方案 ,并 分析了成对错误概率 ,分析结果表明 B ICC 方案可以获得三 阶完全分集 ,计算机仿真验证了该结论的正确性 。 B ICC 方 案的缺点是处理时延大 ,当在两帧之间交织时 , 用户需要接 收完两帧的未打孔部分的信息后才能进行处理 ,影响了系统 的有效性 。当系统实时性要求较高时 ,需要在有效性和可靠 性之间进行权衡 。 参考文献 [ 1 ]   Sendonaris A , Erkip E, Aazhang B. U ser Cooperation D iversity2 Ⅰ, Ⅱ [ J ]. IEEE Trans on Comm , 2003, 51 part ( 11 ) : 1927 - 1948. [ 2 ]  Nosratinia A , Hunter T E, Hedayat A. Cooperative Com 2 munication in W ireless Net ork [ J ]. IEEE Commun M ag2 w azine, 2004, 42 (10) : 74 - 80.
1

( 1. Postg radua te Team 3; ICE; PLAUS T; N an jing J iangsu 210007, Ch ina; 2. D epa rtm en t of W ireless Comm un ica tion; ICE; PLAUS T, N an jing J iangsu 210007, Ch ina) Abstract:A bit interleaved coded cooperation (B ICC) scheme is p roposed over slow 2fading Rayleigh channels In this scheme, . encoded bits of the user or the partner are partitioned w ith two parts; each part is interleaved bet een the continuous two frames, w mapped on a BPSK constellation and then transm itted on the allocated tim e slots The pairwire error p robability of B I . CC scheme is de2 rived. Sim ulations show that the coded cooperation w ith bit interleaver can achieve three full diversity over slow 2fading Rayleigh chan2 nels . Key words: diversity; coded cooperation; bit interleaver; pair ise error p robability w

Abstract:Design of traffic light controller using VHDL language is made in this article, and it takes the advantage of Quartus II design softw are p latfor for the sim ulation system , the comp iler and downloads to the FPGA / CPLD p rogrammable logic devices For m . the digital circuit generated is integrated, so there is no w iring p roblem that occurred in traditional design, it has low failure rate and high reliability A s a result of EDA technology, it greatly shortens the development cycle and imp roves the design efficiency; the sys2 . tem has the characteristics of flexible design, simp le and stable performance. Key words: traffic light controller; FPGA; VHDL (上接第 49 页 )

D esign and Ana lysis of a B it In terleaved Coded Coopera tion Schem e
L i Ke , Gao Yuan 2yuan
2

L i Chun2yu, Gao Yuan

[ 3 ]  Laneman J N , Tse D N C, Wornell G W. Cooperative D iversity in W ireless Net orks: Efficient Protocals and w Outage Behavior[ J ]. IEEE Trans on Information Theory Dec, 2004, 50 (12) : 3062 - 3080. [ 4 ]   Hunter T E, Nosratinia A. Coded Cooperation Under Slow Fading, Fast Fading, and Power Control[ C ]. Proc A silomar Conference on Signals System and Computers . CA: Pacic Grove, Nov, 2002. [ 5 ]  Mohhammad Janani Coded Cooperation in W ireless Com 2 . munication: Space 2Tim e Trans ission and Iterative Deco2 m ding[ J ]. IEEE Trans on Signal Processing, 2004, 52 ( 2 ) : 346 - 349. [ 6 ]   Hunter T E, Nosratinia A. D iversity Through Coded Coope 2ration [ J ]. IEEE Trans W ireless Commun. , Feb, 2006, 5 (2) : 283 - 289. [ 7 ]   Caire G, Taricoo G, B iglieri E. B it2interleaved Coded Modulaton[ J ]. IEEE Trans on Information Theory, 1998, 44 ( 5 ) : 927 - 946. [ 8 ]   Proakis J G D igital Communication [ M ]. O sborne . M cGraw 2 ill, 2001. H


相关文章:
基于状态机的交通灯控制
基于FPGA的交通灯设计(状态... 8页 5财富值如要投诉违规内容,请到百度文库投诉...基于状态机的交通灯控制华南理工VHDL实验基于状态机的交通灯控制华南理工VHDL实验隐...
状态机设计交通灯
基于硬件电路设计软件化的思想,根据路口交通灯控制功能要求,以可编程逻辑 器件(...特别是可以定义符号化枚举类型的状态,使 VHDL 综合器对状态机具有强大的优化功能...
交通信号灯VHDL状态机
交通信号灯VHDL状态机_计算机软件及应用_IT/计算机_专业资料。library ieee; use...用VHDL和有限状态机设计... 3页 1下载券 基于VHDL状态机设计的智... 6页...
VHDL状态机的设计
VHDL状态机的设计 - 状态机电路设计 状态机(STATE MACHINE)可以说是一个广义时序电路,触发器, 计数器,移位寄存器都算是它的特殊功能的一种.在电子设计自动化 ...
基于VHDL的Mealy状态机设计
基于VHDL的Mealy状态机设计 - 基于 VHDL 的 Mealy 状态机设计 物理与电子信息科学系 姓名: 姓名:孙家芳 指导教师: 指导教师:胡湘娟 电子信息科学与技术专业 学号...
状态机VHDL讲解
状态机VHDL讲解 - VHDL 的结构非常适合编写状态机, 而且编写方式不唯一, 电路的集成也会随着编写的方式 而改变。状态机的设计主要用到 case when 和 if else ...
VHDL状态机程序
VHDL状态机程序_信息与通信_工程科技_专业资料。VHDL状态机程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY FSM IS...
VHDL状态机111000
VHDL状态机111000_工学_高等教育_教育专区。图像识别算法与系统设计题目:VHDL 第一次作业给定任一二值图像,从中 串行检测序列 111000 姓名:刘振宇 学号:1502121227 ...
基于VHDL语言状态机编写流水灯
基于VHDL语言状态机编写流水灯_电子/电路_工程科技_专业资料。基于VHDL语言利用状态机编写流水灯 程序采用元件例化方式编写基于VHDL 语言状态机编写流水灯采用元件例化...
状态机及其VHDL设计
状态机及其VHDL设计 - 第7章 状态机及其 VHDL 设计 内容提要: 内容提要:有限状态机(Finite State Machine,简称 FSM)是一类很重要的时序电路, 是许多数字...
更多相关标签: