- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE \* MERGEFORMAT 24
PAGE \* MERGEFORMAT 1
一:智能交通控制器
设计要求
试设计民族大道与南湖大道十字路口的智能交通控制器,控制车辆的示意图如图1所示。
A 信号 B信号
C 信号 D 信号
交通信号灯的控制顺利A——B——C——DA,信号灯有红绿黄三色(红灯禁止通行;绿灯允许通行;黄灯警示,绿灯切换为红灯时,亮黄灯3秒)为错开早晚上下班高峰,信号灯采取分时控制,其中控制的时间表为:
时间段A信号灯B信号灯C信号灯D信号灯7:30~9:001分钟45秒1分钟15秒9:00~17:0030秒30秒30秒30秒17:00~19:0045秒20秒1分钟1分钟19:00~7:0020秒20秒20秒20秒要求:1)采用Verilog HDL设计
2)设计报告应包含RTL图,时序仿真结果图等
3)FPGA硬件平台推荐使用DE2
设计思路
要南湖大道和民族大道构成的十字路口的四个方向交通灯的控制系统,根据要求,分为四个时间段,但是由于上班时和下班时是车流通量的高峰期,所以要给控制系统加时间控制,可根据时间段执行路段的流通时间长短。在7:30~9:00时间段内,当A信号灯为绿灯时,这是车辆允许直行或左转,而其他三个方向的信号灯均为红灯,禁止通行。当A信号灯的数码管显示绿灯倒计时,其他方向的数码管也显示着红灯倒计时。60s倒计时完毕后,A信号灯由绿灯转为黄灯,进入3s的黄灯倒计时,其他方向交通灯继续保持着红灯状态,3s之后A信号灯黄灯倒计时完毕转为红灯,B信号灯由红灯转为绿灯,并开始45s倒计时,同上,当B信号灯转为黄灯时,黄灯又进入3s的倒计时,在黄灯倒计时结束后,C信号灯由红色转为绿色。重复之前的步骤,交通灯由A-B-C-D-A完成一个循环,然后在另外的三个时间段内,分别对应着信号灯在红绿灯运行的时间状态完成同样的循环步骤。
设计方案
总体上分为四个大模块,即:分频模块,数字钟模块、控制模块、译码显示模块。
设计图
EQ \o\ac(○,1)分频模块
由于所用的开发板中的晶振是50MHz,将它分频为1Hz,使其能供应时钟应用。
程序如下
打包后的
EQ \o\ac(○,2)数字钟设计
24进制计数器
24进制仿真图
60进制计数器的设计方法类似24进制计数器,不同的地方在于,60进制的设计思想是当计数到59时,置数清零,产生进位输出;而24进制的高低4位的清零和进位需要考虑个位计数到9和整个计满到23。由于本次要求在复位后,是7:30,所以分钟在复位后应该是30。在仿真无误后,进行打包
60进制仿真图
24小时的时钟完成
数字钟仿真
EQ \o\ac(○,3)控制模块
在四个路口分别在四个不同的时间段内控制交通灯的循环状况,以达到道路上路人和车辆的正常通行的目的。这里我们需要在每个路口放置三个LED灯和两个七段数码管,三个LED灯分别表示红绿黄三个不同的显示状态,数码管用来进行倒计时切换红绿黄灯的正常工作。当sk1,sk2为00时就是7:30到9:00这个时间段。当sk1,sk2为01时为9:00到17:00。当sk1,sk2为10时为第三个时间段。当sk1,sk2为11时为第四个时间段。
控制时间模块
时间模块
控制状态模块
always@(posedge sysclk_1Hz or negedge reset)
begin
if(!reset) // 有清零,灯都灭
begin
light_select=12b000000000000;
light_status=3d0;
enable=0;
end
else
if(enable==0) // 使能端为0则执行
begin
enable=1; // 使能端变1,下面只执行一次
case(light_status) // 控制状态跳转
0: begin // 状态
文档评论(0)