EDA_ 交通灯.ppt

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

一、回顾点评 EDA技术项目9_实用彩灯控制系统设计 2.设计方案 二、项目要求 使用EDA实验箱上交通灯模块中的12个发光二极管(东西EW方向为主干道,南北NS方向为支干道),指示通行信号。 使用EDA实验箱上的最左边2个LED数码管显示东西EW方向(主干道)倒计时,最右边2个LED数码管显示南北NS方向(支干道)倒计时。 使用EDA实验箱上的K1开关设置主干道上的传感器发出的信号,K2开关设置次干道上的传感器发出的信号。 一般情况下,如果主干道和支干道均无车辆要求通行,应该保证主干道绿灯亮,支干道红灯亮。此时,若支干道有车辆要求通行,则应允许支干道车辆通行;若主干道、支干道均有车辆要求通行,则应先保证主干道通行30秒钟后,才允许支干道通行。在允许支干道车辆通行前,应先使主干道黄灯亮5秒钟,支干道红灯保持;5秒钟后,才变成主干道红灯亮,支干道绿灯亮。在支干道保持畅通时,若主干道无车辆要求通行,则支干道始终保持畅通;如果此时支干道无车辆要求通行,则应立刻准备使主干道通车,支干道禁止通行;若此时主干道有车辆要求通行,并且支干道通行时间已超过20秒钟,则应该准备使主干道通行。在允许主干道通行前,应先使支干道的黄灯亮5秒钟,主干道红灯保持;5秒钟后,变成主干道绿灯亮,支干道红灯亮。 实用交通灯控制系统只能使用单一外部时钟。 四、项目分析 1.交通信号灯的历史与发展 其中传感器部分的作用是:通过在主干道和支干道上所设的传感器,可以检测到主、支干道上是否有车辆要求通过十字路口。主支干道上的传感器发出的信号分别用Sa和Sb表示,Sa和Sb为‘l’,表示有车辆要求通行;否则无车辆通行要求。时钟电路为系统提供一个稳定的clk秒脉冲信号,以供计时和系统同步控制。定时器电路在控制器提供的计时信号cnt和清零信号cr的作用下完成定时功能,并向控制器提供5秒钟、20秒钟和30秒钟的计时信号。控制器的设计是本系统的核心,控制器的作用是:根据传感器和定时器提供的信号,判断、调整和控制整个系统的状态,并控制定时电路工作,提供适当的灯光控制信号。其中控制主、支干道上红、黄、绿灯的信号分别用Ra、Ya、Ga和Rb、Yb、Gb表示;其值为‘1’表示灯亮,为‘0’表示灯灭。 五、相关知识 有限状态机(简称状态机)相当于一个控制器,它将一项功能的完成分解为若干步,每一步对应于二进制的一个状态,通过预先设计的顺序在各状态之间进行转换,状态转换的过程就是实现逻辑功能的过程。 状态机的输出信号逻辑值必然与当前状态有关,但不一定与输入变量有关,因此根据状态机的输出变量是否与输入变量有关,可将状态机分为莫尔型(Moore)状态机与米里型(Mealy)状态机两种。 1、莫尔型状态机 一个基本的状态机应具有以下脚位: 输入变量:input; 脉冲输入端:clk; 状态复位端:reset; 输出变量:output。 ⑴VHDL设计 用VHDL设计状态机比用原理图方式设计更加方便,尤其对状态较多的状态机,用VHDL设计更能体现VHDL的优势。 下面仅介绍用VHDL设计一个基本的Moore型状态机的一般形式,在这个VHDL设计中,设某状态机的状态为两态(s0和s1),在当前状态为s0时,要求只要时钟有效边沿到来,不管输入变量的逻辑值是什么,状态机的状态必须转为下一状态s1;而当前状态为s1时,如果输入变量不为“1”,则当前状态始终维持不变,即保持为s1,直到输入变量为“1”时,状态才转到状态机当前状态,为s0时,输出变量为“0”;当前状态为s1时,输出变量为“1”,即该状态机的输出仅由当前状态决定,是一个二态莫尔型状态机。 ENTITY statmach IS PORT( clk : IN BIT; input : IN BIT; reset : IN BIT; output : OUT BIT); END statmach; ARCHITECTURE a OF statmach IS TYPE STATE_TYPE IS (s0, s1); --自定义了两状态(s0, s1)的数据类型 SIGNAL state : STATE_TYPE ; --信号state定义为STATE_TYPE类型 BEGIN PROCESS (clk) BEGIN IF reset = 1 THEN state = s0; --当复位信号有效时,状态回到s0 ELSIF (clkevent AND clk =

文档评论(0)

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

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

1亿VIP精品文档

相关文档