汽车尾灯控制电路设计.docx
- 文档编号:9407085
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:20
- 大小:353.02KB
汽车尾灯控制电路设计.docx
《汽车尾灯控制电路设计.docx》由会员分享,可在线阅读,更多相关《汽车尾灯控制电路设计.docx(20页珍藏版)》请在冰豆网上搜索。
汽车尾灯控制电路设计
目录
1、前言2
2、EDA技术的介绍3
2.1什么是EDA3
2.2EDA技术的发展3
2.3EDA技术的基本设计方法4
2.3.1电路级设计4
2.3.2系统级设计5
3、CPLD和FPGA的主要芯片介绍7
3.1CPLD介绍7
3.2FPGA介绍8
4、设计内容介绍9
4.1FIFO的介绍9
4.2同步FIFO的介绍10
5、方案比较12
5.1原理图设计12
5.2VerilogHDL的设计12
6、编程实现13
6.1原理图设计13
6.2VerilogHDL的设计-----程序如下所示:
13
7、仿真16
7.1原理图输入16
7.2VerilogHDL语言输入16
8、FPGA最小系统电路18
8.1FPGA设计的总框图18
8.2FPGA与单片机相连接的系统19
8.3FPGA的下载以及配置20
9、调试22
10、总结23
11、参考资料:
24
.附录
1、前言
现代EDA新技术,与原来的大规模可编程逻辑器件的应用相比较,它的应用范围已经远远超过了数字逻辑器件的应用范围。
通过运用VerilogHDL语言编程,软件QuartusII6.0,逐渐掌握EDA的用法,熟练步骤,对以后的学习与工作做了很好的铺垫;剖析整个系统运行的步骤与工作原理,从而完成对整个设计的理论分析任务,以次来指导其它设计过程;硬件电路设计主要是设计相关模块的设计思想的可视化,是相关模块的电路图的汇总和其相关仿真波形的集锦,该部分条理清晰,思路明确,从中我们可以清晰地看到该设计方案的具体模块和整个设计的原理结构实图;程序设计这一部分主要阐述该设计的设计方法与设计思想,进一步从软件设计上揭示设计构思,主要包含了整个设计所用到的模块的硬件描述语言的设计,通过这一部分的学习,对VerilogHDL的设计方法有了进一步的学习,对其相关语言设计规范有了更深层次的掌握,能够更加熟练的做一些编程设计。
最后通过设计了解到基于PLD的EDA技术的发展和应用领域不断的扩大与深入EDA技术在电子信息、通信、自动控制及计算机应用等领域的重要性日益突出。
随着技术市场与人才市场对EDA技术的需求不断提高,产品的市场效率和技术要求也将会影响到教学与科研领域,因此这一次课程设计的开展很好的把握住了教学的改革方向,更好的锻炼了学生理论联系实践的能力。
此次课程设计对我在EDA技术的学习中有着很重要的影响,通过实验我们非常充分的运用了实验室的器材,发挥团队精神,不畏困难,根据自己所学的EDA知识,认真的分析了老师要求的设计任务,明确了设计思路,我们齐心努力下成功的完成了先进先出同步FIFO的设计,对EDA技术的运用有了深一层的认识,对VerilogHDL程序语言设计有了更深的理解。
2、EDA技术的介绍
2.1什么是EDA
20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。
在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。
这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。
这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。
EDA是电子设计自动化(ElectronicDesignAutomation)的缩写,在20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言HDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极大地提高了电路设计的效率和可*性,减轻了设计者的劳动强度。
2.2EDA技术的发展
回顾近30年电子设计技术的发展历程,可将EDA技术分为三个阶段。
----七十年代为CAD阶段,这一阶段人们开始用计算机辅助进行IC版图编辑和PCB布局布线,取代了手工操作,产生了计算机辅助设计的概念。
----八十年代为CAE阶段,与CAD相比,除了纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,以实现工程设计,这就是计算机辅助工程的概念。
CAE的主要功能是:
原理图输入,逻辑仿真,电路分析,自动布局布线,PCB后分析。
----九十年代为ESDA阶段。
尽管CAD/CAE技术取得了巨大的成功,但并没有把人从繁重的设计工作中彻底解放出来。
在整个设计过程中,自动化和智能化程度还不高,各种EDA软件界面千差万别,
学习使用困难,并且互不兼容,直接影响到设计环节间的衔接。
基于以上不足,人们开始追求贯彻整个设计过程的自动化,这就是ESDA即电子系统设计自动化。
2.3EDA技术的基本设计方法
EDA技术的每一次进步,都引起了设计层次上的一个飞跃。
物理级设计主要指IC版图设计,一般由半导体厂家完成,对电子工程师并没有太大的意义,因此本文重点介绍电路级设计和系统级设计。
2.3.1电路级设计
电子工程师接受系统设计任务后,首先确定设计方案,同时要选择能实现该方案的合适元器件,然后根据具体的元器件设计电路原理图。
接着进行第一次仿真,包括数字电路的逻辑模拟、故障分析、模拟电路的交直流分析、瞬态分析。
系统在进行仿真时,必须要有元件模型库的支持,计算机上模拟的输入输出波形代替了实际电路调试中的信号源和示波器。
这一次仿真主要是检验设计方案在功能方面的正确性。
仿真通过后,根据原理图产生的电气连接网络表进行PCB板的自动布局布线。
在制作PCB板之前还可以进行后分析,包括热分析、噪声及窜扰分析、电磁兼容分析、可靠性分析等,并且可以将分析后的结果参数反标回电路图,进行第二次仿真,也称为后仿真,这一次仿真主要是检验PCB板在实际工作环境中的可行性。
由此可见,电路级的EDA技术使电子工程师在实际的电子系统产生之前,就可以全面地了解系统的功能特性和物理特性,从而将开发过程中出现的缺陷消灭在设计阶段,不仅缩短了开发时间,也降低了开发成本。
2.3.2系统级设计
进入90年代以来,电子信息类产品的开发出现了两个明显的特点:
一是产品的复杂程度加深,二是产品的上市时限紧迫。
然而电路级设计本质上是基于门级描述的单层次设计,设计的所有工作(包括设计输入,仿真和分析,设计修改等)都是在基本逻辑门这一层次上进行的,显然这种设计方法不能适应新的形势,为此引入了一种高层次的电子设计方法,也称为系统级的设计方法。
高层次设计是一种"概念驱动式"设计,设计人员无须通过门级原理图描述电路,而是针对设计目标进行功能描述,由于摆脱了电路细节的束缚,设计人员可以把精力集中于创造性的概念构思与方案上,一旦这些概念构思以高层次描述的形式输入计算机后,EDA系统就能以规则驱动的方式自动完成整个设计。
这样,新的概念得以迅速有效的成为产品,大大缩短了产品的研制周期。
不仅如此,高层次设计只是定义系统的行为特性,可以不涉及实现工艺,在厂家综合库的支持下,利用综合优化工具可以将高层次描述转换成针对某种工艺优化的网表,工艺转化变得轻松容易。
高层次设计步骤如下:
第一步:
----按照"自顶向下"的设计方法进行系统划分。
第二步:
----输入VHDL代码,这是高层次设计中最为普遍的输入方式。
此外,还可以采用图形输入方式(框图,状态图等),这种输入方式具有直观、容易理解的优点。
第三步:
----将以上的设计输入编译成标准的VHDL文件。
对于大型设计,还要进行代码级的功能仿真,主要是检验系统功能设计的正确性,因为对于大型设计,综合、适配要花费数小时,在综合前对源代码仿真,就可以大大减少设计重复的次数和时间,一般情况下,可略去这一仿真步骤。
第四步:
----利用综合器对VHDL源代码进行综合优化处理,生成门级描述的网表文件,这是将高层次描述转化为硬件电路的关键步骤。
综合优化是针对ASIC芯片供应商的某一产品系列进行的,所以综合的过程要在相应的厂家综合库支持下才能完成。
综合后,可利用产生的网表文件进行适配前的时序仿真,仿真过程不涉及具体器件的硬件特性,较为粗略。
一般设计,这一仿真步骤也可略去。
第五步:
----利用适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,包括底层器件配置、逻辑分割、逻辑优化和布局布线。
适配完成后,产生多项设计结果:
①适配报告,包括芯片内部资源利用情况,设计的布尔方程描述情况等;②适配后的仿真模型;③器件编程文件。
根据适配后的仿真模型,可以进行适配后的时序仿真,因为已经得到器件的实际硬件特性(如时延特性),所以仿真结果能比较精确地预期未来芯片的实际性能。
如果仿真结果达不到设计要求,就需要修改VHDL源代码或选择不同速度品质的器件,直至满足设计要求。
第六步:
----将适配器产生的器件编程文件通过编程器或下载电缆载入到目标芯片FPGA或CPLD中。
如果是大批量产品开发,通过更换相应的厂家综合库,可以很容易转由ASIC形式实现。
3、CPLD和FPGA的主要芯片介绍
3.1CPLD介绍
CPLD是ComplexPLD的简称,顾名思义,其是一种较PLD为复杂的逻辑元件。
CPLD是一种整合性较高的逻辑元件。
由于具有高整合性的特点,故其有性能提升,可靠度增加,PCB面积减少及成本下降等优点。
CPLD元件,基本上是由许多个逻辑方块(LogicBlocks)所组合而成的。
而各个逻辑方块均相似于一个简单的PLD元件(如22V10)。
逻辑方块间的相互关系则由可变成的连线架构,将整个逻辑电路合成而成。
常见的CPLD元件有Altera公司的Max5000、Max7000以及MAXII系列。
Cypress的Max340及Flash370系列等,一般来说CPLD元件的可逻辑闸数(gatecount)约在1000~7000Gate之间。
这里主要介绍MAXII器件
MAXII器件系列是一种非易失性、即用性可编程逻辑系列,它采用了一种突破性的新型CPLD架构。
这种新型架构的成本是原先MAX器件的一半,功耗是其十分之一,密度是其四倍,性能却是其两倍。
这些超级性能是在提供了所有MAX系列CPLD先进特性的架构的基础上,根据Altera专家们的意见而重新采用基于查找表的架构而得到的。
这种基于查找表的架构在最小的I/O焊盘约束的空间内提供了最多的逻辑容量。
因此,MAXIICPLD是所有CPLD系列产品中成本最低、功耗最小和密度最高的器件。
基于成本优化的0.18微米6层金属Flash工艺,MAXII器件系列具有CPLD所有的优点,例如非易失性、即用性、易用性和快速传输延时性。
以满足通用性,低密度逻辑应用为目标,MAXII器件成为接口桥接、I/O扩展、器件配置和上电顺序等应用最理想的解决方案。
除这些典型的CPLD应用之外,MAXII器件还能满足大量从前在FPGA、ASSP和标准逻辑器件中实现的低密度可编程逻辑需求。
MAXII器件提供的密度范围从240到2210个逻辑单元(LE),最多达272个用户I/O管脚。
3.2FPGA介绍
FPGA是英文Field-ProgrammableGateArray的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个新概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。
FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。
目前FPGA的品种很多,有XILINX公司的Virtex系列、TI公司的TPC系列、ALTERA公司的Stratix系列等。
这里主要介绍CycloneII系列器件。
CycloneII系列器件是Altera低成本Cyclone系列的第二代产品,CycloneIIFPGA的成本比第一代Cyclone器件低30%,逻辑容量大3倍多。
CycloneII器件采用TSMC经验证的90nm低K绝缘材料工艺技术,是业界成本最低的FPGA。
CycloneII器件容量有4608~68416个逻辑单元,还具有新的增强特性,包括多达1.1Mbit的嵌入存储器、多达150个嵌入18×18乘法器、锁相环、支持外部存储器接口及差分和单端I/O标准。
CycloneII器件系列是采用TSMC的1.2V、90nm、低K绝缘材料工艺。
CycloneII器件系列是多种不同市场上大批量应用最优的低成本方案,包括消费电子、电信和无线、计算机外设、工业和汽车。
CycloneII器件包含了许多新的增强特性,如嵌入存储器、嵌入乘法器、PLL和低成本的封装,这些都为诸如视频显示、数字电视、机顶盒、DVD播放器、DSL调制解调器、家用网关和中低端路由器等批量应用进行了优化。
CycloneII系列包括6种器件,容量从4608~68416个逻辑单元。
CycloneII器件低成本的封装支持垂直移植,这些封装包括扁平四方封装(TQFP)、速率四方封装(PQFP)和FineLineBGA封装。
4、设计内容介绍
4.1FIFO的介绍
FIFO的基本单元是寄存器,作为存储器件,FIFO的存储能力是由其内部定义的存储寄存器的数量决定。
FIFO存储器一般以数据量的深度X宽度的形式来说明所采用的基本结构。
以长度为8的FIFO为例说明其工作原理。
如下所示
____________________
D, C, B, A —>;;;|1| 2|3|4|5|6|7|8|—>;;;
两边的箭头表示数据移动的方向。
A,B,C,D表示被处理的数据。
1,2,3,4,...8表示FIFO的8个存储单元。
表明这个FIFO中共有8个寄存器单元。
每个寄存器单元可以存储一个数据。
所以寄存器的单元越多,FIFO的存储能力就越强。
每个寄存器单元的位宽与FIFO的输入和输出端的位宽是一致的。
如果要处理的数据A,B,C,D是16位的数据,那么输入输出端及每个寄存器单元的位宽就都是16位。
这个FIFO可以命名为8X16FIFO。
它在每一个时钟上升沿到来时,数据向右移动一个存储单元。
这样在时钟的控制下,数据从左到右通过存储单元。
FIFO通常是双端口的存储器,其中一个端口用于写入数据,而另一个端口用于读出数据。
可以同时对存储器字存储单元进行写入和读出操作。
它的数据吞吐率是普通RAM的两倍。
FIFO型的存储器不需要由地址来存取数据。
需要由另外的信号线(或标志)来指明存储器的内容状态。
现在的FIFO存储器采用SRAM单元来实现。
它是基于带两个指针的环行的FIFO结构的。
要写入的数据的存储地址放在写指针中,而FIFO结构中要读出的第一个数据的地址放在读指针中。
在复位后,两个指针都指向存储器的同一个字单元。
每次写操作后,写指针指向下一个存储单元。
对数据字的读取操作,会把读指针指向下一个要读取的数据字,读指针就不断地跟随写指针,当读指针跟上写指针后,FIFO的结构里面为空。
如果写指针追上读指针,FIFO结构里面的数据是满载的。
如果从硬件上来实现循环存储器,可以用双端口的SRAM来存取数据。
指针具用二进制计数器的特征,它用于产生SRAM的存储器地址。
4.2同步FIFO的介绍
同步FIFO存储器的基本结构包括存储器阵列,标志逻辑和扩展逻辑。
存储器阵列由双端口存储单元构成。
允许同时对存储单元的两个端口(读端口和写端口)进行存取。
标志逻辑用于比较两个地址指针的值,如果两个值的比较结果为零,FIFO存储器为全空,同时全空标志为真。
如果两个值的比较结果等于存储器的容量深度,说明存储器全满,同时全满标志为真。
还可以设置其他一些标志,比如半满,可编程接近满,可编程接近空等。
它们也通过对偏移量寄存器中的编程值和存储器阵列中的字的数量进行比较来生成。
同步FIFO内部通过控制电路和RAM来实现,控制电路主要包括写指针管理电路,读指针管理电路,以及FIFO状态判断电路,对于同步FIFO来讲,读和写的指针管理电路实际上就是二进制计数器。
设计FIFO电路,最重要的是对FIFO状态进行判断。
假设宽度任意而深度为8的FIFO,当读指针read_pointer和写指针write_pointer的值一样的时候,很显然,这时FIFO的状态为空。
比较麻烦的是对FIFO是否已经满的状态的判断,因为存在两种情况,第一种情况时写指针write_pointer比读指针read_pointer大,比如writer_pointer=7而read_pointer=0,还有一种情况时写指针writer_pointer比读指针read_pointer小,比如writer_pointer=2而read_pointer=3。
由于读写电路在循环的读写RAM,所以在上面的两种情况下FIFO实际上都已经满了。
那么如何对读写指针的判断比较容易的得出FIFO已经满了,同时这样的判断电路还要容易参数化?
第一种情况下,write_pointer–read_pointer=7,实际上就是FIFO深度减一,第二种情况下,(write_pointer+8)–read_pointer=7,也是FIFO深度减一。
下面的框图1主要描述同步FIFO的内部结构
图1FIFO的内部结构
5、方案比较
在FPGA设计中,有两种方式,一种是原理图式图形设计,另一种是文本语言输入。
使用原理图输入对电路进行描述主要适用于小规模电路的设计,因为小规模的电路布线简单;而VerilogHDL输入适合大规模的电路设计,并且有很好的可移植性,可读性强,易于交流的特点。
5.1原理图设计
在Quartus6.0上,建立设计工程,设定工程文件,选择目标文件,设定目标器件的参数,打开原理图编辑窗口,在上面放置所选的器件,再连线、编译,仿真,观察仿真波形。
在本设计中,同样也可以,只不过在选择器件时要设置输入数据的宽度和FIFO的深度
5.2VerilogHDL的设计
在Quartus6.0上的文本编辑框上输入设计的程序,再编译,若成功,打开波形编辑器进行仿真,若不成功,则修改程序直到编译成功为止,再进行仿真,最后观察波形是否与所要达到的目的相同。
使用原理图输入对电路进行描述主要适用于小规模电路的设计,因为小规模的电路布线简单;而VerilogHDL输入适合大规模的电路设计,并且有很好的可移植性,可读性强,易于交流的特点。
6、编程实现
6.1原理图设计
1bit×8wordsFIFO如下图2所示:
图21bit×8wordsFIFO
6.2VerilogHDL的设计-----程序如下所示:
modulemyfifo(clk,din,dout,re,wf,red,we,ra,wa);
inputclk,we,red,din;
outputdout,re,wf;
output[3:
0]wa,ra
reg[3:
0]wa,ra;
rega,b,c,d,e,f,g,h;
regdout,re,wf;
always@(posedgeclk)
begin
if(we&&!
wf==1)
wa=wa+1;
if(red&&!
re==1)
ra=ra+1;
end
always@(posedgeclk)
begin
if(wa[3:
0]==ra[3:
0])
re=1;
else
re=0;
if((wa[3]!
=ra[3])&&(wa[2:
0]==ra[2:
0]))
wf=1;
else
wf=0;
end
always@(posedgeclk)
if(we&&!
wf)
case(wa[2:
0])
3’b000:
a=din;
3’b001:
b=din;
3’b010:
c=din;
3’b011:
d=din;
3’b100:
e=din;
3’b101:
f=din;
3’b110:
g=din;
3’b111:
h=din;
endcase
always@(posedgeclk)
if(red&&!
re)
case(ra[2:
0])
3’b000:
dout=a;
3’b001:
dout=b;
3’b010:
dout=c;
3’b011:
dout=d;
3’b100:
dout=e;
3’b101:
dout=f;
3’b110:
dout=g;
3’b111:
dout=h;
endcase
endmodule
7、仿真
7.1原理图输入
仿真波形图如图3
图3原理图输入的仿真波形图
7.2VerilogHDL语言输入
仿真波形图如图4、5、6
图4写满功能的仿真波形图
图5读空功能的仿真波形图
图6文本输入的仿真波形图
8、FPGA最小系统电路
8.1FPGA设计的总框图
图7设计FPGA最小系统的总框图
从上图7可以看出包括有关FPGA的电源部分,程序下载电路,外部接口,显示部分,以及与之相连的单片机部分(电源部分、单片机程序下载、单片机电路)和单片机、FPGA的引脚功能等。
这样在做具体设计的时候可以根据上面的框图来设计具体的电路。
8.2FPGA与单片机相连接的系统
图8FPGA与单片机相连的电路图
在这个系统中,FPGA程序下载电路和单片机下载电路相连接,这样可以通过软件能够把计算机上编写的程序下载到FPGA芯片上,就可以在FPGA芯片上仿真出来,如图8。
图9是具体的FPGA程序下载电路
图9FPGA的程序下载电路
8.3FPGA的下载以及配置
Altera公司针对FPGA器件不同的内部结构有不同的配置方式。
如可以通过编程器、JATG接口在线编程以及Altera在线配置等三种方式进行对FPGA的配置。
Altera器件编程下载电缆有:
ByteBlaster并行下载电缆、ByteBlasterMV并行下载电缆,MasterBlaster串行/USB通信电缆BitBlaster串口下载电缆。
ByteBlaster并行下载电缆具有与PC机25针标准并行口通过PC机标准并行口在线编程。
利用ByteBlaster并行下载电缆/3.3V器件时,要将电缆的VCC脚连到5V电源,而器件的VCC脚连到3.3V电源,但5V电源要接上拉电阻。
ByteBlaster并行下载电缆提供两种下载模式:
PS(被动串行)模式和JTAG模式。
ByteBlasterMV的25针插头与ByteBlaster并行下载电缆的区别仅是第15脚不同,ByteBlaster连到GND,而ByteBlasterMV连到VCC。
同样的,ByteB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汽车 尾灯 控制电路 设计