




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录前言41 设计任务42 题目分析与整体构思42.1 交通灯控制器应具备的功能42.2 实现方案43 硬件电路设计53.1 分频器的设计53.2 控制器的设计63.3 计数器的设计73.4 分位译码电路的设计 173.5 分位译码电路的设计 273.6 数码管驱动的设计-绿灯和红灯驱动83.7 数码管驱动的设计-黄灯驱动83.8 顶层连接文件及仿真94 程序设计104.1 分频器的设计10- 24 -4.2 控制器的设计114.3 计数器的设计134.3.1 绿灯计数器的设计134.3.2 红灯计数器的设计144.3.3 黄灯计数器的设计154.4 分位译码电路的设计 1164.5 分位译码
2、电路的设计 2174.6 数码管驱动的设计184.6.1 红绿灯数码管驱动的设计184.6.2 黄灯数码管驱动的设计195 硬件测试196 引脚锁定207 心得体会218 参考文献23前言伴随着社会的发展以及人类生活水平的提高,汽车的数量在D 的 DEA 技术的发展和应用领域的扩大与深入, EDA 技术在电子信息,通信,自动,控制及计算机应用等领域的重要性日益突出。随着技术市场与人才市场对 DEA 的不断的增加,交通的问题日益突出,单单依靠人力来指挥交通已经不可行了,所以,设计交通灯来完成这个需求就显的越加迫切了.为了确保十字路口的行人和车辆顺利、畅通地通过,往往采用电子控制的交通信号来进行指
3、挥。以下就是运用数字电子设计出的交通灯:其中红灯亮,表示该条路禁止通行;黄灯亮表示停车;绿灯亮表示允许通行。交通管理器工作流程图:1、设计任务设计一个十字路口的交通灯控制系统,用实验平台上的 LED 发光二极管显示车辆通过的方向(甲车道和乙车道各一组),用数码管显示该方向的亮灯时间。要求:交通灯按正常状态依次点亮红、黄、绿灯,交警可以根据路口车流量的情况分别设置红、 绿、黄灯持续点亮的时间。在红、绿灯点亮时,能够显示其点亮持续的时间。2、题目分析与整体构思2.1 交通灯控制器应具备的功能设甲车道和乙车道方向的车流量大致相同,因此红、黄、绿灯的时长也相同,考虑到黄灯的作用是警示已过停车线的司机尽
4、快离开路口,而路口总宽度不变, 因此将其固定为 5 秒,而红灯亮的时间等于绿灯亮的时间加上黄灯亮的时间,因此紧对绿灯点亮时间进行设置就可以同时改变红灯亮的时间,这里将绿灯所能设置的最长时间设置为 40 秒即(0t140)。同时用数码管正计时指示当前状态(红、黄、绿)所亮的时间。2.2 实现方案2.2.1 从题目中计数值与交通灯的亮灭的关系如图(1)所示: 图(1)2.2.2 交通灯控制器系统框图如图 2 所示: 图(2)3、硬件电路设计3.1 分频器的设计分频器实现的是将高频时钟信号转换成低频的时钟信号,用于触发控制器和计数器。该分频器实现的是一千分频,将一千赫兹的时钟信号分频成一赫兹的时钟信
5、号。生成的 Symbol 文件如图 3 和仿真波形如图 4 所示。 图(3)图(4)3.2 控制器的设计控制器的作用是根据计数器的计数值及 t1 的输入数据控制发光二极管的亮、灭, 以及输出正计时数值给七段数码管的分位译码电路。本控制器是利用时钟沿的下降沿读取前级计数器的计数值,然后作出反应;生成的实体模块如图 5 和仿真波形如图 6 所示。图(5)图(6)3.3 计数器的设计图(7)图(9)图(10)计数器 1 的计数范围为由 t1 引脚输入。计到t1 后,下一个时钟沿恢复到 0,开始下一轮计数。仿真波形如图当 t1 取 7 时,计数器计数到 7 后清零。实体模块如图 7 和仿真波形如图 8
6、。计数器 2 和计数器 3 的实体模块如图 9 和图 10 所示。图( 8)3.4 分位译码电路的设计-1由于控制器输出的正计时数值可能是 1 位或者 2 位十进制数,因此在七段数码管的译码电路前要加上分位电路(即将其分成 2 个 1 位的十进制数,如40 分成 4 和 0,5 分为 0 和 5)。与控制器一样,分位电路同样可以由时钟驱动,也可以设计成纯组合逻辑电路。控制器中,引入了寄存器。本电路中分位电路使用组合逻辑电路实现。生成的实体模块如图 11 及仿真波形如图 12。 图(11)图(12)3.5 分位译码电路的设计2分位译码电路 2 和分位译码电路 1 的功能是一样的,为了区别两个不同
7、的引脚图(13)NumC3.0和 NumD3.0因此再设计一个电路,只是引脚名的名称不同,如图 13。3.6 数码管驱动的设计绿灯和红灯驱动要求数码管共阳极连接(共阳极的公共端为低电平时,LED 不亮),在设计中为每个数码管都添加了一个驱动电路,在使用时通过调用模块来实现。本模块设计为时序逻辑电路,采用下降沿触发。实体模块如图 14 和仿真波形如图 15。 图(14)图(15)3.7 数码管驱动的设计黄灯驱动由于黄灯固定时间是 5 秒,因此变化范围是 0 至 5 秒,七段数码管只要能显示 0-5 的数就行了,所以单独用一个数码管驱动。实体模块如图 16 和仿真波形如图 17。图(16)图(17
8、)3.8 顶层连接及其仿真交通灯控制器的顶层文件连接图如图 18 和仿真波形如图 19。图(18)图( 19)对图 18 和 19 的解释:在图 18 中,绿灯计数器直接接分位译码器 1,红灯计数器直接接分位译码器 2,每个译码器分别接两个驱动电路,然后接输出。左边 5 个驱动器接的数码管显示的是甲车道各个灯亮的时间,右边 5 个驱动器接的数码管显示的是乙车道各个灯亮的时间。在 19 图中可以看出甲、乙车道绿灯亮的时间加上黄灯亮的时间等于甲车道红灯灭的时间。同时我们可以看出该系统满足我们所需的要求。4、程序设计4.1 分频器的设计library ieee;use ieee.std_logic_
9、1164.all;entity fredevider is-分频器 port(clkin:in std_logic; clkout:out std_logic);end;architect ure devider of fredevider is constant N:integer:=499;signa l counter:integer range 0 to N;signa l Clk:std_logic; beginprocess(clkin) beginif rising_ed ge(clkin)then if Counter=N thencounter=0; clk=not clk;
10、 elsecounter=counter+1; end if;end if; end process; clkout=clk; end;4.2 控制器的设计控制器的作用是根据计数器的计数值控制发光二极管的亮、灭,以及输出正计时数值给七段译码管的分译码电路。library ieee;use ieee.std_logic_1164.all;entity control is-控制器 port (clk:in std_logic;c1,c2,c3:out std_logic;-计数器工作时能信号,为 1 时计数w1,w2,w3:in std_logic;-计数器指示信号,在计数过程中,相应的指示信号
11、为 0,计数结束时为 1 r1,r2:out std_logic;-分别为甲乙车道红灯y1,y2:out std_logic;-分别为甲乙车道黄灯 g1,g2:out std_logic;-分别为甲乙车道绿灯 reset:in std_logic);-复位信号,高电平有效end control ; architect ure a of control istype state_space is (s3,s2,s1,s0) ;-四种状态beginsigna l state : state_space ;process (clk) beginif reset=1 thenstateif w1=1
12、then stateif w2=1 thenstateif w3=1 thenstateif w2=1 thenstate=s0;end if ; end case;end if; end if;end process;c1=1when state =s0 else 0;c2=1when state =s1 or state =s3else 0; c3=1when state =s2 else 0;r1=1when state =s1 or state =s0else 0; y1=1when state =s3else 0;g1=1when state =s2 else 0;end a ;4.
13、3 计数器的设计4.3.1 绿灯计数器library ieee;r2=1when state =s2 or state =s3else 0; y2=1when state =s1 else 0;g2=1when state =s0 else 0;use ieee.std_logic_1164.all; entity counter1 isport (clk:in std_logic; enable :in std_logic;t1:in integerrange 0 to 40 ;-绿灯可设置亮的时间c1:out std_logic); end counter1 ;architect ure
14、a of counter1 is beginprocess (clk)variable cnt : integer range 0 to 40 ;-变量 cnt 定义为常数,取值范围为 0到 40beginif (clkevent and clk=1) then-时钟上升沿到来if enable=1and cntt1 then-使能信号为 1,并且 cnt 小于 t1 时cnt:=cnt+1;-加计数end if ;elsecnt:=0;if cnt=t1 thenc1=1;-乙道开始通行,S0 状态 elsec1=0;end if ; end if ;end process; end a ;
15、4.3.2 红灯计数器library ieee;use ieee.std_logic_1164.all; entity counter2 isport (clk:in std_logic; enable :in std_logic;t1:in integerrange 0 to 40 ; c2:out std_logic);end counter2 ;architect ure a of counter2 isconstant y:Integer:=5;-黄灯固定时间为 5 秒 signa l t2 : integerrange 0 to 45;-红灯亮的时间beginprocess (clk
16、)variable cnt : integer range 0 to 45 ;-变量 cnt 定义为常数,取值范围为 0到 45begint2=t1+y;if (clkevent and clk=1) then-时钟上升沿到来if enable=1and cntt2 then-使能信号为 1,并且 cnt 小于 t2 时cnt:=cnt+1;end if ;elsecnt:=0;if cnt=t2 thenc2=1;-工作在 S1 或 S3 状态elsec2=0;end if ; end if ;end process; end a;4.3.3 黄灯计数器library ieee;use ie
17、ee.std_logic_1164.all; entity counter3 isport (clk:in std_logic; enable :in std_logic; c3:out std_logic;m3:out integer range 0 to 5 ); end counter3;architect ure a of counter3 is beginprocess (clk)variable cnt : integer range 0 to 5 ;-变量 cnt 定义为常数,取值范围为 0到 5beginif (clkevent and clk=1) then-时钟上升沿到来i
18、f enable=1and cnt5 then-使能信号为 1,并且 cnt 小于 5 时 cnt:=cnt+1;-加计数end if ;elsecnt:=0;if cnt=5 thenc3=1;-工作在 S2 状态elsec3=0;end if ; end if ; m3=40 THEN-输入计时数据大于 40NumA=4;-把十位数字送给 A NumB=30 THEN NumA=3;NumB=20 THEN NumA=2;NumB=10 THEN NumA=1;NumB=Numin-10; ELSENumA=0;NumB=40 THEN NumC=4;NumD=30 THEN NumC=3
19、;NumD=20 THEN NumC=2;NumD=10 THEN NumC=1;NumD=Numin-10; ELSENumC=0;NumDsegoutsegoutsegoutsegoutsegoutsegoutsegoutsegoutsegoutsegoutnull;END CASE; END IF;END PROCESS; END;4.6.2 黄灯驱动LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY HDqudong IS-黄灯驱动 PORT(clk:in STD_LOGIC; enable :in std_logic;data:IN int
20、eger RANGE 0 TO 5;-黄灯变化范围segout: out STD_LOGIC_VECTOR(6 downto 0); END;ARCHITECTURE behavior OF HDqudong IS BEGINprocess(Clk,data) BEGINIF falling_edge(Clk) and enable=1 then case data iswhen 0=segoutsegoutsegoutsegoutsegoutsegoutnull;END CASE; END IF;END PROCESS; END;5硬件测试把顶层文件连接图进行编译仿真后就可以进行硬件测试了,我们所用的仿真实验箱是GW48 系列SOPC/EDA 实验开发系统(杭州康芯电子有限公司现代DSP 实验开发系统)。在实验箱中因为有 1HZ 的频率并且自带译码器, 所以在下载时用的顶层文件连接图就把分频器和译码器驱动电路给去掉了,如图(20),在实验过程中由于数码管不够,图中5 个数码管显示的是一个车道的绿、红、黄灯时间。图(20)6、引脚锁定在下载之前,要进行引脚的锁定,我们用的是模式 5,各个端口的引脚锁定如图 21。图(21)在确定引脚锁定正确后再编译一次,然后下载到实验箱中。首先对绿灯时间t1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版后勤保障与后勤设施租赁合同
- 二零二五年度企业信用担保借款合同
- 2025版河南企业员工加班费支付与调休合同
- 2025年沥青混凝土路面材料销售合同
- 二零二五年度春节复工企业项目进度管理协议
- 二零二五年度IT系统集成与外包服务保密协议
- 2025版水利工程劳务分包合同范本集锦
- 二零二五年度企业法人授权委托合同签订协议书
- 2025版食品质量安全检测服务合同范例
- 二零二五年度国际贸易融资合同附件
- 建军节考试题目及答案
- 文化多元教育评估-洞察及研究
- 2025年山东省中考化学试卷(含解析)
- 蔬菜栽培课件
- 西班牙语教学课件
- 护理核心制度2025年
- 沈阳市高校毕业生“三支一扶”计划招募笔试真题2024
- 行吊安全操作规程及注意事项
- 消防作战训练安全课件
- 微生物驱动的资源循环系统研究-洞察阐释
- 艾欧史密斯热水器CEWH-50P5说明书
评论
0/150
提交评论