基于CPLDFPGA的FSK调制解调器设计毕业论文.doc
-
资源ID:29908014
资源大小:5.53MB
全文页数:44页
- 资源格式: DOC
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
基于CPLDFPGA的FSK调制解调器设计毕业论文.doc
论文题目:基于CPLD/FPGA的FSK调制解调器设计专业:电子信息工程学生: 签名: 指导教师: 签名: 摘 要通信行业快速发展,信号调制技术不断发展,通信系统设计方法不断进步,FPGA/CPLD技术随之诞生。在本篇论文中,讲述的正是基于FPGA/CPLD的FSK调制解调器设计技术。在所设计的调制器中,所采用的是FSK调制技术中基本的频率键控法予以实现;在信号的解调制端则采用基本的过零检测法来设计实现。论文中讲述了FSK调制解调的过程和原理,并以2FSK和4FSK为例,通过VHDL硬件描述语言进行了2FSK和4FSK的调制器和解调器的设计,在FPGA/CPLD仿真环境Quartus II 6.0集成系统中进行了编译、综合和仿真,目标程序下载到SE-5M型EDA实验开发系统的EPF10K10L84目标芯片上进行了物理电路的验证。经验证,结果正确。【关键词】 FSK;调制;FPGA/CPLD;频率键控;过零检测【论文类型】 设计型Title:The Design of the FSK modulator and demodulator based on the CPLD/FPGAMajor:Electronic and Information EngineeringName:Zhou Yunru Signature: Supervisor:Zhu Daixian Signature: ABSTRACTWith the fast development of telecommunication industry, the signal modulation technology development, communication system design progresses, FPGA/CPLD technology was born. In this paper, I describe the FSK modem design based on FPGA/CPLD techniques. Modulator was designed with the frequency shift keying of the basic FSK modulation technology; And demodulator was designed with the zero-crossing detection method. The paper covers the processes and principles of FSK modulation and demodulation. The VHDL hardware description language was used for designing the 2FSK and 4FSK modulator and demodulator. I use the Quartus II 6.0 integrated FPGA/CPLD simulation environment for compilation, synthesis and simulation my program. I also download the program to the target chip EPF10K10L84 of SE-5M-EPF10K10L84 objective of EDA experiment system with a physical circuit simulation. And the result is rightly as what I expectant.【Keywords】FSK, modulation, FPGA/CPLD, The frequency shift keying, Zero-crossing detection【Type of Thesis】Design目录1概述11.1课题研究的背景11.1.1课题研究的背景11.1.2课题研究的意义21.2课题研究工作31.2.1设计要求31.2.2论文布局32数字调制技术42.1数字振幅键控42.1.1数字振幅键控原理42.1.2数字振幅键控解调52.1.3数字振幅键控性能62.2 数字相位键控82.2.1 数字相移键控原理82.2.2数字相位键控解调92.2.3数字相位键控性能102.3数字频率键控112.3.1数字频率键控原理112.3.2数字频率键控解调132.3.3数字频率键控性能152.3.4MFSK简介153FPGA技术173.1FPGA技术发展史173.2FPGA开发基础183.2.1FPGA设计流程183.2.2硬件描述语言194FSK的FPGA实现234.1FSK的实现234.1.1FPGA实现的FSK设计概述234.1.2FPGA实现的FSK设计234.2设计的FPGA仿真验证305总结375.1课题研究总结375.2课题研究的展望38致 谢39参考文献40IV1 概述本节属于论文的概述部分。在本章节,所要提及的内容有两个方面:一方面,就本课题研究的背景和意义作以简短的叙述;另一方面,为了方便广大读者的阅读,在本章节的第二部分给出了课题研究的一些要求和本篇论文的一个粗略布局。1.1 课题研究的背景1.1.1 课题研究的背景通信技术和通信产业是二十世纪八十年代以来发展极其迅速的领域之一,这不仅是在国内如此,国外也是如此,这是人类社会进入信息时代的重要标志。从最初的点到点式通信发展为现代的网状全方位多层次通信网,交换机技术从最初的人工式到现代的程控交换技术,传播信号也由模拟信号成了现代的数字信号,系统也出现了纯数字系统和模数并存的系统,技术不断深化发展,新技术不断被研究产生。图 1-1 基带通信系统图1-2 (a) 模拟通信系统图1-2 (b) 数字通信系统传统的基带通信系统,有着支持的用户数量少,信号传输质量不高,易受到干扰等缺点,为了克服这些问题,出现了诸如编码,调制,加密,扩频等技术。以基带传输系统为例,如图1-1所示,信源通过信道直接传送给信宿,显然,在短距离单用户时可以实现,但当远距离多用户通信时,或者在有限带宽的高频信道如无线或光纤信道上传输时,将无法实现或者说即使能够实现也不会获得较好的接收质量。因此,必须对信号进行一定的处理,这个处理就叫做信号调制,含调制的通信系统如图1-2中(a)所示,原始基带信号经过调制,变成频带信号,由于高频信号相对于低频信号有着诸多优点,使得信号可以远距离传输,并且为复用技术提供了可能。为了比较数字和模拟通信系统之间的不同,图1-2中(b)给出了模拟通信系统模型。调制技术发展几十年以来,已经在日常生活和工业控制中被广泛采用。1.1.2 课题研究的意义数字信号在当前应用越来越广泛,数字调制技术也就成为时下研究的热点。对于数字调制技术而言,主要有3种方式,分别为数字调幅(数字信号对载波幅度调制称为振幅键控ASM),数字调相(数字信号对载波相位调制称为相移键控PSK),数字调频(数字信号对载波频率调制称为频移键控FSK)。作为数字调制技术中重要的方法之一的FSK调制技术,是用不同频率的载波来传送数字信号,用数字基带信号控制载波信号的频率,它是信息传输中使用较早的一种调制方式,主要特点是:抗干扰能力较强,不受信道参数变化的影响,传输距离远,误码率低等。在中低速数据传输中,特别是在衰落信道中传输数据时,有着广泛的应用,其实现方法主要有单片机实现方式、数字电路实现方式、DSP实现方式、专用芯片实现方式、硬件描述语言VHDL实现方式等。然而,数字电路实现方式有其无法克制的局限性:系统升级,修改都不容易,移植性差,单片机需要很多外围电路,这样就增加了设计成本,移植升级操作不方便;ASIC(专用芯片)实现方式使用场合有限,不便推广,升级换代成本投入大等;软件类实现方式中,FPGA 最大的特点就是灵活,实现想实现的任何数字电路,可以定制各种电路,减少受制于专用芯片的束缚,真正为自己的产品量身定做,在设计的过程中可以灵活的更改设计,而且它强大的逻辑资源和寄存器资源可以让你轻松的去发挥设计理念,其并行执行,硬件实现的方式可以应对设计中大量的高速电子线路设计需求。 FPGA比DSP拥有更快的速度,可以实现非常复杂的高速逻辑,FPGA比ASIC(专用芯片)有更短的设计周期和灵活性,免去昂贵的开发费用,而且可以随时裁减,增加设计者想要实现的功能,降低设计风险,回避芯片厂商的限制。另外知识产权的概念不断涌现,他人抄袭现象严重,而FPGA完全让设计的智慧得以保护,让公司的利益在较长时间内得到保证。随着FPGA芯片供应商和第三方公司的重视,有非常多现成的IP核被提供,进一步缩短设计周期缩短,减小了开发成本。很多免费的软IP核和硬 IP核的出现,这样以来,可保持电路的不变,升级改变软件内核即可以实现整个电路作用的变化;并且FPGA设计,调试方便,又加之VHDL硬件描述语言简明易懂,语法规则类似于C语言,输入方式灵活,有利于广大设计开发人员学习设计,不管是大批量处理系统设计中还是在小批量系统设计中,都有着明显的优势,尤其在小批量的系统设计生产中,优势突出,这些优点引起了业界的高度重视。1.2 课题研究工作1.2.1 设计要求本篇论文的研究课题是“基于FPGA/CPLD的FSK调制解调器设计”,设计的内容主要是使用EDA设计技术,用硬件描述语言完成FSK调制与解调的硬件电路的设计,主要功能和技术指标如下: 1)理解FSK的调制解调的基本原理,掌握FSK调制解调实现的基本方法;2)了解EDA设计技术,掌握FPGA/CPLD硬件设计的基本方法和流程;3)用VHDL或者其他的硬件描述语言完成FSK调制解调的设计,实现调制解调器的功能,并且在QuartusII环境下实现综合调试和仿真;4)把编译好的文件下载到FPGA芯片上,进行硬件的仿真和调试。1.2.2 论文布局本篇论文以2FSK、4FSK为例,对调制技术理论进行了讲解和VHDL语言实现。论文除参考文献以外,正文部分共分为5个部分。为了使广大读者了解选择本研究课题的初衷,特意编写了第一部分,在这一部分中,阐明了选择这个研究课题的背景和意义,当然,在这一部分的最后,还对本篇论文设计的基本要求和论文撰写、设计实现中所做的工作进行了粗略的介绍。在第一部分的讲解的基础上,论文的第二部分就通信中的数字调制解调的分类和原理做了详细的讲解。第三部分对VHDL语言的设计进行了简要的讲解和概括。在熟悉了VHDL语言的基础上,论文的第四部分结合FSK和VHDL各自的要求和特点,以2FSK和4FSK信号为例,对FSK调制解调器的设计思路和实现程序进行了说明,并且,结合程序设计,基于Quartus II 6.0集成开发坏境,进行了编译、综合和调试,并下载至目标芯片上进行了仿真。在实现了整个设计后,作者并没有对目前的成果满足,而是对这种方法应用进行了拓展和未来发展进行了个人的展望。限于作者水平,在本篇论文中,难免会有不足之处和错误,恳请广大读者和相关技术人员专家批评指正。2 数字调制技术数字信号是相对于模拟信号而言,目前,大多数通信系统中的模拟信号都通过模数转换成数字信号,进行传输和处理,当然,这是由于数字信号相对于模拟信号的诸多优点而得宜的。数字调制解调是数字通信系统中至关重要的组成部分。在无线电信道中,信号调制是必不可少的,因为要将信号以电磁波的方式通过天线辐射出去,信号所占用的频带位置必须足够高,并且信号所占用的频带宽度不能超过天线的通频带,所以基带信号必须调制为一个频率很高的高频信号,才能够从天线发射出去。对于基带信号的调制可分为三类:ASK,PSK,FSK。调制常用正弦载波调制,模型如下式: (2-1)或 (2-2)模型中,A为振幅(V);为频率(Hz);为初始相位;为角频率(rad/s)。2.1 数字振幅键控2.1.1 数字振幅键控原理振幅键控(ASK)调制是正弦载波的幅值随着数字基带信号的变化而变化的调制方式,如式2-1所示,也即式中的A随着数字基带信号的变化而发生变化,ASK分为二进制振幅键控(2ASK)和多进制振幅键控(MASK)。对于2ASK来说,数字基带信号的0、1序列控制着载波幅值的变化。设发送的0的概率是P,发送1的概率是1-P,发送0、1的概率相互独立,可以用如下的方程来表示这一过程:(2-3)其中,是二进制的带通信号的时间间隔,是脉冲宽度为的矩形脉冲,且当时,=1;当取其他值时,=0,振幅键控的信号波形如图2-1所示。在图2-1中,2ASK调制信号的波形随着二进制基带信号通断而变化,所以称2ASK为通断键控信号。二进制振幅键控的实现总体有两种方式,具体方法如图2-2所示。在2-2的(a)图中,采用模拟相乘的方法实现;在2-2的(b)中,采用了数字键控的方法实现。图 2-1 2ASK调制波形图(a) 模拟相乘法 (b) 数字键控法 图 2-2 2ASK信号产生方法由上述可知,2ASK信号与模拟调幅信号AM类似。具体的实现调制方法的电路有四种:开关键控法、桥式调制法、数字电路法和三极管调幅法,在此不再一一介绍。2.1.2 数字振幅键控解调对于2ASK的解调方法有两种,一种是相干解调法,另外一种是非相干解调法,具体来讲,2ASK解调采用的是相干解调方法中的同步检波法和非相干解调方法中的包络检波法。2ASK的同步检波法的系统框图如图2-3,相干解调法的系统框图如图2-4,解调过程中具体的各部分信号波形图如图2-5。在图2-3中,是根据解调器的输入信号提取而来,这个提取电路可根据实际情况使用简单的窄带滤波器实现,也可以使用锁相环等载波提取电路来实现。在相干解调中,输入信号为,解调理论如下: (2-4)利用三角函数特殊公式,得出: (2-5)显然,式中的第一项是低频量,第二项是高频量,通过低通滤波器,第二项被滤除,就剩下第一项,于是,解调的结果是: (2-6)图 2-3 2ASK相干解调法图 2-4 2ASK非相干解调法图 2-5 2ASK信号的非相干解调各点波形2.1.3 数字振幅键控性能从功率谱和误码率两方面来讨论2ASK的性能。1) 功率谱2ASK的功率谱可以表示为 (2-7)2ASK信号的功率谱如下图2-6所示。图 2-6 2ASK的功率谱主要特点: (1)2ASK的功率谱是由基带信号的功率谱平移而来,并且中心频率为载波频率;(2)2ASK带宽为B=2,而基带信号的带宽为B=,码率为; (3)2ASK的信号频带利用率为:(Baud/Hz) (2-8)2) 误码率为信噪比,当时,2ASK相干解调的误码率为: (2-9)对于2ASK的非相干解调来说,误码率如下所示: (2-10)3) 2ASK的相干解调和非相干解调的比较(1)非相干解调比相干解调容易实现,在非相干解调中,没有调制载波信号的提取这一过程;(2)由式2-9、2-10可知,;(3)对于2ASK信号,当信噪比很大的时候,既可以用相干解调法,也可以用非相干解调法,而当信噪比不大时,信号的包络明显受到噪声影响的时候,只能用相干解调法。2.2 数字相位键控2.2.1 数字相移键控原理相移键控(PSK)调制是数字信号调制的重要方法,它所采用的是载波信号的相位随着调制信号变化的方式,同ASK一样,PSK调制也分为二进制相移键控(2PSK)和多进制相移键控MPSK。在2PSK中,通常采用的相位是0、来表示数字信号的0和1 。2PSK的基本原理如下。 2PSK的时域可表示为: (2-11)式中,是第n个符号的绝对相位,发送0时,当发送1时, ,由此可以将式2-11改写为: (2-12)调制信号的波形图如下图2-7所示:图 2-7 2PSK调制波形示意由图可以见得,码元的波形(都是载波的频率)相同,只是相位差了半个周期,那么不妨使用双极性的矩形脉冲序列与一个正弦载波的乘积: (2-13)其中, (2-14)是脉冲宽度为的矩形脉冲,是一个统计量,统计特性如下: (2-15)如式2-15所示,发送二进制0时,取+1,取相位为0;当发送二进制1时,取-1,取相位为,这种二进制的相位调制方法称为绝对相移调制法,与之相对的还有差分相位调制法(2DPSK)。图 2-8 2SPSK波形图二进制差分相移调制法(2DPSK)并不是把二进制的0、1对应于固定的相位,而是根据输入的基带信号,转化为差分码控制载波信号,实现调制,2DPSK调制的波形如图2-8所示。具体的2DPSK理论在此不做详细的叙述,可参见相关书籍。2.2.2 数字相位键控解调2PSK的解调通常采用相干解调的方法,解调器的原理框图见图2-9(a)。图 2-9(a) 2PSK相干解调系统图2-9(a)各点的波形如图2-9(b)所示.图 2-9(b) 2PSK相干解调虽然2PSK可以物理实现,但是,由于载波恢复过程中可能存在相位的模糊,也即恢复的本地载波与所需要的相干载波可能并不同相而是反向。那么,这种可能性的存在可能使得接收端解调的信号与实际所传送的信号恰恰相反,使得判决器的输出信号全部出错,也正是由于这种问题的存在,使得2PSK很少被使用,2DPSK也正是为了解决这一问题而产生的,在此,不对2DPSK作以解释。2.2.3 数字相位键控性能前边已经提及了2PSK的相位模糊问题,这是2PSK调制的主要缺点,2PSK的误码率如下,设=1/2,则: (2-16)式中,r与2ASK的相同, 2.3 数字频率键控数字调频(FSK)是本篇论文中所研究的调制技术,它是数字基带信号调制载波频率的一种数字调制技术,可分为2FSK和MFSK两大类。2.3.1 数字频率键控原理1) 基本原理2FSK的调制可以表述如下: (2-17)在式2-17中,为,它的幅度为1,是的反码,且有: (2-18) (2-19) (2-20)如上述式2-17所示,它是利用数字基带信号对载波的频率参数进行调制,实现载波的频率随着数字基带信号的变化而变化,从信息论的角度来说,这本质上是一种映射,即将数字基带信号的0、1映射成为与之对应的频率信息。2) 2FSK信号的实现2FSK的实现方法很多,有开关键控、数字门电路和直接数字调频法产生2FSK信号。(1)开关键控法实现的2FSK调制原理框图如图2-10所示:当S(t)=0时,开关S处于1位置,输出为;当S(t)=1时,开关位置处于2,输出为,这就实现了2FSK的调制。图 2-10 开关键控法框图(2)门电路实现的2FSK调制原理框图如图2-11所示:当S(t)=0时,门电路1接通,输出为;当S(t)=1时,门电路2接通,输出为,这就实现了2FSK的调制。(3)直接数字调频是利用变容二极管和振荡器实现载波的频率变化,原理图如图2-12所示。用数字基带信号S(t)控制压控振荡器的振荡频率,进而产生二进制的数字调频信号,变容二极管的电容受到基带信号的控制,从而控制谐振电路的谐振频率,谐图 2-11 门电路实现的2FSK框图图 2-12 直接数字调频系统振频率为,C为等效电容,可表示为,加在变容二极管上的反向偏置电压为。2FSK的时域波形图如下图2-13所示:图 2-13 2FSK时域波形2.3.2 数字频率键控解调对于2FSK的解调,也分为相干解调和非相干解调两种,图2-14给出了相干解调的原理框图。在图中,接收的信号经过并联的两路带通滤波器(通带不同)的滤波,然后经过与本地相干载波相乘,通过低通滤波器滤去高频分量,进行抽样判决,实现解调。值得说明的是,判决准则是比较两路信号的包络值的大小,哪个包络较大,则判决为哪路信号,相干载波的载波信号必须要从接收的信号中提取,并且和信号码元要保持同频同相,因为要求的苛刻和复杂性,也就使得系统较为复杂,设计和研究成本增加。图 2-14 2FSK解调框图2FSK信号的非相干解调方法很多,它们都没有利用信号的相位信息。以下将对包络检波法和过零检测法作以说明。对于包络检波法,其判决准则也是比较两个支路的信号的包络大小,这与相干解调中的判决准则相同,图2-15图给出了2FSK通过包络检波法实现的系统框图。对于过零检测法来说,接收到的信号通过带同滤波器后,被放大,限幅,从而得到矩形的脉冲序列,然后对其进行微分和整流,变成一系列的窄脉冲,位置则正好对应于原信号的过零点,再把这些窄脉冲变换成较宽的矩形脉冲,以增大其直流分量,最后通过低通滤波器,提取出直流分量。频率的不同必然导致直流分量的大小不同,且一定意义上,直流分量与载波频率成正比,从而解调出所发送的信号,解调的框图如图2-16所示,图2-17中给出了各点信号的波形。图 2-15 2FSK的包络检波法框图图 2-16 2FSK的过零检测法框图图 2-17 2FSK的过零检测法波形有关过零检测法的注意事项:(1)系统中的限幅器不能取消,否则C点处的脉冲个数将得不到了;(2)脉冲形成器为单稳态触发器,可用数字电路555来实现,目的是对D点的波形实现整形,由双极性变为单极性,从而能准确的检测出直流的高低电平,提高准确度,脉冲形成器不可去掉,如果去掉,会降低解调的准确性。2.3.3 数字频率键控性能主要讨论误码率,对于相干解调而言,误码率为: (2-21)其中,为信噪比。且时,有 (2-22)对于包络检波法,2FSK的误码率为: (2-23)2.3.4 MFSK简介 1)MFSK信号的产生MFSK信号的产生原理框图与2FSK的类似,但又有明显的不同,那就是MFSK的调制解调均需要串并转换这一特殊的部分,如下图2-18给出MFSK的调制器框图。 图 2-18 MFSK的调制框图为输入信号,经过串并转换电路,产生码宽为的二进制码,码宽和的关系一般满足,通过二进制的具体数值,控制着频率为F1Fn()的载波信号接通输出,从而形成调制输出信号,自然产生了不同频率的输出波形。以4FSK为例,对MFSK的原理作以解释说明。4FSK需要二进制码两位,而输入的基带信号是串行的,所以,首先对输入的基带信号进行串并转换,形成二进制二位码,即00,01,10,11,这也即图2-18中A处的信号。然后,通过一个比较选择器,选择性接通不同频率的载波信号,假定载波与输入二进制码的映射关系如下: 00映射为F1 01映射为F2 10映射为F3 11映射为F4这样就形成了频率不同的调制信号,每一个频率代表着一种码序列,对于MFSK信号的调制,也是如此,只不过比4FSK的二进制码序多了,载波多了而已,当然,随着M的增大,必然会对系统的频率和载波关系要求更加严格,系统性能方面的要求也就更加苛刻。 2)MFSK的解调解调器和2FSK的也是类似的,只不过在发送端调制的时候将串行的输入信号变成并行二进制码,控制频率的变化,那么,在接收端也就需要有逆向的过程,即通过频率信息,解调出二进制并行的码,然后在经过并串转换形成二进制串行码,实现解调。MFSK的解调也有相干解调和非相干解调两种,典型的方法是包络检波法和过零检测法,在此,不做详细的介绍。 3)MFSK的带宽和频率利用率MFSK的带宽为: (2-24)MFSK的频带利用率为: (2-25)3 FPGA技术3.1 FPGA技术发展史自电子通信技术问世以来,技术发展迅速,涉及领域广泛,系统越来越大,设计也趋于复杂。伴随着计算机技术的发展,电子设计自动化(EDA)技术开始有了发展,并很快在工程实践中得到应用。EDA技术是一种以计算机为物理工作平台,以EDA软件为开发工具,以硬件描述语言为开发语言,以可编程的逻辑器件为载体,以ASIC、SOC嵌入式系统为设计目标,以数字系统设计为应用方向的电子产品自动化设计技术,它融合了电子技术、计算机技术、信息处理技术、智能化技术等最新的研究成果进行开发的高新技术。EDA技术随电子技术的发展和需要而诞生,它代表着当今电子设计技术的最新发展方向和成果,它具有: (1)“自顶向下”的设计方法; (2)设计采用的是硬件描述语言; (3)具有逻辑综合和优化的功能; (4)采用开放性和标准化的软件结构。EDA技术所研究的是电子设计的全过程,包括系统级别、电路级别和物理层级别等很多层次,研究的范畴也非常广泛,内容丰富,涉及面广。PLD技术是EDA技术的重要组成,是EDA技术的硬件基础。PLD自20世纪60年代以来,经历了标准元件、专用集成电路、可编程逻辑器件、可编程的片上系统等四代。FPGA/CPLD是可编程逻辑器件家族中的重要成员,也是目前应用最广泛的器件。FPGA诞生于1985年,由著名的EDA厂商Xilinx公司首先推出,著名的Altera公司1992年推出了第一款FPGA产品RLEX800。FPGA由六个部分组成,分别是可编程的输入输出单元、基本的可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用的硬件核等。随着应用需求的变化,为了满足高端需要,Altera公司先后推出了满足高端产品的Stratix、Stratix II、Stratix III、Stratix IV系列产品和低成本的Cyclone、Cyclone II、Cyclone III系列产品,具体的各系列的优点和具体组成在此不作介绍,详情查询相关书籍和资料。CPLD技术也是诞生于20世纪80年代,由ALtera公司推出的。它主要包括三个部分,即可编程的逻辑宏单元、可编程的输入/输出单元和可编程的内部总线。它采用类似PLA、PAL的乘积项可编程结构,但结构更加复杂了,因此,CPLD可以看做是将几个简单的可编程逻辑器件集成在一个芯片上,从而实现更加复杂的逻辑功能。Altera公司的主要CPLD产品有MAX700和MAX II系列,具体的各系列的优点和具体组成在此不作介绍,详情查询相关书籍和资料。高度集、高速度和高可靠性是FPGA/CPLD的最明显的特点,其时钟的时延可以小到ns级,结合并行处理工作方式,在超高速应用领域和实时测控方面有着非常广泛的应用前景。高可靠的应用领域,如果应用FPGA/CPLD器件设计得当,将不会存在类似于MCU的复位不可靠的和PC可能跑飞等问题。FPGA/CPLD的高可靠性还表现在它可以将整个系统几乎全部下载于同一芯片中,从而大大缩小了体积,且易于管理和屏蔽处理。FPGA/CPLD与早期的ASIC设计相比,具有开发周期短、投资风险小、产品上市速度快,市场适应能力强、硬件升级方便等优点,应用范围涉及数字系统设计、微机系统领域和DSP领域。通常,关于FPGA、CPLD的选择,原则上,普通规模,且产量不是很大的产品项目来说,选择使用CPLD比较好;而对于大规模的逻辑设计、ASIC设计或者单片机系统,则采用FPGA。 在本篇论文中使用的是FPGA技术。3.2 FPGA开发基础3.2.1 FPGA设计流程目标器件为FPGA的工程设计流程如下图3-2所示.图 3-2 FPGA/CPLD工程设计流程图在FPGA设计中,首先编写程序,进行编译;其次,进行逻辑综合,实现把设计分解为一系列的基本逻辑电路和电路间的关系;第三,进行目标器件的布线和适配,也即在目标芯片上建立这些基本逻辑电路及对应关系;第四,目标器件的编程和下载,这是将前面设计的软件经过编译综合下载至目标芯片,变成物理可实现的设计系统;最后,要进行硬件仿真和调试,这是验证所设计的系统是否符合设计要求,同时仿真模拟出设计的结果和验证设计构思是否相符合。FPGA的输入方式灵活,有三种方法,分别是原理图输入方式,状态图输入方式,文本输入方式。用的硬件描述语言有VHDL和Verilog HDL。3.2.2 硬件描述语言1) 概述HDL是硬件描述语言Hardware Description Language的缩写,是一种用抽象化的方法来描述数字电路和设计数字逻辑系统的语言,主要用于描述数字系统的结构和功能。硬件所指的可大至一个系统,小至一个芯片或者芯片中的某个元件。硬件描述语言是高层次、自动化设计的起点,HDL通常是指电子技术高层次设计阶段中所采用的硬件描述语言,它具有很多特点:HDL行为描述语言可以从抽象的角度来描述电子实体的行为;HDL支持结构描述,能从比较具体的角度描述电子实体的结构;HDL具备了从比较抽象到比较具体的多层面上对电子实体进行混合描述的能力;HDL的生命力在于它描述的实体程序,既能被模拟仿真,又可以综合。模拟仿真可以验证设计的正确性,综合可以实现将理论转化为物理设计逻辑图、电路图、版图。硬件描述语言发展至今有几十年,有很多可以实现的语言,常用的有:VHDL、Verilog、AHDL、ABEL等,本篇设计论文使用的是VHDL。VHDL是指超高速集成电路硬件描述语言,它最初是由美国政府组织专门机构研究创立的一种目的在于满足电子设计的各种要求而作为工业标准的硬件描述语言。1987年IEEE正式将VHDL作为认证标准,1990年对VHDL进行了修正。目前使用的是拓展了的93版的VHDL,它既能实现数字电路,也能实现模数混合电路。VHDL具备HDL的所有优点,同时,还有它自己的特点: 支持自上而下的TDD设计。它直接面向设计者,从系统的要求入手,从顶层向下层完成相应的设计描述、综合与优化、模拟仿真验证,最终得到器件,实现总体的设计;开发周期短。2) 语言结构VHDL语言语言至少包括三个部分:库(LIbrary)说明、实体(Entity)说明和结构体(Architecture),如下给出一个简单的VHDL程序,予以说明:1library ieee;2use ieee.std_logic_1164.all;3entity xor2 is4 port(a,b:in std_logic;5y:out std_logic);6end xor2;7architecture xor2_1 of xor2 is8begin9y<= (a and (not b) or (b and (not a); -实现异或10end xor2_1;如上例所示,这是一个可综合的完整的VHDL语言实现的程序,可以选择任何特定的芯片进行仿真和综合,然后适配并下载到芯片中,实现物理仿真验证,这个程序实现的功能是求二端口的异或功能。1-2行时IEEE的库调用说明,每一个库是由一个或者多个程序包构成,把库划分为多个程序包是为了方便管理和使用,库中放着已编译好的设计单元,它可以作为其他VHDL描述的资源而加以利用。同一个库中,各程序包之间有着类似的功能。VHDL语言的库很多,大致有:IEEE库、STD库、VITAL库、WORK库以及用户定义库等。IEEE库主要是包括了一些IEEE认可的设计中使用的标准程序包,如第二行中的STD_LOGIC_1164;STD是VHDL语言自己本身所提供的标准库,放着VHDL综合的配置的程序包;VITAL是VHDL的工业标准下的仿真库,它只用于仿真而不用于可综合的设计;WORK库是现行工作库,设计人员的VHDL程序不加任何说明时均放在WORK库中;用户定义库汇集了所有的用户开发资源,部分厂家为了方便设计人员使用开发,也会设计自己专有的库。库的使用并不麻烦,除了STD和WORK库以外,其他的几类库使用之前必须要有显式的说明,例子的1-2行便是显式说明,显式说明的一般格式如下:LIBRARY 库名;USE 库名.程序包名.项目名;程序中的第一句是指明了所使用的库,USE指明了开放库中的程序包的资源情况,若需要开放全部的项目则项目名用“ALL”代替。库的使用范围仅限于紧随其后的当前所说明的设计实体,当一个程序中出现两个及以上的实体时,则每一个实体的前面必须要有自己的库的使用说明语句和USE语句。3-6行是实体部分的说明,VHDL语言描述的对象称之为实体,实体可以是一个器件,也可以是一个系统,但无论是什么样的电路,实体结构是相同的。实体由两部分组成:实体说明和结构体。实体说明中给出了实体名和端口的声明,输入输出端口的说明由PORT关键字引出