基于FPGA的数字调制系统设计方案_第1页
基于FPGA的数字调制系统设计方案_第2页
基于FPGA的数字调制系统设计方案_第3页
基于FPGA的数字调制系统设计方案_第4页
基于FPGA的数字调制系统设计方案_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

II图形用户界面、EDA工具界面或命令行界面。在整个设计流程中可以使用这些界面中的一个,也可以在不同的设计阶段使用不同的界面。在线校验是对编辑后的CPLD器件加入实际的激励信号进行测试,检查是否可完成预定功能。上述任何一步出错,均需要回到设计输入阶段,改正错误,重新按设计流程进行设计。3系统算法介绍3.1曼彻斯特编码简介曼彻斯特编码(ManchesterEncoding),也叫做相位编码(PE),是一个同步时钟编码技术,被物理层使用来编码一个同步位流的时钟和数据。曼彻斯特编码被用在以太网媒介系统中。曼彻斯特编码提供一个简单的方式给编码简单的二进制序列而没有长的周期没有转换级别,因而防止时钟同步的丢失,或来自低频率位移在贫乏补偿的模拟链接位错误。在这个技术下,实际上的二进制数据被传输通过这个电缆,不是作为一个序列的逻辑1或0来发送的。相反地,这些位被转换为一个稍微不同的格式,它通过使用直接的二进制编码有很多的优点。3.2曼彻斯特编码的原理曼彻斯特编码分为标准编码方式与差分曼彻斯特编码方式。其中,曼彻斯特编码的每个比特位在时钟周期内只占一半,当传输“1”时,在时钟周期的前一半为高电平,后一般为低电平;而传输“0”曼彻斯特编码的编码规则:在信号位中电平从低到高跳变,表示逻辑0;在信号位中电平从高到低跳变,表示逻辑1。差分曼彻斯特编码是曼彻斯特编码的改进。它在每个时钟位的中间都有一次跳变,传输的是“1”还是“0差分曼彻斯特编码的编码规则:在信号位开始时不改变信号极性,表示逻辑1;在信号位开始时改变信号极性,表示逻辑0。两种曼彻斯特编码是将时钟和数据包含在数据流中,在传输代码信息的同时,也将时钟同步信号一起传输到对方,每位编码中有一次跳变,不存在直流分量,因此具有自同步能力和良好的抗干扰性能。两种编码方式的示意图如下图:图3-1曼彻斯特编码示意图3.3数字调制技术概述3.3.1数字调制简述基带信号是原始的电信号,一般是指基本的信号\o"波形"波形,在数字通信中则指相应的电脉冲。在无线遥测遥控系统和无线电技术中调制就是用基带信号控制高频载波的参数(振幅、频率和相位),使这些参数随基带信号变化。用来控制高频载波参数的基带信号称为调制信号。未调制的高频电振荡称为载波(可以是正弦波,也可以是非正弦波,如方波、脉冲序列等)。被调制信号调制过的高频电振荡称为已调波或已调信号。已调信号通过信道传送到接收端,在接收端经解调后恢复成原始基带信号。解调是调制的反变换,是从已调波中提取调制信号的过程。在无线电通信中常采用双重调制。第一步用数字信号或模拟信号去调制第一个载波(称为副载波)。或在多路通信中用调制技术实现多路复用(频分多路复用和时分多路复用)。第二步用已调副载波或多路复用信号再调制一个公共载波,以便进行无线电传输。第二步调制称为二次调制。用基带信号调制高频载波,在无线电传输中可以减小天线尺寸,并便于远距离传输。应用调制技术,还能提高信号的抗干扰能力。3.3.2数字调制的分类及特点数字调制是指用数字数据调制模拟信号,主要有三种形式:移幅键控法ASK、移频键控法FSK、移相键控法PSK。幅度键控(ASK):即按载波的幅度受到数字数据的调制而取不同的值,例如对应二进制0,载波振幅为0;对应二进制1,载波振幅为1。调幅技术实现起来简单,但容易受增益变化的影响,是一种低效的调制技术。在电话线路上,通常只能达到1200bps的速率。频移键控(FSK):即按数字数据的值(0或1)调制载波的频率。例如对应二进制0的载波频率为F1,而对应二进制1的载波频率为F2。该技术抗干扰性能好,但占用带宽较大。在电话线路上,使用FSK可以实现全双工操作,通常可达到1200bps的速率。相移键控(PSK):即按数字数据的值调制载波相位。例如用180相移表示1,用0相移表示0。这种调制技术抗干扰性能最好,且相位的变化也可以作为定时信息来同步发送机和接收机的时钟,并对传输速率起到加倍的作用。图3-2数字调制的三种基本形式FSK的调制方式及原理3.4.1移频键控(FSK)又称数字调频,它是载波频率随数字信号而变化的一种调制方式。利用基带数字信号离散取值特点去键控载波频率以传递信息的一种数字调制技术。除具有两个符号的二进制频移键控之外,尚有代表多个符号的多进制频移键控,简称多频调制。一种用多个载波频率承载数字信息的调制类型。最常见的是用两个频率承载二进制1和0的双频FSK系统。频移键控是利用载波的频率变化来传递数字信息的。在2FSK中,载波的频率随二进制基带信号在f1和f2两个频率点间变化。故其表达式为Acos(w1t+φn)发送“1”时EE2FSK(t)=Acos(w2t+θn)发送“0”典型的波形如图3-3所示。由图可见,2FSK信号的波形(a)可以分解为波形(b)和波形(c),也就是说,一个2FSK信号可以看成是两个不同载频的2ASK信号的叠加。因此,2FSK信号的时域表达式又可写成e2FSK(t)=[g(t-nT)]cos(w1t+θn)+[āng(t-nT)]cos(w2t+θn)式中:g(t)为单个矩形脉冲,脉宽为Ts;1概率为Pan=0概率为1-Pān是an的反码,若an=1,则ān=0;若an=0,则ān=1,于是1概率为1-Pān=0概率为Pφn和θn分别是第n个信号码元(1或0)的初始相位。在移频键控中,φn和θn不携带信息,通常可令φn和θn为零。因此,2FSK信号的表达式可简化为e2FSK(t)=s1(t)cosw1t+s2(t)cosw2t其中S1(t)=g(t-nTs)S2(t)=āng(t-nTs)图3-3波形演示2FSK信号的产生方法主要有两种。一种可以采用模拟调频电路来实现;另一种可以采用键控法来实现,即在二进制基带矩形脉冲序列的控制下通过开工典礼对两个不同的独立频率源进行选通,使其在每一个码元Ts期间输出f1或f2两个载波之一,如图3-4所示。这两种方法产生2FSK信号的差异在于:由调频法产生的2FSK信号在相邻码元之间的相位是连续变化的。而键控法产生的2FSK信号,是由电子开关在两个独立的频率源之转换形成,故相邻码元之间的相位不一定连续。图3-4流程图2FSK信号的常用调制方法是采用如图3-5、3-6所示的非相干调制和相干调制。其调解原理是将2FSK信号分解为上下两路2FSK信号分别进行调解,然后进行判决。这里的抽样判决是直接比较两路信号抽样值的大小,可以不专门设置门限。判决规则应与调制规则相呼应,调制时若规定“1”符号对应载波频率f1,则接收时上支路的样值较大,应判为“1”,反之则判为“图3-5非相干调制图3-6相干调制除此之外,2FSK信号还有其他调制方法,比如鉴频法、差分检测法、过零检测法等。过零检测的原理基于2FSK信号的过零点数随不同的频率而异,通过检测过零点数目的多少,从而区分两个不同频率的信号码元。2FSK信号经限幅、微分、整流后形成与频率变化相对应的尖脉冲序列,这些尖脉冲的密集程度反映了信号的频率高低,尖脉冲的个数就是信号过零点数。把这些尖脉冲变换成较宽的矩形脉冲,以增大其直流分量,该直流分量的大小和信号频率的高低成正比。然后经低通滤波器取出此直通分量,这样就完成了频率一幅度变换,从而根据直流分量幅度上的区别还原出数字信号“1”和“0”。2FSK在数字2FSK在数字通信中应用较为广泛。国际电信联盟(ITU)建议在数据率低于1200b/s时采用2FSK体制。于衰落信道/随参信道(如短波无线电信道)的场合,这些信道会引起信号的相位和振幅随机抖动和起伏。3.4.2FSK的特点移频控制,或称数字频率调制,是数字通信中使用较早的一种调制方式。数字频率调制的基本原理是利用载波的频率变化来传递数字信息。在数字通信系统中,这种频率的变化不是连续而是离散的。FSK广泛应用于低速数据传输设备中,根据国际电联(ITU-T)的建议,传输速率为1200波特以下的设备一般采用FSK方式传输数据。FSK具有:调制方法简单易于实现、解调不需要恢复本地载波、可以异步传输、抗噪声和衰落性能较强等特点。由于这些原因,FSK是在模拟电话网上用来传输数据的低速、低成本异步调制解调器的一种主要调制方式。4系统方案设计4.1VHDL硬件描述语言4.1.1.VHDL(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage)即超高速集成电路硬件描述语言。VHDL由美国国防部制定。美国国防部电子系统项目有着众多的承包商,他们各自建立和使用自己的电路硬件描述语言,这就使得各公司之间的设计不能被重复利用,造成了信息交换和维护方面的困难。为解决此问题,20世纪80年代初美国国防部制定了VHDL,以作为各承包商之间提交复杂电路设计文档的一种标准方案。1987年12月,VHDL被正式接受为国际标准,编号为IEEEStd1076-1987,即VHDL-87。1993年被更新为IEEEStd1164-1993,即VHDL-93。目前VHDL已被广泛应用。4.1.2VHDL是大多数EDA工具都采用的硬件描述语言。其主要优点有:与其他硬件描述语言相比,VHDL具有更强的行为描述语言,从而决定了它成为系统设计领域最佳的硬件描述语言。强大的行为描述能力是避开具体的器件结构,从逻辑行为上描述和设计大规模电子系统的保证。就目前流行的EDA工具VHDL综合器而言,将基于抽象的行为描述风格的VHDL程序综合成为具体的FPGA和CPLD等目标器件的网表文件已不成问题,只是在综合与优化效率上略有差异。VHDL具有丰富的仿真语句和库函数,使得在任何大系统的设计早期就能查验设计系统的可行性,随时可对系统进行仿真模拟,使设计者对整个工程的结构和功能可行性作出判断。VHDL语句的行为描述能力和程序结构决定了它具有支持大规模设计的分解和已有设计的再利用功能。符合市场需求的大规模系统高效、告诉的完成必须有多人甚至多个开发组共同并行工作才能实现,VHDL中设计实体的概念、程序包的概念、设计库的概念为设计的分解和并行工作提供了有力地支持。用VHDL完成一个确定的设计,可以利用EDA工具进行逻辑综合和优化,并自动把VHDL描述设计转变成门极网表(根据不同的实现芯片)。这种方式突破了门极设计的瓶颈,极大地减少了电路设计的时间和可能发生的错误,降低了开发成本。利用EDA工具的逻辑优化功能,可以把一个综合后的设计编程一个更小、更高速的电路系统。反过来,设计者还可以容易的从综合和优化的电路获得设计信息,返回去更新,修改VHDL的设计描述,使之更加完善。VHDL对设计的描述具有相对独立性。设计者可以不懂硬件的结构,也不必管最终设计的目标器件是什么而进行独立的设计。正因为VHDL的硬件描述与具体的工艺技术和硬件结构无关,所以VHDL设计程序的硬件实现目标器件有广阔的选择范围,其中包括各种系列的CPLD、FPGA及各种门阵列器件。由于VHDL具有类属描述语句和子程序调用等功能,对于完成的设计,在不改变源程序的条件下,只需改变类属参数或函数就能轻易的改变设计的规模和结构。4.1.3VHDL程序设计采用自顶向下的模块化设计方法。一个完整的VHDL程序包括实(Entity)、结构体(Architecture)、配置(Configuration)、程序包(Package)和库(Library)五个部分。其中,实体和结构体是VHDL设计文件的两个基本组成部分。实体部分描述设计系统的外部接口信号;结构体用于描述系统的内部电路。配置用于从库中选取所需元件安装到设计单元的实体中;程序包存放各设计模块都能共享的数据类型、常数、子程序等;库用于存放已编译的实体、结构体、包集合和配置。4.2软件功能模块4.2.1基本时钟发生模块用到的是所锁相环(phase-lockedloop)简称PLL模块。该模块为无线电发射中使频率较为稳定的一种方法,主要有VCO(压控振荡器)和PLLIC,压控振荡器给出一个信号,一部分作为输出,另一部分通过分频与PLLIC所产生的本振信号作相位比较,为了保持频率不变,就要求相位差不发生改变,如果有相位差的变化,则PLLIC的电压输出端的电压发生变化,去控制VCO,直到相位差恢复!达到锁频的目的!!能使受控振荡器的频率和相位均与输入信号保持确定关系的闭环电子电路。锁相环由鉴相器、环路滤波器和压控振荡器组成。鉴相器用来鉴别输入信号Ui与输出信号Uo之间的相位差,并输出误差电压Ud。Ud中的噪声和干扰成分被低通性质的环路滤波器滤除,形成压控振荡器(VCO)的控制电压Uc。Uc作用于压控振荡器的结果是把它的输出振荡频率fo拉向环路输入信号频率fi,当二者相等时,环路被锁定,称为入锁。维持锁定的直流控制电压由鉴相器提供,因此鉴相器的两个输入信号间留有一定的相位差。PLL:phaseLockedLoop相同步回路,锁相回路,用来统一整合时脉讯号,使内存能正确的存取资料。PLL:PhaseLockedLogic相同步逻辑锁相环的用途是在收、发通信双方建立载波同步或位同步。因为它的工作过程是一个自动频率(相位)调整的闭合环路,所以叫环。锁相环分模拟锁相环和数字锁相环两种。本设计的锁相环电路如图4-1图4-1锁相环电路4.2.2正弦波正弦波发生器的原理图如下图所示:图4-2正弦波发生器原理图当已选择输出为正弦波时,并确定了输出频率和幅度时则通过读取波表地址中已经存储的描点顺序输出,即可输出所要求的波形。正弦波模块实现了对于正弦波输入命令的执行动作,实现了正弦波波形的输出功能,其具体工作特点如下:正弦波频率可以调节,实现控制流程的数字化处理,通过频率控制字,改变不同输出频率。正弦波幅度可调节,根据不同输入控制,输出位数可选择。ROM波表参数化配置,可以实现操作的灵活性与可移植性,便于系统的修改与系统集成。下图为正弦波发生器内部结构原理图:图4-3正弦波发生器内部结构控制原理图4.2.3波表原理图:图4-4波表原理图波表为存储各个波形的描点的原件,在选择完所输出波形和药输出的频率、幅度后,即可由此元件中读出完整波形。波表元件的生成由下图所示:图4-5波表元件的生成4.2.4LIBRARYieee;USEieee.std_logic_1164.all;LIBRARYaltera_mf;USEaltera_mf.all;ENTITYmy_pllIS PORT( inclk0:INSTD_LOGIC:='0'; c0:OUTSTD_LOGIC );ENDmy_pll;上述程序描述了基本时钟发生程序模块的实体部分libraryieee;USEieee.std_logic_1164.all;LIBRARYaltera_mf;USEaltera_mf.all;是本程序的头文件,ENTITY定义了本程序的实体,实体名是my_pll,PORT为端口说明语句,inclk0和c0是端口名,端口名后跟着端口模式和数据类型,in代表输入,out代表输出,最后以END结尾。基本时钟发生的波形仿真如图4-6,频率由之前的25MHz变为了50MHz。图4-6基本时钟发生波形4.2.5aa:process(clr,clk,sin_sel)beginifsin_sel='0'thennnn<="00000000";elsifclr='0'thennnn<="00000000";elsifclk'eventandclk='1'thenifnnn<15thennnn<=nnn+1;elsennn<="00000000";endif;endif;sin_out<=nnn;endprocessaa;上述程序为正弦波输出程序,当选择器选择输出正弦波时,该程序执行输出正弦波动作。将整个程序编写完成并确认无任何错误后,进行整个程序的仿真,下图为正弦波表仿真波形图:图4-7正弦波表4.2.6曼彻斯特编码设计图:图4-8曼彻斯特编码设计图相应程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityman_codeisport(clr:instd_logic;clk:instd_logic;data_in:instd_logic;man_begin:instd_logic;data_out:outstd_logic);endentityman_code;architectureaaaofman_codeissignals_time_a:std_logic_vector(15downto0);beginprocess(clk,clr)begin ifclr='0'then s_time_a<=X"0000"; elsifclk'eventandclk='1'then ifs_time_a<X"ffff"then s_time_a<=s_time_a+1; else s_time_a<=X"0000"; endif; endif;endprocess; process(clk,clr)begin ifclr='0'orman_begin='0'then data_out<='0'; elsifclk'eventandclk='1'then ifdata_in='1'then ifs_time_a<X"8000"then data_out<='1'; else data_out<='0'; endif; elsif data_in='0'then ifs_time_a<X"8000"then data_out<='0'; else data_out<='1'; endif; endif; endif;endprocess; endaaa; 5总结与展望5.1总结我所选论文题目是"基于FPGA的数字调制系统设计”,之所以选择这个题目,是因为我知道FPGA是比较前沿的学科,研究一下对自己将来的发展会有帮助的。在论文写作及制作过程中,困难是必不可少的,包括对题目的理解、程序的设计以及仿真实现等方面,甚至还有放弃的念头,但是最终还是坚持了下来,出色的完成了我的毕业设计。第一步是搜集资料。在姜凯老师的指点下,通过网络、核心期刊、相关书籍等查找资料。经过一个月的深入学习,搜集了很多与毕业设计相关的资料,在姜老师的指导下,摒弃了一些无关紧要的内容,保留了有参考价值的资料作为备用。在学习期间,我经常出入图书馆。而且在中国知网上搜索了一些学术论文和期刊文章;在Springer上搜索了外文文献资料,参考了一些毕业论文样本和一些毕业论文设计总结;在常见的搜索引擎中,我了解到一些相关的知识,同时特意浏览了大量的外文网站,并将这些内容列成提纲,便于以后查询。一篇优秀的论文不是写出来的,而是修改出来的,这需要的是耐心,还要用心。在论文制作过程中,我遇到很多问题,有些是在自己能力范围之外的,每当程序无法实现自己的想法或者运行不下去的时候,我就会出现烦躁的情绪,但是我没有放弃,而是适时地调节自己的心态,在同学老师的帮助下,完成了初次的设计。对于自己不懂的东西,不能知难而退,要仔细的一点一点的学习,虽然时间很短但是也不能学的一知半解,尤其是想不通的地方,更要一步一步来,相互学习是最快最有效的学习方法,如果真的想不通可以通过跟同学一起来学习解决,这是在设计中最重要的一点。在整个毕业论文设计的过程中我学到了做任何事情所要有的态度和心态,首先我明白了做学问要一丝不苟,对于出现的任何问题和偏差都不要轻视,要通过正确的途径去解决,在做事情的过程中要有耐心和毅力,不要一遇到困难就打退堂鼓,只要坚持下去就可以找到思路去解决问题的。在工作中要学会与人合作,认真听取别人的意见,这样做起事情来就可以事倍功半。5.2展望FPGA从诞生以来经历了从配角到主角的转变,FPGA主要用于取代复杂的逻辑电路,现在重点强调平台概念,当集成数字信号处理器、嵌入式处理器、高速串行和其它高端技术后,从而被应用到更多的领域。据市场调研公司GartnerDataquest预测,2010年FPGA和其它可编程逻辑器件(PLD)市将从2005年的32亿美元增长到67亿美元,未来还将有不断增长的趋势。FPGA及PLD产业发展的最大机遇是替代ASIC和专用标准产品(ASSP),由ASIC和ASSP构成的数字逻辑市场规模大约为350亿美元。由于用户可以迅速地对PLD进行编程,按照需求实现特殊功能,与ASIC和ASSP相比,PLD在灵活性、开发成本、产品快速上市方面更具优势,所以未来FPGA将会是一个非常有前景的行业。由于FPGA结构的特殊性,可以重复编程,开发周期较短,越来越受到人们的青睐,它的特点也更接近ASIC,ASIC比FPGA最大的优势是低成本,但是FPGA的价格现在也越来越低,例如,Actel的Nano系列更是打破了FPGA的价格屏障,提供超过50种低于1美金的FPGA,在一定程度上已经可以与ASIC相抗衡。根据当前发展的趋势,未来的FPGA势必将会取代大部分ASIC的市场,虽然根据摩尔定律(Moore’sLaw):每18至24个月能在相同的单位面积内多集成一倍的晶体管数目,也就意味着每18至24个月后芯片成本将减半,但这只是指裸晶(Die)的成本,并不表示整个芯片的成本减半,这是由于晶圆制造前端的掩膜(Mask)成本、晶圆制造后端的封装(也称为:构装、包装)成本、人力成本等都不会随摩尔定律而变化,反而芯片的成本有上升的趋势,所以过去许多中、小用量的芯片无法用先进的工艺来生产,对此不是持续使用旧工艺来制造,或是必须改用FPGA芯片来生产……FPGA的应用领域最初为通信领域,但目前,FPGA已完全摆脱了传统的通信领域而开始大规模向消费类等领域进军,除了通信领域的交换机、网络安全设备、基站等,越来越多的消费类产品采用了FPGA,包括手持学习机、游戏机、网络播放器、DTV接收卡、便携测距仪、数字视频设备、平板电视、数字录像机、鱼群跟踪器等。毫无疑问,灵活可升级性、可编程性和价格的降低成为在消费类产品中广泛采用可编程器件的推动力。除此之外,FPGA在自动化控制、汽车电子等领域也越来越多的得到使用。在不远的将来,很可能在您所看到的每一个电子设备当中,都有FPGA的存在。

