EDA课设报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

沈阳理工大学EDA技术课程设计报告

尾灯控制器

1 设计目的

(1)学会在QuartusⅡ环境中运用VHDL语言设计方法来构建具有一定逻辑功能的模块,并能运用原理图设计方法完成顶层设计。掌握所学的课程知识和基本单元电路的综合设计应用。

(2)通过对实用汽车尾灯控制器的设计,巩固和综合运用所学知识,提高设计能力,并掌握汽车尾灯控制在FPGA中实现的方法。

1.调试底层模块,并时序仿真。

2.设计顶层模块,并时序仿真。

3.撰写课程设计报告。

2 设计要求和任务

假设汽车尾部左右侧各有3盏指示灯,其控制功能应包括:

(1)汽车正常行驶时指示灯都不亮

(2)汽车右转弯时,右侧的一盏指示灯亮

(3)汽车左转弯时,左侧的一盏指示灯亮

(4)汽车刹车时,左右侧的指示灯同时亮

(5)汽车在夜间行驶时,左右侧的指示灯同时一直亮,供照明使用

顶层设计采用原理图设计方案,它由时钟分频模块,汽车尾灯主控模块,左边灯控制模块和右边灯控制模块四部分组成。

3 总体设计思路及原理描述

汽车尾灯控制器就是一个状态机的实例。当汽车正常行驶时所有指示灯都不亮;当汽车向右转弯时,汽车右侧的指示灯ldright亮;当汽车向左侧转弯时,汽车左侧的指示灯ldleft亮;当汽车刹车时,汽车右侧的指示灯ldbrake1和汽车左侧的指示灯ldbrake2同时亮;当汽车在夜间行驶时,汽车右侧的指示灯ldnight1和汽车左侧的指示灯ldnight2同时一直亮。

通过设置系统的输入信号:系统时钟信号clk,汽车左转弯控制信号left,汽车右转弯控制信号right,刹车信号brake,夜间行驶信号night和系统的输出信号:汽车左侧3盏指示灯ldleft,dbrake1,dnight1和汽车右侧3盏指示灯ldright,ldbrake2,ldnight2实现以上功能。

系统的整体组装设计原理如图所示:

4 分层次方案设计及代码描述

4.1汽车尾灯主控模块

汽车尾灯主控模块的工作框图如图4.1所示:

图4.1汽车尾灯主控模块

数据入口:

RIGHT :右转信号;

LEFT :左转信号; BRAKE :刹车信号; NIGHT :夜间行驶信号; 数据出口:

LP :左侧灯控制信号; RP :右侧灯控制信号; LR :错误控制信号;

BRAKE_LED :刹车控制信号; NIGHT_LED :夜间行驶控制信号;

汽车行驶信号

主控模块

左灯控制模块

右灯控制模块

显示

时钟

图 3.1 系统设计整体框图

VHDL程序(CTRL.VHD)

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY CTRL IS

PORT(LEFT,RIGHT,BRAKE,NIGHT: IN STD_LOGIC;

LP,RP,LR,BRAKE_LED,NIGHT_LED: OUT STD_LOGIC);

END ENTITY CTRL;

ARCHITECTURE ART OF CTRL IS

BEGIN

NIGHT_LED<=NIGHT;

BRAKE_LED<=BRAKE;

PROCESS(LEFT,RIGHT)

VARIABLE TEMP:STD_LOGIC_VECTOR(1 DOWNTO 0);

BEGIN

TEMP:=LEFT&RIGHT;

CASE TEMP IS

WHEN "00"=>LP<='0';RP<='0';LR<='0'; --当汽车直行时,左右灯都不亮

WHEN "01"=>LP<='0';RP<='1';LR<='0'; --当汽车右拐时,右拐指示灯亮

WHEN "10"=>LP<='1';RP<='0';LR<='0'; --当汽车左拐时,左指示灯亮

WHEN OTHERS=>LP<='0';RP<='0';LR<='1';--当汽车刹车时,左右灯都亮 END CASE;

END PROCESS;

END ARCHITECTURE ART;

功能:

该段程序用于对汽车尾灯进行整体控制,当输入为左转信号时,输出左侧灯控制信号;当输入为右转信号时,输出右侧灯控制信号;当同时输入LEFT和RIGHT 信号时,输出错误控制信号。当输入为刹车信号时,输出刹车控制信号;当输入为夜间行驶信号时,输出为夜间行驶控制信号。

4.2左边灯控制模块

左边灯控制模块的工作框图如图4.2所示:

图4.2左边灯控制模块数据入口:

CLK:时钟控制信号;

LP:左侧灯控制信号;

LR:错误控制信号;

BRAKE:刹车控制信号;

NIGHT:夜间行驶控制信号;

数据出口:

LEDL:左侧LD1灯控制信号;

LEDB:左侧LD2灯控制信号;

LEDN:左侧LD3灯控制信号;

VHDL程序(LC.VHD)

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY LC IS

PORT(CLK,LP,LR,BRAKE,NIGHT: IN STD_LOGIC;

LEDL,LEDB,LEDN: OUT STD_LOGIC);

END ENTITY LC;

ARCHITECTURE ART OF LC IS

BEGIN

LEDB<=BRAKE;

LEDN<=NIGHT;

PROCESS(CLK,LP,LR)

BEGIN

IF CLK'EVENT AND CLK='1' THEN --时钟上升沿有效 IF(LR='0') THEN --没有刹车信号时 IF(LP='0')THEN --没有左拐信号时

LEDL<='0'; --左信号灯不亮

ELSE --相反情况

LEDL<='1';

END IF;

ELSE

LEDL<='0';

END IF;

END IF;

END PROCESS;

END ARCHITECTURE ART;

相关文档
最新文档