摘 要: 给出了基于Nios II" title="Nios II">Nios II的通用数字调制器" title="数字调制器">数字调制器的实现方法,具体说明了系统的基本原理、总体结构、硬件设计,以及软件流程等。该系统把可编程逻辑的固有优势集成到嵌入处理器的开发流程中,具有高度的灵活性、可重配置功能,便于升级和扩展,适于软件无线电" title="软件无线电">软件无线电的应用。
关键词: Nios II 调制器 软件无线电
在软件无线电(SDR)的研究过程中,调制解调技术是无线通信系统空中接口的重要组成部分。目前常用的数字调制方式有多种,如果按照传统的硬件实现方法,要使一部通信机产生多种调制信号,其系统就会非常庞大复杂。
altera" title="altera">altera.com/">Altera公司的Nios II处理器是用于可编程逻辑器件的可配置的软核处理器。Nios II软核处理器和存储器、I/O接口等外设可嵌入FPGA中,组成一个可编程单芯片系统(SOPC),大大降低了系统的成本、体积和功耗。基于Nios II处理器系统的通用数字调制器是一种软件化硬件的解决方案,可以产生多种模式的数字调制信号,具有多功能性、通用性、集成度高、易于升级等优点,满足软件无线电系统的要求。
1 总体系统结构
本系统在一个调制器中灵活多变地实现了多种调制功能。Nios II处理器完成人机交互和控制工作,FPGA逻辑从Nios II处理器接收控制信号和数据后完成相应的硬件功能。系统整体框图如图1所示。Nios II软核处理器、存储器和I/O接口等外设可嵌入在FPGA中,这样整个系统的数字处理部分全部集成在FPGA器件中。数控振荡器(NCO)的各子模块必须在Nios II处理器的控制下,不断接收实时数据才能完成各种不同的数字信号调制。在某些情况下,这些数据传输是复杂的,好在Nios II处理系统有Avalon总线,它规定了控制器与从属组件间的端口连接以及组件间通信的时序。NCO通过Avalon总线与Nios II处理器连接,可以简单地看成外围设备,很方便完成控制和数据传输。
本系统采用Nios II和CycloneEP1C6嵌入式系统开发板,选用AD9754作为DAC芯片,并用LC电路搭建了9阶的椭圆低通滤波器,总体实现了一个可以产生多种调制信号的通用数字调制器。提供以下几种调制方式:移频键控调制(FSK)、二进制移相键控调制(BPSK)、四进制移频键控(QFSK)、四相相移键控调制(QPSK)、标准载波输出(Sin)。
调制方式和载波频率可以通过拨码开关和按键自由选择,LED和LCD的显示便于用户直观了解当前的状态信息。系统工作过程中,当再次按下“启动/停止”键时,可以对调制方式和频率重新进行设置。
2 Nios II嵌入式软核处理器简介
Nios II嵌入式处理器是Altera公司推出的第二代用于可编程逻辑器件的可配置软核处理器,最高性能超过200 DMIPS。Nios II是基于哈佛结构的RISC通用嵌入式处理器软核,能与用户逻辑相结合,编程至Altera的FPGA中。处理器具有32位指令集、32位数据通道和可配置的指令以及数据缓冲。它特别为可编程逻辑进行了优化设计,也为可编程单芯片系统(SOPC)设计了一套综合解决方案。Nios II处理器系列包括三种内核:高性能内核(Nios II/f)、低成本内核(Nios II/e)、性能/成本折中的标准内核(Nios II/s)。本系统采用标准内核。
Nios II 处理器支持256 个具有固定或可变时钟周期操作的定制指令;允许Nios II设计人员利用扩展CPU指令集,通过提升那些对时间敏感的应用软件的运行速度来提高系统性能。
3 系统硬件设计
3.1 调制信号源
调制信号源可以来自外部,通过串口、并口等送入,也可以由调制器内部产生。本系统由调制信号源产生模块产生了伪随机序列及其同步时钟信号。
3.2 数字调制的实现
数字调制部分根据调制信号和来自CPU的控制信号产生可控模式、可控载频的已调信号。NCO模块包括频率控制字寄存器、32位的相位累加器、相位控制字寄存器、相位-幅度变换电路、控制逻辑电路,以及相位抖动补偿模块,如图2所示。NCO中各部件在参考频率源的作用下同步工作。相位累加器在每一个时钟上升沿与频率控制字K累加一次。当累加器计数大于232时,相位累加器相当于做一次模余运算。正弦查询表在每个时钟周期内,根据送给ROM的地址(相位累加器的12个MSB相位值)取出ROM中已存储的与该地址相对应的正弦幅值,最后将该值送给DAC和LPF实现量化幅值到一个纯净信号的转换。
由于资源和成本的原因,通常相位累加器输出的32位不会全部用来寻址ROM,本系统取其高12位寻址 ROM,其余LSB位被舍去,这样就不可避免地产生相位误差,该误差是NCO输出杂散的主要原因。用于相位-幅度转换的存储器用片内ROM来实现,主要完成信号的相位序列到幅度序列之间的转化。幅度量化误差与波形存储器数据总线位数相关,本系统中为14位。
为了减小相位截断误差,要求在NCO的波形查表过程中保留更多的相位有效位;为了减小幅度量化误差,要求波形存储器保留更多的输出数据位并选择位数高的DAC。由于波形存储器的容量受限,因此在低杂散设计中,可以通过改变传统结构中的相位到正弦波形的线性映射关系,采用新的结构体系来降低波形存储容量,以使在不增加波形存储器容量的情况下,保留更多的相位有效位和数据总线位数。单象限正弦波存储结构是一种有效的方法。在这种结构中,利用正弦波形的四分之一对称性,将ROM表减至最初的1/4,波形存储器只存储一个象限[0,π/2]的波形。相位累加器用于波形寻址的有效位输出中,最高两位被用作映射四个象限,其余低位用来寻址波形存储器。这样,通过一个正/余弦表的前1/4周期就可以变换得到正/余弦的整个周期码表。这种实现方法对存储器的要求很小,节省了大量资源。
由相位截断的分析理论,相位舍位序列是具有周期性的,如果能破坏其周期性,就能将DDS输出频谱中有规律的杂散分量变成随机的相位噪声,从而抑制相位截断引起的杂散。因此本系统在ROM表之前加入了相位抖动注入模块,通过随机加扰的方法抑制DDS的相位截断杂散。
本系统NCO输出信号频率fout与参考时钟频率fclk以及频率控制字K之间的关系为
,在96MHz参考时钟的情况下,频率分辨率为0.022 35Hz。
3.3 D/A转换与低通滤波
FPGA输出的14位二进制数需要送到DAC进行D/A变换,得到量化的阶梯波形输出,最后经低通滤波器滤除高频分量,平滑后得到模拟的已调信号。DAC 非理想特性带来的转换误差是影响输出信号频谱的又一因素,主要取决于DAC器件的性能。本设计选用AD9754作为DAC芯片。
用LC电路搭建了9阶的椭圆低通滤波器,截止频率为25MHz。其频谱如图3所示。