未来的趋势告诉我们,FPGA将成为21世纪最重要的高科技产业之一,特别是国内的FPGA市场,更是一个“未完全开垦的处女地”,抓住现在的机遇也就意味着为我们的将来提供更强大的竞争力。致谢光阴似箭,转眼就要毕业了,回想从****年进入**学习的几年时光,我感到忐忑不安,唯恐辜负了恩师们和父母的殷切期望。在此我想对我的母校,我的父母、亲人们,我的老师和同学们表达我由衷的谢意。

感谢我的家人对我大学四年学习的默默支持;感谢我的母校**给了我在大学四年深造的机会,让我能继续学习和提高;感谢母校的老师和同学们四年来的关心和鼓励。老师们课堂上的激情洋溢,课堂下的谆谆教诲;同学们在学习中的认真热情,生活上的热心主动,所有这些都让我的四年充满了感动。这次毕业论文设计我得到了很多老师和同学的帮助,其中我的论文指导老师**老师对我的关心和支持尤为重要。每次遇到难题,我最先做的就是向姜老师寻求帮助,而姜老师每次不管忙或闲,总会抽空来找我面谈,然后一起商量解决的办法。我做毕业设计的每个阶段,从选题到查阅资料,论文提纲的确定,中期论文的修改,后期论文格式调整等各个环节中都给予了我悉心的指导。这几个月以来,姜老师不仅在学业上给我以精心指导,同时还在思想给我以无微不至的关怀,在我不愿做想放弃的时候总是给予我莫大的鼓励和支持,在此谨向姜老师致以诚挚的谢意和崇高的敬意。同时,感谢在整个毕业设计期间和我密切合作的同学,和曾经在各个方面给予过我帮助的伙伴们,在此,我再一次真诚地向帮助过我的老师和同学表示感谢!参考文献崔葛谨主编.基于FPGA的数字电路系统设计.西安电子科技大学出版社,2006杨晓慧杨永键著.基于FPGA的EDA/SOPC技术与VHDL.国防工出版社,2007WayneWolf著.闫敬文,基于FPGA的系统设计.机械工业出版社,2005罗朝霞高书莉编著.CPLD/FPGA设计及应用.人民邮电出版社,2005樊昌信主编.通信原理.国防工业出版社,2006潘松.黄继业编著.EDA技术与VHD.清华大学出版社,2004焦素敏编著.EDA应用技术.清华大学出版社,2004谭会生、张昌凡.EDA技术及应用.西安电子科技大学出版社,2006廖日坤.CPLD/FPGA嵌入式应用开发技术白金手册.中国电力出版社,2003[10].刘君常明秦娟.基于硬件描述语言(VHDL)的数字时钟设计.天津理工大学学报,2007[11].开军姜宇柏.面向CPLD/FPGA的VHDL设计.机械工业出版社,2006[12].康华先.电子技术基础(数字部分)第四版[M].北京:高等教育出版社,2000[13].宋春荣.通用集成电路速查手册.山东科学技术出版社,1995[14].阎石.数字电子技术基础(第四版)[M].北京:高等教育出版社,1998附录1:英文文献BuildingProgrammableAutomationControllerswithLabVIEWFPGAOverviewProgrammableAutomationControllers(PACs)aregainingacceptancewithintheindustrialcontrolmarketastheidealsolutionforapplicationsthatrequirehighlyintegratedanaloganddigitalI/O,floating-pointprocessing,andseamlessconnectivitytomultipleprocessingnodes.NationalInstrumentsoffersavarietyofPACsolutionspoweredbyonecommonsoftwaredevelopmentenvironment,NILabVIEW.WithLabVIEW,youcanbuildcustomI/Ointerfacesforindustrialapplicationsusingadd-onsoftware,suchastheNILabVIEWFPGAModule.WiththeLabVIEWFPGAModuleandreconfigurableI/O(RIO)hardware,NationalInstrumentsdeliversanintuitive,accessiblesolutionforincorporatingtheflexibilityandcustomizabilityofFPGAtechnologyintoindustrialPACsystems.YoucandefinethelogicembeddedinFPGAchipsacrossthefamilyofRIOhardwaretargetswithoutknowinglow-levelhardwaredescriptionlanguages(HDLs)orboard-levelhardwaredesigndetails,aswellasquicklydefinehardwareforultrahigh-speedcontrol,customizedtimingandsynchronization,low-levelsignalprocessing,andcustomI/Owithanalog,digital,andcounterswithinasingledevice.YoualsocanintegrateyourcustomNIRIOhardwarewithimageacquisitionandanalysis,motioncontrol,andindustrialprotocols,suchasCANandRS232,torapidlyprototypeandimplementacompletePACsystem.TableofContents\l"toc0"Introduction\l"toc1"NIRIOHardwareforPACs\l"toc2"BuildingPACswithLabVIEWandtheLabVIEWFPGAModule\l"toc3"FPGADevelopmentFlow\l"toc4"UsingNISoftMotiontoCreateCustomMotionControllers\l"toc5"Applications\l"toc6"ConclusionIntroductionYoucanusegraphicalprogramminginLabVIEWandtheLabVIEWFPGAModuletoconfiguretheFPGA(field-programmablegatearray)onNIRIOdevices.RIOtechnology,themergingofLabVIEWgraphicalprogrammingwithFPGAsonNIRIOhardware,providesaflexibleplatformforcreatingsophisticatedmeasurementandcontrolsystemsthatyoucouldpreviouslycreateonlywithcustom-designedhardware.AnFPGAisachipthatconsistsofmanyunconfiguredlogicgates.Unlikethefixed,vendor-definedfunctionalityofanASIC(application-specificintegratedcircuit)chip,youcanconfigureandreconfigurethelogiconFPGAsforyourspecificapplication.FPGAsareusedinapplicationswhereeitherthecostofdevelopingandfabricatinganASICisprohibitive,orthehardwaremustbereconfiguredafterbeingplacedintoservice.Theflexible,software-programmablearchitectureofFPGAsofferbenefitssuchashigh-performanceexecutionofcustomalgorithms,precisetimingandsynchronization,rapiddecisionmaking,andsimultaneousexecutionofparalleltasks.Today,FPGAsappearinsuchdevicesasinstruments,consumerelectronics,automobiles,aircraft,copymachines,andapplication-specificcomputerhardware.WhileFPGAsareoftenusedinindustrialcontrolproducts,FPGAfunctionalityhasnotpreviouslybeenmadeaccessibletoindustrialcontrolengineers.DefiningFPGAshashistoricallyrequiredexpertiseusingHDLprogrammingorcomplexdesigntoolsusedmorebyhardwaredesignengineersthanbycontrolengineers.WiththeLabVIEWFPGAModuleandNIRIOhardware,younowcanuseLabVIEW,ahigh-levelgraphicaldevelopmentenvironmentdesignedspecificallyformeasurementandcontrolapplications,tocreatePACsthathavethecustomization,flexibility,andhigh-performanceofFPGAs.BecausetheLabVIEWFPGAModuleconfigurescustomcircuitryinhardware,yoursystemcanprocessandgeneratesynchronizedanaloganddigitalsignalsrapidlyanddeterministically.Figure1illustratesmanyoftheNIRIOdevicesthatyoucanconfigureusingtheLabVIEWFPGAModule.Figure1.LabVIEWFPGAVIBlockDiagramandRIOHardwarePlatformsNIRIOHardwareforPACsHistorically,programmingFPGAshasbeenlimitedtoengineerswhohavein-depthknowledgeofVHDLorotherlow-leveldesigntools,whichrequireovercomingaverysteeplearningcurve.WiththeLabVIEWFPGAModule,NIhasopenedFPGAtechnologytoabroadersetofengineerswhocannowdefineFPGAlogicusingLabVIEWgraphicaldevelopment.Measurementandcontrolengineerscanfocusprimarilyontheirtestandcontrolapplication,wheretheirexpertiselies,ratherthanthelow-levelsemanticsoftransferringlogicintothecellsofthechip.TheLabVIEWFPGAModulemodelworksbecauseofthetightintegrationbetweentheLabVIEWFPGAModuleandthecommercialoff-the-shelf(COTS)hardwarearchitectureoftheFPGAandsurroundingI/Ocomponents.NationalInstrumentsPACsprovidemodular,off-the-shelfplatformsforyourindustrialcontrolapplications.WiththeimplementationofRIOtechnologyonPCI,PXI,andCompactVisionSystemplatformsandtheintroductionofRIO-basedCompactRIO,engineersnowhavethebenefitsofaCOTSplatformwiththehigh-performance,flexibility,andcustomizationbenefitsofFPGAsattheirdisposaltobuildPACs.NationalInstrumentsPCIandPXIRSeriesplug-indevicesprovideanaloganddigitaldataacquisitionandcontrolforhigh-performance,user-configurabletimingandsynchronization,aswellasonboarddecisionmakingonasingledevice.Usingtheseoff-the-shelfdevices,youcanextendyourNIPXIorPCIindustrialcontrolsystemtoincludehigh-speeddiscreteandanalogcontrol,customsensorinterfaces,andprecisetimingandcontrol.NICompactRIO,aplatformcenteredonRIOtechnology,providesasmall,industriallyrugged,modularPACplatformthatgivesyouhigh-performanceI/Oandunprecedentedflexibilityinsystemtiming.YoucanuseNICompactRIOtobuildanembeddedsystemforapplicationssuchasin-vehicledataacquisition,mobileNVHtesting,andembeddedmachinecontrolsystems.TheruggedNICompactRIOsystemisindustriallyratedandcertified,anditisdesignedforgreaterthan50gofshockatatemperaturerangeof-40to70°C.NICompactVisionSystemisaruggedmachinevisionpackagethatwithstandstheharshenvironmentscommoninrobotics,automatedtest,andindustrialinspectionsystems.NICVS-145xdevicesofferunprecedentedI/Ocapabilitiesandnetworkconnectivityfordistributedmachinevisionapplications.NICVS-145xsystemsuseIEEE1394(FireWire)technology,compatiblewithmorethan40cameraswithawiderangeoffunctionality,performance,andprice.NICVS-1455andNICVS-1456devicescontainconfigurableFPGAssoyoucanimplementcustomcounters,timing,ormotorcontrolinyourmachinevisionapplication.BuildingPACswithLabVIEWandtheLabVIEWFPGAModuleWithLabVIEWandtheLabVIEWFPGAModule,youaddsignificantflexibilityandcustomizationtoyourindustrialcontrolhardware.BecausemanyPACsarealreadyprogrammedusingLabVIEW,programmingFPGAswithLabVIEWiseasybecauseitusesthesameLabVIEWdevelopmentenvironment.WhenyoutargettheFPGAonanNIRIOdevice,LabVIEWdisplaysonlythefunctionsthatcanbeimplementedintheFPGA,furthereasingtheuseofLabVIEWtoprogramFPGAs.TheLabVIEWFPGAModuleFunctionspaletteincludestypicalLabVIEWstructuresandfunctions,suchasWhileLoops,ForLoops,CaseStructures,andSequenceStructuresaswellasadedicatedsetofLabVIEWFPGA-specificfunctionsformath,signalgenerationandanalysis,linearandnonlinearcontrol,comparisonlogic,arrayandclustermanipulation,occurrences,analoganddigitalI/O,andtiming.YoucanuseacombinationofthesefunctionstodefinelogicandembedintelligenceontoyourNIRIOdevice.Figure2showsanFPGAapplicationthatimplementsaPIDcontrolalgorithmontheNIRIOhardwareandahostapplicationonaWindowsmachineoranRTtargetthatcommunicateswiththeNIRIOhardware.Thisapplicationreadsfromanaloginput0(AI0),performsthePIDcalculation,andoutputstheresultingdataonanalogoutput0(AO0).WhiletheFPGAclockrunsat40MHztheloopinthisexamplerunsmuchslowerbecauseeachcomponenttakeslongerthanone-clockcycletoexecute.AnalogcontrolloopscanrunonanFPGAatarateofabout200kHz.Youcanspecifytheclockrateatcompiletime.ThisexampleshowsonlyonePIDloop;however,creatingadditionalfunctionalityontheNIRIOdeviceismerelyamatterofaddinganotherWhileLoop.UnliketraditionalPCprocessors,FPGAsareparallelprocessors.AddingadditionalloopstoyourapplicationdoesnotaffecttheperformanceofyourPIDloop.Figure2.PIDControlUsinganEmbeddedLabVIEWFPGAVIwithCorrespondingLabVIEWHostVI.FPGADevelopmentFlowAfteryoucreatetheLabVIEWFPGAVI,youcompilethecodetorunontheNIRIOhardware.Dependingonthecomplexityofyourcodeandthespecificationsofyourdevelopmentsystem,compiletimeforanFPGAVIcanrangefromminutestoseveralhours.Tomaximizedevelopmentproductivity,withtheRSeriesRIOdevicesyoucanuseabit-accurateemulationmodesoyoucanverifythelogicofyourdesignbeforeinitiatingthecompileprocess.WhenyoutargettheFPGADeviceEmulator,LabVIEWaccessesI/OfromthedeviceandexecutestheVIlogicontheWindowsdevelopmentcomputer.Inthismode,youcanusethesamedebuggingtoolsavailableinLabVIEWforWindows,suchasexecutionhighlighting,probes,andbreakpoints.OncetheLabVIEWFPGAcodeiscompiled,youcreateaLabVIEWhostVItointegrateyourNIRIOhardwareintotherestofyourPACsystem.Figure3illustratesthedevelopmentprocessforcreatinganFPGAapplication.ThehostVIusescontrolsandindicatorsontheFPGAVIfrontpaneltotransferdatabetweentheFPGAontheRIOdeviceandthehostprocessingengine.ThesefrontpanelobjectsarerepresentedasdataregisterswithintheFPGA.ThehostcomputercanbeeitheraPCorPXIcontrollerrunningWindowsoraPC,PXIcontroller,CompactVisionSystem,orCompactRIOcontrollerrunningareal-timeoperatingsystem(RTOS).Intheaboveexample,weexchangethesetpoint,PIDgains,looprate,AI0,andAO0datawiththeLabVIEWhostVI.Figure3.LabVIEWFPGADevelopmentFlowTheNIRIOdevicedriverincludesasetoffunctionstodevelopacommunicationinterfacetotheFPGA.ThefirststepinbuildingahostVIistoopenareferencetotheFPGAVIandRIOdevice.TheOpenFPGAVIReferencefunction,asseeninFigure2,alsodownloadsandrunsthecompiledFPGAcodeduringexecution.Afteropeningthereference,youreadandwritetothecontrolandindicatorregistersontheFPGAusingtheRead/WriteControlfunction.OnceyouwiretheFPGAreferenceintothisfunction,youcansimplyselectwhichcontrolsandindicatorsyouwanttoreadandwriteto.YoucanenclosetheFPGARead/WritefunctionwithinaWhileLooptocontinuouslyreadandwritetotheFPGA.Finally,thelastfunctionwithintheLabVIEWhostVIinFigure2istheCloseFPGAVIReferencefunction.TheCloseFPGAVIReferencefunctionstopstheFPGAVIandclosesthereferencetothedevice.NowyoucandownloadothercompiledFPGAVIstothedevicetochangeormodifyitsfunctionality.TheLabVIEWhostVIcanalsobeusedtoperformfloating-pointcalculations,datalogging,networking,andanycalculationsthatdonotfitwithintheFPGAfabric.Foraddeddeterminismandreliability,youcanrunyourhostapplicationonanRTOSwiththeLabVIEWReal-TimeModule.LabVIEWReal-TimesystemsprovidedeterministicprocessingenginesforfunctionsperformedsynchronouslyorasynchronouslytotheFPGA.Forexample,floating-pointarithmetic,includingFFTs,PIDcalculations,andcustomcontrolalgorithms,areoftenperformedintheLabVIEWReal-Timeenvironment.RelevantdatacanbestoredonaLabVIEWReal-TimesystemortransferredtoaWindowshostcomputerforoff-lineanalysis,datalogging,oruserinterfacedisplays.ThearchitectureforthisconfigurationisshowninFigure4.EachNIPACplatformthatoffersRIOhardwarecanrunLabVIEWReal-TimeVIs.

