基于Nios II和DDS的雷达信号源的设计

2007-10-09 13:55:27来源: 国外电子元器件

1 引言

一般的雷达信号源实现主要有三种方式:第一种方式是采用DDS和MCU控制器件结合的方式;第二种是DDS、MCU控制器件和FPGA可编程器件结合的方式:第三种是由FPGA等可编程器件实现DDS的方式。第一种方式利用专用DDS器件可以产生具有较好的杂散抑制谐波抑制性能的雷达波形。控制简单。但不易于实现复杂波形的控制时序,灵活性差:第二种方式不仅可以产生有较好杂散抑制性能的雷达波形。还易于产生各种复杂的雷达信号,但附加了控制器和时序生成器,增大了电路的复杂性:第三种方式适用于产生特定要求的信号,但开发周期长,杂散抑制和谐波抑制指标难以达到专用DDS的水平。

随着FPGA工艺的不断发展,设计人员在FP-GA上嵌入软核处理器成为可能,即所谓的SoPC(System on a Programmable Chip)解决方案,它是指在FPGA内部嵌入包括CPU在内的各种IP,组成一个完整系统.在单片FPGA内部实现一个完整系统功能。本文采用Altera公司提供的SoPC Builder工具将Nios II CPU软核嵌入到Cyclone II系列FPGA内部以控制高性能DDS器件AD9858,并采用该片FPGA产生其他控制时序。这样既充分利用了专用DDS的良好特性和完备功能,同时又大大减少处理器外围扩展元件数目,提高系统集成度,降低外围电路布局走线的复杂度,提高系统的抗干扰能力,便于今后升级扩展。

2 器件简介

2.1 CycloneⅡ系列FPGA及NiosⅡ简介

Cyclone II系列FPGA采用TSMC 90 nm低k绝缘工艺,具有完备的性能和极低的功耗,而价格与ASIC相当。它具有多达68 416个逻辑单元(LE)和1.1 Mbit嵌入式存储器,具备很多优化的特性,包括多达150个嵌入18×18乘法器、专用外部存储器接口电路、4 Kbit嵌入存储块、锁相环(PLL)和高速差分I/O能力。其差分I/O信号可提供更好的噪声容限,产生更低的电子干扰(EMI),并降低了功耗。其增强型锁相环(PLL)能提供先进的时钟管理能力。它还支持:Nios II系列32位RISC嵌入式处理器

Nios II是Altera公司推出的第二代IP软核处理器,具有超过200 DMIP的性能,并与其他IP核构成SOPC系统的主要部分。用户可以通过自定义逻辑的方法在SoPC设计中添加自己开发的IP核,充分体现了SoPC设计灵活和高效的优越性。Nios II系列嵌入式处理器包括三种CPU内核:高性能内核(Nios II/f,快速)、低成本内核(Nios II/e,经济)和性价比均衡内核(Nios II/s,标准)。采用Quartus II设计软件集成的SoPC Builder工具,可以在系统中轻松嵌入Nios II处理器。本系统设计采用该系列EP2C8Q208C7。

2.2 AD9858简介

AD9858是ADI公司推出的直接数字频率合成器(DDS),其10-bit DAC具有高达1 GS/s模拟输出,频率高达400 MHz。它具有快速调频和精细调谐分辨率的特性,可快速产生单频脉冲、线性调频及相位编码信号。AD9858的杂散抑制性能和谐波抑制性能也非常突出,当输出40 MHz信号时,±1 MHz带宽内的数模转换SFDR为一87 dBc;输出180 MHz信号时。±1 MHz带宽内的数/模转换SFDR为-84 dBc,能满足高性能雷达低杂散、低相位噪声的要求。AD9858内部集成有电荷泵(CP)、相频检测器(PFD)和模拟混频器,可以将高速DDS和锁相环(PLL)及混频器结合使用。AD9858具有对输入时钟二分频功能,外部时钟高达2 GHz。对AD9858进行配置也非常容易,只需把控制字通过并行或串行方式写入片上的控制寄存器即可。AD9858比先前的解决方案速度提高了3倍,功耗却没有增加,还具有可编程的全睡眠模式,因而适应用于无线设备以及军事系统的设计。

AD9858的优势在于其具有四套频率调谐寄存器(FTW)及四个相位调整寄存器(POW),这使得它可以方便快速产生线性调频信号以及相位编码信号,而且这四个控制寄存器的选择是由外部选择信号PS1、PS0实现的,可大大减少了子码间的转换时间。

3 统设计方案

3.1 硬件结构

本系统硬件框图如图1所示。FPGA和AD9858的并行数据/地址总线相连,提供读/写信号、复位信号和PS0、PS1信号。AD9858的输入时钟由外部时钟源电路提供,采用差分电平标准。AD9858的输出首先经过放大电路,使其满足功率要求,然后再经过滤波电路。FPGA接收主机的波形选择控制信号,产生各种同步时序,并为内嵌Nios II CPU提供中断信号。Nios II CPU响应不同的中断,通过并行方式为AD9858提供各种控制字和初始化,从而产生不同的雷达波形。

其中Nios II CPU是由Quartus II设计软件集成的SoPC Builder工具生成。用户可以通过SoPCBuilder的图形用户界面从Ahera公司提供的IP元件库中选取一些组件,如Nios II、DMA、SRAM、Flash等等,并根据实际需要设置这些IP的配置参数。用户还可以自行编写HDL代码模块作为用户自定义逻辑添加到SoPC Builder中。由于本系统功能相对简单,所以采用Cyclone II片内的嵌入式RAM构成Nios II的数据和程序存储区。对于其他功能复杂、控制程序较大的设计,应扩展片外SRAM和Flash作为Nios II的数据和程序存储区。

