一种基于FPGA的QPSK信号源的设计

调相脉冲信号可以获得较大的压缩比,它作为一种常用的脉冲压缩信号,在现代雷达及通信系统中获得了广泛应用。随着近年来软件无线电技术和电子技术的发展,dds(直接数字频率合成)用于实现信号产生的应用越来越广。dds技术从相位的概念出发进行频率合成,它采用数字采样存储技术,可以产生点频、线性调频、ask、psk及fsk等各种形式的信号,其幅度和相位一致性好,具有电路控制简单、相位精确、频率分辨率高、频率切换速度快、输出信号相位噪声低、易于实现全数字化设计等突出优点。
目前,dds的asic芯片如ad公司的ad9852、ad9854等,对于相位调制信号,可方便地产生bpsk,但是,对qpsk或8psk等则实现困难,它们对控制更新脉冲要求极高,一旦偏差超过dds内极高的系统时钟,输出相位就会错误。本文介绍了一种通过fpga实现qpsk或更高阶psk信号的方法,可灵活地通过上位机的pci总线控制参数,产生不同载波频率、不同脉冲宽度、不同占空比、不同重复周期等的qpsk信号,对雷达等系统的设计者具有很好的借鉴意义。
qpsk信号源的设计方案 dds原理 dds是一种全数字化的频率合成器,由相位累加器、正弦波形rom存储器、d/a转换器和低通滤波器构成,其基本原理如图1。
输出信号的频率为fout=fclk·δφ/2n,而最小频率分辨率为δfo=fomin=fo/2n,可见改变频率控制字n即可改变输出信号的频率。当参考时钟频率给定后,输出信号的频率取决于频率的控制字,频率分辨率取决于累加器的位数,相位分辨率取决于rom的地址线位数,幅度量化取决于rom的数据字长和d/a转换器的位数。
为了提高dds输出信号的频谱指标和降低正弦的rom存储器,近来发展了如在相位截断后加数字反sinc滤波,利用三角函数对称性只存取1/4周期查找表,基于cordic、泰勒级数加权的频率合成方法等技术。
qpsk信号源的设计方案
在fpga中,通过正弦查找表和相位累加器实现dds,通过计数器实现qpsk信号的起停控制。在计数器计数到零时,设置标志位,读取寄存器中的qpsk控制码,从而设置初始相位。在计数到根据qpsk脉冲宽度设定的值后,计数器置0并重新开始计数。运行完设置码元的个数及次数后,使能输出禁止标志位。
qpsk信号的重复周期也通过计数器实现。根据周期的范围和系统时钟,设置计数器的位数并使其满足要求。在计数器计数到设定值后,清除输出禁止的标志位。需要注意的是周期计数器应该与qpsk码元宽度计数器同步。
qpsk信号参数控制通过pci总线实现,包括qpsk信号的开始、结束、码元个数、次数、码字以及qpsk信号重复周期等。在fpga内通过寄存器读取、保存参数。
硬件设计 系统组成与结构 fpga选用xilinx公司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,满量程电流可调范围为2ma~20ma,两路d/a输出后经两片高速、宽带放大器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扩展了(512k×36)/1m×18位的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。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语言编写。
时钟管理单元,使用xilinx的dcm实现倍频,由60mhz变为120mhz。
单口只读rom,使用ip核,实现正弦查找表,数据宽度为14位,深度为16384字(14地址位)。rom核接收的数据文件为coe文件,然后转换为mif二进制文件格式,coe文件可通过c语言或matlab生成。rom核的实现如下:
相位累加器位数设置为32位,系统时钟120mhz,这样可实现小于0.03hz的频率分辨率,查找表相位截取低14位。累加器进程如下:
dds信号的控制实现
上位机通过pci总线实现信号参数的读写控制。因本系统中只需pci实现信号参数的控制,数据量不大,故配置pci9054为pci的从目标(slave),c模式。
在fpga中实现参数寄存器,实时读取pci总线的数据并更新。fpga本地总线的读写通过三态门控制。实现代码如下:
读写实现通过状态机程序实现,读写状态流程图如图3。
上位机程序设计
上位机安装windows系统,传统上,pci的驱动通过微软的ddk实现wdm驱动程序,本信号源设计中采用windriver软件,可方便地读写主机给pci9054系统板分配的内存及i/o资源,并可生成inf文件和基于vc等开发环境的程序文件。
结论 试验表明,以本文所介绍的方法产生的信号源具有很好的性能,5mhz时连续波点频的杂散sfdr达到70db以上,输出信号的频率覆盖短波波段,可达30mhz以上。在实际应用中,还可以加上线性调频等其他信号形式。若信号频段在超短波以上,可用dds产生固定中频,经数字上变频和dac芯片(如ad公司的ad9857)上变频后输出,该方法具有很强的可扩展性。

新电池技术:手机有望一周一充
抽出式开关柜操作流程 抽出式开关柜是低压还是高压
浅谈PIN雪崩光电二极管建模部分
小学生终于也要学AI了!为何AI普及教育如此之火?
致力于5G新兴无线技术方面的设计与测试问题解决方案
一种基于FPGA的QPSK信号源的设计
官方答复机器人“首砸”事件:系工作人员操作不当引起
开关电容转换原理简介
光耦隔离放大电路
多种工业触摸屏的原理及特性解析
人工智能在发展的路上怎样避免陷阱
GTX/GTH收发器时钟架构应用
Using a UART to Implement a 1-
倾角传感器在太阳能光伏发电中的应用
Galaxy A10s作为第二款ODM智能手机推出,助于实现ODM手机的目标销量
关于GO CONTEXT机制实现原则
浪潮分布式存储AS13000G5,实现存储系统的极致安全
一种3D打印新工艺——3D打印高性能的碳微晶格电池电极
微星34寸曲面带鱼屏PAG341CQR高清图集
CSM2433-集成 2.4GHz 频段发射器、125KHz 接收器和 8 位 RISC(精 简指令集)MCU 的 SOC 芯片