基于EP2C8Q208C7和AD9858实现雷达信号源的应用方案

1 引言
一般的雷达信号源实现主要有三种方式:第一种方式是采用dds和mcu控制器件结合的方式;第二种是dds、mcu控制器件和fpga等可编程器件结合的方式:第三种是由fpga等可编程器件实现dds的方式。第一种方式利用专用dds器件可以产生具有较好的杂散抑制和谐波抑制性能的雷达波形。控制简单。但不易于实现复杂波形的控制时序,灵活性差:第二种方式不仅可以产生有较好杂散抑制性能的雷达波形。还易于产生各种复杂的雷达信号,但附加了控制器和时序生成器,增大了电路的复杂性:第三种方式适用于产生特定要求的信号,但开发周期长,杂散抑制和谐波抑制指标难以达到专用dds的水平。
随着fpga工艺的不断发展,设计人员在fpga上嵌入软核处理器成为可能,即所谓的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操作系统的移植,以实现更丰富的功能和产生更为复杂的雷达波形,从而简化雷达信号源的设计,提高系统的集成度。


解决这些难题才能让电动汽车更大规模地普及
采用LTC2380-24转换器将分布式读取与链模式进行同时使用
寄生二极管的作用和方向判断方法
AMD的GPU架构GCN现代化解读
英飞凌推出业界首款用于实现安全无线充电的身份验证解决方案OPTIGATM Trust Charge
基于EP2C8Q208C7和AD9858实现雷达信号源的应用方案
数控直流稳压电源设计方案
防雷接地所依据的标准和规范
荣耀9什么时候上市?华为荣耀9曝光:麒麟965+1200万像素,价格死磕小米6
Rust的多线程编程概念和使用方法
美国自动驾驶政策框架发布,自动驾驶立法国际呼声高涨
iPhone8什么时候上市?iPhone8最新消息:华尔街分析师预测iPhone8售价可高达1070美元
公寓管理重在细节和服务 公寓智能门锁已经成为公寓经营必备设施
PC硬件年度回顾:2019年版
4个月跨越14城,2019唯样全国巡回研讨会邀你参与!
小寻儿童电话手表A5怎么样 性价比高用料考究
是德科技推出U5303A 12位PCle高速数据采集卡
英特尔正式公布了2019财年第二季度财报
AMD全面看涨 公司获益匪浅
基于NB-IoT无线传输的茶园生境监测DTU技术