- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
修改后的EDA论文
PAGE \* MERGEFORMAT 12
【摘 要】
本系统采用GW48 EDA/SOPC实验箱来设计交通灯控制器,模拟实现了红、绿灯指挥交通的功能。它直接采用FPGA/CPLD芯片开发,用VHDL语言编程和QUARTUS Ⅱ6.0设计。交通灯控制器设计, 系统地阐述了用FPGA/CPLD实现数字电路的设计过程, 展示了FPGA/CPLD的强大功能和非凡特性。本交通灯控制器适用东西方向和南北方向的车流量大致相同的路口,红灯45秒,黄灯5秒,绿灯40秒,同时用数码管指示当前状态(红、黄、绿灯)剩余时间。另有一个紧急状态,当紧急状态出现时,两个方向都禁止通行,指示红灯。紧急状态解除后,重新计时并指示时间。
【关键词】
交通灯控制器,EDA,FPGA,quartusII
【正文】
一、总体设计慨要
1 设计要求
设东西方向和南北方向的车流量大致相同,因此红、黄、绿灯的时长也相同,定为红灯45秒,黄灯5秒,绿灯40秒,同时用数码管指示当前状态 (红、黄、绿灯)剩余时间。另外,设计一个紧急状态,当紧急状态出现时,两个方向都禁止通行,指示红灯。紧急状态解除后,重新计时并指示时间。
2 设计思路
如果采用VHDL语言直接编写,实现交通灯指挥功能,编写复杂困难,开发时间较长。编译后,不便读懂,找出错误很困难。故考虑采用模块层次化设计,将此设计分为四个模块:计时模块,状态控制模块,信号灯显示模块,数码扫描显示模块。将四个模块再分别用VHDL语言编写成,做成原理图模块,用原理图输入法做整个设计的顶层文件。此方案设计方便、简单,方法易懂、易操作,也易于寻找程序中的错误。
3 具体实现
根据交通灯控制器的功能与要求,将其总体电路分为状态控制,倒计时,数码管显示,信号灯显示模块(jtd ctrl,jtd time,jtd xs,jtd light)。jtd ctrl实现逻辑和时序控制,外部两路脉冲振荡器的频率选为1 kHz和1 Hz的信号,1khz信号用于显示模块的扫描,1 Hz信号用做倒计时模块的计数脉冲。M为紧急状态和自动运行状态的控制端。
总体框图如下:
二、交通灯原理分析
当M = 1时,进入紧急状态,S输出为B100100,即南北、东西向均为红灯亮。
当M = 0时,交通即开始正常工作。M=‘0’时,经过40秒, S由B“100010”
变为B100001,再经过5秒,S变为B010100,再经过40秒,S变为B001100,再经过5秒,S变为B100010……如此循环下去。
当M=‘1’跳变到M=‘0’时,数码管继续计时,恢复正常工作状态。
南北、东西方向的红绿灯按表一表二变化。
表一 交通灯状态转换表
东西(A)方向
红灯
红灯
绿灯
黄灯
45秒
40秒
5秒
南北(B)方向
绿灯
黄灯
红灯
红灯
40秒
5秒
45秒
表二 交通灯状态转换表
M
S
备注
1
100100
长时间亮红灯
0
状态1:100010
持续40秒,转到状态2
状态2:100001
持续5秒,转到状态3
状态3:010100
持续40秒,转到状态4
状态4:001100
持续5秒,转到状态1
注:S的六位分别对应东西方向(A方向)的红绿黄和南北方向(B方向)的红绿黄。‘1’表示亮,‘0’表示灭。
三、模块设计及仿真
(1)顶层文件的设计
图2 顶层原理图 大概顶层原理图设计可以依据系统框图进行,由反馈控制,倒计时,数码管显示,信号灯显示模块(jtd ctrl,jtd time,jtd xs,jtd
图2 顶层原理图 大概
顶层文件的仿真波形图如图3所示:
(2)状态控制模块(jtd ctrl)
状态控制模块根据倒计时模块(jtd time)的输出信号和1hz的时钟信号,产生系统的状态机,控制其他部分的协调工作。
该模块的源文件程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY JTD_CTRL IS
PORT ( CLK :IN STD_LOGIC;
AT,BT : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
S: OUT STD_LOGIC_VECTOR(1 DOWNTO 0));
END JTD_CTRL;
ARCHITECTURE JTD OF JTD_CTRL IS
SIGNAL Q :STD_LOGIC_VECTOR (1 DOWNTO 0);
BEGIN
PROCESS(CLK,AT,BT)
BEGIN
IF CLKEVENT AND CLK =1 THEN
IF(AT =X01)OR (BT = X01) THE
文档评论(0)