ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:290.96KB ,
资源ID:20014644      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20014644.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA报告交通灯控制器Word文件下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA报告交通灯控制器Word文件下载.docx

1、五、各模块功能介绍1.顶层原理图及基本原理如图1-1所示,系统时钟(48M)经过分频得到1HZ方波,为状态机和计数器提供时钟,lsdsn5.0六位总线分别表示主干道和支干道的绿灯、黄灯、红灯。ledsn5:主干道绿灯,ledsn4:主干道黄灯,ledsn3:主干道红灯,ledsn2:支干道绿灯,ledsn1:支干道黄灯,ledsn0:支干道红灯。当系统复位后,如果s输入一个低电平(主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒)状态机进入s0,主控电路c45输出一个高电平使能45s倒计时计数器(此时主干道绿灯亮,支干道红灯亮);当计数结束后,45s倒计时计数器

2、的cout输出一个进位信号,使状态机进入下一个状态s1,此时主控电路(状态机)c545输出一个高电平使能主干道5s倒计时计数器(此时主干道黄灯亮,支干道红灯亮);当计数结束后,5s倒计时计数器的cout输出一个进位信号,使状态机进入下一个状态s2,此时主控电路c25输出一个高电平使能25s倒计时计数器(此时主干道红灯亮,支干道绿灯亮);当计数结束后,25s倒计时计数器的cout输出一个进位信号,使状态机进入下一个状态s3,此时主控电路c525输出一个高电平使能支干道5s倒计时计数器(干道红灯亮,支干道黄灯亮);当计数结束后, 5s倒计时计数器的cout输出一个进位信号,使状态机重新进入下一个状

3、态s0,依次循环.当系统复位后,如果s输入一个高电平(主干道处于常允许通行的状态),此时状态机一直保持在s0状态。图1-1 顶层原理图图1-2 s=0时原理图仿真结果 当s=0时,表示主、支干道均有车时,两者交替允许通行,主干道每次放行45秒,支干道每次放行25秒,从仿真波形图上可以看到,ledsn5.0分别表示主干道绿、黄、红灯,支干道绿、黄、红灯,当复位后,主干道绿灯(ledsn5=1),支干道红灯(ledsn0=1);计满45秒后进入下个状态,主干道黄灯(ledsn4=1),支干道红灯(ledsn0=1);计满5秒后进入下个状态,主干道红灯(ledsn3=1),支干道绿灯(ledsn2=

4、1);计满25秒后进入下个状态,主干道红灯(ledsn3=1),支干道黄灯(ledsn1=1);计满5秒后进入下个状态,主干道绿灯(ledsn5=1),支干道红灯(ledsn0=1),依次循环.(sg和bt为译码电路的仿真结果,在此可以忽略)图1-3 s=1时原理图仿真结果当s=1时,表示主干道处于常允许通行的状态,此时从仿真图上可以看到状态一直保持在主干道绿灯(ledsn5=1),支干道红灯(ledsn0=1)。2.分频器如图2-1所示,这次交通灯的设计用到了两个分频器,一个是将系统时钟进行48M分频得到1HZ的时钟提供给状态机和计数器;另一个分频器是将系统时钟进行48K分频得到1KHZ的时

5、钟,给数码管动态显示模块作为扫频时钟用。这里采用的是事先写好的通用程序,分频系数可以根据具体需要进行修改,在此只给出原理图及VHDL源代码。图2-1 分频器原理图其VHDL代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.NUMERIC_BIT.ALL;-包含移位函数等.ENTITY int_div2 ISGENERIC ( F_DIV:Integer:=48000;-分频系数 F_DIV_WIDTH:=32-分频

6、计数器宽度 );PORT( clock : IN STD_LOGIC; clock_out: OUT STD_LOGICEND;ARCHITECTURE one OF int_div2 ISSIGNAL clk_p_r: STD_LOGIC;-上升沿输出时钟SIGNAL clk_n_r:-下降沿输出时钟SIGNAL count_p: STD_LOGIC_VECTOR(f_div_width-1 DOWNTO 0);-上升沿脉冲计数器SIGNAL count_n:-下降沿脉冲计数器-SIGNAL f_div_width_r:STD_LOGIC_VECTOR(f_div_width-1 DOWNT

7、O 0);SIGNAL clock_out_r:STD_LOGIC;SIGNAL full_div_p:-上升沿计数满标志SIGNAL half_div_p:-上升沿计数半满标志SIGNAL full_div_n:-下降沿计数满标志SIGNAL half_div_n:-下降沿计数半满标志BEGINclock_out=clock_out_r;-clock_out=clock WHEN (F_DIV=1) ELSE (clk_p_r=1 AND clk_n_r=) WHEN (F_DIV(0)=) clk_p_r); -判断计数标志位置位与否.full_div_p= WHEN (count_pF_

8、DIV-1) ELSE 0;half_div_p(F_DIV/2 )-1) ELSE full_div_n WHEN (count_nF_DIV -1) ELSE half_div_n(F_DIV/2)-1) ELSE PROCESS(clock)-上升沿脉冲计数-VARIABLE i:Integer RANGE 0 TO 31; IF RISING_EDGE(clock)THEN IF full_div_p= THEN count_p=count_p+1; IF (half_div_p=) THEN clk_p_r); clk_p_r= END IF; END IF;END PROCESS;

9、PROCESS(clock)-下降沿脉冲计数 IF FALLING_EDGE(clock)THEN IF full_div_n= count_n=count_n+1; IF half_div_n= clk_n_r clk_n_r PROCESS(clock) IF F_DIV= 1 THEN clock_out_r=clock; IF (F_DIV REM 2) =1 THEN clock_out_r= clk_p_r AND clk_n_r;=clk_p_r;3.主控电路(状态机)主控电路是一个单进程的Moore型有限状态机,状态转换图如图3-1所示。图3-1 状态转换图每种状态说明如下:原

10、状态目的状态转换条件状态输出s0s1s=1且s45=1ledsn=100001c45c25c545c525s2s545=1010001s3s25=1001100s525=1001010状态机原理图如图3-2所示。图3-2 状态机原理图状态机仿真结果如图3-3所示。图3-3 状态机仿真结果从仿真结果可以看到,满足状态转换条件后,状态机就会从现在的状态转移到下一个状态,具体的转换结果与上表相同。library ieee;use ieee.std_logic_1164.all;entity traffic is port(CLK,RST,s,s45,s25,s545,s525:in std_logi

11、c; c45,c25,c545,c525:out std_logic; ledsn:out std_logic_vector(5 downto 0);end traffic;architecture one of traffic is type sx is(s0,s1,s2,s3); signal current_state:sx; begin process(RST,CLK) if RST= then current_stateif s= then current_state elsif s45=s1; else current_stateend if; ledsnif s545=s2; when s2=if s25=s3; when s3=if s525= ledsn c450 then CQI:=CQI-1;cout else CQI: CQa2a1-0000001-1000010-2000011-3000100-4000101-5000110-6000111-7001000-8001001-9-10001011-11-12001101-13001110-14001111-15010000-16 when

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1