关闭

关闭

关闭

封号提示

内容

首页 基于SOPC的任意波形发生器的设计与实现.pdf

基于SOPC的任意波形发生器的设计与实现.pdf

基于SOPC的任意波形发生器的设计与实现.pdf

上传者: xl46512 2012-05-08 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《基于SOPC的任意波形发生器的设计与实现pdf》,可适用于IT/计算机领域,主题内容包含哈尔滨工程大学硕士学位论文基于SOPC的任意波形发生器的设计与实现姓名:刘金华申请学位级别:硕士专业:检测技术与自动化装置指导教师:徐定杰哈尔滨工程符等。

哈尔滨工程大学硕士学位论文基于SOPC的任意波形发生器的设计与实现姓名:刘金华申请学位级别:硕士专业:检测技术与自动化装置指导教师:徐定杰哈尔滨工程大学硕学位论文摘要论文提出一种利用SOPC(SystemonaprogrammableChip)技术开发任意波形发生器的方法主要讨论了任意波形发生器中自定义DDS组件的设计实现、基于NiosII软核处理器系统的定制以及系统控制软件的开发。文中首先就本课题所涉及到的内容扼要叙述了频率合成和信号调制技术方面的知识在介绍SOPC开发技术的基础上给出了本系统的总体设计框架。其后重点完成了任意波形发生器的核心部分NiosII自定义DDS组件的硬件逻辑以及软件驱动程序的设计与实现。最后详细叙述了各个模块的功能实现、整个SOPC系统硬件模块的定制以及系统控制软件设计中的各个要点。针对DDS组件的硬件逻辑本文仔细研究了两种DDS(DirectDigitalFrequencySynthesis)的实现方案:基于存储器查找表法的实现和基于CORDIC(CordinateRotationDigitalCompmer坐标旋转数字计算机)算法的实现。在对比分析后为了能够产生高精度且低相位截断噪声的调制波形本文选用CORDIC算法实现的DDS来产生正余弦波形其它各种自定制任意波形的产生则通过双口RAM查找表法实现的DDS来完成。除此之外DDS组件硬件逻辑还包括与NiosII系统进行通信的主从端口逻辑、各种信号调制逻辑以及各种用来改变组件工作模式和参数的寄存器。硬件逻辑再配合自行开发的驱动程序DDS组件就可以成为NiosII系统中的一个外设。为了便于对系统工作方式进行控制在对Niosll定制系统的构建工作中论文在FPGA上实现了NioslI系统与LCD控制器的接口以及键盘控制器。在系统控制软件的设计上论文着重分析了NiosII系统软件开发的HAL编程环境同时给出了系统中断服务程序以及系统控制程序的工作流程图。测试结果表明系统实现了任意波形的输出、直接扩频、跳频、线性调频、BFSK以及BPSK等多种功能并且输出的各类波形参数皆可通过定制的DDS组件寄存器进行调节。关键词:SOPC任意波形发生器:DDSjNiosII:CORDIC哈尔滨工程大学硕十学位论文ABSTRACTAmethodwhichusestheSOPCtechniquetodeveloptheAWGhasbeenintroducedinthispaper.Mainly,thepaperdiscussesthedesignrealizedofDDScustomcomponentNiosIIhardwaresygemandthesystem’Scontrolsoftware.So.mecontentsaborequencysynthesizerandsignalmodulationtechniquewhichisrelatedtothesubjectareintroducedatfirst.AndthentheframeworkandschemeofsystemisgivenafterwestudySOPCtechnologyindetail.FollowedbythisthehardwarelogicandsoftwaredriversofDDScomponentwasdesignedandrealized.Atlastthefunctionalrealizationofeachcomponentandsomequestionswhichmustbepaymuchattentioninthesystemdesignisrepresentedandanalyzedindetail.AsthekerneloftheAWG,DDScomponentcomprisedofDDShardware.icandthecomponent’Sdriver.DDSbasedonCORDICandDDSbasedonRAMLUTarecombinedtogethertorealizetheDDSlogicinthecourseofdesignhardwarelogicofDDScomponent.Theformerisusedtogeneratesineandcosinewithhighqualitywhilethelatercanprovidevariousformsofarbitrarywaveformsignalconveniently.ThecontrolregisterswhicharedesignedtochangethemodeandparametersofDDScomponentAvaloninterfacelogicofcustomcomponentthelogicofsignalmodulationandtheDDSlogiccomposethehardwarelogicofDDScomponent.InordertofacilitatetheworkofsystemtoundercontrolLCDcontroller’Sinterfaceandkeyboardcontrolleraredeveloped.thecontrolsoftwaredesigntheHALandISRaswellascontrolprogramflowchartofsoftwarearediscussedindetail.Testresultsindicate:thefunctionsofarbitrarywaveformproductionDSHFBPSKBFSKandSOonareachieved.ThevariousparametersofwaveforillcanberegulatedthroughtheregistersofDDScomponent.Keywords:SOPCAWGDDSNiosIICORDIC哈尔滨工程大学学位论文原创性声明本人郑重声明:本论文的所有工作是在导师的指导下由作者本人独立完成的。有关观点、方法、数据和文献的引用已在文中指出并与参考文献相对应。除文中已注明引用的内容外本论文不包含任何其他个人或集体己经公开发表的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。作者(签字):日期:归口哈尔滨工程大学乡日学位论文授权使用声明本人完全了解学校保护知识产权的有关规定即研究生在校攻读学位期间论文工作的知识产权属于哈尔滨工程大学。哈尔滨工程大学有权保留并向国家有关部门或机构送交论文的复印件。本人允许哈尔滨工程大学将论文的部分或全部内容编入有关数据库进行检索可采用影印、缩印或扫描等复制手段保存和汇编本学位论文可以公布论文的全部内容。同时本人保证毕业后结合学位论文研究课题再撰写的论文一律注明作者第一署名单位为哈尔滨工程大学。涉密学位论文待解密后适用本声明。本论文(函生授予学位后即可口在授予学位个月后口解密后)由哈尔滨工程大学送交有关部门进行保存、汇编等。作者(签字):毒、巨聋导师(签字):彳乡耄茎日期:必。年二月彭日上口d年月矽日哈尔滨下程大学硕学位论文第章绪论.课题背景及意义信号发生器是一种重要的信号源广泛应用于电子电路、自动控制和科学试验等领域。作为一种为电子测试和计量工作电信号的设备它和示波器、电压表、频率计等仪器一样是最普通、最基本也是应用最广泛的电子仪器之一Ⅲ。在现代电子技术的研究及应用领域常常需要高精度且频率可调的信号源。随着通信技术的发展频道的分布同趋密集高精度、高稳定度的通信频率就显得更加重要。目前市面上已经有种类繁多的各种信号波形发生器但是这些信号波形发生器也具有一些缺陷无法满足所有的需求。比如实际应用中我们经常需要一种任意波形发生器这种任意波形发生器能够产生较高精度的基于正余弦的常用调制信号和精度不高的不太常用的任意波形。然而很多信号源或者没有产生这种任意波形的能力或者是产生的不太常用的任意波形精度过高导致价格昂贵无法满足成本敏感的小规模开发的需求。因此结合相关技术研制出一种能够满足上述要求的任意波形信号源是具有很重要的现实意义。.频率合成技术的发展信号发生器的核心是频率合成技术它是指由一个或多个频率稳定度和精确度很高的参考信号源通过频率域的线性运算产生具有同样稳定度和精确度的大量离散频率的过程。实现频率合成的电路叫频率合成器。实现频率合成的方法通常有间接合成法和直接合成法两种。间接合成法是基于锁相环原理实现的直接合成法又分为模拟直接合成法和数字直接合成法两种。以下根据频率合成法发展的顺序依次逐个予以介绍。()模拟直接合成法模拟直接频率合成理论大约在世纪年代中期开始形成。采用单个或多个不同频率的晶体振荡器作为基准信号源经过具有加减乘除四则运算功能的混频器、倍频器、分频器和具有选频功能的滤波器的不同组合来实现频率合成。利用不同组合的四则运算即可产生大量的、频率间隔较小的离散频率系列。哈尔滨工程大学硕十学位论文模拟直接频率合成法的优点是频率转换时间短。从原理上来说能产生任意小的频率增量即频率分辨力几乎是无限的。缺点是频率范围有限离散频率数不能太多此外由于采用了大量的倍频器、分频器、混频器使输出信号中的寄生频率成分和相位噪声显著加大而过多的滤波器又使设备变得庞大。所以随着集成技术和数字技术的发展模拟式频率合成器的发展受到了限带。()锁相频率合成法锁相式频率合成是利用锁相技术实现频率的加、减、乘、除。其优点是由于锁相环路相当于一个窄带跟踪滤波器因此能很好地选择所需频率的信号抑制杂散分量且避免了大量使用滤波器十分有利于集成化和小型化。此外一个设计良好的压控振荡器具有高的短期频率稳定性而标准频率源具有高的长期频率稳定度锁相式频率合成器把这二者结合在一起使其合成信号的长期稳定度和短期稳定度都很高。但锁相式频率合成器的缺点是频率转换时间较长单环频率合成器的频率间隔不可能做得很小。()数字直接合成法数字技术的飞速发展使频率合成技术也跃上了一个新的台阶。年美国学者J.TiemcyC.M.Rader和B.Gold提出了以全数字技术从相位概念出发直接合成所需波形的一种新的频率合成原理。限于当时的技术和器件水平它的性能指标尚不能与已有的技术相比故未受到重视。近年来随着数字技术的发展以及器件制作工艺水平的提高直接数字式频率合成(DirectDigitalFrequencySynthesis)得到了飞速的发展它在工作频率范围、频率转换速度、频率分辨力、相位连续性、正交输出以及集成化方面的性能都超越了传统的频率合成器所能达到的水平使频率合成技术大大地前进了一步。DDS是用数字控制方法从一个标准参考频率源产生多种频率的技术它是把一系列数字量形式的信号通过D/A转换形成模拟量形式的信号的合成技术。利用高速存储器作查找表然后通过D/A转换器产生已经用数字形式存入的正弦波。DDS在相对带宽、频率转换时间、相位连续性正交输出、分辨率以及集成化等一系列性能指标方面远远超过了传统频率合成技术所能达到的水平为各种电子系统提供了优于模拟信号性能的高质量的频率源。目前它正朝着系统化、小型化、模块化和工程化的方向发展性能越来越好哈尔滨丁程大学硕十学位论文|使用越来越方便是目前应用最广泛的频率合成技术之一。通过以上分析可知能满足自定义波形的频率合成技术要首推直接数字频率合成技术DDS它以其频率分辨率高、频率切换速度快、切换相位连续、可产生任意波形、全数字化实现等特点得到了大规模的应用。许多公司都有这种DDS专用集成电路产品像AD公司的AD等。近年来随着可编程逻辑器件PLD和片上可编程系统SOPC技术的发展越来越多的设计人员开始使用可编程逻辑器件来实现DDS功能这种方法设计灵活性能适中很适合小规模开发的需求。作为能产生任意波形的信号源需要有一定的人机交互能力处理器是必不可少的。NiosII处理器是Altera公司于年月推出的位软核处理器具有极大的灵活性和易用性具有较高的性能最值得称道的是该处理器可以和外设或其它数字模块封装到一起做成一个片上系统大大简化了电路的设计难度。.SOPC技术图.一个典型的基于NIOSII的SOPC嵌入式系统SOPC(SystemonaprogrammableChip片上可编程系统)是Altera公司提出的一种灵活、高效的SOC解决方案。一个典型的基于NiosII的SOPC嵌入式系统如图.所示它将处理器、存储器、I/O接口、UART、自定义组件(customcomponent)等系统设计需要的功能模块集成到一个可编程逻辑器件上构建一个可编程的片上系统。它具有灵活的设计方式软硬件可裁减、可扩充、可升级并具备软硬件在系统可编程的功能。可编程器件内还有小容量高速RAM资源。由于市场上有丰富的IPCore资源可供灵活选择用户哈尔滨工程大学硕十学何论文可以构成各种不同的系统如单处理器、多处理器。有些可编程器件内还可以包含可编程模拟电路。除了系统使用的资源外可编程器件内还有足够的可编程逻辑资源用于实现其它附加逻辑。NiosII处理器是Altera公司SOPC解决方案中的一部分是原Nios处理器的升级版相对原Nios处理器NiosII功能更加强大灵活性更高。它是一种采用流水线技术的位RISC处理器其大部分指令可以在一个时钟周期内完成。NiosII又是一种软核CPU专门针对Altera的可编程逻辑器件及片上可编程系统的设计思想做了相应优化。作为一种可配置的软核通用对SC处理器基于此处理器系统的外设既可以是Altera公司已提供的常用基本外设也可以是用户根据需要自定义的组件从而可以满足各种各样的应用要求。在Altera公司提供的软件SOPCBuilder中加载NiosII核和相应的外围接口和组件然后对设计进行综合下载到FPGA中就可以方便地设计一个具有特定功能的嵌入式处理裂"。.数字调制技术作为一个任意波形发生器除了处理器和作为其核心的频率合成部分外最重要的当属它的信号调制部分了。调制的过程就是用基带信号去改变高频信号某个参量的过程。由于发射的已调高频信号带有基带信号的信息而高频信号本身有如运载信息的工具因此该高频信号称为载波相应的频率称为载频。将数字信号进行调制使数字信息能在多种信道中传输频移键控(FSK)、相移键控(PSK)就是常用的基本方式。根据实际的需要本系统不仅能够输出二进制频移键控(BFSK)信号和二‘进制相移键控(BPSK)信号等基本调制信号波形而且还能产生直接扩频信号(DS)、跳频信号(HF)以及线性调频信号。下面对产生这些信号的数字调制技术原理进行简要介绍。..BPSK与BFSK调制相位键控(Phase.ShfitKeying)简称PSK:其载波的相位受数字基带信号控制。当基带信号为“”时载波起始相位为O当信号为“”时载波起始相位为"波形如图.中的b)所示。哈尔滨工程大学硕士学位论文频移键控(FrequencyShfitKeying简称FSK):其载波的频率受数字基带信号控制。当基带信号为“”时载波频率为Z而信号为“”时载波频率为厶其波形如图.中的c)所示。当调制信号为二进制序列时的数字频带调制称为二进制数字调制。由于被调载波为频率和相位两个独立的可控参量当用二进制信号分别调制这两种参量时就形成了二进制移频键控(BFSK)和二进制移相键控(BPSK)两种最基本的数字调制信号而每一种调制信号的受控参量只有两种离散变化状态。口:口’D^'l{‘悯脚艘舻t^'!栅附渤舻c‘ol图.PSK和FSK信号波形..扩频调制扩频调制是扩频通信技术的重要组成部分。扩频通信(SpreadSpectrumCommunication)就是在发射端用高速率的扩频序列(SpreadingSequence)去扩展信息数据的频谱包括伪码调制和载波调制两个过程:在接收端则用相同的扩频序列进行解扩把扩频信号还原成信息数据。它与一般常见的窄带通信方式不同主要体现在信息数据经扩展频谱以后成为宽带信号再经过相关处理恢复成窄带信号后解调出信息数据因此它具有伪随机编码调制和信号相关处理两大特点。l扩频系统的伪随机序列m序列扩频码(伪码序列)在扩频系统中起着十分关键的作用。不仅频谱的展宽是由扩频码调制产生而且扩频码序列有良好的伪随机性它的相关函数接近白噪声的相关函数即有一窄的高峰或宽的功率谱密度使它易于从其它信号或干扰中分离出来。扩频码序列的伪随机性表现在它实际上有一定的规律预先的可确定性可重复性使它易于实现相关接收或匹配接收故有良好的抗干扰性能。扩频码序列的上述两个特性使它得到广泛的应用直扩哈尔滨工程大学硕士学位论文系统的其他一些优异性能如抗干扰性强、抗噪声、抗衰落、低截获概率、抗多径效应、多址通信以及实现同步与捕获等都是与扩频编码的设计密切相关的。能满足上述要求的扩频编码应具有如下理想特性:()扩频码应具良好的自相关和互相关特性以有利于接收时的捕获和跟踪以及多用户应用:()足够的可用码序列使通信系统的通信容量不受地址码数量的限制()易于产生()具有尽可能长的周期使干扰者难以从其中的一小段去重建伪码序列()频谱分布尽量的宽而且均匀。理论上用随机序列去展宽频谱是最理想的但随机序列无规律可言接收端无法产生一个与发端扩频码同步的副本。因此实际中采用具有类似于带限白噪声统计特性的伪码来逼近它即采用伪随机序列(PseudonoiseSequence)zom序列是最简单、最易实现的一种周期性伪随机序列是“最长线性反馈移位寄存器序列"的简称它的产生如下图:图.最长线性反馈移位寄存器结构图中n个小方框表示n个寄存器D把它们从左至右依次叫做第级第级第n级寄存器。对于系数cj当c.=时表示第i级输出a参与反馈:当c=时表示第i级输出aj不参与反馈。开始时设第l级的内容为口川第级的内容为口柑第FI级的内容为ao即n级移位寄存器的初始状态为(%al以)(非初态)。则加法器的输出即反馈到第级的输人为:.%一乙c%一l。i=l该序列的递推关系式为:打aj=一一歹玎()ciaj一乙一/玎(‘『=l即n级线性移位寄存器序列所对应的反馈逻辑。则有m序列发生器的特征多项式:哈尔滨工程大学硕十学位论文厂(x)=%clx...Cnlx卜c。=qx‘()i=它是n级移位寄存器的反馈连接形式的多项式表达f(x)满足下列条件:()f(x)是不可约的()f(x)能整除xPP=”()厂(x)不能整除x(g<P)。这时输出为m序列m序列具有如下特征:周期性以”一为周期均衡性以N为周期的序列中包含个“l”和”个“”“”和“"的个数基本相等游程分布TI序列的一个周期中游程总个数为”其中“”游程和“’’游程各占一半任一m序列的循环移位是rn序列且两者模相加后仍是m序列自相关函数flr=modNR(f){一一om。dⅣ()LⅣ式中:N=”为m序列的周期f为码元延时。可见m序列有近似于最佳的自相关特性使得经m序列伪随机码扩频的信号可以在接收端用相关器解调出来。直接扩频调制技术直扩DS调制技术的原理图如图.在发射端输入的信息数据d(t)经过信息编码后与伪随机码发生器所产生的扩频码(尸Ⅳ(f))进行模二相加形成高速数字序列。再经过载波调制器去调制载波信号本系统采用BPSK调制方式获得频谱被极大展宽的扩频信号经宽带放大后发射。l‘.麴’匿巫习J发射未线图.直扩DS发射系统结构模型哈尔滨T程大学硕十学位论文信息数据d(f)是数据宽度为丁、带宽为厶的(一)二值信号伪随机序列州(f)是码元宽度为疋、序列长为Ⅳ、带宽为丘的高速(、)二值信号。根据DS扩频调制规律一个信息数据宽度应包含整数周期的伪随机序列:T=mNTc()d(t)与扩频码PⅣ(f)模二相加后的信号d(t)PN(t)与PN(t)具有相同的功率普密度该序列通过载波调制器同载波相乘得到发射信号S(f):S(t)=a/Pd(t)PN(t)cos(co。)()式中:P一载波信号功率一载波频率Q一载波初始相位。跳频调制技术跳频系统的载频受一伪随机码的控制不断地、随机地跳变可看成载频按照一定规律变化的多频频移键控。设信源产生的信号口(f)为双极性数字信号则:口(f)=a.g。(tnTo)式中:口。为信息码取值或一。‰(f)={:‘凳乙瓦为信息码元宽度。调制采用PsK调制。由频率合成器产生的频率为Z则{彳石石...^)即Z在(i)Th<t<iTh内的取值为频率集{彳Z石...^)中的一个频率由伪随机码确定频率集中最大和最小频率决定了整个跳频带宽瓦为每一频率(每IIi)的持续时间。这样用口(r)去调制频率合成器产生的频率.f可得射频信号为:s()=a(t)coscoft()本文伪随机码采用移位寄存器反馈产生工作时通过各移位寄存器并行输出不同相位选择不同频率的载波达到按一定规律跳频的功能pHl。、、l发射天线击匝蛔埠一JlI’频率合成器:r~..二:!壁器图.跳频发射系统结构模型哈尔滨二程大学硕十学何论文..线性调频线形调频又称为chirp系统它主要用于雷达中短波通信中也有应用。线形调频信号的载频在信息脉冲持续时间T内作线形变化有此可得其瞬时频率与时间之间的关系为co(t)=COoktt()式中coo为载波频率为一常数所以线性调频信号的瞬时相位够(f)和线性调频信号在线形调频信号在信息脉冲持续时间T内的表达式s()分别为yO)=coo去f()Zs(f)=COS(‰f寺)~I’<T寺()线性调频信号的产生方法可由一锯齿波信号控制频率合成器来实现。常用基于DDS的线性调频信号源有两个基本调频性能控制参数其一是频率步进厂Af=【SWEEPACC/川厶()其二是驻留时间岔At=HOLDTIME】/f。()其中SWEEPACC为调频步进控制字工。为系统时钟N为扫调频步进控制字的位数HOLDTIME为线性调频驻留时间控制字。这样我们可以得出:fP=fsT母【Af/At】()厶和石分别为线性调频终止频率和起始频率p埔。.论文主要研究内容本文将在参考国内外有关资料的基础上设计并实现一个基于SOPC的任意波形信号发生器。该波形发生器既能根据系统键盘的指示产生多种高质量并且相关参数可调的常用调制信号(如扩频、跳频、线性调频等)波形又能根据从系统UART输入的波形数据产生各种自定制的任意波形。围绕着系统的设计实现本文将对DDS技术SOPC技术以及信号调制技术进行深入的研究。论文主要包括以下几个部分:第一部分主要对课题研究的背景及意义和频率合成技术的发展作扼要介绍并对数字调制技术以及SOPC系统设计相关技术进行深入的研究在此哈尔滨工程大学硕士学位论文基础上将给出本任意波形发生器的总体设计框架以及系统的各项性能指标。第二部分:DDS结构与实现。这部分将在介绍DDS技术的基本结构原理后深入研究它的两种实现方案:基于存储器查找表法的实现和基于CORDIC算法的实现。通过对比两种方案的各自优缺点笔者将决定在本论文中取两者所长即用一个存储空间不太大的双口RAM实现的DDS产生自定制的各种任意波形而使用基于CORDIC算法实现的DDS来产生高精度的正余弦波。第三部分:DDS组件的设计与实现。DDS组件是任意波形发生器的核心部分负责根据系统要求产生指定的波形数据它包括硬件逻辑和软件驱动两大部分。第四部分为键盘与LCD控制器接口的设计。键盘控制器与LCD控制器接口是SOPC系统的重要组成部分这里主要介绍它们的详细设计。第五部分为系统的集成及输出波形效果的测试。这部分首先将在SOPCBuilder中完成了系统硬件部分的搭建接着将介绍系统软件设计时的相关要点并给出整个系统软件工作的流程图最后对系统的输出信号效果进行测试。哈尔滨工程大学硕十学位论文第章SOPC开发概述以及本系统总体方案设计基于NiosII的SOPC的开发技术相比其他嵌入式开发系统开发技术发展要晚市场成熟度不够高相关的中文技术资料也比较少因此本章将就基于NioslI的SOPC系统的开发作一些介绍后再给出本文系统的总体框架。.基于NiosII的SOPC系统NiosII是Altera公司推出的一款位的软核处理器也是本文设计时所使用的处理器。针对基于NioslI的SOPC系统开发Altera公司提供了QuartuslI、SOPCBuilder以及NiosIIIDE等一整套完整的开发工具。NiosII系统跟传统的嵌入式系统的开发有很大的区别因此关于NiosII系统的新的概念也比较多。总的来说主要是掌握以下几个概念:NioslI处理器、Avalon总线和HAL系统库。..NiosII软核处理器时钟’聋缸呻叫瑟篓要lrq:.叫剿:蔓篡图.NiosII处理器内部结构框图NiosII处理器是Altera公司开发的基于SOPC技术的位RISC处理器软内核采用改进的哈佛存储器结构。处理器带有分离的数据和程序存储器总线控制具备高速缓存、中断处理功能。它的主要特点如下:完全的位指令集数据通道和地址空间:可配置的指令和数据Cache.个通用寄存器:个外部中断源单指令的乘除法产生位结果单指令BarrelShifter徽一肭娜一||霎黜一燃圈困处IJ叫lm一存。=饼一卤圈一制址一船=啪一控地一主三=一序与成雨=断圜一哈尔滨工程大学硕士学位论文可以访问多种片上外设可以和片外存储器外设接口:具有硬件协助的调试模块可以使处理器在软件调试时做各种调试如开始停止单步和跟踪等等具有超过DMIPS的性能。NiosII处理器体系结构框图如图.所示。主要包括通用寄存器和控制寄存器、算术逻辑单元(ALU)、异常控制器、中断控制器、指令总线、数据总线、指令和数据缓冲存储器、指令和数据紧耦合存储器接口、JTAG调试模块等。表.NiosII三种不同实现的区别特性NiosII/eNioslI/sNioslI/f最大DMIPS最高工作频率MHzMHZMHZ占用FPGA资源<LEsALMs<LEsALMs<lLEs.ALMs支持缓存不支持BKBBKB流水线级数级级级硬件乘法软件实现周期实现单周期实现可以看出NioslI基本上提供了主流嵌入式处理器的性能。同时因为NioslI是一种软核处理器因此设计者给用户提供了种可选实现方式分别为经济型的NioslI/e、标准型的NiosII/s、快速型的NiosII/fo表.给出了三种实现的部分特性对比。不管哪一种实现支持的指令集是一样的只是某些在NioslI/s和NioslI/f依靠硬件实现的指令在NioslI/e中可能会以软件方式实现即用多条指令去模拟硬件未实现的指令。从应用开发者的角度来讲它们的区别仅仅就是性能的差别而已。本设计中使用的是NiosII/s因为它支持硬件断点调试的效率较高而资源消耗适中一“|。..Avalon总线Avalon交换结构总线是Altera开发的用于NiosII嵌入式处理器的参数化接口总线由一组预定义的信号组成用这些信号可以连接一个或多个IP模块包括处理器和周边设备。Altera的SOPCBuilder系统开发工具自动地产生Avalon交换结构总线逻辑由PLD内部的逻辑单元和连接线组成其实哈尔滨T程大学硕学位论文现只需要极少的FPGA资源提供完全同步的操作。Avalon总线规定了主设备和从设备的端口连接方式和时序关系。其基本设计目标是:简单性:提供一个易于理解的协议优化总线逻辑的资源利用:节约可编程逻辑器件的逻辑单元(LE):基于同步操作:易于与片上的其他用户逻辑集成避免了复杂的时序约束和分析过程。Avalon结构的原理包括:()外围设备接口跟Avalon时钟同步。因此不需要复杂的异步握手/应答电路。Avalon总线的性能可以使用标准的同步定时分析技术进行测量。()所有的信号是低电平或高电平有效这可以加速总线的切换(turnaround)。Avalon总线内部的多路复用决定驱动外围设备的信号。即使外围设备没被选择也不需要将输出端设为高阻态。()单独专用的地址、数据和控制信号使外围设备的设计简单化外围设备不需要地址译码也不需要在未被选择时禁止输出端。基本的Avalon总线传输是在主设备和从设备之间传输一个字节、半字或字。一次传输过后总线可以立刻进行下一次传输而且与上一次传输的目的设备和源设备无关。Avalon总线还支持外设等待执行时间、传输外设和多主设备总线等功能。这些传输模式使得在一次总线传输中在外设之间能够完成多个数据单位的交换。为了易于利用SOPCBuilder软件自动生成系统Avalon总线提供以下几个功能:最多G的寻址空间同步接口分离的地址数据和控制线内建的地址译码:多主设备的总线结构基于向导的参数配置动态总线宽度调整。可以看到Avalon总线为用户提供了非常友好的接口使得系统搭建中哈尔滨二程大学硕士学位论文的一些细节问题得到屏蔽大大减轻了系统搭建的工作量。..HAL系统库NioslI与Avalon总线都是NioslI系统中的硬件范畴而HAL框架则是属于软件范畴。SOPCBuilder在生成一个新的系统后会自动生成一个当前系统的配置信息文件:包括各个外设的地址空间、中断优先级以及外设的一些特性等等。NioslI则根据这个信息文件为系统的软件开发自动生成一个HAL系统库。图.是一个基于HAL系统库的NiosII系统的软硬件层次图。用户应用程序堕!型HALAPI篓暑l囊暑I...I差者驱动I驱动I.一l驱动Niosll处理器系统硬件图.HAL系统库结构HAL系统库给NiosII系统的软件开发提供了一个轻型的运行支持环境在软件开发中起一个承上启下的作用。它通过使用设备模型来将设备驱动封装成统一的HALAPI从而给用户提供一个统一API接口的软件开发环境。另一方面它通过Newlib库还支持了ANSIC标准允许用户使用熟悉的标准C库里的函数进行设备操作。总的说来HAL系统库提供了如下服务:与新库ANSIC标准库集成提供熟悉的C标准库函数。设备驱动提供访问每一个系统中的设备。HALAPI提供一致的标准的接口。系统初始化在main()之前对处理器和运行环境执行初始化任务。设备初始化在main之前对系统中的每个设备初始化。同时由图.可以看出用户程序架构在硬件抽象层和C标准库函数上这说明用户程序要访问硬件设备至少有种方法:调用C标准库函数如printf()并fwrite调用硬件抽象层的API函数如write()哈尔滨工程大学硕学何论文调用设备驱动程序如altavalonuartwrite()直接访问设备寄存器(如IOWRAALTERAAVALONUARTRXDATA(basedata)):前两种方法的抽象程度较高可移植性最好对用户来说最容易实现但是需要最多的额外开销第三种方法抽象度较低有一定的移植性额外开销较少但还需要用户考虑对设备写数据前的其他的硬件操作最后一种方法完全是对硬件的直接访问需要用户关注设备的每一个硬件细节无额外开销H儿。本文中系统从节省资源的角度考虑综合采用了后三种方式进行应用程序的编写。..设计流程图.NiosII系统开发设计流程基于NioslI的SOPC系统开发流程如图.所示主要有三个步骤:NiosII系统的定制、定制系统在FPGA上的编译和下载、基于定制系统的软件开发。()NiosII系统的定制定制NiosII系统是通过SOPCBuilder完成的在SOPCBuilder中可以将NiosII和多种标准外设通过Avalon总线模块互联起来形成一个自定义的哈尔滨‘:程火学硕十学位论文NiosII系统并自动或手动为每一个组件分配地址和中断优先级等参数满足Avalon总线时序的自定义组件也在这里加入Niosll系统中。SOPCBuilder硬件上将为QuartusII自动生成一个定制系统的HDL描述便于QuartuslI导入进行综合适配和下载软件上将为NioslIIDE提供一个定制系统相关信息的描述性文件NioslIIDE将根据这个文件生成相应的HAL系统库文件(systemh)系统描述文件。()基于Avalon总线的组件设计SOPCBuilder提供了一个组件编辑器用来创建和编辑自己的SOPCBuider组件。自定义逻辑一旦被封装成组件后在SOPCBuilder中可以像使用其它外设组件一样使用它。定制组件可共享并重用。自定义组件的设计主要可以分为两类:一类用于完成某一具体的功能逻辑另一位则为不符合Avalon总线时序的现有外设作接口转换。一个组件典型地由下面几部分组成:)硬件文件一描述组件硬件的HDL模块。)驱动软件文件一一个定义组件寄存器映像的C语言头文件软件控制组件所需的驱动程序。)组件描述文件(class.ptf)一这个文件定义组件的结构为SOPCBuilder提供将组件集成到系统的信息组件编辑器自动创建这个文件它是基于所提供的硬件、软件及在编辑器GUI中指明的参数而创建的。r阿司厂卜墼刍辑篚懈雾嚣H苗E接口任务逻幸fl}.l.嚣=墨。Z麓卜.P.{翟七::=一斛怪芝悟第茹茗II~F卜I釜衽茹蓦剥卜图.自定义组件的硬件架构一个典型的组件硬件文件架构如图.所示由三部分组成:任务逻辑(tasklogic)、寄存器文件(registerfile)和Avalon接(avaloninterface)。组件的任务逻辑的实现与普通FPGA上的数字逻辑无异一般用HDL硬件描述语言或调用Altera公司提供的系统库实现。在完成了组件的逻辑设计后应该再设立几个寄存器对组件的逻辑功能进行控制对这几个寄存器的读写按照Avalon总线规范的时序进行设计这样设计完成的组件就可以直接挂在Avalon总线上并且NioslI可以通过Avalon总线访问这几个寄存哈尔滨工程大学硕士学位论文器来控制自定义组件的工作最后通过编写驱动程序为应用程序提供自定义组件的控制。组件驱动软件的开发根据组件设备类型的不同会有所区别但它们的基本步骤类似:创建描述组件寄存器的头文件实现驱动的具体功能在main()对驱动进行测试将驱动整合进HAL框架:如果要想将驱动整合进HAL系统库那么驱动程序的源文件必按照图.中所示的目录进行存放。其中\inc\目录下存放的头文件主要定义了组件的I/接口操作宏、例如组件寄存器的读写宏。hqAL\inc\下的头文件则主要用于定义HAL框架所要求的一些宏例如组件的实例化宏和初始化宏。\:HALkinc\下则是具体的驱动程序源文件。图.组件驱动程序的目录结构将驱动程序整合进HAL系统可以有两种不同的层次:将驱动整合进HALAPI使用设备自己特定API。HAL系统库给六种类型的设备提供了HALAPI。同种类型不同机制的设备使用同一的API进行访问这一方面给应用程序的兼容性带来了方便另一方面也不用因为更改同类型的硬件而去修改应用程序。这六种设备分别是:字符设备、文件子系统、DMA设备、定时器设备、FLASH存储设备、以太网设备。对于这六种类型以外的设备则只能使用设备自己特定的API来进行访问。当然驱动程序并不是一定要整合进HAL系统的用户完全可以像在其他嵌入式系统一样将驱动程序文件和应用程序放在一起然后自己对设备进行初始化等工作。但整合进HAL系统可以给应用程序的开发者一个更加干净的开发环境。描述组件的硬件和软件文件创建之后使用组件编辑器将这些文件封装成一个SOPCBuilder元件以后也可利用编辑器对定制组件进行修改H。()系统应用程序的开发哈尔滨T程大学硕十学仲论文在完成了NiosII系统的定制以及自定义组件的驱动开发以后就可以进行应用程序的开发了。用户应用程序主要是基于HAL库进行开发工作平台为NioslIIDE具体过程和其他嵌入式应用程序的开发差别不大。因此不再多述。.StratixEPlSDSP开发板套件本设计是基于StratixEPlSDSP开发板套件进行开发的。该开发套件上包含有一片StratixEPlSC的FPGA工作时钟为MHz同时还提供了许多其他器件和丰富的接口。本系统需要用到的该套件上的资源如下:一片StratixEPlSC的FPGA一片.bit.MHz的D/AMHz的晶振Mbit的Flash:JTAG接口RS接口固定扩展区域(用来扩展键盘接口和LCD点阵液晶显示器接口)p。.任意波形发生器系统总体方案在介绍了NioslI系统的开发方法以及硬件平台之后本小节主要介绍一下任意波形发生器的整体设计方案。图.系统总体框架系统结构如图.整个系统的实现包括:NiosII定制系统的构建和系统控制软件设计。其中硬件部分DDS模块调制控制端口LCD控制器接口键盘控制器部分需要自行实现其他部分则由SOPCBuilder提供。在本文中为了辨识将包括DDS在内的波形数据输出逻辑功能实现核心部分称为DDS模块而DDS模块与调制控制端口统称为自定义DDS组件。即自定义DDS哈尔滨工程大学硕士学位论文组件分为了两部分:调制控制端口和DDS模块为方便调试和日后的升级需要这里将DDS模块放在NiosII定制系统硬件模块的外部如上图及附录。DDS模块负责按指定频率和指定模式产生离散的波形数据它不是一个简单的相位累加器与相幅转换电路的组合它除实现了直接扩频、跳频、BPSKBFSK和线性调频输出多种常用调制信号外还可根据需要产生各种任意自定制波形是本文设计的重点内容。调制控制端口拥有一个Avalon从端口和Avalon主端口。从端口用于从NioslI系统中接收自定制波形数据和参数控制字主端口在波形调制时主动从NioslI系统中指定地址存储空间中获取被调制信息数据。系统中FLASH用来存放FPGA配置数据和软件运行程序通过RS可以输入自定制波形数据。而键盘和LCD则分别用来控制和显示整个系统的工作运行状态。系统工作时DDS组件输出的波形数据经开发套件的DA转换后就可得到各种模拟波形信号了。.系统性能指标本任意波形信号发生器预计能达到的主要性能指标如下:()载波输出频率.mHz~MHz可调调节精度可达mnz级相位度可调()直扩时伪随机码速率与信息速率的比值(直扩扩频倍数)强可调载波速率与伪随机码速率的比值~可调跳频调制每一跳持续时间可调调节精度为可达脚级跳频带宽和每个频率之间的I旬隔可通过给定的跳频频率字查找表确定()线性调频起始和终止频率皆为.mHzNMHz可调调节精度可达mHz级调频步进频率可调调节精度可达mHz级线性调频驻留时间可调调节精度为可达脚级()输出任意波形一个周期最多可达个采样点每个采样点深度为bit频率l.mHzMHz可调相位~度可调()信息码频率可调BPSK与直接扩频信息码频率调节精度为载波频率所达到的精度BFSK与跳频调制信息码频率调节精度可达mHz级。哈尔滨T程大学硕士学位论文.本章小结本章较详细地研究了关于SOPC系统设计相关技术简单地介绍了本系统所使用的开发板套件并在此基础上给出了任意波形发生器系统的总体设计方案以及系统预计所能达到的技术指标。哈尔滨T程大学硕士学位论文第章DDS结构与实现.DDS基本结构直接数字频率合成器是从相位概念出发直接合成所需波形的一种频率合成技术。DDS的基本原理是利用采样定理通过相位幅度转换单元产生波形。其基本的电路原理图如图.所示主要由相位累加器、相位幅度转换器、数模转换器以及低通滤波器四部分组成。厂田无J低通If!:l鲨鲨坠II.........一J图.DDS原理图在时钟频率的控制下N位频率控制字K在每个时钟周期内与相位累加器中的相位进行一次累加将累加结果送入相位幅度转换器中相位幅度转换器根据输入的相位值将相位信息转化为相应的数字量化幅度字。输出的量化波形序列经D/A转换器将数字信号转变成模拟量形式的阶梯波再经过低通滤波器得到一个平滑的波形。在这里不同的频率控制字K导致相位累加器的不同相位增量从而使波形存储器输出的J下弦波的频率不同。DDS输出信号的频率与参考时钟频率及控制字之间的关系为:厶=K‘/Ⅳ()其中.无为DDS输出信号频率K为频率控制字.疋为参考时钟频率Ⅳ为相位累加器的位数。DDS实现的频率合成具有很多优点。首先DDS频率分辨率高。由式(.)所示在时钟频率厂.一定的情况下DDS频率分辨率由相位累加器的位数N决定DDS能够产生的最低频率为:fm衲=Z/Ⅳ。其次DDS输出频率的相对带宽很宽。根据奈奎斯特定律理论上只要输出信号的最高频率小于或等于.疋/DDS就可以实现所要的带宽。但由于受到低通滤波器过渡特性及高端信号频谱恶化的限制实际中可以实现的最高频率一般为O一.疋所以DDS输出频率范围可以达到O~.L。第三频率转换时间短。DDS频率转换时间是频率控制字的传输时间和以低通滤波器为主的器件频率响应时间哈尔滨工程大学硕士学位论文之和。高速DDS系统中采用流水线结构其频率控制字的传输时间等于流水线级数与时钟周期的乘积低通滤波器的频率响应时间随截止频率的提高而缩短因此高速DDS系统的频率转换时间极短可以达到纳秒量级。同时DDS还具有频率捷变时相位连续、产生宽带正交信号、可编程等优点适合于不同技术要求下的应用p。根据相位幅度转换部分实现方法的不同DDS在具体实现时可采用两种方式:基于RAM查找表法和基于CORDIC处理器法。下面将对此具体叙述。.基于RAM查表法的DDS查找表法DDS目前使用的比较广泛原理如图.所示它利用高速存储器作查找表然后通过高速DAC产生已经用数字形式存入的波形。频幽q磊卜匿万悃谢}}“。’’一L一一I累加器II存储器II转换器ll滤波器I’系统时钟正图.查找表法DDS原理图此时相位累加器的位数N决定了输出信号的频率分辨精度RAM地址位数D决定相位分辨精度而RAM的样点位数决定了幅度的分辨精度:因此采用此类方法实现高性能的DDS要求很庞大的RAM表。一般在实际应用中.为了压缩RAM的容量只用N位相位累加器输出的高M个有效位去寻址波形存储器将B位低有效位截去随之产生了相位截断误差从而使DDS输出频谱中含有大量幅值较高的杂散分量。根据参考文献】的分析相位每增加位能改善杂散约dB。但增加寻址位数就对RAM的容量提出了较高要求。对于在需要极高相位分辨精度和幅度分辨精度的常用调制信号场合基于RAM查表法实现的DDS占用资源较多同时它的运算速度也受到了一定的限制。.基于CORDI

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +2积分

资料评价:

/18
仅支持在线阅读

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部