汽车尾灯控制器的设计与实现_第1页
汽车尾灯控制器的设计与实现_第2页
汽车尾灯控制器的设计与实现_第3页
汽车尾灯控制器的设计与实现_第4页
汽车尾灯控制器的设计与实现_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于DHVL勺汽车尾灯控制器的设计与实现 学生:唐早德指导老师:魏立伟摘要本课程设计根据计算机中状态机原理,采用ED儆术设计了简易的汽车尾灯控 制器。系统设计采用自顶向下的设计方法,顶层设计采用原理图设计方式,它由时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块四部分组成。系统实现采用硬件描述语言VHDL把系统电路按模块化方式进行设计,然后进行编译、时序仿真关键字 EDA汽车尾灯控制器;时钟分频2 / 19Automobile tail light the controller designStudent:tang zaode Advisor : Wei LiweiAbstrac

2、t of state machines in the simple design of EDA technology outsourcingcontroller. System design using the top-down design method, the top design the principle diagram design way, it by the clock frequency division module, main control module, automobile tail light on the left and the right lamp ligh

3、t control module control module four parts. The system hardware description language the circuit based on the modular system VHDL way design, then compile, timing simulation, etc.Key words EDA; Automobile tail light controller; Clock frequency division1引 言随着社会的发展,科学技术也在不断的进步,状态机的应用越来越广泛。现代交通越来越拥挤,安全

4、问题日益突出,在这种情况下汽车尾灯控制器的设计成为解决交通安 全问题一种好的途径。在本课程设计根据状态机原理实现了汽车尾灯常用控制。1.1 设计的目的本次设计的目的就是通过实践深入理解计算机组成原理,了解EDAJ术并掌握VHDL硬件描述语言的设计方法和思想。以计算机组成原理为指导,通过学习的VHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识和基本单元电路的综合设计应用。通过对实用汽车尾灯控制器的设计,巩固和综合运用所学知识,提高IC 设计能力,提高分析、解决计算机技术实际问题的独立工作能力。1.2 设计的基本内容根据计算机中状态机原理,利用VHD改计汽车尾灯控制器的各个模块,并

5、使用EDA工具对各模块进行仿真验证。汽车尾灯控制器的设计分为4 个模块:时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块。把各个模块整合后就形成了汽车尾灯控制器。通过输入系统时钟信号和相关的汽车控制信号,汽车尾灯将正确显示当前汽车的控制状态。2 EDA、 VHDL 简介2.1 EDA 技术EDA 技术的发展概况EDA( Electronic Design Automation) ,即电子设计自动化,是指利用计算机完成电子系统的设计。EDA 技术是以计算机和微电子技术为先导的,汇集了计算机图形学、拓扑学、逻辑学、微电子工艺与结构学和计算数学等多种计算机应用学科最新成果的先进技术。E

6、DA 技术以计算机为工具,代替人完成数字系统的逻辑综合、布局布线和设计仿真等工作。设计人员只需要完成对系统功能的描述,就可以由计算机软件进行处理,得到设计结果,而且修改设计如同修改软件一样方便,可以极大地提高设计效率。从 20 世纪 60 年代中期开始,人们就不断开发出各种计算机辅助设计工具来帮助设计人员进行电子系统的设计。电路理论和半导体工艺水平的提高,对EDA 技术的发展起到了巨大的作用,使EDA 作用范围从PCB 板设计延伸到电子线路和集成电路设计,直至整个系统的设计,也使IC 芯片系统应用、电路制作和整个电子生产过程都集成在一个环境之中。根据电子设计技术的发展特征,EDA 技术发展大致

7、分为三个阶段。1. CAD 阶段第一阶段的特点是一些单独的工具软件,主要有PCB 布线设计、电路模拟、逻辑模拟、以及版图的绘制等,通过计算机的使用,从而将设计人员从大量繁重重复的计算和绘图工作中解脱出来。20 世纪 80 年代,随着集成电路规模的增大,EDA 技术有了较快的发展。许多软件公司等进入市场,开始供应带电路图编辑工具和逻辑模拟工具的EDA 软件。这个时期的软件产品主要针对产品开发,按照设计、分析、生产和测试等多个阶段,不同阶段分别使用不同的软件包,每个软件只能完成其中一项工作,通过顺序循环使用这些软件,可完成设计的全过程。2. CAE 阶段这个阶段在集成电路与电子设计方法学以及设计工

