《EDA技术应用》
课程设计报告
专 业: 通信工程
班 级:
姓 名:
指导教师:
二 0一二 年 12 月 2 日
1. 设计任务和要求......................................................................... 2
1.1设计任务............................................................................... 2
1.2设计要求............................................................................... 2
2. 设计方案..................................................................................... 3
3. 各模块设计................................................................................. 3
3.1主控模块............................................................................... 3
3.2右边灯控制模块................................................................... 5
3.3左边灯控制模块................................................................... 7
3.4时钟分频模块....................................................................... 9
3.5顶层文件(ourdesign.vhd)........................................ 11
4.整体设计..................................................................................... 12
4.1系统仿真图......................................................................... 12
4.2系统电路图......................................................................... 13
5.硬件测试..................................................................................... 14
5.1端口设置............................................................................. 14
5.2测试结果............................................................................. 15
6.心得体会..................................................................................... 15
7.指导教师意见............................................................................. 15
8 .参考文献...................................................................................... 16
汽车尾灯控制器的设计
1.设计任务及要求
1.1设计任务
假设汽车尾部左右两侧各有3盏指示灯,其控制功能应包括:
(1) 汽车正常行驶时指示灯都不亮。
(2) 汽车右转弯时,右侧的一盏指示灯亮。
(3) 汽车左转弯时,左侧的一盏指示灯亮。
(4) 汽车刹车时,左右两侧的一盏指示灯同时亮。
(5) 汽车在夜间行驶时,左右两侧的一盏指示灯同时一直亮,供照明使用。
1.2设计要求
(1) 采用VHDL语言编写程序,并在QuartusII工具平台中进行开发,下载到EDA实验箱进行验证。
(2) 编写设计报告,要求包括方案选择、程序清单、调试过程、测试结果及心得体会。
2.设计方案
大致设计方案: 根据系统设计要求,系统设计采用自顶向下的设计方法,顶层设计采用原理图设计方案,它是由时钟分频模块、汽车尾灯主控模块、左边灯控制模块、右边灯控制模块四部分组成。
系统的输入信号包括:系统时钟信号CLK,汽车左转弯控制信号LEFT,汽车右转弯控制信号RIGHT,刹车信号BRAKE,夜间行驶信号NIGHT。
系统的输出信号包括:汽车左侧3 盏指示灯LLED1,LLED2,LLED3和汽车右侧3 盏指示灯RLED1,RLED2,RLED3。
当汽车正常行驶时所有的指示灯都不亮,当汽车向左转时,汽车左边的指示灯LLED1亮,当汽车向右转时,汽车右边的指示灯RLED1亮,当汽车刹车时,左右的LLED2、RLED2亮,当汽车夜间行驶时,汽车左右的LLED3、RLED3一直亮。
通过编写相关VHDL语言程序实现以上功能,将四个模块的各个程序编写出来作为相应的底层文件,然后再设计一个顶层文件将四个不同模块连接起来,实现成整体的程序。通过不同模块生成相应的元件,将生成的各个元件按功能进行连接形成整体的设计电路。在完成编程后,再进行功能,时序仿真,最后进行硬件检测。
系统的整体组装设计原理如图所示
3各组成模块原理及相应的程序
3.1汽车尾灯主控模块
a. 数据入口 :
LEFT:左转信号;
RIGHT:右转信号;
BRAKE:刹车信号;
LR:错误控制信号;
NIGHT:夜间行驶信号;
b.数据出口:
LP:左侧灯控制信号;
RP:右侧灯控制信号;
BRAKE_LED:刹车控制信号;
NIGHT_LED:夜间行驶控制信号;
c.模块VHDL程序(MC.vhd)
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY MC IS
PORT(LEFT,RIGHT,BRAKE,NIGHT:IN STD_LOGIC; --设定四个输入
LP,RP,LR,BRAKE_LED,NIGHT_LED:OUT STD_LOGIC); --设定五个输出
END MC;
ARCHITECTURE ART OF MC 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 ART;
d.功能:
该段程序用于对汽车尾灯进行整体控制,当输入为左转信号时,输出左侧灯控制信号;当输入为右转信号时,输出右侧灯控制信号;当同时输入LEFT和RIGHT信号时,输出错误控制信号。当输入为刹车信号时,输出刹车控制信号;当输入为夜间行驶信号时,输出为夜间行驶控制信号。
仿真图:
3.2右边灯控制模块
CLK:时钟控制信号;
RP:右侧灯控制信号;
LR:错误控制信号; BRAKE:刹车控制信号;
NIGHT:夜间行驶控制信号;
b.数据出口:
LEDR:右侧RD1灯控制信号;
LEDB:右侧RD2灯控制信号;
LEDN:右侧RD3灯控制信号;
C.模块VHDL程序(RC.vhd)
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY RC IS PORT(CLK,RP,LR,BRAKE,NIGHT:IN STD_LOGIC;
LEDR,LEDB,LEDN: OUT STD_LOGIC);
END;
ARCHITECTURE ART OF RC IS
BEGIN
LEDB<=BRAKE;
LEDN<=NIGHT;
PROCESS(CLK,RP,LR)
BEGIN
IF CLK'EVENT AND CLK = '1' THEN --时钟上升沿有效
IF(LR = '0')THEN --没有错误信号时
IF(RP = '0')THEN --没有右转信号时
LEDR <='0'; --右信号灯不亮
ELSE --相反情况
LEDR <= '1'; --有右转信号时右信号灯亮
END IF;
ELSE
LEDR <='0'; --有错误信号则灯不亮
END IF;
END IF;
END PROCESS;
END ART;
d.功能:
本描述用于控制右侧灯的亮、灭和闪烁情况,当时钟上升沿信号和右侧灯控制信号或刹车控制信号或夜间行驶信号同时出现时,右侧相应的灯亮或出现闪烁。当错误控制信号出现时,RD1灯不亮。
3.3左边灯控制模块
LP:左侧灯控制信号;
LR:错误控制信号;
BRAKE:刹车控制信号;
NIGHT:夜间行驶控制信号;
LEDN:左侧LD3灯控制信号;
c.模块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;
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 ART;
功能:
本程序用于控制左侧灯的亮、灭和闪烁情况,当时钟上升沿信号和左侧灯控制信号或刹车控制信号或夜间行驶信号同时出现时,左侧相应的灯亮或出现闪烁。当错误控制信号出现时,LD1灯不亮。
仿真图:
时序仿真
仿真图:
时序仿真
3.4时钟分频模块
模块VHDL程序(CLK_1.vhd)
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY CLK_1 IS
PORT(CLK:IN STD_LOGIC;
CP:OUT STD_LOGIC);
END;
ARCHITECTURE ART OF CLK_1 IS
SIGNAL COUNT:STD_LOGIC_VECTOR(7 DOWNTO 0);
BEGIN PROCESS(CLK)
BEGIN
IF CLK'EVENT AND CLK ='1'THEN
COUNT<=COUNT+1;
END IF;
END PROCESS;
CP<=COUNT(2); --进行8分频
END ART;
功能:
这块的功能是对左右两边的LLED1、RLED1的闪烁时间间隔,以CLK为输入信号, CP为输出信号,在程序中定义一个八位节点信号COUNT来放计数值,当CLK的上升沿到来时就开始计数,最后将COUNT(2)给CP,实现对CLK的8分频。
再将CP的电平信号分别和LEDL、LEDR电平与,最后用输出的电平来控制汽车左右的LLED1、RLED1,实现左右转的指示功能。
仿真图:
3.5顶层文件(ourdesign.vhd)
Library ieee;
Use ieee.std_logic_1164.all;
Use ieee.std_logic_unsigned.all;
Entity ourdesign is
Port(clk:in std_logic;
Left:in std_logic;
Right:in std_logic;
Brake:in std_logic;
Night:in std_logic;
Ld1,Ld2,Ld3:out std_logic;
Rd1,Rd2,Rd3:out std_logic);
End;
Architecture aabb of ourdesign is
Component CLK_1 is
Port(clk:in std_logic;
Cp:out std_logic);
End component;
Component MC is
Port(left,right,brake,night:in std_logic;
Lp,rp,lr,brake_led,night_led:out std_logic);
End component;
Component LC is
Port(clk,lp,lr,brake,night:in std_logic;
Ledl,ledb,ledn:out std_logic);
End component;
Component RC is
Port(clk,rp,lr,brake,night:in std_logic;
Ledr,ledb,ledn:out std_logic);
End component;
Signal t0,t1,t2,t3,t4:std_logic; --定义中间信号以方便元件例化
Signal e0,e1,e2,e3,e4,e5:std_logic;
signal tm:std_logic;
begin
U1:CLK_1 port map(clk,tm);
U2:MC port map(left,right,brake,night,t0,t1,t2,t3,t4);
U3:LC port map(clk,t0,t2,t3,t4,e0,e1,e2);
U4:RC port map(clk,t1,t2,t3,t4,e3,e4,e5);
Ld1<=e0 and tm;
Ld2<=e1;
Ld3<=e2;
Rd1<=e3 and tm;
Rd2<=e4;
Rd3<=e5;
End architecture aabb;
功能:采用元件例化的设计方法将各个底层模块连接起来,整体完成汽车尾灯能。
4.整体设计
4.1系统仿真图
时序仿真
4.2系统电路图
5.硬件测试
选用硬件芯片为EP1K30T144-3
5.1端口设置
输入端口:
Clk-----------------PIN125选用1Hz脉冲
开关控制
LEFT------------PIN32-----------SW1
RIGHT------------PIN33---------SW2
BRAKE------------PIN36--------SW3
NIGHT------------PIN37---------SW4
输出端口:
彩灯显示
LD1------------PIN31---------------D112
LD2------------PIN30---------------D111
LD3------------PIN29---------------D110
RD1------------PIN26---------------D107
RD2------------PIN27---------------D108
RD3------------PIN28---------------D109
5.2测试结果
当打开单独左转开关,D112(LD1)亮;当打开单独右转开关,D107(RD1)亮;当左右同时打开时,D112,D107(LD1,RD1)都不亮;当打开夜行或刹车开关时,D111和D108(LD2和RD2)都亮或D110和D109(LD3和RD3)都亮。
6.心得体会
本次实验中,我主要负责的是左右边灯控制模块,在实验过程中有一些困难,但是我对EDA技术有了更深的了解。同时在同学的帮助下我初步学会了采用自顶向下的系统设计方法设计系统,掌握了利用VHDL语言进行简单的电路模块设计。经过这次实验,让我将书本上的知识运用到实际上去,也培养了实际操作能力,知道如何去分析,设计并解决问题,遇到问题如何改进,如何在多种方法中去找到最简单使用的方法。
本次实验最有感悟的是自顶向下的设计方法,每个人分别完成独立的模块,在通过综合完成顶层文件,思路清晰。
再者是我负责的左右灯模块设计,通过小组成员的帮忙最后顺利完成,在该设计中一定得有一个时钟脉冲,然后是每一数据输入对应的功能,输出对应的功能,及它们之间的关系是怎样的要很清楚。是如何可控制的,怎样在输出端体现都要认真想清楚。
在此次设计过程中,不仅要求我们掌握扎实的理论知识,分析问题能从根本原理出发,联系实际解决问题,还要求我们要特别有耐心,稍有不慎,一个小小的错误就会导致结果的不正确,检测过程也要很仔细,反复调试,直到程序顺利通过。
通过本次实验,我收获不少,想想对以后的学习会很有帮助。
7.指导教师意见
参考文献
[1] 柴诚敬,刘国维,李阿娜,《化工原理课程设计》,天津,天津科学技术出版社,1994年
【2】邹彦、庄严等编.EDA技术与数字系统设计.北京:电子工业出版社,20##年
【3】谭慧生,张昌凡,《EDA技术及应用》,西安电子科技大学出版社,20##年
20xx级模拟电子技术课程设计数字电子技术课程设计报告书课题名称姓名汽车尾灯模拟控制电路设计陈景玉学号20xx6434院系部专业指…
前言汽车现今已是非常普遍的交通工具作已大量进入人们的生活随着电子技术的发展对于汽车的控制电路也已从过去的全人工开关控制发展到了智能…
前言汽车现今已是非常普遍的交通工具作已大量进入人们的生活随着电子技术的发展对于汽车的控制电路也已从过去的全人工开关控制发展到了智能…
数字电路课程设计课题名称汽车尾灯控制电路设计专业班级姓名学号日期20xx0621汽车尾灯控制电路设计前言汽车现今已是非常普遍的交通…
滨江学院课程论文题目汽车尾灯控制电路院系电子工程系专业电子信息工程姓名许凯伟学号指导教师祁博宇二一二年十一月二十日汽车尾灯控制电路…
武汉工程大学计算机科学与工程学院综合设计报告设计名称数字系统综合设计设计题目汽车尾灯逻辑控制电路设计学生学号专业班级学生姓名学生成…
20xx级模拟电子技术课程设计数字电子技术课程设计报告书课题名称姓名汽车尾灯模拟控制电路设计陈景玉学号20xx6434院系部专业指…
一设计要求假设汽车尾部左右两侧各有3个指示灯用发光二极管模拟1汽车正常运行时指示灯全灭2右转弯时右侧3个指示灯按右循环顺序点亮3左…
课程设计报告数字电子技术题目汽车尾灯控制器的设计院系机电工程学院专业电子科学与技术学号20xx0661104学生姓名刘乾坤指导教师…
课程设计报告课程名称电子技术课程设计设计题目汽车尾灯控制器专业电气工程及其自动化班级20xx学号20xx0240315学生姓名李博…
数字电子实习报告题目汽车尾灯的设计专业测控技术与仪器班级学号10100姓名00指导老师张海一日期20xx62520xx628目录1…