EDA课程设计报告.docx

上传人:b****5 文档编号:7671868 上传时间:2023-01-25 格式:DOCX 页数:14 大小:227.65KB
下载 相关 举报
EDA课程设计报告.docx_第1页
第1页 / 共14页
EDA课程设计报告.docx_第2页
第2页 / 共14页
EDA课程设计报告.docx_第3页
第3页 / 共14页
EDA课程设计报告.docx_第4页
第4页 / 共14页
EDA课程设计报告.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

EDA课程设计报告.docx

《EDA课程设计报告.docx》由会员分享,可在线阅读,更多相关《EDA课程设计报告.docx(14页珍藏版)》请在冰豆网上搜索。

EDA课程设计报告.docx

EDA课程设计报告

《EDA技术应用》

课程设计报告

 

专业:

通信工程

班级:

10312

姓名:

付章松

指导教师:

彭敏王瑞瑛

 

2012年12月6日

 

目录

1.设计任务及要求与分工-1-

2.设计方案-1-

3.模块设计-2-

3.1主控模块-2-

3.2时钟分频模块-4-

3.3左边灯控制模块-6-

3.4右边灯控制模块-8-

3.5顶层文件-10-

4.整体设计-11-

4.1系统仿真结果图-12-

4.2系统电路图-12-

5.硬件设置与测试-13-

6.心得体会-13-

7.指导老师意见-14-

8.参考资料-14-

汽车尾灯控制器的设计

1.设计任务及要求与分工

个人任务:

在该组负责收集整理资料并且写报告,在收集资料方面,多数是在互联网上,XX文库中搜索相关资料,但是资料有限且大多相同,另外,在图书馆部分书籍上看到有关资料并抄下来,资料基本齐全,设计的成功依赖于好的程序和有序的运作以及各成员的分工合作,以下是详细设计。

设计任务:

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

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

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

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

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

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

设计要求:

(1)采用VHDL语言编写程序,并在QuartusII工具平台中进行开发,下载到EDA实验箱进行验证。

(2)编写设计报告,要求包括方案选择、程序清单、调试过程、测试结果及心得体会。

2.设计方案

大致设计方案如下:

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

图2-1模块关系

系统的输入信号包括:

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

系统的输出信号包括:

汽车左侧3盏指示灯LLED1,LLED2,LLED3和汽车右侧3盏指示灯RLED1,RLED2,RLED3。

当汽车正常行驶时所有的指示灯都不亮,当汽车向左转时,汽车左边的指示灯LLED1亮,当汽车向右转时,汽车右边的指示灯RLED1亮,当汽车刹车时,左右的LLED2、RLED2亮,当汽车夜间行驶时,汽车左右的LLED3、RLED3一直亮。

通过编写相关VHDL语言程序实现以上功能,将四个模块的各个程序编写出来作为相应的底层文件,然后再设计一个顶层文件将四个不同模块连接起来,实现成整体的程序。

通过不同模块生成相应的元件,将生成的各个元件按功能进行连接形成整体的设计电路。

在完成编程后,再进行功能,时序仿真,最后进行硬件检测。

3.模块设计

3.1主控模块

图3-1主控模块

输入信号:

输出信号:

LEFT:

左转信号;LP:

左侧灯控制信号;

RIGHT:

右转信号;RP:

右侧灯控制信号;

BRAKE:

刹车信号;LR:

错误控制信号;

NIGHT:

夜间行驶信号;BRAKE_LED:

刹车控制信号;

NIGHT_LED:

夜间行驶控制信号;

模块程序(MC.vhd)

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYMCIS

PORT(LEFT,RIGHT,BRAKE,NIGHT:

INSTD_LOGIC;

LP,RP,LR,BRAKE_LED,NIGHT_LED:

OUTSTD_LOGIC);

ENDMC;

ARCHITECTUREARTOFMCIS

BEGIN

NIGHT_LED<=NIGHT;

BRAKE_LED<=BRAKE;

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;

功能:

该段程序用于对汽车尾灯进行整体控制,当输入为左转信号时,输出左侧灯控制信号;当输入为右转信号时,输出右侧灯控制信号;当同时输入LEFT和RIGHT信号时,输出错误控制信号。

当输入为刹车信号时,输出刹车控制信号;当输入为夜间行驶信号时,输出为夜间行驶控制信号。

仿真图:

图3-2时序仿真

图3-3功能仿真

3.2时钟分频模块

图3-4时钟分频模块

模块VHDL程序(CLK_1.vhd)

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCLK_1IS

PORT(CLK:

INSTD_LOGIC;

CP:

OUTSTD_LOGIC);

END;

ARCHITECTUREARTOFCLK_1IS

SIGNALCOUNT:

STD_LOGIC_VECTOR(7DOWNTO0);

BEGINPROCESS(CLK)

BEGIN

IFCLK'EVENTANDCLK='1'THEN

COUNT<=COUNT+1;

ENDIF;

ENDPROCESS;

CP<=COUNT

(2);--进行8分频

ENDART;

功能:

这块的功能是对左右两边的LLED1、RLED1的闪烁时间间隔,以CLK为输入信号,CP为输出信号,在程序中定义一个八位节点信号COUNT来放计数值,当CLK的上升沿到来时就开始计数,最后将COUNT

(2)给CP,实现对CLK的8分频,再将CP的电平信号分别和LEDL、LEDR电平与,最后用输出的电平来控制汽车左右的LLED1、RLED1,实现左右转的指示功能。

仿真图:

图3-5时钟分频模块仿真

 

3.3左边灯控制模块

   

              

图3-6左灯控制模块

输入信号:

CLK:

时钟控制信号;              

LP:

左侧灯控制信号;

LR:

错误控制信号;

BRAKE:

刹车控制信号;

NIGHT:

夜间行驶控制信号;

输出信号:

LEDL:

左侧LD1灯控制信号;

LEDB:

左侧LD2灯控制信号;

LEDN:

左侧LD3灯控制信号;

模块程序(LC.vhd)

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYLCIS

PORT(CLK,LP,LR,BRAKE,NIGHT:

INSTD_LOGIC;

LEDL,LEDB,LEDN:

OUTSTD_LOGIC);

END;

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;

功能:

本程序用于控制左侧灯的亮、灭和闪烁情况,当时钟上升沿信号和左侧灯控制信号或刹车控制信号或夜间行驶信号同时出现时,左侧相应的灯亮或出现闪烁。

当错误控制信号出现时,LD1灯不亮。

仿真图:

图3-7时序仿真

图3-8功能仿真

3.4右边灯控制模块

            

图3-9右灯控制模块

输入信号:

CLK:

时钟控制信号;

RP:

右侧灯控制信号;

LR:

错误控制信号;

BRAKE:

刹车控制信号;

NIGHT:

夜间行驶控制信号;

输出信号:

LEDR:

右侧RD1灯控制信号;

LEDB:

右侧RD2灯控制信号;

LEDN:

右侧RD3灯控制信号;

模块VHDL程序(RC.vhd)

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYRCISPORT(CLK,RP,LR,BRAKE,NIGHT:

INSTD_LOGIC;

LEDR,LEDB,LEDN:

OUTSTD_LOGIC);

END;

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;

功能:

本描述用于控制右侧灯的亮、灭和闪烁情况,当时钟上升沿信号和右侧灯控制信号或刹车控制信号或夜间行驶信号同时出现时,右侧相应的灯亮或出现闪烁。

当错误控制信号出现时,RD1灯不亮。

仿真图:

图3-10时序仿真

图3-11功能仿真

3.5顶层文件

(ourdesign.vhd)

Libraryieee;

Useieee.std_logic_1164.all;

Useieee.std_logic_unsigned.all;

Entityourdesignis

Port(clk:

instd_logic;

Left:

instd_logic;

Right:

instd_logic;

Brake:

instd_logic;

Night:

instd_logic;

Ld1,Ld2,Ld3:

outstd_logic;

Rd1,Rd2,Rd3:

outstd_logic);