8、具集成化方面取得了许多成果。各种设计工具,如原理图输入、编译与连接、逻辑模拟、测试码生成、版图自动布局已齐全。由于采用了统一数据管理技术,因而能够将各个工具集成为一个CAE 系统。按照设计方法学制定的设计流程,可以实现从设计输入到版图输出的全程设计自动化。这个阶段主要采用基于单元库的半定制设计方法,采用门阵列与标准单元设计的各种ASIC 得到了极大的发展,将集成电路工业推入了ASIC 时代。3. EDA 阶段2 / 1920 世纪 90 年代以来,微电子技术以惊人的速度发展,其工艺水平达到了深亚微米级,此阶段主要出现了以高级语言描述、系统仿真和综合技术为特征的第三代EDA 技术,不仅极大地提高

9、了系统的设计效率,而且使设计人员摆脱了大量的辅助性及基础性工作,将精力集中于创造性的方案与概念的构思上。它的特征为:第一,高层综合的理论与方法取得较大进展,将EDA 设计层次由RT 级提高到了系统级(又称行为级),并划分为逻辑综合和测试综合。第二, 采用硬件描述语言HDL 来描述 10万门以上的设计,并形成了VHDL 和 VerilogHDL 两种标准硬件描述语言。第三,采用平面规划技术对逻辑综合和物理版图设计进行联合管理,作到在逻辑综合早期设计阶段就考虑到物理设计信息的影响。第四,可测性设计。第五,为带有嵌入 IP模块ASIC设计提供软硬件协同 系统设计工具。EDA 技术的概念EDA是电子设

