- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VHDL语言文本输入设计--汽车尾灯控制电路
石家庄铁道大学
数字电路课程设计
——VHDL语言文本输入设计汽车尾灯
学院:信息科学与技术学院
班级:计 0805—2班
数字电路课程设计:VHDL语言文本输入设计
——汽车尾灯控制电路
一、需求分析
1、功能描述
设计一个汽车尾灯控制电路,汽车尾部共有六盏指示灯,左右各三盏,分别为LD1、LD2、LD3,RD1、RD2、RD3。具体能能如下:
汽车正常行驶时,所有指示灯都不亮;
汽车左转时L1闪烁;
汽车右转时R1闪烁;
汽车刹车时L2和R2同时亮;
汽车夜间行驶时L3和R3同时亮。
2、实现工具
2.1 用VHDL 语言文本形式输入;
2.2 使用MAX+plux II 进行语言编写、时序仿真和综合。
二、设计思想
采用自顶向下的设计方式,分层进行设计。设计分为四个模块进行:主控模块、定时器模块、左侧尾灯控制模块和右侧尾灯控制模块。顶层设计可完全独立于目标器件芯片物理结构的硬件描述语言。使用VHDL模型在所有综合级别上对硬件设计进行说明、建模和仿真测试。
1、顶层原理框图
2、具体功能实现
2.1 主控模块
2.2 时钟定时器模块
只有LD1和RD1有闪烁功能,因此定时器模块只控制这两个尾灯。框图如下:
2.3 左转尾灯和右转尾灯功能
2.4 刹车功能
刹车功能对应的尾灯为LD2和RD2,框图如下:
2.5夜间行驶功能
夜间行驶功能对应的尾灯为LD3和RD3,框图如下:
三、设计过程
1、建立工程
建立个一个Project,命名为weideng。将各个模块生成的文件放在同一个文件夹下。
2、文本输入
将各个模块的VHDL代码输入、保存并综合。
3、仿真
建立各个模块的gdf图,设置输入波形并仿真。
4、顶层原理图输入 利用各个模块生成的sym文件建立顶层原理图。编译并仿真。5、硬件实现 实验室提供的器件为ACEX系列,型号为EP1K100QC208—3。将dingceng.sof文件下载到器件当中,在实验箱中进行硬件模拟。四、VHDL代码及说明1、主控模块CTLR1.1 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:=LEFTRIGHT;
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;
1.2 说明输入
RIGHT:右转信号;
LEFT:左转信号;
BRAKE:刹车信号;
NIGHT:夜间行驶信号;
输出
LP:左侧灯控制信号;
RP:右侧灯控制信号;
LR:错误控制信号;
BRAKE_LED:刹车控制信号;
NIGHT_LED:夜间行驶控制信号
1.3 sym图
2、定时器模块
2.1 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 CLKEVENT AND CLK=1 THEN
COUNT=COUNT+1;
END IF;
END PROCESS;
CP=CO
文档评论(0)