SOPC(System on a Programmable Chip,片上可编程体系)是Altera公司提出的一种灵敏、高效的SOC解决方案。它将处理器、存储器、I/O接口、LVDS、CDR等体系规划需求的功用模块集成到一个可编程逻辑器材上,构建一个可编程的片上体系。它具有灵敏的规划方法,软硬件可削减、可扩大、可晋级,并具有软硬件在体系可编程的功用。SOPC的中心器材FPGA现已开展成一种实用技能,让体系规划者把开发新产品的时间和危险降到最小。最重要的是,具有现场可编程性的FPGA延长了产品在商场的存在时间,然后减小了被新一代同类产品筛选的要挟。本文以全数字频率组成技能——直接数字频率组成技能(DDS)为理论依据,使用先进的片上可编程技能在一块FPGA芯片上完结了DDS IP核功用,并将该DDS IP核与Nios II处理器核以及其它外设封装到一同,做成一个片上体系,大大简化了电路的规划难度。
1 DDS的基本原理
DDS(直接数字频率组成)是把一系列数字方式的信号经过DAC转化成模拟量方式的信号的组成技能。图1是DDS的原理框图。
图中参阅时钟由一个高安稳的晶体振荡器发生,来同步整个频率组成器的各个组成部分。相位累加器包括一个加法器和一个相位寄存器,每来一个时钟脉冲,加法器就将频率操控字与相位寄存器中的数据相加。相位寄存器能够将加法器在上一个时钟效果后发生的新相位数据反应到加法器的输入端,使加法器鄙人一个时钟的效果下持续将相位数据与频率操控字相加。这样,相位累加器在参阅时钟的效果下进行线性相位累加。当相位累加器到达上限时,就会发生一次溢出,完结一个周期性的动作,这个周期便是组成信号的一个周期,累加器的溢出频率也便是DDS的组成信号频率。相位操控字用来设定相位累加器初始时间的相位值,相位累加器运转过程中并不参加加法运算。
在参阅时钟的操控下,相位累加器受频率操控字操控输出相位数据,用相位累加器输出的相位数据作为相位/振幅变转化电路的地址对其进行查找。相位/振幅转化电路将相位累加器的相位信息映射成数字振幅信息,将数字振幅数据再经过D/A转化器得到相应的阶梯波,最终经低通滤波器对阶梯波进行滑润处理,即可得到由频率操控字决议的接连改动的输出波形。
2 DDS IP核的规划
依据DDS的基本理论,将DDS IP核分为相位累加模块、DDS操控模块、波形挑选模块、波形LPM_ROM模块。
2.1 相位累加器模块的规划
相位累加器是DDS IP核规划的要害,它决议着频率的规模和分辨率,本规划选用的32位的二进制累加器,取累加器的高十位作为查表(相幅转化电路)的地址值。为进步体系的速率,在累加器的规划中选用了7级流水线技能。其间选用Verilog HDL描绘的榜首级流水线完结的要害代码如下:
相似,可完结其他流水线的规划。
2.2 DDS操控模块规划
为将规划的DDS IP能够集成到SOPC体系中,本规划在DDS IP的操控模块界说了两个32位的寄存器,如图2所示。一个是频率操控字寄存器,用来保存上位机软件发来的频率操控字;另一个寄存器用来保存相位操控字和波形挑选位,其间低2位D1、D0用于波形挑选,D2到D11用于保存相位操控字,其他高位保存未用。
2.3 波形存储器ROM的规划
该模块完结相位/振幅转化电路的功用。在本规划中,要求DDS IP能输出正弦波、方波,三角波、锯齿波。能够用FPGA内部的LPM_ROM模块制造4张ROM表,别离存储4个波形的数据。实际上,因为方波和三角波是完结算法相对简略,为了节约资源,本体系直接用Verilog HDL描绘其功用。完结发生方波信号的要害代码如下:
正弦波、锯齿波的发生是使用FPGA的LPM_ROM模块来完结。为了对ROM模块内的数据进行加载,首先应树立相应的*.mif(Memory Initial File)文件。它能够用C言语编写源程序,得到对应波形的数据,生成*.mif文件,如生成正弦波形数据的C言语程序如下:
然后在Quartus II里新建.mif文件,把用命令字符生成的.mif文件的内容粘贴到Quartus II里新建的存储器初值设定(.mif)文件里边,如图3所示。再用Quartus II软件定制LPM_ROM,并加载方才树立的.mif波形文件初始化ROM。
2.4 波形挑选模块的规划
该模块依据DDS操控模块的输出操控信号决议挑选哪一种波形输出,要害代码如下。
2.5 DDS顶层规划
顶层规划将前面完结的各功用模块作为底层元件例化调用,完结整个DDS IP核规划。对DDS IP核进行验证后,使用SOPC Builder的组件编辑器对其进行自界说组件的开发,为后续SOPC硬件体系的建立奠定根底。
2.6 DDS IP的仿真测验及自界说组件的生成
Altera公司的Quartus II软件具有嵌入式逻辑剖析仪SignalTap II,它供给了一种对器材进行实时测验的手法。SignalTapII嵌入式逻辑剖析仪能够随规划文件一同下载到方针芯片中,用以捕捉方针芯片中规划者感兴趣的信号节点处的信息,而不影响芯片的正常作业。
SignalTapII将测得的样本信号暂存于方针器材的片内RAM中,然后经过器材的JTAG端口和编程线将采得的信息传出,送入计算机进行剖析。图4是选用SignalTapII嵌入式逻辑剖析仪的仿真测验成果。
因为SOPC的开发是以组件(IP核)为根底的,为了将前面规划的DDS IP核挂到Avalon总线上,将其封装成为SOPCBuilder自界说的组件,如图5所示。这样,在SOPC硬件体系开发中,DDS IP就好像SOPC Builder里的规范组件相同,能够被集成到详细的使用体系中。
2.7 SOPC硬件体系配置
在SOPC硬件体系的开发中,除了集成前面规划的DDSIP外,还集成了许多SOPC Builder组件库中的规范组件,主要有Nios II CPU、UAR T、JTAG UART、定时器、Avalon三态总线桥、片上存储器、片外存储器、PIO、SDRAM操控器、FLASH操控器等,如图6所示。
3 定论
论文以直接数字频率组成技能为理论依据,开发了DDSIP核,建立了根据SOPC技能的信号发生器硬件体系,经过改动LPM_ROM模块中的波形数据,能够完结恣意波形信号的发生。体系除了数/模转化部格外,其它部分都是在FPGA内部完结,具有完结简单、便利,减小了PCB规划的复杂度以及开发难度,缩短了开发周期等长处,一起,体系还具有很大的伸缩性,体系集成度高,归于SOC的领域,契合技能开展潮流。