一、设计方案。
1、设计一个汽车尾灯控制器,利用eda软件(max+plusii)进行编译及**,设计输入可采用vhdl硬件描述语言输入法和原理图输入法,通过**查看设计的可行性,因条件有限,只能进行简单的**实验。
2、设计要求。
1)汽车尾部左右两侧各有多盏指示灯。
2)汽车正常行驶时指示灯都不亮。
3)汽车右转弯时,右侧的一盏指示灯亮。
4)汽车左转弯时,左侧的一盏指示灯亮。
5)汽车刹车时,左右两侧的一盏指示灯同时亮。
6)汽车在夜间行驶时,左右两侧有指示灯同时一直亮,供照明使用。
3、系统设计。
系统的输入信号包括:系统时钟信号clk,汽车左转弯控制信号left,汽车右转弯控制信号right,刹车信号brake,夜间行驶信号night。
系统的输入信号包括:汽车左侧3 盏指示灯lled1,lled2,lled3和汽车右侧3盏指示灯rled1,rled2,rled3。
二、方案实施。
各组成模块。
实现的主要功能是通过开关控制从而实现汽车尾灯的点亮方式。汽车尾灯控制器有4个模块组成,分别为:时钟分频模块、汽车尾灯主控模块,左边灯控制模块和右边灯控制模块,时钟分频模块由vhdl程序来实现,vhdl**:
library ieee;
use use
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);
beginprocess(clk)
beginif clk'event and clk = 1'then
count <=count + 1;
end if;
end process;
cp<= count(3);
end art;
分频模块**图。
主模块程序:
library ieee;
use 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);
begintemp:=left & right;
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 art;
主控模块**图。
左边灯控制模块。
由vhdl程序来实现,下面是其中的一段vhdl**:
library ieee;
use entity lc is
port (clk,lp,lr,brake,night :in std_logic;
ledl,ledb,ledn: out std_logic);
end entity lc;
architecture art of lc is
begin
ledb<=brake;
ledn<=night;
process(clk,lp,lr)
beginif clk'event and clk = 1' then
if(lr ='0')then
if(lp = 0')then
ledl<='0';
elseledl<='1';
end if;
elseledl <=0';
end if;
end if;
end process;
end art;
左灯模块**图:
右边灯控制模块。
右灯程序如下:
library ieee;
use entity rc is
port (clk, rp, lr, brake, night:in std_logic;
ledr, ledb, ledn : out std_logic );
end entity rc ;
architecture one of rc is
begin
ledb<=brake;
ledn<=night;
process(clk,rp,lr)
beginif clk'event and clk = 1' then
if(lr = 0')then
if(rp = 0')then
ledr <=0';
elseledr <=1';
end if;
elseledr <=0';
end if;
end if;
end process;
end ;右灯控制模块**图:
对时序**图进行分析:
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的信号脉冲输出。
左边灯控制模块**及分析。
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。即没有灯亮。
右边灯控制模块**及分析。
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。即没有灯亮。
整个系统**及分析。
对时序**图进行分析:
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,表示左,右两侧各有一盏灯亮。
整个系统**图。
总体设计电路图。
EDA大作业
eda技术课程大作业。设计题目 4线 16线译码器设计。学生姓名。学号。专业班级 09电子信息1班 2012年5月26日。4线 8线译码器设计。1.设计背景与设计方案。1.1设计背景。译码器是组合逻辑电路的一个重要器件,它是一种将一种编码转换为另一种编码的逻辑电路,在编码时,每一种二进制 都赋予了特...
EDA大作业
eda技术课程大作业。设计题目 双二选一多路选择器。学生姓名 王行智。学号 201002050002 专业班级 电气自动化技术一班。2012 年 5 月 26日。1.设计背景 在很多时候,要完成一项工作,需要进行两次判断和选择,对于机器和人都是如此,这就需要两个选择器,双2选1多路选择器就应运而生了...
EDA大作业
eda技术 课程大作业。项目名称 实用电路 分析设计。专业班级 微机 10 学号 100507121 姓名 汪丛华。连云港职业技术学院信息工程学院。2011年 12月日。项目一 项目名称 阻容耦合放大电路测试。项目要求 1.分析的基本设置 2.掌握常用的高级 分析方法。项目设计准备分析 1.掌握电路...