简易交通灯控制电路.pptx
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
时序图
初始状态 black
Enable=0, Status=1
清零端为低
Enable=1
第一个状态 Green
Enable=0, Status=1
第三个状态 Red
Enable=1
Enable=0, Status=1
第二个状态 Yellow
Enable=1
假设在 0 时刻,加上系统时钟,首先要进行 reset 清零,这时在控制模块的 计数器会清零,三 个灯都是灭的状态,控制状态跳转的使能端enable 等于0,等待 着清零结束,开始工作;七段译码也 不会显示。 在 reset 变低之后,系统开始正常工作。 首先是分频时钟开始工作,在计数 器达到第一个
据译码模块黄灯闪亮控制端来输出各灯的具体状态。
1)顶层模块: 此模块只做例化,即对底层的控制模块和译码模块 进行例化,而不做逻辑设计。
2)控制模块: 此模块是本程序的主体,主要是控制各个灯颜色( 此模块并不控制黄灯的闪烁) 的转换,以及倒计时时间输出
系统时钟 sysclk_10Hz
分频
分频时钟 sub_clk_1Hz
25000000 之前,分频时钟都是低电位,到 25000000 的时候分频时钟 的第一个上升沿来临,
此时状态控制开始运转,先工作的是绿灯,它会经
过从 39 到0 的倒计时过程,同时译码模块也开始 工作,颜色控制colour 是100,表征绿灯的点亮, 经七段译码,这个倒计时数字也会同步显示出来
经过 40s(也就是经过 40*1Biblioteka Baidu 个系统时钟上升沿之
设计思路
基本原理
用Verilog实现十字路口简易交通灯控制原理。南北向红黄 绿为20s:5s:40s 工作时钟10hz 黄灯1hz闪烁。Verilog语 言被广泛的应用在电路设计中。它的设计描述可被不同 的工具支持和实现。利用其自顶向下的设计方法来实现 交通灯控制原理,使道路交通正常运转。
分频
控制
时序说明:首先还是加上系统时钟之后,用 reset 清零,则计数器清零、所 有灯都不亮。但reset 为 1 之后模块开始工作,首先是计数器开始计数,随 之分频 时钟会根据计数器的变化而周期变化,绿
灯会先亮 40 秒,之后黄灯也会亮(闪烁 在译码模 块实现)5 秒,然后就是红灯亮20 秒,以后就是循 环以上步骤的过程, 同时在循环过程中,倒计数
频率大,第一要进行分频,使其成为1Hz 的时钟信 号,第 二利用分频后的时钟信号对电路进行控制
,开始先对状态跳转进行控制,,用 case 语句控 制三灯亮与灭,紧跟着进行倒计时的过程。
第三输出个位和 十位上的数即可,要显示倒 计时是很容易实现的,直接用两个七段译码即可。
最后要控制黄灯的闪烁,还是要先产生分频时钟, 作为控制端,控制模块各灯 亮与灭作为输入,即 可产生黄灯闪烁的效果。 另外,作为全局控制端 ,reset 信号是清零用的,在有时钟信号的地方就 有 reset 。
控制
倒计时 各位
输出
倒计时 十位
输出
Black
Reset=0
20s 之后
green 5s 之后
40s 之后
red
yellow
输出
控制三个 灯亮与灭
输入:sysclk_10Hz 全局时钟信号,10Hz Reset 全局复位端,高电平有效 输出:dout_1s 倒计时个位上数字 dout_10s 倒计时十位上数字 light_select 各个灯状态 light_select(只是控制亮与 灭,不 管黄灯闪烁)
简易交通灯控制电路
12电信2班 刘超凡 李莹
设计要求 设计思路及步骤 仿真波形 预期结果
设计要求
完成简单十字路口直行的交通灯控制电路设计。 (1)十字路口,南北方向红:黄:绿为20s:5s:40s且可 调; (2)工作时钟10hz; (3)各个方向的红黄绿等可用3个单色灯替代; (4)选做黄灯1hz闪烁; (5)完成全部流程:设计规范文档、模块设计、代码输入、 功能仿真、约束与综合、布局布线、时序仿真、下载验证 等。
后)绿灯亮的时间到,会自动转到黄灯状态,黄灯 是5 到0 的倒计时过程,译码的显示跟绿灯一样, 只是黄灯的亮会加一个1Hz 的时钟控 - 4 - 制端,1 秒内只有半秒,黄灯是亮的,从 5秒到4.5 秒之间 黄灯是亮的,然后 4.5 到 3 是灭的,如此继续下去, 直到5 秒结束。又经过 5(5*10 个系统时钟上 升
控制模块输入
点亮对应数码管 点亮对应数码管
输入端口: sysclk_10Hz 全局时钟信号,10Hz reset 全局复位端,高电平有效 din_1s 显示器个位数据,由控制模块输入 din_10s 显示器十位数据,由控制模块输入 light_sel 选择那盏灯亮,由控制模块的输入 输出端口: colour 最终显示哪盏灯亮,可与硬件相连 led_data_1s 显示器个位数据的译码 led_data_10s 显示器十位数据的译码
输出:color (最终各灯状态亮或闪) led_ctrl_1s (个位七段译码) led_ctrl_10s(十位七段译码
时序说明:加上时钟信号之后,首先用 reset 清零, 然后控制模块会分频产 生分频时钟,根据分频时
钟的高与低,会控制各个状态之间的跳转,译码模 块会同 步通过数码管来显示倒计时数,并且会根
的数会同步输出,各灯亮与灭状态也会同步输出。
3) 译码模块: 此模块主要有两个作用,控制黄灯闪烁以及对倒计时时间进行 译码输出。
系统时 钟
控制
分频 1Hz
产生
黄灯闪 烁控制 端
绿灯 黄灯 红灯
亮 40s 闪 5s 亮 20s
各灯状态
输入
七
输入
倒计时个 位,由
段
控制模块输入
译
码
倒计时十 位,由
器
输入
沿),状态转移到红灯,然后显示及七段译码过程 与绿灯相似。至此一个周期已 经完成,接下来就
是循环执行以上步骤的过程,直到有reset 清零端 打断其正常工 作。
总体上分为三个大模块,即:顶层模块、控制模块、译码模块(包括 显示模块)。
顶层模块
控制模块
译码模块
输入: sysclk 10Hz (全局时钟信号) Reset (全局复位端,高电平有效)
1hz 时钟
系
统
程序时 总体设计
钟
信
号
分频
个位 各 个 十位 状 态 转 变
分频时钟
七段译码 七段译码
黄灯闪烁控制
绿红亮 65s 黄闪 5s
全局控制信号 reset
首先,输入的10Hz 的系统时钟和全局控制端 reset ,输出为个位数字的七段 译码,十位数字七 段译码以及各个灯最后状态。 然后由于系统时钟