




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、交通灯设计交通灯设计一、实验目的一、实验目的1了解可编程逻辑器件设计的流程;了解可编程逻辑器件设计的流程;2掌握数码管动态扫描显示的实现方法;掌握数码管动态扫描显示的实现方法;3掌握状态机的设计方法;掌握状态机的设计方法;4掌握进程的设计方法。掌握进程的设计方法。长江大学电工电子示范中心二、设计任务与要求二、设计任务与要求长江大学电工电子示范中心1实现正常时序控制功能;实现正常时序控制功能;2实现特殊状态控制功能;实现特殊状态控制功能; 3实现信号灯点亮时间预置功能;实现信号灯点亮时间预置功能;4将东西方向、南北方向的灯亮时间分别用数码管显示;将东西方向、南北方向的灯亮时间分别用数码管显示;5
2、在在MAX PLUS或或Quartus II开发平台上,采用开发平台上,采用VHDL或或Verilog编程设计;编程设计;6对编写的程序进行编译仿真、修改,使仿真结果达到设对编写的程序进行编译仿真、修改,使仿真结果达到设计要求;计要求;7下载并测试电路的逻辑功能。下载并测试电路的逻辑功能。2.1、问题描述、问题描述 设计并实现一十字路口的红、绿、黄三色交通设计并实现一十字路口的红、绿、黄三色交通灯控制与显示电路,即每个路口设置一组红、黄、灯控制与显示电路,即每个路口设置一组红、黄、绿交通灯,按图绿交通灯,按图1所示情况变化,以保证车辆、行所示情况变化,以保证车辆、行人通行安全。人通行安全。图1
3、2,2、功能分析、功能分析1基本功能(见前面图)基本功能(见前面图)2扩展功能扩展功能(1)特殊状态控制功能)特殊状态控制功能 特殊状态如紧急车辆随时通行功能受一开关控制,无急车特殊状态如紧急车辆随时通行功能受一开关控制,无急车时,信号灯按正常时序控制。有急车来时,将特殊状态开时,信号灯按正常时序控制。有急车来时,将特殊状态开关按下,不管原来信号灯的状态如何,一律强制让两个方关按下,不管原来信号灯的状态如何,一律强制让两个方向的红灯同时点亮,禁止其它车辆通行,同时计时停止;向的红灯同时点亮,禁止其它车辆通行,同时计时停止;特殊状态结束后,恢复原来状态继续运行。特殊状态结束后,恢复原来状态继续运
4、行。(2)信号灯点亮时间预置功能)信号灯点亮时间预置功能控制电路在任何时候可根据实际情况修改信号灯点亮时间。控制电路在任何时候可根据实际情况修改信号灯点亮时间。2.3、设计思路:1参考图1,定义交通灯的状态,确定状态表;状态状态东西方向东西方向南北方向南北方向时间时间(s s)S S0 0绿灯亮绿灯亮红灯亮红灯亮TeS S1 1黄灯亮黄灯亮红灯亮红灯亮TyS S2 2红灯亮红灯亮绿灯亮绿灯亮TsS S3 3红灯亮红灯亮黄灯亮黄灯亮Ty三、程序设计思路三、程序设计思路1状态转换的实现状态转换的实现 在进程中利用自定义数据类型定义交通灯的在进程中利用自定义数据类型定义交通灯的4个个状态,根据东西、
5、南北方向的时间计数器的计数结果状态,根据东西、南北方向的时间计数器的计数结果利用利用CASE语句实现语句实现4个状态的转换,在每一个状态中个状态的转换,在每一个状态中利用内部信号传递实现对红黄绿灯的显示控制。利用内部信号传递实现对红黄绿灯的显示控制。FSM设计方法 分析控制器设计指标,建立系统算法模型,即状态转换图; 分析被控对象的时序,确定控制器的有限状态机的各个状态及输入、输出条件; 应用VHDL语言完成状态机的描述。FSM分类 Moore型:输出信号仅与现态相关 Mealy型:输出信号与现态和输入相关DFFsOutputComb. LogicFeedbackComb. LogicDFFs
6、OutputComb. LogicFeedbackComb. LogicMooreMealy现态次态输入输出现态次态输出输入FSM 构成FSM用来解决一般时序逻辑电路问题,包括同步/异步时序逻辑 状态寄存器 当前状态(现态)寄存器 组合逻辑电路 下一状态(次态)组合逻辑 输出组合逻辑Moore和和Mealy状态机描述的区别就在于状态机描述的区别就在于输出逻辑输出逻辑进程进程vhdl语言描述FSM的建立过程 定义状态机的状态 定义状态变量 描述状态机的进程定义状态机的状态 在使用状态机之前应该定义状态变量的枚举类型,可以定义在状态机描述的源文件中,或者是专门的程序包中。 例子: TYPE sta
7、te IS (state1,state2);交通灯 type color is(greenred,yellowred,redgreen,redyellow); 定义状态变量 定义两个状态机变量:当前状态和次态,其中当前状态描述的是一组寄存器,而下状态描述的是组合逻辑。 例: signal current_state:state; signal next_state:state;交通灯: signal current_state:color:=redgreen; signal next_state:color;描述状态机的进程状态机的描述方式: 三进程、二进程、单进程(本实验采用)一般采用三个进
8、程来描述状态机 描述状态机寄存器的时序进程 描述次态产生逻辑的组合逻辑进程 描述输出组合逻辑进程状态机寄存器的时序进程process(reset,clk) begin if reset=1 then current_state=初始状态; else rising_edge(clk) then current_state=next_state; end if;end process;一定要有一定要有复位信号复位信号,否则状,否则状态机处于随机状态,无法开态机处于随机状态,无法开始正常工作始正常工作次态转移逻辑进程process(current_state,其他输入信号) begin next_s
9、tate . next_state . next_state=某个状态; . end case;end process;状态转换的条件状态的表现 次态转移逻辑进程 在case语句之前,给nenxt_state赋一个缺省值: next_state -the normal stagecase temp_color isStageControl.VHD状态控制模块本模块是单进程模式,可改写为三进程模式 when greenred= -initial stagetempr=1100;tempg=0011;tempytemp_h=0000;temp_l=1001;stagechangecase temp
10、_l is when 0000= temp_l=1001; temp_h case temp_h is when 0000 = temp_h=0000; temp_l=0000; stagechange=0; temp_color temp_l temp_l=temp_l-1;end case;end case;其中一个状态的程序其中一个状态的程序其他以此类推其他以此类推红黄绿灯的亮灭红黄绿灯亮灭的时间下一个状态Case:处于保持状态时时间的 递减Case:判断状态的转换还是保持Quartus II 设计及仿真状态机查看2时间显示的实现时间显示的实现 东西、南北两个方向共用东西、南北两个方向共
11、用8个数码管显示时间,为节省个数码管显示时间,为节省逻辑器件的逻辑器件的I/O,时间显示采用,时间显示采用动态扫描动态扫描的方法。动态扫描的的方法。动态扫描的基本原理基本原理是对于一组数码管动态扫描显示需要由两组信号来是对于一组数码管动态扫描显示需要由两组信号来控制:一组是字段输出口输出的字形代码,用来控制显示的控制:一组是字段输出口输出的字形代码,用来控制显示的字形,称为字形,称为段码段码;另一组是位输出口输出的控制信号,用来;另一组是位输出口输出的控制信号,用来选择第几位数码管工作,称为选择第几位数码管工作,称为位码位码。各位数码管的段线并联,。各位数码管的段线并联,段码的输出对各位数码管
12、来说都是相同的。段码的输出对各位数码管来说都是相同的。 因此,在同一时刻如果各位数码管的位选线都处于选通因此,在同一时刻如果各位数码管的位选线都处于选通状态的话,状态的话,8位数码管将显示相同的字符。若要各位数码管能位数码管将显示相同的字符。若要各位数码管能够显示出与本位相应的字符,就只让这一位的位选线处于导够显示出与本位相应的字符,就只让这一位的位选线处于导通状态,而其它各位的位选线处于关闭状态。同时,段线上通状态,而其它各位的位选线处于关闭状态。同时,段线上输出相应位要显示字符的字型码。这样在同一时刻,只有选输出相应位要显示字符的字型码。这样在同一时刻,只有选通的那一位显示出字符,而其它各
13、位则是熄灭的,如此循环通的那一位显示出字符,而其它各位则是熄灭的,如此循环下去,就可以使各位数码管显示出将要显示的字符。下去,就可以使各位数码管显示出将要显示的字符。设计框图:Quartus II 设计及仿真 entity scandisplay is port( clk,emergencykey:in std_logic;catn:out std_logic_vector(3 downto 0); timeh1,timel1:in std_logic_vector(3 downto 0); num_out:out std_logic_vector(6 downto 0); end scand
14、isplay; architecture behav of scandisplay is signal num_in: std_logic_vector(3 downto 0); signal counter:integer range 0 to 1; signal led_chioce:std_logic; Begin process(clk) ; -数码管扫描 begin if(clkevent and clk=1)then counter=counter+1; if counter=1 then num_in=timeh1; led_sel=101; else num_in=timel1
15、; led_selnum_outnum_outnum_out=div_fre_1kHz) then fre_1kHz=0; clk_1kHz=not clk_1kHz; else fre_1kHz=div_fre_1Hz) then fre_1Hz=0; clk_1Hz=not clk_1Hz; else fre_1Hzclk, clk_1kHz=scan_clk, clk_1Hz=count_clk);u1:StageControl port map(clk=count_clk, emergencykey=emergencykey, red=red, green=green,yellow=y
16、ellow,time_h=temp_h, time_l=temp_l);u2:scandisplay port map(clk=scan_clk,time_h=temp_h,time_l=temp_l,led_segcode=led_seg,led_sel=led_sel);end;顶层实体: traffic_light_control.vhd交通灯控制的RTL示意图 引脚锁定:引脚锁定: 长江大学电工电子示范中心三、提示三、提示数码管:数码管:a(pin_171) b(pin_174) c(pin_176) d(pin_181) e(pin_183) f(pin_185) g(pin_187
17、) DR(pin_189) 共阴极共阴极数码管片选:数码管片选: LED_SEL2(pin_199) LED_SEL1(pin_197) LED_SEL0(pin_195) 芯片: Cyclone III,EP3C16Q240C8试验箱数码管电路图 数码管是4位8段共阴极型,引脚6、8、9、12为位选端,对应从右至左的4位数码管的共阴极,低电平有效;引脚11、7、4、2、1、10、5、3对应数码管的ag、DR等8段LED灯,高电平发亮。LED东西南东西南北北方向:方向: 红色红色r L11 (pin_214) 红色红色r L5 (pin_186) 红色红色r L6 (pin_188) 红色红色
18、r L0 (pin_173) 黄色黄色y L10 (pin_203) 黄色黄色y L4 (pin_184) 黄色黄色y L7 (pin_194) 黄色黄色y L1 (pin_175) 绿色绿色g L9(pin_201) 绿色绿色g L3 (pin_182) 绿色绿色g L8 (pin_196) 绿色绿色g L2 (pin_177)CLK: (pin_33)KEY: (pin_72)交通灯电路图长江大学电工电子示范中心1位扫描时间间隔长短对路口时间显示效果影响如何?2若东西方向和南北方向的控制时间不等时,状态机中如何预置东西方向和南北方向的控制时间?3用8个数码管显示时间信息设计中,采用动态扫描
19、方法,占用逻辑器件多少个I/O?若采用静态方式显示,占用逻辑器件多少个I/O?设计中有何变化?4仿真中如何设置状态机中东西、南北方向的预置时间?5程序编译完后生成*.sof和*.pof两个文件,这两个文件的差别是什么?实验过程中下载*.sof还是*.pof?四、思考题四、思考题长江大学电工电子示范中心五、实验报告五、实验报告1课题的任务及要求。课题的任务及要求。2课题分析与编程思路。课题分析与编程思路。 对课题认真分析,正确理解,明确设计思路。3仿真结果分析。仿真结果分析。 建立测试向量文件,然后编译该文件,进行功能仿真和时序仿真,给出仿真结果并进行分析。4实验测试、问题分析与研究。实验测试、
20、问题分析与研究。 实验设备清单(名称、型号、数量等); 调试和测试过程简介,故障分析及解决办法; 第四项中的问题解答。5实验设计中各功能模块的源程序。实验设计中各功能模块的源程序。(作为附录)6总结。总结。 总结课题存在的问题,提出改进的设想; 完成本课题后的收获、体会和建议。 Quartus II 设计及仿真状态机查看2时间显示的实现时间显示的实现 东西、南北两个方向共用东西、南北两个方向共用8个数码管显示时间,为节省个数码管显示时间,为节省逻辑器件的逻辑器件的I/O,时间显示采用,时间显示采用动态扫描动态扫描的方法。动态扫描的的方法。动态扫描的基本原理基本原理是对于一组数码管动态扫描显示需要由两组信号来是对于一组数码管动态扫描显示需要由两组信号
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 门面服装销售合同范本
- 2025建筑工程公司用工合同协议书
- 2025年合同终止与解除的备案流程解析
- 2025耕地流转合同规定
- 语言魅力提升知到课后答案智慧树章节测试答案2025年春北京城市学院
- 2025年智能家居设备采购合同
- 2024年启东市市属事业单位考试真题
- 租赁扶贫工厂合同范本
- 2024年临高县公安局招聘警务辅助人员真题
- 2024年江苏无锡高新区国企全球选聘人才新增岗位笔试真题
- 健康日用品设计与研发趋势
- 【化学】常见的盐(第1课时)-2024-2025学年九年级化学下册(人教版2024)
- 公园物业管理
- 新人教版初中英语七至九年级全部课本单词
- 宜宾市新能源产业有限公司招聘笔试冲刺题2025
- 数字化背景下国有企业财会监督体系的构建与实践创新
- 龙游经济开发区下属国资公司招聘笔试冲刺题2025
- 《海上风电设备运输规范》
- 工业园物业管理方案参考范本
- 2024年黑龙江牡丹江中考英语真题及答案
- 《电力基础设施数字化锁控系统技术》
评论
0/150
提交评论