Tag: Lattice
-
交通灯控制器的设计——竞赛整理(二)
由于是直接从word中复制过来的,图片无法导入,如果想查看全文,请点击这里下载PDF文档。 关键词 交通信号系统、VHDL语言、ispLEVER、Lattice、ispLSI1032E 题目要求 1. 路型:十字交叉 2. 相变周期:30s 3. 绿闪时间:5s 4. 黄灯时间:2s 5. 绿信比:1:2 6. 定时输入:256Hz TTL 7. 两位数码倒计时 8. 强制放行按钮:东西、南北方向(任意按钮解除) 摘要 本设计的红绿交通灯信号系统为模拟实际的十字路口交通信号灯。故外部硬件电路方面包括:两组红绿灯、两组七段显示器、一组手动与自动控制开关。软件方面:将红绿灯交通信号系统划分成若干个子电路,赋予VHDL程序代码实现,将各个小电路相连接。交通灯系统可以调整红绿灯电路的强制通行和复位,以增加灵活性。 一、设计状态转移图及软件模块图 1、绘制软件模块图 2、利用状态机绘制状态转移图 二、交通信号系统VHDL模块 该系统由四个子电路构成(如图): (1) clk_gen 时钟脉冲发生电路(即分频电路) (2) count_down 倒计时控制电路 (3) traffic_mux 计数秒数选择电路 (4) traffic_fsm 红绿信号灯控制电路 1、 clk_gen 时钟脉冲发生电路 在红绿交通信号系统中,大多数的情况是通过自动控制的方式指挥交通的。此,为了避免意外事件的发牛,电路必须给一个稳定的时钟才能让系统正常运作。但为了配合高峰时段,防止交通拥挤。有时也必须使用手动控制,即让交警能够顺利指挥交通。clk_gen电路路最主要的功能就是产生—些额外的输出信号,井将其用做后续几个电路的使能控制与同步信号处理。 clk_gen时钟脉冲发生电路VHDL程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity clk_gen is port( reset: in std_logic; clk: in std_logic; ena_two: in std_logic;…