目录摘要………………………………………………………………………………………………2Abstract……………………………………………………………………………………………31绪论……………………………………………………………………………………………42设计任务与要求………………………………………………………………………………53方案对比和论证确定…………………………………………………………………………54电路工作原理分析……………………………………………………………………………64.1MC8051IPcore原理……………………………………………………………………64.2DDS电路原理分析………………………………………………………………………74.3DA转换与放大电路原理分析……………………………………………………………85软件设计及仿真………………………………………………………………………………95.1MCU8051软核模块………………………………………………………………………95.2MCU8051控制程序设计…………………………………………………………………95.3DDS逻辑电路设计………………………………………………………………………106实物制作与硬件调试…………………………………………………………………………117总结……………………………………………………………………………………………12参考文献…………………………………………………………………………………………132基于SOPC的正弦信号源摘要本文应用altera的EP2C8TQ208,内建MCU8051core,加上内建逻辑电路构成了单片信号源。其中MCU8051完成按键扫描,显示控制和DDS频率数据控制的作用。DDS信号源输出10位数据经过外部DAC900和运放放大处理输出正弦波。经实物制作验证,输出的正弦波可达到0-2MHz,并且波形清晰,在0-500KHz内无明显失真。关键词:正弦波MCU8051core信号源3AbstractInthispaper,alteraaEP2C8TQ208,built-inMCU8051core,coupledwithbuilt-inlogicconstitutesasinglesignalsource.WhichMCU8051completionofkeyscanning,displaycontrol,andtheroleoftheDDSfrequencydatacontrol.DDSsignalsourceoutput10-bitdataonanexternalopamptoenlargeDAC900andprocessingtheoutputsinewave.Thephysicalproductionofvalidation,theoutputsinewavecanreach0-2MHz,andthewaveformclear,inthe0-500KHzinnoobviousdistortion.Keywords:SineMCU8051coreSource41绪论微电子技术的近期发展成果,为SOC的实现提供了多种途径。对于经过验证而又具有批量的系统芯片,可以做成专用集成电路ASIC而大量生产。而对于一些仅为小批量应用或处于开发阶段的SOC,若马上投入流片生产,需要投入较多的资金,承担较大的试制风险。最近发展起来的SOPC技术则提供了另一种有效的解决方案,即用大规模可编程器件的FPGA来实现SOC的功能。可编程逻辑器件产生于20世纪70年代。其出现的最初目的是为了用较少的PLD品种替代种类繁多的各式中小规模逻辑电路。在30多年的发展过程中,PLD的结构、工艺、功耗、逻辑规模和工作速度等都得到了重大的进步。尤其是在20世纪90年代,出现了大规模集成度的FPGA,单片的集成度由原来的数千门,发展到数十万甚至数百万门。芯片的I/O口也由数十个发展至上千个端口。有的制造商还推出了含有硬核嵌入式系统的IP。因此,完全可能将一个电子系统集成到一片FPGA中,即SOPC,为SOC的实现提供了一种简单易行而又成本低廉的手段,极大地促进了SOC的发展。SOPC技术是美国Altrea公司于2000年最早提出的,并同时推出了相应的开发软件QuartusII。SOPC是基于FPGA解决方案的SOC,与ASIC的SOC解决方案相比,SOPC系统及其开发技术具有更多的特色,构成SOPC的方案也有如下多种途径:1.基于FPGA嵌入IP硬核的SOPC系统,即在FPGA中预先植入嵌入式系统处理器。目前最为常用的嵌入式系统大多采用了含有ARM的32位知识产权处理器核的器件。尽管由这些器件构成的嵌入式系统有很强的功能,但为了使系统更为灵活完备,功能更为强大,对更多任务的完成具有更好的适应性,通常必须为此处理器配置许多接口器件才能构成一个完整的应用系统;2.基于FPGA嵌入IP软核的SOPC系统,采用软核设计时,设计更加灵活,设计周期短,成本低,目前最有代表性的软核嵌入式系统处理器分别是Altera的Nios和NiosII核,及Xilinx的MicroBlaze核;3.基于HardCopy技术的SOPC系统,通过强化SOPC工具的设计能力,在保持FPGA开发优势的前提下,引入ASIC的开发流程,从而对ASIC市场形成直接竞争。这就是Altera推出的HardCopy技术。HardCopy就是利用原有的FPGA开发工具,将成功实现于FPGA器件上的SOPC系统通过特定的技术直接向ASIC转化,从而克服传统ASIC设计中普遍存在的问题;本设计中采用了第二种方法,即在FPGA中嵌入了8051软核来设计单片正弦波信号源,设计方便灵活,硬件电路简单。52设计任务与要求1.按集成电路设计以下几个阶段:系统(或逻辑)设计、电路设计、版图设计。在每个阶段利用相关软件对设计的电路进行计算、分析、设计、模拟和仿真。2.利用集成电路芯片进行电路设计,需对设计的系统或电路进行结构和原理进行分析,对电路进行分析计算等方面的工作。3.调试相关硬件电路,验证是是否达到了该功能。3方案对比和论证确定方案一:采用专用DDS芯片,外加微控制器控制专用DDS芯片来实现信号源,这种方案硬件电路复杂,成本比较高,尤其是专用DDS芯片,价格比较昂贵。方案二:采用基于FPGA嵌入IP硬核的SOPC系统,MCU硬核控制内建DDS逻辑电路,但存在如下缺点:1.由于此类硬核多来自第3方公司,FPGA厂商通常无法直接控制其知识产权费用,从而导致FPGA器件价格相对偏高;2.由于硬核是预先植入的,设计者无法根据实际需要改变处理器的结构,如总线规模、接口方式,乃至指令形式,更不可能将FPGA逻辑资源构成的硬件模块以指令的形式形成内置嵌入式系统的硬件加速模块(如DSP模块),以适应更多的电路功能要求。3.无法裁减处理器硬件资源以降低FPGA成本。4.只能在特定的FPGA中使用硬核嵌入式系统,如只能使用Excalibur系列FPGA中的ARM核,Virtex-IIPro系列中的PowerPC核。方案三:采用FPGA内嵌8051单片机软核核DDS逻辑电路,可充分克服方案一和方案二的缺点,同时设计周期短,成本低,灵活性高。特别值得一提的是,通过Matlab和DSPBuilder,或直接使用VHDL等硬件描述语言设计,用户可以为Nios嵌入式处理器设计各类加速器,并以指令的形式加入Nios的指令系统,从而成为Nios系统的一个接口设备,与整个片内嵌入式系统融为一体。例如,用户可以根据设计项目的具体要求,随心所欲地构建自己的DSP处理器系统,而不必拘泥于其他DSP公司已上市的有限款式的DSP处理器。综上所述,选择方案三比较合适。系统的框图如下图1:6图1系统框图4电路工作原理分析4.1MC8051IPcore原理MC8051IPCore顶层结构图如图2所示,图中指示了mc8051_core的顶层结构以及同三个存储模块的连接关系,同时显示了顶层的输入输出I/O口,各I/O信号的描述如表1所示。定时器/计数器和串行接口单元对应于图中的mc8051_tmrctr和mc8051_siu模块,数量是可选择的,在图中用虚线表示。图2MC8051IPCore顶层结构图SOPCFPGAEP2C8Q208DDS逻辑MCU8051ROMRAMLCD1602显示部分DAC转换放大处理低通滤波3X4键盘控制部分输出7MC8051IPCore的层次结构及对应的VHDL文件如图3所示。核心由定时器/计数器、ALU、串行接口和控制单元各模块组成。ROM和RAM模块不包括于核心内,处于设计的顶层,方便于不同的应用设计及仿真。MC8051IPCore的定时器和串口波特率的计算和标准8051一样,计数时钟也是由系统时钟经12分频得到。外部中断信号是经两级寄存器做同步处理后输入的。写应用程序时,I/O口如果没有做成双向口,而是输入和输出分开的,那么要特别注意,像P1=~P1、P1^0=P1^0这样的I/O取反操作是无效(不起作用)的,因为读回来的值不是I/O寄存器的值,而是输入引脚的状态。图3顶层结构图4.2DDS电路原理分析直接数字频率合成器(DirectDigitalSynthesizer)是从相位概念出发直接合成所需波形的一种频率合成技术。一个直接数字频率合成器有相位累加器,加法器,波形存储ROM,DA转换器和低通滤波器(LPF)构成。DDS原理框图如下图4所示:8图4DDS原理框图由于相位累加器是N比特的模2加法器,正弦查询表ROM中存储一个周期的正弦波幅度量化数据,所以频率控制字K最小值1时,每2N个时钟输出一个周期的正弦波,所以此时2coNff式中of为输出信号频率;cf为时钟频率;N为累加器的位数。更一般的情况是,当频率控制字是K时,每2NM个时钟输出一个周期的正弦波,所以此时有2coNMff。输出信号的最小频率(分辨率)为min2coNff。数输出信号的最大频率maxmax2coNMff,DAC每信号周期输出的最少点2NkM。当N比较大时,对于很大范围内的M值,DDS系统都可以在一个周期内输出足够的点,保证输出波形失真很小。4.3DA转换和放大电路原理分析DAC装换器的作用是把正弦波数字量装换成模拟量,正弦幅度量化序列经D/A转换后变成包络为正弦波的阶梯波,需要注意的是,频率合成器对D/A转换器的分辨率有一定的要求,D/A转换器的分辨率越高,合成的正弦波的阶数就越多,输出的波形的精度就越高。本系统中DA选用TI公司的DAC900,它具有10位精度,最高转换速率可达165MSPS,单电源的+2.7V范围至+5.5V,低功耗。下图5是其应用电路:相位累加器(N比特)正弦查询表(ROM)数模转换(DAC)低通滤波器(LPF)时钟(cf)cf输出of频率控制字(M)9图5DA转换和放大电路5软件设计及仿真5.1MCU8051软核模块利用SynplifyPro综合得到8051软核,再加入Quartus设计文件,得到的顶层的CPU及ROM和RAM原理图如下图6所示,其中CPU时钟为50MHz,RST为电平复位。图68051软核及其RAM和ROM5.2MCU8051控制程序设计10MCU8051主要作用是按键值读取以及相应的处理,显示控制和DDS频率写入控制。其软件流程图如下图7:图78051内置程序流程图5.3DDS逻辑电路设计根据前面介绍的DDS的原理,FPGA内部的DDS逻辑电路包括频率控制字寄存器,相位累加器,同步寄存器,正弦查询表,其原理图如下图8,其中DDS系统时钟为50MHz,可得输出信号的最小频率(分辨率)为min32500.01222coNfMfHz,在保证每个周期有至少有25点的情况下,输出信号的最大频率为maxmax502225coNMfMfMHz。图8DDS数字逻辑部分原理图等待设置读取频率数据整理数据并写入DDS显示数据返回是否11其利用MATLAB中的DSPBuilder仿真结果如下图9,其中