您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

基于SoPC的任意波形信号发生器设计

2024/2/22 9:41:30发布21次查看
摘要:为了解决信号发生器的一些具体问题,如需要它能产生多种信号、工作稳定、成本低等,因此采用gw48型sopc开发系统,以nios软核为控制核心,来实现参数可调的任意波形dds信号源。重点阐述系统硬件方案、软件设计,并对整个系统进行了仿真,仿真结果符合设计要求,具有方案设计便捷、集成度高、扩展灵活和功能全面等特点。
引言
可编程片上系统(systemonaprogrammablechip,sopc)结合了soc,pld和fpga的诸多优点,既拥有可编程逻辑技术将整个系统集成于一块硅片之上,由单个芯片实现主要逻辑功能的特点,又具备可裁减、可扩展、可升级、软硬件系统可编程的功能,是一种特殊的嵌入式系统。直接数字频率合成(dds)是20世纪70年代初提出的一种全数字的频率合成技术,常用于产生相位可控的信号,具有转换快、分辨率高等特点。而sopc具有速度快、集成度高、存储容量大的优点,使之与dds技术相结合,可以极大地提高信号发生器的性能,降低生产成本。本文采用sopc技术,把dds模块和微处理控制部分集成到fpga芯片,从而实现频率可调的正弦、锯齿、方波、三角等任意波形的信号发生器。
1、dds原理
dds的基本原理是以采样定理为基础,利用查表法产生数字量形式的波形信号,并通过dac转换成模拟量形式的信号。其基本的原理电路如图1所示,直接数字频率合成(dds)是由频率合成器、相位累加器、波形rom、d/a转换器和低通滤波器lpf构成。
连续信号按照相位取样、量化、编码后,形成一个波形函数表,存于rom中。合成时,每输入一个时钟相位累加器把频率控制字累加一次,输出合成信号的相位,通过改变相位累加器的频率控制字可以改变相位增量。当相位增量改变时,一个周期内的采样点数也随之改变。在时钟频率即采样频率不变的情况下,通过相位增量的改变来实现频率的改变,计算公式为△p=w△t=2πf△t,其中△p为相位变化,ω为角频率,△t为时钟周期。经过转换的合成信号的频率为f=△p/(2π△t)=△pfclk/(2π),fclk为时钟频率。通过改变△p改变合成信号的频率f。由n位相位累加器对2π进行量化,对2π取2n个点,则f=(k/2n)fclk,其中k为频率控制字,取值范围为0~2n-1。
2、信号发生器的设计
设计方案采用altera公司的qhartusⅱ和niosⅱide软件作为开发工具,包括硬件和软件两部分。
2.1硬件方案
该设计选用altera公司cycloneⅱ系列ep2c35f484c8型fpga芯片作为产生波形信号的核心组件,以搭载nios软核和dds模块,并由外部添加输入键盘,修改dds发生器的参数,来选择不同的输出波形。为了保证输出信号不失真,dac芯片的转换速率必须高于100mhz,所以d/a转换器选用了190mhz的ths5651高速dac芯片。硬件系统结构如图2所示,系统顶层设计图如图3所示。
系统顶层设计的核心是可裁剪的nios软核和可存储多种波形信号的dds模块,如图3所示。nios软核为dds设置输出波形选择参数,dds模块生成相应波形信号,再由pio口将输出信号传输给dac芯片。dds模块是由1个相位累加器和4个lpm_rom构成,主要完成保存设置参数,产生波形rom地址,形成波形rom等工作。lpm_rom分别以matlab生成的mif格式文件存储了正弦、锯齿、三角、方波四种常见的波形数据表,若要生成其他任意波形,只需将相应的连续信号转化为mif文件,替换lpm_rom中的波形文件即可实现任意波形信号的输出。为了取得精细的频率分辨率,将相位累加器设为32位,同时为使lpm_rom中数据量不至于过大,使用相位截断阀,让相位累加器输出的高10位用来查表,这样可以保证系统在高速稳定运行的前提下,zui大限度地减少输出波形信号的误差。
2.2软件设计
软件设计流程如下:
3、测试结果与分析
采用逻辑分析仪对dds发生器的输出信号进行测试,输出信号如图4所示,设置初始频率字与实测值见表1,误差小于0.05,输出信号精度较高。
4、结语
本文介绍了基于sopc的dds任意波形发生器的一种设计方案,详述了硬件结构及软件设计过程,并对整个系统进行了仿真与测试,输出信号频率的误差较小,可以满足不同系统对波形信号的要求,适用于工业控制、检测、通信等不同领域。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product