技术规范 功能描述: 实现一个由一条主干道和一条支干道的汇合点形成的十字路口的交通灯控制器,具体功能: (1) 主、支干道各设有一个绿、黄、红指示灯,两个显示数码管。 (2) 主干道处于长允许通行状态,而支干道有车来时才允许通行。当主干道允许通行亮绿灯时,支干道亮红灯。而支干道允许通行亮绿灯时,主干道亮红灯。 (3) 当主干道、支干道均有车时,两者交替允许通行,主干道每次通行 45 秒,支干道每次通行 25 秒,在每次由绿灯向红灯转换的过程中,要亮 5 秒的黄灯作为过渡,并进行减计时显示。 A B 45秒倒计时绿灯亮 50秒倒计时 红灯亮 30秒? 红灯亮 25秒绿灯亮 5秒黄 5秒黄 图一:交通灯闪烁时序图 每个周期结束时都要进行支干道是否有车的检测,若有车则进行下一个周期,若没有,则主干道亮绿灯,支干道亮红灯,直到检测到支干道有车。 系统总体框图: 根据设计要求和系统所具有的功能,并参考相关的文献资料,经行方案设计,可以画出如下图所示的交通信号灯控制器的系统框图。 数码管位码 数码管段码 LED灯 clk car rst 时钟分频模块 交通灯控制及计时模块 扫描显示译码模块 图二:系统总体框图 I/O管脚的描述 名称 方向 电平 位宽 功能 clk Input 3.3V 1 系统时钟信号(10KHZ) car Input 3.3V 1 检测信号 rst Input 3.3V 1 复位信号 led Output 3.3V 6 LED灯 sel Output 3.3V 7 数码管段码 seg Output 3.3V 4 数码管位码 表一:系统总体I/O管脚的描述 注:其中系统时钟的频率选为10KHZ,复位采取同步复位方式,且低有效。支干道检测到有车时, car=1;否则,car=0。 方案对比:在交通灯控制器的设计中,交通灯控制及计时模块是本设计的关键模块。这个模块的实现可以用状态机,也可以用if—else语句来写。相比较而言,用状态机来写比较清楚明白直观,且容易避免出现未知状态。所以选用状态机来写此模块。 拟选用的FPGA类型:ep1cq240c8n 总体设计方案 交通灯 一、 系统详细框图 在系统总体框图的基础上进一步详细设计,得到如下系统详细框图 数码管位码 数码管段码 LED灯 clk car rst 时钟分频模块 交通灯控制及计时模块 扫描显示译码模块 clk_o...