资源描述
课 程 设 计 任 务 书
专 业
电子信息
班 级
08电子1
姓 名
杨志
设 计 起 止 日 期
2010-7-5~2010-7-11
设计题目: 汽车尾灯控制器
设计任务(主要技术参数):根据现代交通规则,汽车尾灯控制器应满足以下基本要求:
1.汽车正常使用是指示灯不亮
2.汽车右转时,右侧的一盏灯亮
3.汽车左转时,左侧的一盏灯亮
4.汽车刹车时,左右两侧的指示灯同时亮
5.汽车夜间行驶时,左右两侧的指示灯同时一直亮,供照明使用
汽车尾灯控制器总体设计电路图
指导教师评语:
成绩: 签字:
年 月 日
课程设计说明书 NO.12
汽车尾灯控制器
一. 课程设计的目的
本次设计的目的就是通过实践深入理解计算机组成原理,了解EDA技术并掌握VHDL硬件描述语言的设计方法和思想。以计算机组成原理为指导,通过学习的VHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识和基本单元电路的综合设计应用。通过对实用汽车尾灯控制器的设计,巩固和综合运用所学知识,提高IC设计能力,提高分析、解决计算机技术实际问题的独立工作能力。
1.2设计的基本内容
根据计算机中状态机原理,利用VHDL设计汽车尾灯控制器的各个模块,并使用EDA 工具对各模块进行仿真验证。汽车尾灯控制器的设计分为4个模块:时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块。把各个模块整合后就形成了汽车尾灯控制器。通过输入系统时钟信号和相关的汽车控制信号,汽车尾灯将正确显示当前汽车的控制状态。
1.3 EDA的介绍
1.3.1 EDA技术的概念
EDA是电子设计自动化(Electronic Design Automation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
1.3.2 EDA技术的特点
利用EDA技术进行电子系统的设计,具有以下几个特点:① 用软件的方式设计硬件;② 用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;③ 设计过程中可用有关软件进行各种仿真;④ 系统可现场编程,在线升级;⑤ 整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。因此,EDA技术是现代电子设计的发展趋势。
1.3.3 EDA设计流程
典型的EDA设计流程如下:
1、文本/原理图编辑与修改。首先利用EDA工具的文本或图形编辑器将设计者的设计意图用文本或图形方式表达出来。
2、编译。完成设计描述后即可通过编译器进行排错编译,变成特定的文本格式,为下一步的综合做准备。
3、 综合。将软件设计与硬件的可实现性挂钩,是将软件转化为硬件电路的关键步骤。
4、 行为仿真和功能仿真。利用产生的网表文件进行功能仿真,以便了解设计描述与设计意图的一致性。
5、适配。利用FPGA/CPLD布局布线适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、布局布线。适配报告指明了芯片内资源的分配与利用、引脚锁定、设计的布尔方程描述情况。
6、 功能仿真和时序仿真。
7、 下载。如果以上的所有过程都没有发现问题,就可以将适配器产生的下载文件通过FPGA/CPLD下载电缆载入目标芯片中。
8、 硬件仿真与测试。
1.4硬件描述语言(VHDL)
1.4.1 VHDL的介绍
VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本。
1.4.2 VHDL语言的特点
1.用VHDL代码而不是用原理图进行设计,意味着整个电路板的模型及性能可用计算机模拟进行验证。
2.VHDL元件的设计与工艺无关,与工艺独立,方便工艺转换。
3.VHDL支持各种设计方法,自顶向下、自底向上或者混合的都可以。
4.可以进行从系统级到逻辑级的描述,即混合描述。
5.VHDL区别于其他的HDL,已形成标准,其代码在不同的系统中可交换建模。
二.设计方案论证
2.1设计题目及要求
根据现代交通规则,汽车尾灯控制器应满足以下基本要求:
1.汽车正常使用是指示灯不亮
2.汽车右转时,右侧的一盏灯亮
3.汽车左转时,左侧的一盏灯亮
4.汽车刹车时,左右两侧的指示灯同时亮
5.汽车夜间行驶时,左右两侧的指示灯同时一直亮,供照明使用
2.2汽车尾灯控制器的工作原理
汽车尾灯控制器就是一个状态机的实例。当汽车正常行驶时所有指示灯都不亮;当汽车向右转弯时,汽车右侧的指示灯RD1亮;当汽车向左侧转弯时,汽车左侧的指示灯LD1亮;当汽车刹车时,汽车右侧的指示灯RD2和汽车左侧的指示灯LD2同时亮;当汽车在夜间行驶时,汽车右侧的指示灯RD3和汽车左侧的指示灯LD3同时一直亮。通过设置系统的输入信号:系统时钟信号CLK,汽车左转弯控制信号LEFT,汽车右转弯控制信号RIGHT,刹车信号BRAKE,夜间行驶信号NIGHT和系统的输出信号:汽车左侧3盏指示灯LD1、LD2、LD3和汽车右侧3盏指示灯RD1、RD2、RD3实现以上功能。
系统的整体组装设计原理如图(1)所示:
图(1)整体组装设计原理
2.3 汽车运行状态表和总体框图
汽车尾灯和汽车运行状态表如表(1)所示:
表(1)汽车尾灯和汽车运行状态表
开关控制
汽车运行状态
右转尾灯
左转尾灯
S0 S1 S2
R1 R2R3
L1L2L3
0 0 0
正常运行
灯灭
灯灭
0 0 1
左转弯
灯灭
按L1L2L3顺序循环点亮
0 1 0
右转弯
按R1R2R3顺序循环点亮
灯灭
0 1 1
临时刹车/检测
所有尾灯同时点亮
1 0 0
倒车
所有尾灯按照转弯次序点亮
1 0 1
晚上行车时
R3 ,L3一直点亮
尾灯控制电路设计总体框图如图(1)所示:
开关控制电路
译码电路74138
显示驱动电路
记数电路74161
R1R2R3 L1L2L3
脉冲产生电路555
图(2) 汽车尾灯控制电路设计总体框图
2.4设计的步骤与内容
2.4.1各组成模块
实现的主要功能是通过开关控制从而实现汽车尾灯的点亮方式。汽车尾灯控制器有4个模块组成,分别为:时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块,以下介绍各模块的详细设计。
2.4.2时钟分频模块
整个时钟分频模块的工作框图如图(3)所示:
CLK CP
SZ
图(3)时钟分频模块工作框图
时钟分频模块由VHDL程序来实现,其VHDL代码如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY SZ IS
PORT(CLK: IN STD_LOGIC; --时钟输入
CP: OUT STD_LOGIC);
END ENTITY SZ;
ARCHITECTURE ART OF SZ 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(3); --输出第五位
END ARCHITECTURE ART;
2.4.3 汽车尾灯主控模块
汽车尾灯主控模块工作框图如图(4)所示:
LEFT LP
RIGHT RP
BRAKE LR
NIGHT BRAKE_LED
NIGHT_LED
CTRL
图(4) 主控模块工作框图
汽车尾灯主控模块由VHDL程序来实现,其VHDL代码如下:
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;
2.4.5左边灯控制模块
左边灯控制模块的工作框图如图(5)所示。
CLK
LP LEDL
LR LEDB
BRRAKE LEDN
NIGHT
LC
图(5)左边灯控制模块的工作框图
左边灯控制模块由VHDL程序来实现,其VHDL代码如下:
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;
2.4.6右边灯控制模块
右边灯控制模块的工作框图如图(6)所示
CLK
RP LEDR
LR LEDB
BRRAKE LEDN
NIGHT
RC
图(6)右边灯控制模块的工作框图
右边灯控制模块由VHDL程序来实现,其VHDL代码如下:
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 ENTITY RC;
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 ARCHITECTURE ART;
三.设计结果与分析
3.1分频模块仿真结果及分析
分频模块由VHDL程序实现后,其仿真图如图(7)所示
图(7) 分频模块仿真图
对其仿真图进行仿真分析:如图所示,首先生成一个600ns的时钟脉冲,通过时分频把600ns的脉冲分成一个40ns的脉冲,实现了信号同步。
3.2汽车尾灯主控模块仿真及分析
汽车尾灯主控模块由VHDL程序实现后,其仿真图如图(8)所示。
图(8)主控模块时序仿真图
对时序仿真图进行分析:RIGHT,LEFT,NIGHT,BRAKE 为输入信号,RIGHT为1表示右转,LEFT为1表示左转,NIGHT为1表示夜间行路,BRAKE为1表示刹车。RP,LP,NIGHT_LED,BRAKE_LED为输出信号。如图所示:当RIGHT为1时,产生一个RP为1的信号脉冲输出,当LEFT为1时,产生一个LP为1的信号脉冲输出,当NIGHT为1时,产生一个NIGHT_LED为1的信号脉冲输出。当BRAKE为1时,产生一个BRAKE_LED为1的信号脉冲输出。
3.3左边灯控制模块仿真及分析
左边灯控制模块由VHDL程序实现后,其仿真图如下图(9)所示。
对时序仿真图进行分析:LP,LR,NIGHT,BRAKE 为输入信号,LP为1表示左转,LR为1表示右转,NIGHT为1表示夜间行路,BRAKE为1表示刹车。LEDL,LEDB,LEDN为输出信号,表示汽车左侧的三盏灯。
如图所示:当LP为1时,LEDL输出为1表示左侧灯亮,当BRAKE为1时,LEDB输出为1表示左侧灯亮,当NIGHT为1时,LEDN输出为1表示左侧灯亮。当LR为1时,左侧三盏灯输出均为0。即没有灯亮。
图(9)左边灯控制模块时序仿真图
3.4右边灯控制模块仿真及分析
右边灯控制模块由VHDL程序实现后,其仿真图如图(10)所示。
图(10) 右边灯控制模块时序仿真图
对时序仿真图进行分析:RP,LR,NIGHT,BRAKE 为输入信号,LR为1表示左转,RP为1表示右转,NIGHT为1表示夜间行路,BRAKE为1表示刹车。LEDR,LEDB,LEDN为输出信号,表示汽车右侧的三盏灯。如图所示:当RP为1时,LEDR输出为1表示右侧灯亮,当BRAKE为1时,LEDB输出为1表示右侧灯亮,当NIGHT为1时,LEDN输出为1表示右侧灯亮。当LR为1时,右侧三盏灯输出均为0。即没有灯亮。
3.5整个系统仿真及分析
按图(1)组装系统后的仿真图如下图(11)所示。
对时序仿真图进行分析:RIGHT,LEFT,NIGHT,BRAKE 为输入信号,RIGHT为1表示右转,LEFT为1表示左转,NIGHT为1表示夜间行路,BRAKE为1表示刹车。RD1,RD2,RD3为输出信号,表示汽车右侧的三盏灯。LD1,LD2,LD3为输出信号,表示汽车左侧的三盏灯。
如图所示:当RIGHT为1时,RD1输出为1表示右侧灯亮,当LEFT为1时,LD1为输出为1表示左侧灯亮,当NIGHT为1时,LD2,RD2输出均为1,表示左,右两侧各有一盏灯亮。当BRAKE为1时,LD3,RD3输出均为1,表示左,右两侧各有一盏灯亮。
图(11) 整个系统仿真图
四.设计体会
通过两星期的紧张工作,最后完成了我的设计任务——汽车尾灯控制器的设计。通过本次课程设计的学习,我深深的体会到设计课的重要性和目的性。本次设计课不仅仅培养了我们实际操作能力,也培养了我们灵活运用课本知识,理论联系实际,独立自主的进行设计的能力。它不仅仅是一个学习新知识新方法的好机会,同时也是对我所学知识的一次综合的检验和复习,使我明白了自己的缺陷所在,从而查漏补缺。希望学校以后多安排一些类似的实践环节,让同学们学以致用。
在设计中要求我要有耐心和毅力,还要细心,稍有不慎,一个小小的错误就会导致结果的不正确,而对错误的检查要求我要有足够的耐心,通过这次设计和设计中遇到的问题,也积累了一定的经验,对以后从事集成电路设计工作会有一定的帮助。
在应用VHDL的过程中让我真正领会到了其并行运行与其他软件顺序执行的差别及其在电路设计上的优越性。用VHDL硬件描述语言的形式来进行数字系统的设计方便灵活,利用EDA软件进行编译优化仿真极大地减少了电路设计时间和可能发生的错误,降低了开发成本,这种设计方法必将在未来的数字系统设计中发挥越来越重要的作用。
五.参考文献
[1] 王爱英.计算机组成与结构[M].北京:清华大学出版社,2001.2
[2]黄仁欣.EDA技术实用教程[M].北京:清华大学出版社,2006
[3] 曹昕燕,周凤臣,聂春燕.EDA技术实验与课程设计[M].北京:清华大学出版社,2006.5
[4] 杨亦华,延 明.数字电路EDA入门[M].北京:北京邮电大学出版社,2003
[5] 彭容修.数字电子技术基础[M].武汉:武汉理工大学出版社,2005
[6] 潘 松 ,黄继业.EDA技术与VHDL[M].北京,清华大学出版社,2006
[7]刘东红,童宁宁.MAX+plusⅡ软件在数字电路设计中的应用[J].半导体技术,2003年02期
[8]狄国伟,王福源.VHDL语言电路优化设计的方法浅析[J].自动化与仪器仪表.2006年01期
[9]刘科峰,张沙清,田丰.EDA技术在电子设计中的应用[J].广西物理,2004年02期
沈 阳 大 学
展开阅读全文