Figure4.CompletePACArchitectureUsingLabVIEWFPGA,LabVIEWReal-TimeandHostPCWithineachRSeriesandCompactRIOdevice,thereisflashmemoryavailabletostoreacompiledLabVIEWFPGAVIandruntheapplicationimmediatelyuponpowerupofthedevice.Inthisconfiguration,aslongastheFPGAhaspower,itrunstheFPGAVI,evenifthehostcomputercrashesorispowereddown.Thisisidealforprogrammingsafetypowerdownandpowerupsequenceswhenunexpectedeventsoccur.UsingNISoftMotiontoCreateCustomMotionControllersTheNISoftMotionDevelopmentModuleforLabVIEWprovidesVIsandfunctionstohelpyoubuildcustommotioncontrollersaspartofNIPAChardwareplatformsthatcanincludeNIRIOdevices,DAQdevices,andCompactFieldPoint.NISoftMotionprovidesallofthefunctionsthattypicallyresideonamotioncontrollerDSP.Withit,youcanhandlepathplanning,trajectorygeneration,andpositionandvelocityloopcontrolintheNILabVIEWenvironmentandthendeploythecodeonLabVIEWReal-TimeorLabVIEWFPGA-basedtargethardware.NISoftMotionincludesfunctionsfortrajectorygeneratorandsplineengineandexampleswithcompletesourcecodeforsupervisorycontrol,position,andvelocitycontrolloopusingthePIDalgorithm.SupervisorycontrolandthetrajectorygeneratorrunonaLabVIEWReal-Timetargetandrunatmillisecondlooprates.ThesplineengineandthecontrolloopcanruneitheronaLabVIEWReal-TimetargetatmillisecondloopratesoronaLabVIEWFPGAtargetatmicrosecondlooprates.ApplicationsBecausetheLabVIEWFPGAModulecanconfigurelow-levelhardwaredesignofFPGAandusetheFPGAwithininamodularsystem,itisidealforindustrialcontrolapplicationsrequiringcustomhardware.Thesecustomapplicationscanincludeacustommixofanalog,digital,andcounter/timerI/O,analogcontrolupto125kHz,digitalcontrolupto20MHz,andinterfacingtocustomdigitalprotocolsforthefollowing:BatchcontrolDiscretecontrolMotioncontrolIn-vehicledataacquisitionMachineconditionmonitoringRapidcontrolprototyping(RCP)IndustrialcontrolandacquisitionDistributeddataacquisitionandcontrolMobile/portablenoise,vibration,andharshness(NVH)analysisConclusionTheLabVIEWFPGAModulebringstheflexibility,performance,andcustomizationofFPGAtoPACplatforms.UsingNIRIOdevicesandLabVIEWgraphicalprogramming,youcanbuildflexibleandcustomhardwareusingtheCOTShardwareoftenrequiredinindustrialcontrolapplications.BecauseyouareusingLabVIEW,aprogramminglanguagealreadyusedinmanyindustrialcontrolapplications,todefineyourNIRIOhardware,thereisnoneedtolearnVHDLorotherlow-levelhardwaredesigntoolstocreatecustomhardware.UsingtheLabVIEWFPGAModuleandNIRIOhardwareaspartofyourNIPACaddssignificantflexibilityandfunctionalityforapplicationsrequiringultrahigh-speedcontrol,interfacestocustomdigitalprotocols,oracustomI/Omixofanalog,digital,andcounters.附录2:中文文献使用LabVIEWFPGA(现场可编程门阵列)模块开发可编程自动化控制器综述

