- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CPLD实现交通灯控制系统院系:电子工程学院班级:020711学号名:沈智强 一.预期功能分别成东西走向和南北走向的主干道和支干道,其交通信号灯,分别实现一下状态:S0:支干道没有车辆行驶,支干道绿灯,支干道红灯S1:支干道有车辆行驶,支干道绿灯,支干道红灯S2:主干道黄灯,支干道绿灯S3:主干道红灯,支干道绿灯S4:主干道红灯,支干道黄灯 状态 亮灯 停留时间S0G2,R2 50秒S1G2,R2 45秒S2Y1,G2 5秒S3R1,G2 25秒 S4 R1,Y2 5秒二.原理框图根据设计要求和系统所具有的功能,并参考相关的文献资料,经行方案设计,可以画出如下图所示的交通信号灯控制器的系统框图。 1kHZ 1kHZ 1HZ 支干道车辆检测 1kHZ 数码管及LED信号 根据以上设计思路,可以得到如下的顶层文件原理图顶层文件的实体图: 三.单元模块设计与仿真时钟分频模块 系统的动态扫描需要1HZ的脉冲,而系统时钟计时模块需要1HZ的脉冲。分频模块主要为系统提供所需的时钟计时脉冲。该模块将1kHZ的脉冲信号进行分频,产生1S的方波,作为系统时钟计时信号。其实体模块如下: 将END TIME改为5S CLK采用系统的1KHZ的时钟脉冲 仿真波形如下: 可以看到能够得到1s的时钟脉冲交通灯控制及计时模块 控制模块根据外部输入信号和计时模块产生的输出信号,产生系统的状态机,控制其他部分协调工作。计时模块用来设定主干道和支干道计时器的初值,并为扫描显示译码模块提供倒计时时间。控制及计时模块采用状态机进行设计,可以定义出5种状态,分别为S0:主干道绿灯,支干道红灯且没有车辆行驶;S1:主干道绿灯,支干道红灯或支干道有车辆驶入;S2:主干道黄灯,支干道红灯;S3:主干道红灯,支干道绿灯;S4:主干道红灯,支干道黄灯。利用CASE语句定义状态的转换方式及时间的变换方式,达到主干道绿灯亮45秒,支干道绿灯亮25秒,黄灯亮5秒的设计要求。其实体模块如下: CAR为支干道车辆检测开关在支干道有车的情况下,模块可以进行减计时CLK1S为1S的时钟脉冲TIME1H、TIME1L、TIME2H、TIME2L分别为主干道时钟高位、主干道时钟低位、支干道时钟高位、支干道时钟低位LED为LED灯发光情况,分别为主干道绿灯、主干道黄灯、主干道红灯、支干道绿灯、主干道黄灯、主干道红灯Count的总的系统时间,用来改变系统的状态仿真波形如下:通过仿真可以看到:当主干道绿灯,支干道红灯时,主干道倒计时高位置数0100,低位置数0101;支干道高位置数0101,低位置数0000;当主干道黄灯,支干道红灯时,主干道黄灯倒计时置数0101;支干道继续刚才的减计数;当主干道红灯,支干道绿灯时,主干道倒计时高位置数0011,低位置数0000;支干道高位置数0010,低位置数0101;当主干道红灯,支干道黄灯时,支干道黄灯倒计时置数0101;主干道继续刚才的减计数。在S4状态结束后,自动跳回到S0状态,继续判断支干道是否有车行驶,若有车行驶,则跳转到S1状态,给高、低位置数,继续进行减计时。系统根据COUNT的变化自动在各状态下跳变,当count为45时,跳变到S2状态;当count为50时,跳变到S3状态;当count为75时,跳变到S4状态;当count为80时,若支干道没有车跳变到S0状态,有车则跳变到S1状态。扫描显示译码模块扫描显示译码模块可以根据控制信号,驱动交通信号灯以及倒计时数码管的显示,其中数码管的显示采用动态扫描显示。其实体模块如下: CLK为1KHZ的系统时钟脉冲CLK1S为1S时钟脉冲CAR为支干道车辆检测开关SEL为数码管位码扫描SEG为数码管段码TIME1H、TIME1L、TIME2H、TIME2L为数码管计时的时间,由控制及计时模块为其赋值仿真波形如下:通过仿真可以看到:给CLK一个时钟脉冲,数码管的位码随CLK时钟的变化而进行扫描,由于CLK的频率较高,人的眼睛会有短暂的视觉停留,所以会看到4个数码管都在显示时间。四.顶层文件的编写将以上各个单元模块仿真成功后,再进行顶层文件的编写。将各个单元模块的变量赋值给顶层文件,从而将各个单元模块连接起来,统一调配。得到顶层文件的实体模块: CLK为1KHZ系统时钟脉冲CAR为支干道车辆行驶情况,高电平为有车行驶,低电平为无车行驶LED为交通灯发光情况SEL为数码管位码扫描SEG为数码管段码仿真波形如下:仿真后可以得到最终的结果:开始时,支干道没有车辆行驶。主干道处于常通行状态,支干道处于禁止状态;当支干道有车来时,主干道亮绿灯,经行45秒倒计时,支干道亮红灯,经行50秒倒计时;主干道45秒倒计时结束后跳变到黄灯
文档评论(0)