对AD9858的控制实质就是通过其并行数据和地址总线传送控制字,可通过在SoPC Builder中为AD9858生成一个用户自定义逻辑接口实现。但考虑到AD9858的读写时序比较简单,也可以直接采用Nios II现有IP元件库里的PIO来生成所需要的读写时序。PIO (Parallel Input/Output)是SoPCBuilder中最常用的IP之一,它有输入、输出以及双向口三种类型。另外,它还支持中断检测,不过中断检测及处理只在其作为输入设备时可用。AD9858并行总线的写时序如图2所示。

需要注意的是,写使能信号(低有效)的最小周期为9 ns,为低电平的时间最少是3 ns,为高电平的时间最少是6 ns,而地址和数据信号的建立时间分别为3 ns和3.5 ns。图3为用嵌入式逻辑分析仪SignalTap II采样的一段用PIO生成的AD9858并行总线写时序。完全满足设计要求。

最终生成的Nios II系统如图4所示。其中,jtag_uart_0是为了调试时便于Nios II和主机通信而编写的,也可以省去。外部中断EX_IRQ0和EX_IRQ1也是用PIO实现。

DDS输出信号的质量取决于为AD9858提供工作时钟的外部时钟源,本系统采用40 MHz高性能晶体振荡器,然后通过PLL倍频电路获得240 MHz参考时钟。同时将时钟转换成符合AD9858要求的差分信号,以降低共模干扰。输出信号的滤波器设计好坏也直接影响到最终输出信号的质量。若采用单一的带通滤波器抑制DDS输出杂散,对频率合成器带内杂散性能并没有提高。采用滤波器组则会带来电路复杂、增大体积以及延长频率切换时间等问题。目前,一般是通过DDS输出驱动倍频器链,达到提高输出频谱和拓展频谱带宽的要求,但同时也会导致DDS输出带内频谱纯度恶化。印制板设计要满足高速数模混合电路电磁兼容方面的设计原则,以使系统性能更佳。

3.2 软件设计

本系统的软件设计采用Altera公司提供的E-DA设计工具Quartus II,主要包括两个部分:首先是由Ouartus II集成的SoPC Builder工具生成Nios IICPU并进行相应的设置,用原理图和HDL语言设计。FPGA的其他时序控制程序;其次是用Quarus II集成的Nios II IDE综合开发环境为Nios II CPU编写控制AD9858的程序,采用C/C++语言编写,分为主程序模块和中断响应程序模块。

因为本设计只采用片内RAM作为Nios II(CPU的程序和数据存储区,所以在Nios II IDE综合开发环境下前先对项目进行一些编译设置,以使编译器编译出效率更高、占用空间更小的代码。在用户工程属性对话框内将Optimization Level设为"Opti-mize size(-Os)",在系统库工程属性对话框内也做同样的设置,同时将Max file descriptors设为4,清除"Clean exit(flush buffers)"和"Link with profiling li-brary"前的选中框,选中"Reduced device drivers"和"Small C Library"。

AD9858有两种工作模式:单频模式和扫频模式。单频模式的配置比较简单,只需将控制寄存器(CFR)、频率调谐字(FTW)配置完毕,即可打开该功能。频率扫描模式需要配置的寄存器有控制寄存器(CFR)、频率调谐字(Frw)、增量频率调谐字(DFTW)、增量频率斜率控制字(DFRRW)和相位偏移字(POW)。其中,控制寄存器一共有4个字节,地址分别为0x00、0x01、0x02和0x03。在本设计中,未用到PLL功能.故与PLL有关的控制字均置为无效。0x01的Bit7为扫频使能位,将其置1打开扫频功能。上电复位以后,Nios II CPU处于等待中断状态,它根据FPGA的时序控制程序发出的中断信号执行相应的中断响应程序,通过对各种寄存器赋值可产生线性调频或相位编码信号。

关于采用AD9858产生线性调频信号还需进一步说明,其工作原理是:指定频率起始点和步进频率,频率以系统时钟的1/8或其整数倍累加,但是在没有指定上限频率的情况下,会一直扫到1/2参考时钟频率处,即奈奎斯特频率,所以需要外部定时器控制何时停止频率累加。通过FPGA的时序控制程序可以灵活地设定定时器,实现对上限频率精确控制。

Nios II的中断程序编程需要调用API函数alt_irq_register()向系统。ISR注册用户ISR。其原形为:



其中,id代表被服务的中断向量号;context是运行参数指针,作为第一个参数传给用户。ISR;isr是函数指针。指向用户。ISR入口。如果注册成功,函数返回0,并允许全局中断及被服务中断;如果不成功则返回非0值。

用户定义的用户ISR程序要符合统一的原形定义,即:

其中,入口参数与返回值要严格按标准形式定义。否则系统ISR,将不能正确对其调用。
中断程序的部分代码如下:




4 结束语

系统通过一片FPGA实现内嵌CPU软核控制外围DDS,同时形成各种系统所需的同步控制时序。实验证明其调频性能和稳定精度等各项指标均达到设计要求。SoPC是目前嵌入式系统设计的一个新趋势,由于FPGA的可编程特性,可以在不改变任何外围电路的情况下灵活地对系统进行重新配置,软硬件升级。此外,还可以实现对Nios II CPU的RTOS操作系统的移植,以实现更丰富的功能和产生更为复杂的雷达波形,从而简化雷达信号源的设计,提高系统的集成度。

关键字:谐波  抑制  时序  外围

编辑: 引用地址:http://www.eeworld.com.cn/wltx/RFID/200710/1766.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
谐波
抑制
时序
外围

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved