新闻中心

EEPW首页 > 手机与无线通信 > 基于软核Nios的宽谱正弦信号发生器设计

基于软核Nios的宽谱正弦信号发生器设计

——
作者:指导教师:邵舒渊 参赛学生:李金晶,蔡雪君,刘杰时间:2006-04-21来源:电子产品世界收藏

摘要:本设计运用了基于Nios II嵌入式处理器的SOPC技术。系统以ALTERA公司的Cyclone 系列FPGA为数字平台,将微处理器、总线、数字频率合成器、存储器和I/O接口等硬件设备集中在一片FPGA上,利用直接数字频率合成(DDFS)技术、数字调制技术实现所要求波形的产生,用FPGA中的ROM 储存DDS 所需的波形表,充分利用片上资源,提高了系统的精确度、稳定性和抗干扰性能。使用新的数字信号处理(DSP)技术,通过在Nios中软件编程解决不同的调制方式的实现和选择。系统频率实现1Hz~20MHz可调,步进达到了1Hz;完成了调幅、调频、二进制PSK、二进制ASK、二进制FSK调制和扫频输出的功能。

关键词:片上可编程系统;Nios II ;数字频率合成;数字调制技术

A Wide-band Sine Wave Signal Generator Based on Nios

This designation uses the SOPC technology based on Embedded Processor of Nios II. The system, using the Cyclone series FPGA as a digital bench, connects the MPU, BUS, DDFS CELL, MEMORY and I/O interface and makes them all into a FPGA chip. It uses the technologies of DDFS, Digital Modulate, and stores the datum of the Sine wave into the On Chip Memory in order to generate the required wave. With full using of the chip’s resources, the precision, stabilization and influence resisting were significantly improved. Using the new technology of DSP, it can carry out and choose the modulation of different mode by software .The programmable frequency synthesis is also carried out. The frequency of the output wave can range from 1Hz to 20MHz,and the frequency step change can reduced to 1Hz.We also achieve the functions all in the development section.eg:AM,FM,2PSK,2ASK, the Sine wave of 1KHz and the binary serials of 10Kbps.Fother,we also achieve the function of 2FSK and frequency sweep.

 

Keyword:  SOPC ;Nios II;DDFS;digital modulate technology

 

SOPC(System on a Programmable Chip片上可编程系统)是Altera公司提出来的一种灵活、高效的SOC解决方案。它将一个软核放入FPGA,占用片上资源少,成本很低;却扩展了目前世界上最流行的软核嵌入式处理器的性能。可将处理器、存储器、I/O口等系统设计需要的功能模块集成到一个FPGA器件上,构建成一个可编程的片上系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。在可编程器件内,还具有小容量高速RAM资源和足够的可编程逻辑资源,用于实现其他的附加逻辑。

正弦信号发生器以嵌入式处理器Nios II 为核心,将微处理器、总线、外设、数字频率合成器、存储器和I/O接口等硬件设备集中在一片FPGA上,创建一个可编程单芯片上系统,实现了一个软件电开发平台,并完成五大方面的功能:

l        控制键盘和显示器;

l        根据输入的频率值,通过数据计算得到频率控制字;

l        实现数字频率合成器;

l        实现数字调制器;

l        实现对数模转换器的控制。

这种设计方式使用数字信号处理器技术,通过软件编程实现不同调制方式的选择,充分利用了FPGA的资源,减少了CPU与外设的接口,在很大程度上提高了系统的速度、可靠性以及系统的成本。其中,片内正弦表ROM传出的数据经DAC904完成数模转换,由调制系统完成幅度控制,以及各种调制方式的实现,继而经过低通滤波器进行滤波,再经过宽带运算放大器,从而得到任意一种具有一定带负载能力的所需波形。

系统总框图如下:

  

1  系统总体框图

自定义逻辑包括数字频率合成和数字调制IP核;数字调制部分包括正弦波产生模块和调制控制模块;其中调制控制又分为AM控制、FM控制、ASK控制、PSK控制模块等。以下我们将分别论述其产生的原理。

{{分页}}

1.各模块实现原理

1.1 正弦波产生模块实现原理

2 正弦波产生框图

相位累加器为32位累加器,输出为0 ~ (232-1),作为正弦查询表的地址输入端。正弦表中存放一个周期的正弦波内的232个点的数据,输出 为一正弦波,其频率由“频率控制字”进行调节,输出频率:

                             (1-1)  

 最小频率分辨率:                                        (2-2)

其中 为相位累加器的位数,FTW为频率步进控制字, 为时钟频率,输出信号频率主要取决于频率控制字FTW。当FTW增大时, 可以不断增加,综合考虑Nyquist采样定理,最高输出频率应小于 。根据实验所得,实际工作频率应小于 。

的取值受D/A转换速率的限制,由于数模转换部分采用的是高速DAC904,其转换速率约为160MHz。则在最高频率20 MHz时,所产生的波形在一个周期内仍有8个点,经后级处理后效果很好,并无明显失真。

                                 (1-3)

所以可以实现1Hz步进,当输出1Hz时,频率控制字FTW=1/fmin=26.8435465,在Nios内部浮点运算所占资源太多,所以把浮点运算改为定点运算。则当输出其他任意频率 时Nios内部算法为:  

1.2调制系统实现原理

 

1.2.1 AM硬件实现原理

 

图 3    标准调幅产生硬件框图

调制波产生模块中,在输入时钟频率为256KHz条件下,循环计数器的为数为八,则累加器为数为八,即M=8,根据公式(1-1),当 =256KHz, FTW =1时, =1KHz,且正弦表中存放的是正弦波一个周期的内256个点的数据,即输出调制波为频率为1KHz的正弦波。设8位的幅度控制字大小为Am,则经幅值放大后生成的调制频率表达式为:

   ( = )               (1-4)

经直流叠加,且与载波信号相乘后,得出已调波为:

                                                 (1-5)

变换表达式形式:

                

幅值放大部分可进行调制度 的调节,则可得到调制度可调,载波可变的调幅波。

 

1.2.2 FM硬件实现原理

4    调频波产生硬件框图

频率调制就是载波信号的瞬时频率偏移随调制信号线性变化。根据调频波的表达式:  

                                                           (1-6)

     

瞬时频率:                                                (1-7)          

在幅频变换IP核的参数设计算时有:

                 (1-8)

   令:

                        (1-9)

为载频频率控制字, 为调制频率频率控制字, 由输入载频计算得出。当最大频偏 为10K时。

                      (1-10)

调频波的瞬时频率偏移与调制信号的幅度成线性关系。因为累加器对误差有积累作用,所以为了同时达到精度与速度的要求,我们直接用其幅度去查它所对应的频偏。由于幅度累加器为8位,且正负对称。则最小的频率控制字:

                                   (1-11)

要实现5KHz最大频偏时,只要对 进行二分频即可。这样,我们就实现了调频功能。

{{分页}}

1.2.3 ASK硬件实现原理

 

 

5    二进制ASK硬件框图

设计中,二进制基带序列信号为m序列由八位移位寄存器产生,由于m序列一周期内的码元数大概相等(“1 ”比“0 ”只多一个),这个特征保证了在扩频系统中,用m序列作为平衡调制实现扩频是具有较高的载波抑制度,保证了在后续扩张其它功能的可能性。ASK信号由m序列和载波相乘实现,即移位寄存器输出为一随机1、0序列,当mResult(m序列输出值)为1时,幅值选择控制器输出幅值为最大值,当mResult为0时,幅值选择控制器输出幅值为0。

m序列是最长线性移位寄存器序列,它是由带线性反馈的移位寄存器产生的周期最长的一种序列。一般来说,一个n级的反馈移存器可能产生的最长周期为: ,则8位的移位寄存器能产生的最长周期为127。

