fpga课程设计---基于vhdl的交通灯控制器设计

fpga课程设计---基于vhdl的交通灯控制器设计

ID:11391004

大小:566.50 KB

页数:11页

时间:2018-07-11

fpga课程设计---基于vhdl的交通灯控制器设计_第1页
fpga课程设计---基于vhdl的交通灯控制器设计_第2页
fpga课程设计---基于vhdl的交通灯控制器设计_第3页
fpga课程设计---基于vhdl的交通灯控制器设计_第4页
fpga课程设计---基于vhdl的交通灯控制器设计_第5页
资源描述:

《fpga课程设计---基于vhdl的交通灯控制器设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、CPLD/FPGA开发技术大作业题目:基于VHDL的交通灯控制器设计院系:信息与电气工程学院班级:08级电子信息工程学号:1288401912884021学生姓名:××××××指导教师:成绩:2011年7月基于VHDL的交通灯控制器设计一、系统功能与要求1系统功能:实现十字路口的交通灯显示。2系统要求:(1)用两组红、黄、绿三色灯作为两个方向的红、黄、绿灯;(2)用两组数码管作为东西和南北方向的倒计时显示,显示时间为红灯45秒、绿灯50秒、黄灯5秒;(3)按照实际红绿灯规则,使红、黄、绿灯与其显示时间。二、设计思路及实现方法1基本思路要完成本实验,首先必须了解交通路

2、灯的亮灭规律。本实验需要用到实验箱上交通灯模块中的发光二极管,即红、黄、绿各三个。依人们的交通常规,“红灯停,绿灯行,黄灯提醒”。其交通灯的亮灭规律为:初始态是两个路口的红灯全亮,之后东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。2实现方法(1)交通灯控制器用一个有限自动机来实现上述功能,它定义了5种状态,见下表:南北灯东西灯状态0绿红状态1黄红状态

3、2红绿状态3红黄状态4红红其中状态4为初始状态,其状态转换图如下:值状态00001001010211031114在结构体中包含一个进程,此进程带一个显示敏感信号表,其敏感信号包括TimeL,Times和Cars。所谓敏感信号表,如以下语句:Process(cars,timeoutL,timeoutS)带显示敏感信号表的进程,当敏感信号表中的任何一个信号上发生事件时,此进程将被激活。进程说明部分定义的几个变量的意义如下:newstate:下一个状态值。current_state:当前状态值。newHL:南北方向灯的状态,三位位长的二进制位串,每一位分别表示绿、黄红灯的

4、亮灭状态。如“100”表示路灯为红灯,“010”表示路灯为黄灯“001”表示路灯为绿灯newFL:东西方向灯的状态,三位位长的二进制位串,每一位分别表示绿、黄红灯的亮灭状态。newST:用于启动外部计时器的输出位。在进程中使用一条case语句完成状态的转换关系。Casecurrent_stateisWhen"000"=>newHL:=“100”newFL:=“001”;if(Cars="1")and(timeoutL="1")thennewstate:="100";newST:="1";newHL:="010";newFL:="001";elsenewstate:=

5、"000";newST:="0";endif;When"100"=>newHL:=“010”newFL:=“001”;if(timeoutS="1")thennewstate:="010";newST:="1";newHL:="001";newFL:="100";elsenewstate:="100";newST:="0";endif;When"010"=>newHL:=“001”newFL:=“100”;if(Cars="1")or(timeoutL="1")thennewstate:="100";newST:="1";newHL:="001";newFL:="0

6、10";elsenewstate:="010";newST:="0";endif;When"110"=>newHL:=“001”newFL:=“010”;if(timeoutS="1")thennewstate:="000";newST:="1";newHL:="100";newFL:="001";elsenewstate:="110";newST:="0";endif;When"111"=>newstate:="000";newHL:="100";newFL:="001";newST:="0";Whenothers=>endcase;在case语句的不同分支中又使

7、用if语句完成状态的判断和转换。需要注意的是信号在赋值之后,其值并不立即有效(这是由于delta延迟的存在所造成的),只有变量的值在赋值之后会立即有效。因此在本例中用于表示状态的current_stat被定义为变量。3、模拟结果分析模拟结果部分波形如图所示:初始时,东西路为红灯,其值为001,南北路上为绿灯,其值为100.当东西路上来车时,则南北路上的灯开始转为黄色,但此时东西路上的灯仍为红灯,同时有限状态机的状态开始发生变化。经过一段时间后,南北路转为红灯,同时东西路转为绿灯,同时有限状态机的状态变为010,再经过一段较短的时间后,不管东西路上是否有车,灯转为

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。