10、计自动化(Electronic Design Automation )的缩写,在20世纪90 年代初从计算机辅助设计(CAD、计算机辅助制造(CAM、计算机辅助测试(CAT 和计算机辅助工程(CAE的概念发展而来的。EDA技术就是以计算机为工具,设计者在 EDAa件平台上,用硬件描述语言 HDL完成设计文件,然后由计算机自动地完成逻辑编 译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、 逻辑映射和编程下载等工作。EDA 技术的特点利用EDAK术进行电子系统的设计,具有以下几个特点:用软件的方式设计硬件;用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成

11、的; 设计过程中可用有关软件进行各种仿真;系统可现场编程,在线升级; 整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。因此,EDAK术是现代电子设计的发展趋势。EDA 设计流程典型的ED破计流程如下:1、文本/原理图编辑与修改。首先利用 EDAX具的文本或图形编辑器将设计者的设计意图用文本或图形方式表达出来。2、编译。完成设计描述后即可通过编译器进行排错编译,变成特定的文本格式,为下一步的综合做准备。3、综合。将软件设计与硬件的可实现性挂钩,是将软件转化为硬件电路的关键步骤。4、行为仿真和功能仿真。利用产生的网表文件进行功能仿真,以便了解设计描述与设计意图的一致性。5、适配。利用FPGA

12、/CPL前局布线适配器将综合后的网表文件针对某一具体的目 标器件进行逻辑映射操作,其中包括底层器件配置、逻辑分割、逻辑优化、布局布线。适配报告指明了芯片内资源的分配与利用、引脚锁定、设计的布尔方程描述情况。6、 功能仿真和时序仿真。7、 下载。如果以上的所有过程都没有发现问题,就可以将适配器产生的下载文件通过FPGA/CPLD*载电缆载入目标芯片中。8、 、 硬件仿真与测试。2.2 硬件描述语言(VHDL )VHDL 简介VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)主要用于描述数字系统的结构,行为,

13、 功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式和描述风格与句法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外部(或称可是部分, 及端口) 和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。VHDL 语言的发展背景硬件描述语言的发展至今已经有几十年的历史,并已成功应用到系统的仿真、验证和设计综合等方面。其中比较著名的的有 VHDL

14、S言、AHD印言、Verilog HDL语言等。 而在七八十年代初期 VHDL®言是为美国国防部工作的。它是以 ADA语言为根源,就像 将被看到的整体结构的VHDLffi其他的VHDLf表。1986年,有人提议VHD印言彳乍为IEEE标准。它经历了一些修改意见和修改, 直至1987年 12 月获得通过,成为IEEE 1076至 1987标准。它的出现为电子设计自动化的普及和推广奠定了坚实的基础。之后IEEE对87版本进行了修订,于1933年推出了较为完善的93版本(被定为 ANSI/IEEE std 1076-1993 标准),使得VHDL®言的编程更加灵活方便。此后,越来

15、越多的人开始使用 VHD印言进行数字电路系统的设计。而 VHDL4 / 19语言有不同于软件编程语言,在编程结构和规范上有自己的特点,在此,本文就从简单介绍VHDL§言基础开始。VHDL 语言的基本结构一个完整的VHD3语言程序通常包括实体(Entity)、构造体(Architecture)、配置 (Configuration)、包集合(Package)和库(Library)5 个部分。前4种是可以分别编译的 源设计单元。下面分别介绍:实体:实体是用于描述所设计电路系统的外部接口信号,系统的输入输出端口及属性都是在实体中定义的。一个实体是设计中最基本的。最上层水平的设计是最高层的实体

16、。如果设计分层次,那么最高层的描述将有低层描述的说明附在它里面。构造体:构造体用于描述系统内部的结构和行为,系统要实现的功能都是在构造体内用语言进行描述的。所有实体可以有一个构造体的说明来模拟。该构造体描述的行为实体。一个单一的实体可以有多个构造体。一个构造体可能是行为而另一个可能是一个结构描述的设计。配置:配置用于从库中选取所需单元来组成系统设计的不同版本。配置声明是用来约束一个组件实例的一双实体架构。一个配置可以被视为像一个零件清单进行设计。它描述的使用的每一个实体的行为,就像零件列表说明哪一部分用于每一部分的设计。包集合:包集合存放各种设计模块都能共享的数据类型、常数和子程序等。包集合是

17、一个收集常用数据类型和子程序中使用的设计。想想包含使用的工具建立的设计的一个工具箱作为一个包。库: 库存放已经编译的实体、构造体、 包集合和配置。库可由用户生成或者是由ASIC芯片制造商提供,以便在设计中为大家共享。这种功能可以通过特定语句来实现。除了以上介绍的各种术语,其它术语还有:驱动程序:这是一个信号上的一个源。如果一个信号有两个来源,那么当两个来源是由两个驱动程序来起作用的。总线:这个词, “巴士”通常使我想起一组信号或某个特定的通信方式,用于设计的硬件。在VHDL®言,总线是一种特殊的信号,表明可能由驱动程序来完成。属性:一个关于VHDL寸象连接到VHDL勺物体或预先确定的

18、数据的属性数据。 例如, 电流驱动能力的一个缓冲区或最高工作温度的装置。通用:泛指是VHDL语言传递信息实体参数的任期。例如,如果一个实体是一个门级模型的上升和下降延迟,上升和下降延误的值才能通过成为实体与仿制。进程:一个进程是执行的 VHDL中的一个基本单位。一切行动,是在模拟 VHDLffi述5 / 19分为单个或多个进程。在VHDL语言程序中,最重要的就是实体和构造体部分。它们是一个具体设计的核心。 如果说实体是系统和外部交流的桥梁,那么构造体就是处理内外交流的信号加工厂。在构造体中各种信号协调工作,最后得到所需的输出,传送到输出端口和外部进行交流。下面具体说明实体和构造体。VHDL 语

19、言的特点1 .用VHDL弋码而不是用原理图进行设计,意味着整个电路板的模型及性能可用计算 机模拟进行验证。2 .VHDL元件的设计与工艺无关,与工艺独立,方便工艺转换。3 .VHDL支持各种设计方法,自顶向下、自底向上或者混合的都可以。4 . 可以进行从系统级到逻辑级的描述,即混合描述。5 .VHDL区别于其他的HDL已形成标准,其代码在不同的系统中可交换建模。3 汽车尾灯控制器的设计过程3.1 系统需求分析根据现代交通规则,汽车尾灯控制器应满足以下基本要求:1. 汽车尾部左右两侧各有三盏指示灯2. 汽车正常使用是指示灯不亮3. 汽车右转时,右侧的一盏灯亮4. 汽车左转时,左侧的一盏灯亮5.

20、汽车刹车时,左右两侧的指示灯同时亮6. 汽车夜间行驶时,左右两侧的指示灯同时一直亮,供照明使用3.2 汽车尾灯控制器的工作原理汽车尾灯控制器就是一个状态机的实例。当汽车在白天正常行驶时指示灯不亮;当汽车右转行驶时,汽车的右侧指示灯RD1 亮;当汽车左转行驶时,汽车的左侧指示灯LD1 亮;当汽车刹车时,汽车的右侧指示灯RD2 和左侧 LD2 同时亮;当汽车在夜间行驶时,汽车右侧指示灯RD琳口汽车左侧的指示灯LD3同时一直亮。通过设置系统的输入 信号:系统时钟信号CLK汽车左转弯控制信号LEFT,汽车右转弯控制信号RIGHT刹 车信号BRAKE问行驶信号NIGHT系统的输出信号包括汽车左侧3盏指示

21、灯LD1、LD2、 LD3和汽车右侧3盏指示灯RD1 RD2 RD3通过汽车左侧 3盏指示灯LD1、LD2 LD3 和汽车右侧3盏指示灯RD1 RD2 RD3来实现汽车左转、右转、刹车等功能。系统的整 体组装设计原理如图3.1 所示。17 / 19ON 门 UK<<5- S3 考岁dluM总zs au rL yBC雪_lnuJ2snn,sx<LHWJJ3乏gmUJ.J岂 VXH 1HAZ fcss w图3.1系统的整体组装设计原理3.3 各组成模块原理及程序汽车灯控制器有4个模块组成,分别为:时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块,以下介绍各模块的详细

22、设计时钟分频模块整个时钟分频模块的工作框图如图 3.2所示。图3.2时钟分频模块工作框图时钟分频模块由VHDL?序来实现,下面是其中的一段 VHDL弋码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SZ ISPORT(CLK:IN STD_LOGIC;CP:OUT STD_LOGIC);END;ARCHITECTURE ART OF SZ ISSIGNAL COUNT:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESS(CLK)BEGINIF CL

23、K'EVENT AND CLK = '1'THENCOUNT <= COUNT + 1;END IF;END PROCESS;CP<= COUNT(3);END ART;汽车尾灯主控模块汽车尾灯主控模块工作框图如图3.3所示。CTRLLEFTLP141RIGHTRP1 BRAKELR1 aNIGHTBRAKE_LEDI1 11NIGHT_LED图3.3主控模块工作框图汽车尾灯主控模块由VHDLE序来实现,下面是其中的一段 VHDL弋码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CTRL ISPORT (L

24、EFT,RIGHT,BRAKE,NIGHT: IN STD_LOGIC;LP,RP,LR,BRAKE_LED,NIGHT_LED:OUT STD_LOGIC); END;ARCHITECTURE ART OF CTRL ISBEGINNIGHT_LED<=NIGHT;BRAKE_LED<=BAKE;PROCESS(LEFT,RIGHT)VARIABLE TEMP:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINTEMP:=LEFT & RIGHT;CASE TEMP ISWHEN "00" =>LP<='0'

25、;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;左边灯控制模

26、块左边灯控制模块的工作框图如图 3.4所示。LCCLKLPLEDLLRLEDBBRRAKELEDNNIGHT一L 0 I n mi n m , rl -图3.4左边灯控制模块的工作框图左边灯控制模块由VHDLE序来实现,下面是其中的一段 VHDL弋码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY LC ISPORT(CLK,LP,LR,BRAKE,NIGHT:IN STD_LOGIC;LEDL,LEDB,LEDN: OUT STD_LOGIC);END;ARCHITECTURE ART OF LC ISBEGINLEDB<=BRAKE;L

27、EDN<=NIGHT;PROCESS(CLK,LP,LR)BEGINIF CLK'EVENT AND CLK = '1' THENIF(LR ='0')THENIF(LP = '0')THEN LEDL<='0'ELSELEDL<='1'END IF;ELSELEDL <='0'END IF;END IF;END PROCESS;END ART;右边灯控制模块右边灯控制模块的工作框图如图 3.5所示RCCLKRPLEDRLRLEDBBRRAKELEDNNIGHT图3.

28、5右边灯控制模块的工作框图右边灯控制模块由VHDLE序来实现,下面是其中的一段 VHDL弋码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY RC ISPORT(CLK,RP,LR,BRAKE,NIGHT:IN STD_LOGIC;LEDR,LEDB,LEDN: OUT STD_LOGIC);END;ARCHITECTURE ART OF RC ISBEGINLEDB<=BRAKE;LEDN<=NIGHT;PROCESS(CLK,RP,LR)BEGINIF CLK'EVENT AND CLK = '1' THE

29、NIF(LR = '0')THENIF(RP = '0')THENLEDR <='0'ELSELEDR <= '1'END IF;ELSELEDR <='0'END IF;END IF;END PROCESS;END ART;4 系统仿真4.1 分频模块仿真及分析分频模块由VHDL?序实现后,具仿真图如图4.1 所示。图4.1分频模块仿真图对其仿真图进行仿真分析:如图所示,首先生成一个600ns的时钟脉冲,通过时钟 分频把600ns的脉冲分成一个40ns的脉冲,实现了信号同步。4.2 汽车尾灯主控

30、模块仿真及分析汽车尾灯主控模块由VHDL?序实现后,其仿真图如图4.2所示对时序仿真图进行分析:RIGHT LEFT,NIGHT,BRAK助输入彳S号,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_LEM 1的信号脉冲输出。当BRAKES 1时,产生一个BRAKE_LED 为1的信号脉冲输出。4.3 左边灯控制模

31、块仿真及分析左边灯控制模块由VHDLE序实现后,具仿真图如图4.3所示u-CLKLPv- BRAKE> Nii HILRLECLB LECRII DNVahLICO On? ZD.Ons 30口口g 4Q0,0ns SCO Dn? E03 Ons TUQ.On; BOU.Ons SCO Jns '寸 |门1|市 rmwnw口图4.3左边灯控制模块时序仿真图对时序仿真图进行分析:LP, LR,NIGHT,BRAK的输入信号,LP为1表示左转,LR 为1表示右转,NIGHT% 1表示夜间行路,BRAKES 1表示杀(J车。LEDL,LEDB,LEDNJ输 出信号,表示汽车左侧的三盏灯

32、。如图所示:当LP为1时,LEDLt出为1表示左侧灯亮, 当BRAKES 1时,LEDB俞出为1表示左侧灯亮,当 NIGHT为1时,LEDN俞出为1表示 左侧灯亮。当LR为1时,左侧三盏灯输出均为00即没有灯亮。4.4 右边灯控制模块仿真及分析右边灯控制模块由VHD即序实现后,具仿真图如图4.4所示364. _ nsName iLKIPALPA RWE-NIGHT0LEDR9LEDB0 LEDhlVaii)p| 100 Ons 2O0.tks SOOJOns 400. Ons 500 Ore 600 Ons TODjOns 800.0ns 93C ,0-s 1 (TtrrrrmTwwntwrrrnmrwr0图4.4右边灯控制模块时序仿真图对时序仿真图进行分析:RP LR,NIGHT,BRAK斜输入彳S号,LR为1表示左转,RP 为1表示右转,NIGHT% 1表示夜间行路,BRAKES 1表示杀U车。LEDR,LEDB,LED的输 出信号,表示汽车右侧的三盏灯。如图所示:当RP为1时,LEDR俞出为1表示右侧灯亮, 当BRAKES 1时,LEDB俞出为1表示右侧灯亮,当NIGHT为1时,LEDN俞出为1表示 右侧灯亮。当LR为1时,右侧三盏灯输出均为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论