关于XILINX的fir compiler小数倍内插设计

xilinx的fir compiler IP支持整数、小数的内插和抽取。对于整数倍内插和抽取,都比较好理解。本文主要介绍小数倍内插。

测试中,使用优数科技的FMC-707采集回放板卡。该板卡支持2通道250M@16bit的采集和2通道12G@16bit的回放,使用LMK04828 PLL芯片,支持全国产化。

客户的需求为:采集通道中心频率为140MHz,带宽为80MHz,采样率为186.66MHz,回放也希望同样的速率。

本文只介绍da回放的设计:

由于板载内参考时钟为10MHz,VCXO为100MHz,LMK04828的VCO频率范围VCO0(2370 to 2630 MHz), VCO1(2920 to 3080 MHz),不能直接输出186.66MHz的频率,但是可以输出140/280MHz的频率。

FPGA内,调用DCM,把LMK04828输出的140变为93.33MHz,然后再经过小数倍内插和抽取滤波器,送到DAC芯片,DAC芯片内部32倍内插后输出140±40MHz的中频信号。

比较容易搞错的是FIR的Fixed Fractional内插interpolation的IP参数。

上图选择Fixed Fractional,3倍内插2倍抽取。

通道数设置为:因为是IQ,例化1个滤波器IP就够了;

输入的数据速率是93.33MH,时钟频率给280MHz(3倍93.333MHz);

输出IP自动截位了。

需要注意的是滤波器系数设置:

Fs为插值后的速率(280MHz),通带频率为抽取后的通带(40MHz),Fstop不超过输出速率的1/2(140MHz/2=70MHz)。

由于基带IQ输入的速率为93.33MHz,而Fir滤波器的时钟频率又是280MHz,故此处要通过一个FIFO,并且3个时钟周期间隔去fifo中取一个数据。

DAC芯片采用双link,模式0,每个通道1个lane。dac芯片内插32倍,dac输出速率为4.48Gsps,lane速率为5.6Gbps。

把IP的时钟频率从280M修改为140MHz进行测试,IP仍然工作正常:

相关推荐
Jumbuck_1013 分钟前
从零实现《三角洲行动》手游自动跑刀脚本:ADB 直控 + OpenCV 视觉识别 + 固定点位搜刮)三角洲自动跑刀教程
嵌入式硬件·yolo·目标检测·自动化·自动驾驶·三角洲·自动跑刀
txh050726 分钟前
从零开始学习FOC
单片机·嵌入式硬件·学习
2601_9611940229 分钟前
考研政治历年真题及解析pdf
stm32·单片机·嵌入式硬件·物联网·考研·pdf
今日待办32 分钟前
STM32H747I-DISCO 开发指南【数字麦克风使用】
stm32·单片机·嵌入式硬件
世微 如初1 小时前
【方案】AP5127摩托车灯驱动设计:12-100V输入,2.5A恒流
单片机·嵌入式硬件
嵌入式ZYXC1 小时前
第7章:原理图设计与阅读——从“能看懂”到“会画”的关键一跃
stm32·单片机·嵌入式硬件·物联网
Topplyz1 小时前
保险丝选型
单片机·嵌入式硬件·pcb·电源·layout
破晓单片机1 小时前
007、STM32单片机分享:宠物喂食器系统
stm32·单片机·嵌入式硬件
JNX_SEMI1 小时前
OC5800N降压DC-DC转换器:宽压输入、内置100V MOS、输出可达2A以上
单片机·嵌入式硬件
嵌入式小站1 小时前
STM32 零基础可移植教程 16:ADC + DMA 连续采样,为什么不用 CPU 一直搬数据
stm32·单片机·嵌入式硬件