工业控制上的应用要求高度集成的模拟和数字输入输出、浮点运算和多重处理节点的无缝连接。因为它对这些应用的理想解决方案,在工业控制市场上,可编程自动化控制器(PAC)正逐渐被接受。通过一种普通的软件开发环境NILabVIEW,国家仪器公司提供各种可编程自动化控制器的解决方案。有了LabVIEW,你可以用像NILabVIEWFPGA模块一样的附加软件为工业应用开发自定义输入输出界面。

为将FPGA技术的灵活性和可定制性并入工业PAC系统,国家仪器公司利用LabVIEWFPGA模块和实时输入输出(RIO)硬件提供了一种直观、容易理解的解决方法。无须了解低级的硬件描述语言(HDL)或广泛的硬件设计细节,你可以定义嵌入含有RIO硬件对象家族的FPGA芯片里的逻辑,也可以快速地为超高速控制、定制的定时和同步、低级的信号处理、用模拟或数字定制的输入输出、一个单独设备的计数器来定义硬件。你也可以将得到的图像、分析、运动控制、比如CAN和RS232一样的工业协议集成到你的定制NIRIO(实时输入输出)硬件,这样就可以快速地事先并标准一个完整的PAC系统。目录1.

简介2.

PAC(可编程自动化控制器)的NIRIO(实时输入输出)硬件3.

使用LabVIEW和LabVIEWFPGA模块开发PAC(可编程自动化控制器)4.

FGPA开发流程5.

利用NISoftMotion来开发自定义运动控制器6.

应用7.

结束简介你可以使用LavVIEW和LavVIEWFPGA模块的图形编程功能在NIRIO器件上配置FPGA(现场可编程门阵列)。将LabVIEW图形编程功能和FPGA融合在NIRIO硬件上的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论