实验九 汽车尾灯控制器设计与实现.docx

上传人:b****5 文档编号:8276110 上传时间:2023-01-30 格式:DOCX 页数:9 大小:93.85KB
下载 相关 举报
实验九 汽车尾灯控制器设计与实现.docx_第1页
第1页 / 共9页
实验九 汽车尾灯控制器设计与实现.docx_第2页
第2页 / 共9页
实验九 汽车尾灯控制器设计与实现.docx_第3页
第3页 / 共9页
实验九 汽车尾灯控制器设计与实现.docx_第4页
第4页 / 共9页
实验九 汽车尾灯控制器设计与实现.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

实验九 汽车尾灯控制器设计与实现.docx

《实验九 汽车尾灯控制器设计与实现.docx》由会员分享,可在线阅读,更多相关《实验九 汽车尾灯控制器设计与实现.docx(9页珍藏版)》请在冰豆网上搜索。

实验九 汽车尾灯控制器设计与实现.docx

实验九汽车尾灯控制器设计与实现

实验九汽车尾灯控制器设计与实现报告

一、实验目的

1、进一步掌握VHDL语言的基本结构及设计的输入方法。

2、掌握自顶向下设计方法。

3、掌握层次化设计混合编程方法。

二、实验内容

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

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

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

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

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

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

2、根据系统设计要求,系统设计采用自顶向下的设计方法,顶层设计采用原理图设计方式,它由时钟分频模块、汽车尾灯主控模块、左边灯控制模块和右边灯控制模块四部分组成。

系统设计原理图如下图2.1所示。

图2.1

系统的输入信号包括:

系统时钟信号CLK,汽车左转弯控制信号LEFT,汽车右转弯控制信号RIGHT,刹车信号BRAKE,夜间行驶信号NIGHT。

系统的输出信号包括:

汽车左侧3盏指示灯LD1、LD2、LD3和汽车右侧3盏指示灯RD1、RD2、RD3。

系统工作原理为:

当汽车正常行驶时所有指示灯都不亮;当汽车向右转弯时,汽车右侧的指示灯RD1亮;当汽车向左转弯时,汽车左侧的指示灯LD1亮;当汽车刹车时,汽车右侧的指示灯RD2和汽车左侧的指示灯LD2同时亮;当汽车在夜间行驶时,汽车右侧的指示灯RD3和汽车左侧的指示灯LD3同时一直亮。

请分析汽车尾灯控制器实现过程,编写程序代码,结合已设计底层文件实现顶层元器件(采用混合编程)设计,使之组成完整系统。

 

三、实验原理

1、汽车尾灯控制器就是一个状态机的实例。

当汽车正常行驶时所有指示灯都不亮;当汽车向右转弯时,汽车右侧的指示灯RD1亮;当汽车向左侧转弯时,汽车左侧的指示灯LD1亮;当汽车刹车时,汽车右侧的指示灯RD2和汽车左侧的指示灯LD2同时亮;当汽车在夜间行驶时,汽车右侧的指示灯RD3和汽车左侧的指示灯LD3同时一直亮。

通过设置系统的输入信号:

系统时钟信号CLK,汽车左转弯控制信号LEFT,汽车右转弯控制信号RIGHT,刹车信号BRAKE,夜间行驶信号NIGHT和系统的输出信号:

汽车左侧3盏指示灯LD1、LD2、LD3和汽车右侧3盏指示灯RD1、RD2、

汽车尾灯和汽车运行状态表如表3.1所示。

汽车尾灯和汽车运行状态表3.1

开关控制

汽车运行状态

右转尾灯

左转尾灯

S0S1S2

R1R2R3

L1L2L3

000

正常运行

灯灭

灯灭

001

左转弯

灯灭

L1灯亮

010

右转弯

R1灯亮

灯灭

011

临时刹车/检测

R2、L2灯同时亮

101

夜间行驶

R3、L3灯同时亮

 

四、设计步骤

1、各组成模块

实现的主要功能是通过开关控制从而实现汽车尾灯的点亮方式。

汽车尾灯控制器有4个模块组成,分别为:

汽车尾灯主控模块,左边灯控制模块和右边灯控制模块,以下介绍各模块的详细设计。

2、时钟分频模块

整个时钟分频模块的工作框图如图4.2所示。

图4.1时钟分频模块工作框图

时钟分频模块由VHDL程序来实现,下面是其中的一段VHDL代码:

ARCHITECTUREARTOFSZIS

SIGNALCOUNT:

STD_LOGIC_VECTOR(7DOWNTO0);

BEGIN

PROCESS(CLK)

BEGIN

IFCLK'EVENTANDCLK='1'THEN

COUNT<=COUNT+1;

ENDIF;

ENDPROCESS;

CP<=COUNT(3);

ENDART;

 

3、汽车尾灯主控模块