能产生周期最长的线性移位寄存器的结构由其本原多项式决定,该本原多项式应满足:

(1)    是既约多项式,即不能再进行因式分解

(2)    可除尽   ( )

(3)    整除不尽   ( )

我们采用八级移位寄存器产生小m序列,由本原多项式 可知移位寄存器的结构为:

 

16    m序列产生框图

 

 

1.2.4 PSK硬件实现原理

 

FTW[31..0]

载波频率控制字

 


6   PSK硬件框图

 

PSK调制信号产生模块中 m序列产生器输出为一随机1、0序列,当mResult为1时,相位选择控制器输出0(对应 相位),当mResult为0时,相位选择控制器输出 (对应 相位)。在频率累加器与正弦表查询之间添加一相位相加器,即可实现m序列输出为1时,已调波输出波形与载波波形一致,m序列输出为0时,输出波形出现 相位的二进制PSK调制。

 

1.3 频率稳定度的实现

 

我们采用20MHz,频率稳定度不超过10个PPM的晶振作为频率参考源,经FPGA内部PLL倍频后得到160MHz作为系统主频。因为PLL对波形有提纯能力,所以最后频率稳定度优于 。

 

1.4 显示及键盘部分实现

 

显示及键盘部分由ZLG7289芯片驱动。为了提高Nios II处理器的执行效率,需要自定义控制ZLG7289芯片的逻辑指令,减少CPU对键盘显示模块的操作时间,使整个系统的效率得到了很大的提升。以下是CPU通过自定义逻辑指令读取键盘值的时序图:

7    读取键盘时序图

 

2 .后级处理电路设计

 

运算放大器选用低功耗、高速、宽带运放,其电流反馈型设计使它可以在高增益的条件下保持宽带特性。由于在设计程控增益放大器时还需要一个宽带放大器,而 OPA2690恰好是一个双运算放大器,因此设计时非常方便,也有利于提高电路的稳定性。放大器模块中一组用于差分放大,将单极性变化为双极性,另一组用于低通放大,用Multisim8分析得出:截止频率约为70 ,在20 以内幅度可以平坦输出。由于它自身具有很强的大电流驱动能力,从实验结果证明:在1kHz~20MHz范围内,在 的负载电阻上,电压峰-峰值达到6V 0.2V。

8 后级处理电路图

 

3、软件设计

利用Altera的SOPC Builder系统开发工具和QuartusII5.0设计软件,通过使用Nios II集成开发环境(IDE),编制了5个功能函数,正弦波发生函数,调幅函数,调频函数,调相函数,扫频函数。CPU就可以通过读取键盘值,根据当前状态执行相应功能。如要产生一个10KHz的正弦波,CPU通过查询内部状态寄存器选择所要执行的函数,再对选择开关赋值,选取所需的功能模块,从而把产生正弦波所需的内部硬件接通,最后,CPU把从键盘读入的所需频率10K经过数据处理转为相应的频率命令字,于是我们就在输出端得到了相应的波形。

9 软件流程图

 

4.主要元器件请单

 

类型

型号

数量

FPGA

EP1C6T144C8

1片

D/A转换器

DAC904         

1片

宽带放大器

OPA2690    

1片

FPGA配置芯片

EPCS1SI8

1片

有源晶振

20MHz

1只

电压变换芯片

TPS767D301

1片

稳压芯片

LM7806CT 

1片

稳压芯片

MC7906CD2T(3)

1片

电感

 

5个

LED指示灯

 

8个

电解电容

100uF

3个

电解电容

47 uF

2个

滤波电容

0.1 uF

22个

二极管

1N4007

2个

电阻

10K

30个

电阻

50

1个

 

5、系统测试

 

51测试使用的仪器与测试方法

 

⑴ 测试环境

   在实验室条件下,环境温度为常温25 ,无强电磁干扰,由市电220V供电,通过直流电压源(型号为DF17432L—3A)转化为+8V和 V对系统供电。