4 系统软件设计
本系统的设计核心是根据调制信号的信息对载波频率、相位和振幅进行精确控制。通过Nios II处理器来改变上述三个参数中的一个或几个,以完成各种不同类型的调制。Nios II处理器的主要工作有:第一,针对不同的调制模式,输出对应的控制码;第二,对某一具体的控制码来说,要根据其控制信号的值、时钟速率、相位累加器、ROM以及DAC位数等计算出具体的码值。软件流程如图4所示。
通用数字调制器是实现软件无线电的关键技术之一,现有文献中的实现方法是通过“DSP+FPGA”来设计的,其外围电路和控制逻辑复杂,成本较高。本文提出了一种基于Nios II嵌入式处理器软核的通用数字调制器实现方法,使用Altera的低成本Cyclone FPGA,且具有开发周期短、成本低等特点。
本系统所实现的各种调制方式均已通过硬件测试,证明了方案的可行性和正确性。
此外,在设计过程中使用SignalTap II嵌入式逻辑分析仪可以方便调试,采用增量编译可以缩短漫长的编译等待时间。图5是用SignalTap II对FSK分析时的截屏图。
参考文献
1 John G. Proakis,Masoud. Communication systems engineering.北京:电子工业出版社,2002
2 杨小牛,楼才义,徐建良. 软件无线电原理与应用. 北京:电子工业出版社,2001
3 傅丰林. Nios软核心嵌入式处理器设计大赛优秀作品精选. 西安:西安电子科技大学出版社,2005
4 Nios II software developer′s handbook. Altera Corporation,2005
5 Altera embedded peripherals handbook.Altera Corporation, 2005