汽车尾灯主控模块工作框图如图4.2所示

 

图4.2主控模块工作框图

汽车尾灯主控模块由VHDL程序来实现,下面是其中的一段VHDL代码:

ARCHITECTUREARTOFCTRLIS

BEGIN

NIGHT_LED<=NIGHT;

BRAKE_LED<=BAKE;

PROCESS(LEFT,RIGHT)

VARIABLETEMP:

STD_LOGIC_VECTOR(1DOWNTO0);

BEGIN

TEMP:

=LEFT&RIGHT;

CASETEMPIS

WHEN"00"=>LP<='0';RP<='0';LR<='0';

WHEN"01"=>LP<='0';RP<='1';LR<='0';

WHEN"10"=>LP<='1';RP<='0';LR<='0';

WHENOTHERS=>LP<='0';RP<='0';LR<='1';

ENDCASE;

ENDPROCESS;

ENDART;

 

4、左边灯控制模块

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

 

图4.2左边灯控制模块的工作框图

左边灯控制模块由VHDL程序来实现,下面是其中的一段VHDL代码:

ARCHITECTUREARTOFLCIS

BEGIN

LEDB<=BRAKE;

LEDN<=NIGHT;

PROCESS(CLK,LP,LR)

BEGIN

IFCLK'EVENTANDCLK='1'THEN

IF(LR='0')THEN

IF(LP='0')THEN

LEDL<='0';

ELSE

LEDL<='1';

ENDIF;

ELSE

LEDL<='0';

ENDIF;

ENDIF;

ENDPROCESS;

ENDART;

5、右边灯控制模块

右边灯控制模块的工作框图如图4.4所示

 

图4.4右边灯控制模块的工作框图

右边灯控制模块由VHDL程序来实现,下面是其中的一段VHDL代码:

ARCHITECTUREARTOFRCIS

BEGIN

LEDB<=BRAKE;

LEDN<=NIGHT;

PROCESS(CLK,RP,LR)

BEGIN

IFCLK'EVENTANDCLK='1'THEN

IF(LR='0')THEN

IF(RP='0')THEN

LEDR<='0';

ELSE

LEDR<='1';

ENDIF;

ELSE

LEDR<='0';

ENDIF;

ENDIF;

ENDPROCESS;

ENDART;

五、系统仿真与调试

5.1分频模块仿真及分析

分频模块由VHDL程序实现后,其仿真图如图5.1所示

 

图5.1分频模块仿真图

对其仿真图进行仿真分析:

如图所示,首先生成一个600ns的时钟脉冲,通过时钟分频把600ns的脉冲分成一个40ns的脉冲,实现了信号同步。

5.2汽车尾灯主控模块仿真及分析

汽车尾灯主控模块由VHDL程序实现后,其仿真图如图5.2所示。

 

图5.2主控模块时序仿真图

对时序仿真图进行分析:

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的信号脉冲输出。

5.3左边灯控制模块仿真及分析

左边灯控制模块由VHDL程序实现后,其仿真图如下图5.3所示。

对时序仿真图进行分析:

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。

即没有灯亮。

 

图5.3左边灯控制模块时序仿真图

5.4右边灯控制模块仿真及分析

右边灯控制模块由VHDL程序实现后,其仿真图如图5.4所示。

 

图5.4右边灯控制模块时序仿真图

对时序仿真图进行分析:

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。

即没有灯亮。

5.5整个系统仿真及分析

按图2.1组装系统后的仿真图如下图5.5所示。

对时序仿真图进行分析:

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,表示左,右两侧各有一盏灯亮。

图5.5整个系统仿真图

系统的输入信号包括:

系统时钟信号CLK,汽车左转弯控制信号LEFT,汽车右转弯控制信号RIGHT,刹车信号BRAKE,夜间行驶信号NIGHT。

系统的输出信号包括:

汽车左侧3盏指示灯LD1、LD2、LD3和汽车右侧3盏指示灯RD1、RD2、RD3。

系统工作原理为:

当汽车正常行驶时所有指示灯都不亮;当汽车向右转弯时,汽车右侧的指示灯RD1亮;当汽车向左转弯时,汽车左侧的指示灯LD1亮;当汽车刹车时,汽车右侧的指示灯RD2和汽车左侧的指示灯LD2同时亮;当汽车在夜间行驶时,汽车右侧的指示灯RD3和汽车左侧的指示灯LD3同时一直亮。

请分析汽车尾灯控制器实现过程,编写程序代码,结合已设计底层文件实现顶层元器件(采用混合编程)设计,使之组成完整系统。

六、实验心得

本实验利用VHDL语言结合层次化设计混合编程思想设计实现汽车尾灯控制器,实验比较难做,其实验原理简单,实际操作的时候遇到很多困难。

在程序的编写时,有点困难。

最后发的仿真结果没有得出,所以此次实验没有完成。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1