基于FPGA的QPSK信号源的设计与实现

上传人:枫** 文档编号:465746548 上传时间:2022-12-27 格式:DOCX 页数:7 大小:102.46KB
返回 下载 相关 举报
基于FPGA的QPSK信号源的设计与实现_第1页
第1页 / 共7页
基于FPGA的QPSK信号源的设计与实现_第2页
第2页 / 共7页
基于FPGA的QPSK信号源的设计与实现_第3页
第3页 / 共7页
基于FPGA的QPSK信号源的设计与实现_第4页
第4页 / 共7页
基于FPGA的QPSK信号源的设计与实现_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《基于FPGA的QPSK信号源的设计与实现》由会员分享,可在线阅读,更多相关《基于FPGA的QPSK信号源的设计与实现(7页珍藏版)》请在金锄头文库上搜索。

1、基于FPGA的QPSK信号源的设计与实现技术分类: 可编程器件 | 2008-08-08 前言 调相脉冲信号可以获得较大的压缩比,它作为一种常用的脉冲压缩信号,在现代雷达及通信系统中获得了广泛应用。随着近年来软件无线电技术和电子技术的发展,DDS(直接数字频率合成)用于实现信号产生的应用越来越广。DDS技术从相位的概念出发进行频率合成,它采用数字采样存储技术,可以产生点频、线性调频、ASK、PSK及FSK等各种形式的信号,其幅度和相位一致性好,具有电路控制简单、相位精确、频率分辨率高、频率切换速度快、输出信号相位噪声低、易于实现全数字化设计等突出优点。 目前,DDS的ASIC芯片如AD公司的A

2、D9852、AD9854等,对于相位调制信号,可方便地产生BPSK,但是,对QPSK或8PSK等则实现困难,它们对控制更新脉冲要求极高,一旦偏差超过DDS内极高的系统时钟,输出相位就会错误。本文介绍了一种通过FPGA实现QPSK或更高阶PSK信号的方法,可灵活地通过上位机的PCI总线控制参数,产生不同载波频率、不同脉冲宽度、不同占空比、不同重复周期等的QPSK信号,对雷达等系统的设计者具有很好的借鉴意义。 QPSK信号源的设计方案 DDS原理 DDS是一种全数字化的频率合成器,由相位累加器、正弦波形ROM存储器、D/A转换器和低通滤波器构成,其基本原理如图1。 输出信号的频率为fout=fcl

3、k?/2N,而最小频率分辨率为fo=fomin=fo/2N,可见改变频率控制字N即可改变输出信号的频率。当参考时钟频率给定后,输出信号的频率取决于频率的控制字,频率分辨率取决于累加器的位数,相位分辨率取决于ROM的地址线位数,幅度量化取决于ROM的数据字长和D/A转换器的位数。 为了提高DDS输出信号的频谱指标和降低正弦的ROM存储器,近来发展了如在相位截断后加数字反sinc滤波,利用三角函数对称性只存取1/4周期查找表,基于CORDIC、泰勒级数加权的频率合成方法等技术。 QPSK信号源的设计方案 在FPGA中,通过正弦查找表和相位累加器实现DDS,通过计数器实现QPSK信号的起停控制。在计

4、数器计数到零时,设置标志位,读取寄存器中的QPSK控制码,从而设置初始相位。在计数到根据QPSK脉冲宽度设定的值后,计数器置0并重新开始计数。运行完设置码元的个数及次数后,使能输出禁止标志位。 QPSK信号的重复周期也通过计数器实现。根据周期的范围和系统时钟,设置计数器的位数并使其满足要求。在计数器计数到设定值后,清除输出禁止的标志位。需要注意的是周期计数器应该与QPSK码元宽度计数器同步。 QPSK信号参数控制通过PCI总线实现,包括QPSK信号的开始、结束、码元个数、次数、码字以及QPSK信号重复周期等。在FPGA内通过寄存器读取、保存参数。 硬件设计 系统组成与结构 FPGA选用XILI

5、NX公司Spartan3系列的XC3S1000,为100万门大规模可编程器件。它内部具有432kbit的Block Ram和120kbit的Distributed Ram;4个时钟管理单元DCM;24个乘法器。配置采用XILINX的专用PROM XCF04S,4M位的串行Flash PROM。XC3S1000通过XCF04S实现主串配置,M0、M1、M2均置低。系统框图如图2。 高速DAC选用AD公司的AD9767,它是双通道14位精度的高速CMOS DAC。它内部集成1.2V的电压基准,SFDR和IMR可达83dBc,最高转换率为125MSPS,满量程电流可调范围为2mA20mA,两路D/A

6、输出后经两片高速、宽带放大器AD8047放大,然后经滤波器输出,AD8047增益为1,实现电流到电压的转换。 PCI接口芯片采用PCI9054,是PlX公司应用广泛的32位、33MHz的PCI桥芯片,实现PCI总线和本地总线的转换。PCI9054可工作在主、从模式,支持DMA,支持猝发操作。PCI9054的上电通过2k位的EEPROM NM93CS56配置,包括PCI9054的本地总线控制、PCI配置空间寄存器的配置等。PCI9054在PCB设计中应注意PCI总线和时钟的长度约束。 为了提高板上的存储容量,FPGA通过CYPRESS的CY7C1372C-200扩展了(512k36)/1M18位

7、的ZBT SRAM。以零等待状态读写速率可达200MHz,最大访问时间为3ns,支持Burst操作,适用高速的数据读写。 系统通过SMA外接时钟,同时内部50MHz晶振经时钟缓冲芯片CY2308输出,分别作为PCI9054和FPGA的本地时钟。外接时钟的输入阻抗为50,注意通过信号源提供时钟时应使其峰峰值在2V以上。 复位电路采用MAXIM的看门狗及电压监控芯片MAX708实现。 电源由PCI总线提供,3.3V电压直接从PCI总线的3.3V引出,通过凌特公司的LT1764实现2.5V电压,采用TI公司的TPS54612实现1.2V电压,分别作为FPGA的辅助电压Vccaux和核电压Vccint

8、。TPS54612输入电压为3-6V,在3.3V、5V均可使用,输出可高达6A,且开关控制器内部集成FET场效应管,方便应用。AD8047的正负电压输入分别为+5V和-5V,分别由从PCI总线接入的+12V和-12V电压经稳压器7805和7905提供。 软件设计 QPSK信号的生成 QPSK信号产生的原理在前面已作详述,FPGA的外接60MHz时钟通过内部的时钟管理器倍频实现120MHz时钟,通过Block RAM 资源实现只读ROM,然后通过累加器进程、读QPSK码字进程、重复周期计数进程等实现DDS功能,通过乘法器还可实现输出信号的幅度控制。以下是部分源程序,采用Verilog HDL语言

9、编写。 时钟管理单元,使用XILINX的DCM实现倍频,由60MHz变为120MHz。 dcm60 dcmclk60 ( .CLKIN_IN(clk_in), .RST_IN(reset), .CLKIN_IBUFG_OUT(clk_ibufg_out), .CLK0_OUT(clk_0), .CLK2X_OUT(clk_2x), .LOCKED_OUT(locked_out60) ); 单口只读ROM,使用IP核,实现正弦查找表,数据宽度为14位,深度为16384字(14地址位)。ROM核接收的数据文件为COE文件,然后转换为mif二进制文件格式,COE文件可通过C语言或MATLAB生成。R

10、OM核的实现如下: rom16384 rom16384( .addr(DDS_addr), .clk(clk_2x), .dout(dds_data), .sinit(reset),); 相位累加器位数设置为32位,系统时钟120MHz,这样可实现小于0.03Hz的频率分辨率,查找表相位截取低14位。累加器进程如下: always(posedge clk_2x) begin if(dds_countT =1b0) /dds_countT为脉冲宽度计数器,时钟为clk_2x。 dds_start=1b1; else dds_start=1b0; if(dds_stop=1b0 & dds_sto

11、p_set=1b0) /dds_stop是周期起停标志,dds_stop_set是上位机控制起停标志 begin if(dds_start=1b1 ) case (psk) 2b00:dds_acc=phase1; 2b01:dds_acc=phase2; 2b10:dds_acc=phase3; 2b11:dds_acc=phase4; endcase; else dds_acc=dds_acc + dds_freq_add;/dds_freq_add对于设置的QPSK载波频率。 end; if(dds_countT1) / countF_set为设置的QPSK脉冲宽度对应的数值。 dds_

12、addr=dds_acc31:18 ; else dds_addr=14b00000000000000; end; end; DDS信号的控制实现 上位机通过PCI总线实现信号参数的读写控制。因本系统中只需PCI实现信号参数的控制,数据量不大,故配置PCI9054为PCI的从目标(Slave),C模式。 在FPGA中实现参数寄存器,实时读取PCI总线的数据并更新。FPGA本地总线的读写通过三态门控制。实现代码如下: assign data_inout=(enout)? data_out:32bzzzzzzzz; always(clk) begin data_in=data_inout; end

13、 读写实现通过状态机程序实现,读写状态流程图如图3。 上位机程序设计 上位机安装Windows系统,传统上,PCI的驱动通过微软的DDK实现WDM驱动程序,本信号源设计中采用Windriver软件,可方便地读写主机给PCI9054系统板分配的内存及I/O资源,并可生成inf文件和基于VC等开发环境的程序文件。 结论 试验表明,以本文所介绍的方法产生的信号源具有很好的性能,5MHz时连续波点频的杂散SFDR达到70dB以上,输出信号的频率覆盖短波波段,可达30MHz以上。在实际应用中,还可以加上线性调频等其他信号形式。若信号频段在超短波以上,可用DDS产生固定中频,经数字上变频和DAC芯片(如AD公司的AD9857)上变频后输出,该方法具有很强的可扩展性。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号