版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 太原科技大学华科学院课程设计(论文)目录1、设计内容与要求21.1 设计内容21.2 设计要求22、总体框图32.1设计方案32.1.1 方案一32.1.2 方案二42.1.3 最佳方案选择52.2总体框图53、选择器件64、功能模块74.1 去抖模块74.1.1 VHDL源程序(DITHER.VHD)74.1.2 生成的模块84.1.3 仿真图84.2 分频器模块84.2.1 VHDL源程序(DIV. VHD)84.2.2 生成的模块104.2.3 仿真图104.3 设置计数器模块104.3.1 VHDL源程序(COUNT.VHD)104.3.2 生成的模块134.3.3 仿真图144.4
2、 交通灯控制模块144.4.1 VHDL源程序(LIGHT.VHD)144.4.2生成的模块184.4.3仿真图185、总体设计原理图195.1 整体组装设计原理图195.2 整体仿真图205.3 管脚分布20参考文献21步行街道自助式交通灯控制器1、设计内容与要求1.1 设计内容设计一个步行街道上受行人控制的交通灯控制器,它要实现的功能如下:在没有行人要通过街道时,主干道保持通行。若有行人要通过街道,按下按键,发出请求,数秒后,主干道禁行,行人可以通过。用VHDL语言编辑程序,在Quartus II软件进行综合,生成相应的模块,然后连接各个模块,再综合、适配,下载到芯片,做最后的测试,看能否
3、实现其功能,能否达到设计目标。1.2 设计要求1. 正常情况下保持主干道的畅通。2. 当步行街道上的行人要穿过主干道时,通过设置的按钮来发出请求。3. 当有人按下此按钮时,主干道变为黄灯,设置计数器计时时间为X秒。4. X秒过后,主干道变为红灯,计数器继续计时(计时时间为Y秒),在Y秒内若有人再次按按钮,计数器不重新计时。5. 步行街道绿灯闪烁时间为Y1秒,(YY1)秒后主干道变为绿灯,车辆通行,且要保证车辆通行一定时间(Z秒)。在此时间内,行人按按钮无效。Z秒过后,若有人再按下按钮,又出现3中的状态。6. 计时器的计时时间长短X、Y、Z可以任意设定。2、总体框图2.1设计方案2.1.1 方案
4、一根据系统设计要求,系统设计采用自顶向下的设计方法。系统的整体组装设计原理图由分频模块、去抖模块、设置计数模块和交通灯控制模块四部分组成。(1)去抖模块去抖模块的作用在于消除按键的抖动。因为当输入信号在高低电平之间转换时,在转换的瞬间会产生毛刺,使信号波形不稳定,从而使系统不能正常工作,因此加入去抖模块。 (2)分频模块 分频模块的作用在于实现从高频到低频的转换,使输入到电路的频率能满足电路的需要而又不会烧毁电路中的器件。(3)设置计数模块设置计数模块的设置并存储主干道方向和步行街道方向的时间长短。主干道方向需要设置的时间包括主干道黄灯信号时间、红灯信号时间和主干道车辆允许通行的最短时间,步行
5、街道方向需要设置的时间为步行街道绿灯的闪烁时间。(4)交通灯控制模块交通灯控制模块采用状态机来实现,用于存储交通灯的五种状态。五种状态的具体说明如下状态表所示。表1 状态表状态主干道信号灯步行街信号灯主干道步行街道R(红)G(绿)Y(黄)R(红)G(绿)ST001010通行禁行ST100110车停靠禁行ST210001禁行通行ST31000禁行通行(绿灯闪烁)ST401010通行(Z秒内)禁行2.1.2 方案二依照设计要求,系统采用自底向上的设计方法。系统整体由交通灯控制模块、计数模块和分频模块三部分组成。(1)交通灯控制模块交通灯控制模块主要实现设计要求的五种状态之间的转换,所以采用状态机来
6、设计。五种状态如表1所示。(2)计数模块计数模块模块主要作用控制五种状态之间的转换时间,根据设计要求,设置步行街和主干道两个方向的交通灯时间。主干道方向需要设置的时间包括主干道黄灯信号时间、红灯信号时间和主干道车辆允许通行的最短时间,步行街道方向需要设置的时间为步行街道绿灯的闪烁时间。(3)分频模块由于较大的频率可能使各个状态之间的转换过快,无法更好的观察,所以采用分频模块,把高频率分成低频率,更好实现设计。2.1.3 最佳方案选择方案一采用自顶向下设计方法,整个设计是从系统顶层开始的, 结合模拟手段, 可以从一开始就掌握所实现系统的性能状况, 结合应用领域的具体要求, 在此时就调整设计方案,
7、 进行性能优化或折衷取舍。 随着设计层次向下进行, 系统性能参数将得到进一步的细化与确认, 并随时可以根据需要加以调整, 从而保证了设计结果的正确性, 缩短了设计周期。 方案二采用自底向上的设计方法,设计从系统的底层开始,不过设计好后不易修改,而且还不易设计。所以,我们采用方案一。2.2总体框图图1 整体设计框图3、选择器件1. 装有Quartus II软件的微型计算机。计算机的硬件尽可能高,至少可以实现Quartus II软件的使用。2. 硬件实现的芯片为PFGA/CPLD,芯片管脚的数量要保证足够设计的程序所要使用的数量,并且使其所有管脚都有可分配的管脚,可以实现Quartus II上综合
8、、适配的程序下载后可以顺利实现。3. 五个LED灯,用来显示交通灯,即:行人方向红灯、行人方向绿灯和车辆方向红灯、车辆方向绿灯、车辆方向黄灯五个方向的亮灭。4、功能模块4.1 去抖模块这个模块的主要作用是消除按键在敲击时产生的抖动。当UPIN为低电平,DOWNIN为高电平时,表示按键按下,KEYOUT有高电平输出;当UPIN为高电平,DOWNIN为低电平时,表示按键弹起,KEYOUT有低电平输出。4.1.1 VHDL源程序(DITHER.VHD)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;US
9、E IEEE.STD_LOGIC_ARITH.ALL;ENTITY DITHER IS PORT(UPIN: IN STD_LOGIC; DOWNIN: IN STD_LOGIC; KEYOUT: OUT STD_LOGIC);END DITHER;ARCHITECTURE BEHAVE OF DITHER IS SIGNAL OUT1:STD_LOGIC; SIGNAL OUT2:STD_LOGIC;BEGIN OUT1<=NOT(OUT2 AND UPIN); OUT2<=NOT(OUT1 AND DOWNIN); KEYOUT<=OUT1;END BEHAVE;4.1.
10、2 生成的模块图2 DITHER模块4.1.3 仿真图图3 去抖模块仿真图仿真分析:输入UPIN、DOWNIN都为低电平时,输出KEYOUT为高电平;输入UPIN为高电平、DOWNIN为低电平时,输出KEYOUT为低电平;输入UPIN为低电平、DOWNIN为高电平时,输出KEYOUT为高电平;输入UPIN、DOWNIN都为高电平时,输出KEYOUT为低电平。4.2 分频器模块这个模块的主要主要是转换频率,把高频率转换成低频率。分频后的频率更能适应电路的要求,使电路可以更好的运行。4.2.1 VHDL源程序(DIV. VHD)LIBRARY IEEE;USE IEEE.STD_LOGIC_116
11、4.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DIV ISPORT( CLK_IN: IN STD_LOGIC;DIV_OUT: OUT STD_LOGIC);END DIV;ARCHITECTURE a OF DIV IS SIGNAL FRE_N:INTEGER RANGE 0 TO 10; SIGNAL CLK_TMP:STD_LOGIC;BEGIN DIV_OUT<=CLK_TMP;PROCESS (CLK_IN)BEGINIF FALLING_EDGE(CLK_IN)THEN IF FRE_N<=9 THEN FRE_N<
12、=0;CLK_TMP<= NOT CLK_TMP;ELSE FRE_N<=FRE_N+1;END IF;END if;END PROCESS;END a;4.2.2 生成的模块图4 DIV模块4.2.3 仿真图图5 分频器模块仿真图仿真分析:输入CLK_IN信号经过十二个周期后,输出DIV_OUT第一个上升沿来临,实现了分频的作用。4.3 设置计数器模块这个模块的主要作用是设置并存储主干道方向和步行街道方向的时间长短。此模块预置了有效信号,通过加计数和减计数加大和减小预知的信号,从而实现对行人通行时间、行人方向信号灯闪烁时间和车辆通行时间的控制。4.3.1 VHDL源程序(COUN
13、T.VHD)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY COUNT IS PORT(CLK: IN STD_LOGIC; CLEAR: IN STD_LOGIC; CLKADD: IN STD_LOGIC; CLKSUB: IN STD_LOGIC; PRE_SET: IN STD_LOGIC; HUMAN_SET: IN STD_LOGIC; RST: IN STD_LOGIC; GHUMAN_TIME: OUT INT
14、EGER RANGE 31 DOWNTO 0; GHUMAN_CLKT: OUT INTEGER RANGE 31 DOWNTO 0; GVEHICLE_TIME: OUT INTEGER RANGE 31 DOWNTO 0);END COUNT;ARCHITECTURE BEHAVE OF COUNT IS SIGNAL HUMAN_TIME: INTEGER RANGE 31 DOWNTO 0; SIGNAL VEHICLE_TIME: INTEGER RANGE 31 DOWNTO 0; SIGNAL SSTATE: STD_LOGIC_VECTOR(3 DOWNTO 0); SIGNA
15、L SCLK: STD_LOGIC; SIGNAL DSCLK: STD_LOGIC; BEGIN SSTATE<="0000" WHEN PRE_SET='0' ELSE HUMAN_SET & CLEAR & CLKADD & CLKSUB; SCLK<=CLKADD OR CLKSUB OR CLEAR; PROCESS(CLK) BEGIN IF(CLK'EVENT AND CLK='1')THEN DSCLK<=SCLK; END IF; END PROCESS; PROCESS(R
16、ST,CLEAR,DSCLK) BEGIN IF(RST='1')THEN VEHICLE_TIME<=8; ELSIF(DSCLK'EVENT AND DSCLK='1')THEN CASE SSTATE IS WHEN "0100"=>VEHICLE_TIME<=0; WHEN "0101"=>VEHICLE_TIME<=0; WHEN "0110"=>VEHICLE_TIME<=0; WHEN "0111"=>VEHICL
17、E_TIME<=0; WHEN "0001"=>VEHICLE_TIME<=VEHICLE_TIME-1; WHEN "0010"=>VEHICLE_TIME<=VEHICLE_TIME+1; WHEN OTHERS=>VEHICLE_TIME<=VEHICLE_TIME; END CASE; END IF; END PROCESS; PROCESS(CLEAR,DSCLK) BEGIN IF(RST='1')THEN HUMAN_TIME<=4; ELSIF(DSCLK'EVENT
18、 AND DSCLK='1')THEN CASE SSTATE IS WHEN "1100"=>HUMAN_TIME<=0; WHEN "1101"=>HUMAN_TIME<=0; WHEN "1110"=>HUMAN_TIME<=0; WHEN "1111"=>HUMAN_TIME<=0; WHEN "1001"=>HUMAN_TIME<=HUMAN_TIME-1; WHEN "1010"=>
19、HUMAN_TIME<=HUMAN_TIME+1; WHEN OTHERS=>HUMAN_TIME<=HUMAN_TIME; END CASE; END IF; END PROCESS; PROCESS(PRE_SET,RST) BEGIN IF(RST='1')THEN GHUMAN_TIME<=5; GHUMAN_CLKT<=7; GVEHICLE_TIME<=15; ELSIF(PRE_SET'EVENT AND PRE_SET='0')THEN GHUMAN_TIME<=HUMAN_TIME+1; GHU
20、MAN_CLKT<=HUMAN_TIME+3; GVEHICLE_TIME<=HUMAN_TIME+VEHICLE_TIME+3; END IF; END PROCESS;END BEHAVE;4.3.2 生成的模块图6 COUNT模块4.3.3 仿真图图7 计数器模块仿真图仿真分析:当PRE_SET下降沿时,GHUMAN_TIME、GHUMAN_CLKT、GVEHICLE_TIME三个数组输出信号发生跳转,三者关系符合GVEHICLE_TIME<=HUMAN_TIME+VEHICLE_TIME+3。可以看出,满足计数器的预定功能。4.4 交通灯控制模块这个模块的主要作用是交
21、通灯五种状态的实现。此模块采用状态机来实现交通灯的五种状态,设置了行人方向和车辆方向的五个交通灯,即行人方向红灯、行人方向绿灯和车辆方向红灯、车辆方向绿灯、车辆方向黄灯。并设置了请求信号输入,作为行人要通过主干道的按钮。4.4.1 VHDL源程序(LIGHT.VHD)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY LIGHT IS PORT(SRED: OUT STD_LOGIC; SGREEN: OUT STD_LOGIC;
22、 ERED: OUT STD_LOGIC; EGREEN: OUT STD_LOGIC; EYELLOW: OUT STD_LOGIC; GT_SET: IN STD_LOGIC; GHUMAN_TIME: IN INTEGER RANGE 31 DOWNTO 0; GHUMAN_CLKT: IN INTEGER RANGE 31 DOWNTO 0; GVEHICLE_TIME: IN INTEGER RANGE 31 DOWNTO 0; REQUEST: IN STD_LOGIC; CLK: IN STD_LOGIC; RST: IN STD_LOGIC);END LIGHT;ARCHITE
23、CTURE BEHAVE OF LIGHT IS TYPE IN_STATES IS (ST0,ST1,ST2,ST3,ST4); SIGNAL CURRENT_STATE: IN_STATES; SIGNAL NEXT_STATE: IN_STATES; SIGNAL START: STD_LOGIC; SIGNAL SIG: INTEGER RANGE 31 DOWNTO 0; BEGIN PROCESS(CURRENT_STATE,RST) BEGIN IF(RST='1' OR CURRENT_STATE=ST0)THEN START<='0' E
24、LSE START<='1' END IF; END PROCESS; A:PROCESS(START,CLK) BEGIN IF(RST='1')THEN SIG<=0; ELSIF(CLK'EVENT AND CLK='1')THEN IF(START='1')THEN IF(SIG=GVEHICLE_TIME)THEN SIG<=0; ELSE SIG<=SIG+1; END IF; ELSE SIG<=0; END IF; END IF; END PROCESS A; PROCESS(
25、RST,CLK) BEGIN IF(RST='1')THEN CURRENT_STATE<=ST0; ELSIF(CLK'EVENT AND CLK='1')THEN CURRENT_STATE<=NEXT_STATE; END IF; END PROCESS; PROCESS(CLK,CURRENT_STATE) BEGIN CASE CURRENT_STATE IS WHEN ST0=> ERED<='0'EGREEN<='1'EYELLOW<='0'SRED<
26、='1'SGREEN<='0' IF(REQUEST='1' AND GT_SET='0')THEN NEXT_STATE<=ST1; ELSE NEXT_STATE<=ST0; END IF; WHEN ST1=> ERED<='0'EGREEN<='0'EYELLOW<='1'SRED<='1'SGREEN<='0' IF(SIG=1)THEN NEXT_STATE<=ST2; ELSE NEXT_STATE<=ST1; END IF; WHEN ST2=> ERED<='1'EGREEN<='0'EYELLOW<='0'SRED<='0'SGREEN<='1' IF(SIG=GHUMAN_TIME)THEN NEXT_STATE<=ST3; ELSE NEXT_STATE<=ST2; END IF; WHEN ST3=> ERED<='1'EGREEN<='0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 长沙职业技术学院《急救员培训课程》2024-2025学年第二学期期末试卷
- 明朝日本内部制度
- 苏州大学应用技术学院《组织行为学与人力资源管理》2024-2025学年第二学期期末试卷
- 机关内部财经管理制度
- 运城职业技术大学《视效项目准备流程》2024-2025学年第二学期期末试卷
- 机构内部相关管理制度模板
- 构建内部控制制度
- 检测站内部年审制度
- 民宿行业内部管理制度
- 民营博物馆内部制度
- AQ 2047-2012 水泥工厂筒型储运库人工清库安全规程
- 【2024】高考倒计时100天(百日誓师)主题班会
- 数字贸易学 课件 第22章 数字贸易规则构建与WTO新一轮电子商务谈判
- 人力资源管理(初级)(自考) 课件全套 赵凤敏 第1-10章 人力资源管理导论-职业生涯管理
- 2023-2024新人教版九年级化学下册教学设计
- 2020年0822内蒙古公务员考试《行测》真题及参考答案解析
- 《酿酒微生物讲》课件
- 2022埋地用改性高密度聚乙烯(HDPE-M)双壁波纹管材
- 委托代加工合同范本
- 制药10认识实习
- 全国非煤矿山分布
评论
0/150
提交评论