- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
EDA课程设计报告
汽车尾灯控制器设计
专业:通信工程
学号:
姓名:
日期:2014-7-3
1.设计目的
本次设计的目的就是通过实践深入理解状态机原理,了解EDA技术并掌握VHDL硬件描述语言的设计方法和思想。通过学习的VHDL语言结合电子电路的设计知识理论联系实际,掌握所学的课程知识和基本单元电路的综合设计应用。通过对实用汽车尾灯控制器的设计,巩固和综合运用所学知识,提高分析、解决EDA技术实际问题的独立工作能力。
根据计算机中状态机原理,利用VHDL设计汽车尾灯控制器的各个模块,并使用EDA 工具对各模块进行仿真验证。汽车尾灯控制器的设计分为4个模块:时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块。把各个模块整合后就形成了汽车尾灯控制器。通过输入系统时钟信号和相关的汽车控制信号,汽车尾灯将正确显示当前汽车的控制状态。
2.汽车尾灯控制器的设计过程
根据现代交通规则,汽车尾灯控制器应满足以下基本要求:
1.汽车正常使用是指示灯不亮
2.汽车右转时,右侧的一盏灯亮
3.汽车左转时,左侧的一盏灯亮
4.汽车刹车时,左右两侧的指示灯同时亮
5.汽车夜间行驶时,左右两侧的指示灯同时一直亮,供照明
6.出现大雾天气时,两侧雾灯点亮,增加可视度。
3.汽车尾灯控制器的工作原理
汽车尾灯控制器就是一个状态机的实例。当汽车正常行驶时所有指示灯都不亮;当汽车向右转弯时,汽车右侧的指示灯ldright亮;当汽车向左侧转弯时,汽车左侧的指示灯ldleft亮;当汽车刹车时,汽车右侧的指示灯ldbrake1和汽车左侧的指示灯ldbrake2同时亮;当汽车在夜间行驶时,汽车右侧的指示灯ldnight1和汽车左侧的指示灯ldnight2同时一直亮;当于大雾天行驶时右侧指示灯ldfoggy1和左侧指示灯ldfoggy2同时亮。
通过设置系统的输入信号:系统时钟信号clk,汽车左转弯控制信号left,汽车右转弯控制信号right,刹车信号brake,夜间行驶信号night,雾灯信号foggy和系统的输出信号:汽车左侧4盏指示灯ldleft,dbrake1,dnight1,dfoggy1和汽车右侧4盏指示灯ldright,ldbrake2,ldnight2,ldfoggy2实现以上功能。
系统的整体组装设计原理如图所示:
汽车行驶信号
汽车行驶信号
主控模块
左灯控制模块
右灯控制模块
显示
时钟
系统整体设计框图
系统整体设计框图
4.各组成模块原理及程序
汽车尾灯控制器由4个模块组成,分别为:时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块。
以下介绍各模块的详细设计:
(1)时钟分频模块
图为时钟分频模块图
时钟分频模块由VHDL程序来实现,下面是其VHDL代码:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity clock is
port(clk:in std_logic;
cp:out std_logic);
end;
architecture behave of clock is
signal count:std_logic_vector(7 downto 0);
begin
process(clk)
begin
if clkevent and clk = 1then
count = count + 1;
end if;
end process;
cp= count(3);
end behave;
(2) 汽车尾灯主控模块
图为主控模块
汽车尾灯主控模块由VHDL程序来实现,下面是其VHDL代码:
library ieee;
use ieee.std_logic_1164.all;
entity control is
port(left,right,brake,night,foggy:in std_logic;
lp,rp,lr,brake_led,night_led,foggy_led:out std_logic);
end;
architecture art of control is
begin
foggy_led=foggy;
night_led=night;
brake_led=brake;
process(left,right)
variable temp:std_logic_vector
文档评论(0)