End;

Architectureaabbofourdesignis

ComponentCLK_1is

Port(clk:

instd_logic;

Cp:

outstd_logic);

Endcomponent;

ComponentMCis

Port(left,right,brake,night:

instd_logic;

Lp,rp,lr,brake_led,night_led:

outstd_logic);

Endcomponent;

ComponentLCis

Port(clk,lp,lr,brake,night:

instd_logic;

Ledl,ledb,ledn:

outstd_logic);

Endcomponent;

ComponentRCis

Port(clk,rp,lr,brake,night:

instd_logic;

Ledr,ledb,ledn:

outstd_logic);

Endcomponent;

Signalt0,t1,t2,t3,t4:

std_logic;--定义中间信号以方便元件例化

Signale0,e1,e2,e3,e4,e5:

std_logic;

signaltm:

std_logic;

begin

U1:

CLK_1portmap(clk,tm);

U2:

MCportmap(left,right,brake,night,t0,t1,t2,t3,t4);

U3:

LCportmap(clk,t0,t2,t3,t4,e0,e1,e2);

U4:

RCportmap(clk,t1,t2,t3,t4,e3,e4,e5);

Ld1<=e0andtm;

Ld2<=e1;

Ld3<=e2;

Rd1<=e3andtm;

Rd2<=e4;

Rd3<=e5;

Endarchitectureaabb;

功能:

采用元件例化的设计方法将各个底层模块连接起来,整体完成汽车尾灯功能。

4.整体设计

4.1系统仿真结果图

图4-1系统仿真

4.2系统电路图

图4-2系统电路图

输入刹车信号一直为高电平,输出LD2灯和RD2灯也为长亮;左转信号为高电平时,LD1灯闪烁,右转信号为高电平时,RD1灯闪烁;当左转信号和右转信号同时为高电平时,LD1灯和RD1灯都不亮;夜间行驶信号为高电平时,LD3灯和RD3灯同时亮。

波形仿真结果满足预期的功能。

5.硬件设置与测试

选用硬件芯片为EP1K30T144-3

端口设置:

输入端口:

Clk-------PIN125选用1Hz脉冲

开关控制

LEFT-----PIN32----SW1RIGHT---PIN33----SW2

BRAKE---PIN36-----SW3NIGHT------PIN37---SW4

输出端口:

彩灯显示

LD1------------PIN31---------------D112

LD2------------PIN30---------------D111

LD3------------PIN29---------------D110

RD1------------PIN26---------------D107

RD2------------PIN27---------------D108

RD3------------PIN28---------------D109

测试结果:

当打开单独左转开关,D112(LD1)亮;当打开单独右转开关,D107(RD1)亮;当左右同时打开时,D112,D107(LD1,RD1)都不亮;当打开夜行或刹车开关时,D111和D108(LD2和RD2)都亮或D110和D109(LD3和RD3)都亮。

6.心得体会

设计让我们充分主动,在各方面,由小组合作,分工明确,目标明了,在充分找到资料后,认真熟悉与分析原理,调起了学生的设计兴趣,在编程方面,姜理论知识运用于实际,将所学知识充分运用,由于缺乏实验器材,只能在电脑上仿真,每一步都体现了设计的人性化和团队合作的重要性,开发了学生的创造力与思考能力,调动了学生做事的主动性。

 

7.指导老师意见

 

8.参考资料

【1】邹彦、庄严等编.EDA技术与数字系统设计.北京:

电子工业出版社,2008

【2】张庆双主编.实用电子电路200例.北京:

机械工业出版社,2005

【3】赵世强、许杰等编.电子电路EDA技术.西安:

西安电子科技大学出版社,2000

【4】清华大学电子学教研组编.余孟尝主编.数字电子技术.第三版.北京:

高等教育出版社,2006

【5】黄仁欣.EDA技术实用教程.北京:

清华大学出版社,2006

【6】江国强.EDA技术与应用.北京:

电子工业出版社,2004

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

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

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

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