- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
假设:把两个黄灯时间设相同5S交通灯控制器设计应用场合:繁忙的高速路与较少使用的农场路相交设计要求:探测器沿着农场路放置,只要有车辆等待着穿越十字路口,就发出信号C。交通灯按照如下方式操作:若农场路无车辆,则在高速路保持绿灯。在探测农场路有车辆,高速路上的交通灯应由绿到黄,再到红,并允许农场路方向灯变绿,绿灯亮一段时间,由绿变黄再到红。这时即使还有车辆穿越高速路,高速路的绿灯也要亮一段时间假设:把两个黄灯时间设相同5S将高速绿灯最短时间和农场路绿灯最长时间设置为相同10S仅需一个计数器,能对两个时间间隔发生信号:一个间隔短、一个间隔长理解问题确定输入、输出、控制器的状态配置输入信号Reset:将控制器置于初始状态clk:系统时钟信号C:探测农场路上两个方向的车辆输出信号HG、HY、HR:分别点亮高速路上的绿灯、黄灯、红灯FG、FY、FR:分别点亮农场路上的绿灯、黄灯、红灯转换过程时间显示状态按照输出组合唯一原则,仅有4种不同的输出,因此控制器有4个不同的状态HG:高速路亮绿灯(农场路亮红灯)HY:高速路亮黄灯(农场路亮红灯)FG:农场路亮绿灯(高速路亮红灯)FY:农场路亮黄灯(高速路亮红灯)为方便实验,探测器由按键代替。当按下FPGA开发板上按键时,产生的触发信号相当于检测到农场路上有车。由于FPGA板上led资源有限,农场和高速路上的交通灯由两个LED管代替,HG状态显示00,HY状态显示01,FG状态显示10,FY状态显示11Spartan-3E开发板有两个7段数码管,显示状态为转换过程剩余的时间。010203基于Spartan-3E开发板交通灯控制器设计系统模块图(硬件电路)控制器有限状态机将Reset,CLK,TL(相对长时间已到点)和TS(相对短的时间已经到点)以及经过同步之后的C(people)信号等作为输入,并产生ST(复位定时器,开始对长和短时间间隔进行计数)信号定时器子系统将Reset,CLK和ST信号作为输入,产生TL和TS为输出车辆传感器子系统具有一个异步输入C,而它的输出为C同步信号交通灯译码器将编码后的交通灯控制信号转换成不同的信号,分别驱动独立的交通灯问题分解车辆传感器输出译码和交通灯显示定时器(短时间间隔TS和长时间间隔TL定时器)控制器的有限状态机次态和输出组合逻辑状态寄存器(n个状态位,其中n由状态编码决定)车辆探测器0102嵌在路上的双掷开关用来判断是否有车辆到达因为车辆可在任意时刻到达,车辆探测器是异步工作的,为了将车辆识别信号同步化,该信号必须通过一个同步触发器,该触发器由系统时钟控制车辆探测器(sensor.v模块)输入信号为clk,reset_n,people,其中people信号来自按键。输出信号为people_valid,表示检测信号有效。键盘检测原理:当按键按下时,输入电平由高变低,按键松开后,输入电平有低变高,如此会产生一个下降沿和一个上升沿,只要扑捉到这两个沿,就可以确定按键按下。键盘防抖原理:在按键被按下的瞬间,由于物理上的原因,导致按键在被按键的瞬间的过程中其实是处于高电平和低电平之间进行抖动,加上本实验的时钟频率很高,容易产生信号采集错误,导致检测失败,无法得到正确的结果。若要正确防抖,需要在检测到按键上升沿后延迟一小段信号在进行上升沿和下降沿检测。实验三按键检测实验交通灯译码器使用2:4译码器交通灯状态显示模块(segled.v)Spartan-3E开发板上提供两个LED七段数码管,可以显示数字。开发板上采用的是共阴的,即:低点亮。在Spartan-3E开发板上LED数码管不是直接连在FPGA上,而是通过74HC595的8bit的串转并芯片连接到FPGA上的,这样连接的目的是可以更有效的使用FPGA的IO管脚,然后两个数码管再通过选通管脚选通。农场和高速路上的交通灯4种状态由两个LED管代替。HG状态显示00,HY状态显示01,FG状态显示10,FY状态显示00交通灯状态显示模块(segled.v)输入信号有:clk,reset_n,traffic_state,data_sel_temp,其中traffic_state为信号灯,直接驱动LED,data_sel_temp为送到两位数码中要显示的时间模块输出信号分别为:led_b0,ledb1,led_data,led_oe_n,led_rck,led_srck。led_b0,led_b1作为选通数码管信号,高电平有效。led_data,串行输入数据信号led_oe_n,选通74HC595,低电平有效。le
文档评论(0)