{{分页}}

 

测试仪器设备

 

序号

名称、型号、规格

数量

备注

1

示波器   Agilent54622D

1

测试正弦波,AM,二进制PSK,二进制ASK等的波形

2

频谱分析仪  AgilentE4411B

1

测试FM,二进制 FSK,扫频输出

3

频率计  Agilent 531B1A

1

测试频率稳定度

 

⑶测试方法

按照设计要求,我们进行了以下测试:

采用了进口Agilent54622D示波器对正弦波、AM、PSK、ASK等波形进行了直观与定量的测量,主要由示波器观察波形输出失真程度和负载为 的电压输出的峰-峰值。通过示波器截取原波形由图10 ~图14所示。

由于扫频输出和FM的最大频率偏移只能用频谱分析仪观察和测量;所以我们采用AgilentE4411B频谱分析仪,对FM、FSK、扫频输出等参数进行的定性与定量测试。通过示波器截取原波形由图15 ~图31所示。

为了准确获得频率稳定度的指标,采用了Agilent 531B1A频率计对频率稳定度进行了严谨科学的定量的测试。当所测信号的输出比较大时我们通过测频率的办法得到系统的频率稳定度,当系统输出信号比较小时,我们要通过测周期的办法先得到系统的周期,再转换为频率进而得到系统的频率稳定度。

 

5.2 指标测试和测试结果

 

1)输出正弦波频率范围和稳定度的测试

标称

频率

实测频率

平均频率

频率稳

定度

一次

二次

三次

1 k Hz

1000.062779

999.951426

999.3966824

999.993676

0.000006

10 k Hz

10000.15396

10000.15518

10000.15427

10000.15447

0.000015

50 k Hz

50000.82914

50000.83166

50000.83087

50000.83056

0.000017

100 k Hz

100001.6685

100001.6715

100001.6704

100001. 6701

0.000017

500 k Hz

500008.4038

500008.3776

500008.1788

500008.3867

0.000017

1M Hz

1000016.878

1000016.897

1000016.903

1000016. 893

0.000017

5 M Hz

5000084.111

5000084.175

5000084.232

5000084.172

0.000017

10 M Hz

10000169.19

10000169.13

10000169.28

10000169.20

0.000017

15 M Hz

15000254.07

15000254.28

15000254..32

15000254.22

0.000017

20 M Hz

20000338.86

20000338.53

20000339.74

20000339.38

0.000017

 

 

2)输出正弦波幅度范围的测试

 

频率

1  Hz

100  Hz

1  k Hz

10  k Hz

50  k Hz

100 k Hz

幅度(V)

6.13

6.13

6.06

6.06

6.06

6.06

频率

500 k Hz

1M Hz

5 M Hz

10 M Hz

15 M Hz

20 M Hz

幅度(V)

6.06

6.00

6.00

5.94

5.81

5.78

 

测量结果表明正弦波的频率输出范围可达到1 Hz 20 MHz,步进可以达到1 Hz,且频率输出和步进值均可以通过键盘设置。输出信号的频率稳定度可以通过下式计算:

                    

其中 为频率稳定度, 为频率的平均值, 为标称频率。由表中结果可以看道1k Hz 10 MHz的输出信号的频率稳定度均达到 ,优于 的要求。

{{分页}}

 

5.3 测试波形截取     

 

(1)1kHz正弦波波形

图10  1K正弦波波形

低通滤波器相关文章:低通滤波器原理


存储器相关文章:存储器原理


负离子发生器相关文章:负离子发生器原理
尘埃粒子计数器相关文章:尘埃粒子计数器原理
晶振相关文章:晶振原理
汽车防盗机相关文章:汽车防盗机原理
频谱分析仪相关文章:频谱分析仪原理


关键词: 通讯 网络 无线

评论


相关推荐

技术专区

关闭