- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FPGA课程设计
交通信号灯控制器
学院名称专业名称学生姓名学号指导教师二〇一四年十二月交通信号灯控制器
一、设计要求
位于十字路口的交通灯,在A方向和B方向各有红、黄、绿三盏灯,按所列顺序进行循环,交通灯循环顺序见表1所示。其中1表示灯亮,0表示灯灭。
表1交通灯循环顺序
东西方向南北方向红灯黄灯绿灯红灯黄灯绿灯100001100010010010010100001100010100010010100010(1)对持续时间的要求如下:
东西方向绿灯???,南北方向红灯亮,时间10秒
东西方向或南北方向黄灯亮,时间持续2秒。
东西方向红灯亮,南北方向绿灯亮,时间持续10秒。
(2)如果实现发生紧急事件,如救护车、警车、抢险车通过,可以手动控制四个方向的红灯全亮。
画出交通灯的状态转移图。要求用状态机输入方法实现交通灯的状态转移。时间控制可以用HDL语言设计实现。
二、原理说明
采用计数器产生交通灯状态跳转的信号,同时输出当前倒计时给数码管显示模块控制数码管显示倒计时。
根据交通灯循环顺序表可以得到如表2的循环状态表,遇到紧急状况的时候进入状态零,这时候东西方向和南北方向都是红灯禁止通行,紧急状态结束后条件满足的情况下状态依次往后跳转。
表2 交通灯循环状态表
状态东西方向南北方向时间0 红灯亮红灯亮1绿灯亮红灯亮10s2黄灯亮红灯亮2s3红灯亮绿灯亮10s4红灯亮黄灯亮2s
根据表2交通灯循环状态表可以画出交通灯循环的状态转移图,状态图如下:
s1=0
s2=4b0001
s1=0
s2=4b1000
St1
s1=0
s1=1
s1=1
s1=1
St2
St4
St0
s1=1
s1=0
s2=4b0010
s1=0
s2=4b0100
St3
图1 交通灯状态图
三、总体设计和仿真
3.1总体结构
交通信号控制器包括分频模块、计数模块、时间控制模块、数码管显示模块和主控制模块。分频模块将50MHz的时钟分频到1Hz,计数模块以秒为单位记时,当计数器计数到一定的时间后,主控电路改变输出状态,数码管显示模块显示时间倒计时。
图2 交通灯控制原理图
3.2各个分模块的设计
分频模块
分频模块(clk_1Hz)的功能是将50MHz的时钟频率分频到1Hz,输出给计时模块。分频模块的Verilog程序见附录。
计数器模块
计数器模块(counter)的功能是对分频模块产生的1Hz频率进行计数得到10s钟和2s的倒计时,并且将倒计时数值输出给数码管显示模块(led_out)。经过第一个10s的时候输出s2为1000,在经过一个2s的时候s2输出为0100,再经过10s之后s2为0010,然后再计时2s后s2输出为0001,如此不断的经过计数后循环的让s2变化,用于控制状态的跳转。计数器模块的Verilog程序见附录。
仿真结果:
局部放大
S2=0100
S2=1000
图3 计数器仿真结果
数码管显示模块(led_out)
数码管显示模块的功能是将当前倒计时的数值输出显示,控制数码管显示。数码管显示模块的Verilog程序见附录。
时间控制模块(time_control)
时间控制模块的功能是控制选择不同的计算器,不同的计数器对应于不同的时间间隔,这里控制的是10-2s的计数器和15-5s的技术器。时间控制模块的Verilog程序见附录。
主控制模块(traffic_control)
主控制模块的功能是控制红黄绿灯的显示,当计数器计时完成状态就跳转到下一个状态。
利用状态图输入法生成程序,在工程下面建立状态图输入工程,然后绘制状态图,绘制好的状态图编译保存生成Verilog程序
图4 状态图输入法
将生成的Verilog程序添加到工程里面,用modelsim进行仿真,并绘制其状态图,以检验生成的程序是否正确。
图5 Modelsim仿真绘制的状态图
局部放大
r1y2
y1r2
r1g2
r1g2
g1r2
图6 主控电路仿真结果
这里r1g2表示南北方向红灯亮东西方向绿灯亮,r1y2、g1r2、y1r2、r1g2同理。
3.3工程总体结构
设计完成后工程的总的结构如下:
图7 工程结构
图8 总的电路图结构
3.4结构优化
当前设计的资源利用情况如下图所示:
图9 优化前资源利用情况
状态编码可以采用顺序编码和独热编码,顺序编码电路简单触发器资源使用少,但是状态译码复杂,系统速度较慢;独热编码电路较复杂,但简化了译码逻辑,系统较快,可用于高速状态机设计。
设计中有一个分频可以简化,不需分频直接使
您可能关注的文档
最近下载
- 《机械装调技术》电子教案 模块五 整机调试与运行任务一 齿轮啮合齿侧间隙的检测与调整.doc VIP
- 青花瓷 完美演奏版 周杰伦 钢琴谱 数字 简谱.pdf VIP
- 第38届物理竞赛决赛实验考试答题纸 .pdf VIP
- 现代医药物流交易的配送中心建设项目可行性研究报告.doc VIP
- 2025-2026学年初中生物学人教版2024八年级上册-人教版2024教学设计合集.docx
- 养生馆卫生管理制度(3篇).docx
- 健康管理师课件第一章--健康管理概论.ppt VIP
- JBT 4333.4-2013 厢式压滤机和板框压滤机 第4部分:隔膜滤板.pdf VIP
- 电信反诈骗演讲稿模板5篇.docx VIP
- 基于光纤布拉格光栅的温度测量系统设计与应用.docx VIP
文档评论(0)