网站大量收购独家精品文档,联系QQ:2885784924

《Traffic Light》.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《Traffic Light》.doc

实验课程名称 Traffic Light 姓名:殷富有 学号:G院系:Computer school of NUDT 专业:微电子 题目要求 1.1功能描述 合理设计一个十字路口的交通信号控制电路,每个方向均为双向三车道:由北向南方向有两个车道,配直行、右拐、左拐共3盏信号灯,由南向北方向有两个车道,配直行、右拐、左拐共3盏信号灯。(信号灯由绿变红时,中间黄灯过渡时间为3s)。一般情况下,右转信号灯常绿,当东西或南北两路中任一道上出现特殊情况,例如有消防车,警车要去执行任务,此时交通控制系统应可由交警手动控制立即进入特殊运行状态,即两条道上的所有车辆皆停止通行,红灯全亮,封闭该路口,当特殊运行状态结束后,管理系统恢复原来的状态,继续正常运行。注:红绿灯亮的时间可自行规定然后设计,spec信号可以作为特殊情况下的控制信号。 1.2端口说明 类型 名称 位宽 描述 备注 input CLK 1 标准时钟信号,; input RST 1 同步复位信号,低有效,复位后维持有效至少 3 表示自北向南的直行信号灯,每一位从高到低(从左至右)分别表示红、绿、黄。高有效。 每次只有一位为高 output SN_LED_R 3 表示自南向北的右转信号灯,每一位从高到低(从左至右)分别表示红、绿、黄。高有效 每次只有一位为高 output SN_LED_L 3 表示自南向北的左转信号灯,每一位从高到低(从左至右)分别表示红、绿、黄。高有效。 每次只有一位为高 outpt SN_LED_S 3 表示自南向北的直行信号灯,每一位从高到低(从左至右)分别表示红、绿、黄。高有效。 每次只有一位为高 方案设计 2.1十字路口交通灯模型 图2.1 model of traffic light 2.2 十字路口交通灯设计顶层模块图 2.2 Frame of top of traffic light 一个双向三车道的十字路口交通信号控制电路顶层原理图如图2.2所示,输入信号为CLK-时钟信号、RST-复位信号、SPEC-特殊情况手动输入信号。输出信号对应图2.3的每个状态 2.3状态转换流图和状态转换图 图2.3 convert stream diagram of stages 图2.4 convert diagram of stages 信号灯状态转换有4+1个状态每个状态暗含一个绿灯到黄灯的过渡状态,所以总共有4*2+1=9个状态,每隔10s跳入下一个状态,信号灯由绿变红时,中间黄灯过渡时间为3s。 程序设计 3.1交通灯状态转换 always @(posedge CLK)//交通灯状态转换进程 begin if(!RST)begin //同步复位 输出全部置零 stages=s0; flag_stages=flag00; EW_LED_R=empty;EW_LED_L=empty;EW_LED_S=empty; WE_LED_R=empty;WE_LED_L=empty;WE_LED_S=empty; NS_LED_R=empty;NS_LED_L=empty;NS_LED_S=empty; SN_LED_R=empty;SN_LED_L=empty;SN_LED_S=empty; end else if(SPEC)begin //特殊情况全亮红灯 EW_LED_R=red;EW_LED_L=red;EW_LED_S=red; WE_LED_R=red;WE_LED_L=red;WE_LED_S=red; NS_LED_R=red;NS_LED_L=red;NS_LED_S=red; SN_LED_R=red;SN_LED_L=red;SN_LED_S=red; case(flag_stages) //特殊情况后 判断跳到特殊情况前的状态 flag00:stages=s0; flag01:stages=s1; flag02:stages=s2; flag03:stages=s3; flag04:stages=s4; flag05:stages=s5; flag06:stages=s6; flag07:stages=s7; default:stages=s0; endcase end else begin case(stages) s0:if(flag1==1)begin //状态0 10s 东西或西东直走与右转方向 stages=s1; end else be

文档评论(0)

mwap + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档