关于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仍然工作正常:

相关推荐
Romantic_love_35 分钟前
USART串口初始化源码解析
stm32·单片机·嵌入式硬件·学习
oshan201241 分钟前
零基础STM32入门教程--11-USART/UART 串行通迅
stm32·单片机·嵌入式硬件
BW.SU1 小时前
RUI Studio--嵌入式 UI 开发新范式
单片机·ui·嵌入式开发
集芯微电科技有限公司2 小时前
700V/17A高频开关低导通阻GaN HEMT驱动器适用于快充,LLC,PFC功率校正
人工智能·嵌入式硬件·深度学习·神经网络·机器学习·生成对抗网络·计算机外设
恒锐丰小瑞2 小时前
率能SS6285M 33V/5.5A/单通道直流电机驱动IC,低待机功耗与多重保护,用于电子锁/玩具/机器人
stm32·单片机·嵌入式硬件·机器人
天空'之城3 小时前
单片机基础核心知识点汇总(二十一)
单片机·嵌入式硬件
恒锐丰科技林技术员3 小时前
SS6286L:大电流双向有刷电机驱动芯片,赋能电机控制多元场景
经验分享·嵌入式硬件·硬件工程
意法半导体STM323 小时前
【官方原创】LAT1695转换STM32CubeIDE工程到STM32CubeIDE for Visual Studio Code
vscode·stm32·单片机·嵌入式硬件
Zhang.Yi4 小时前
STM32-DMA
stm32·单片机·嵌入式硬件
Jaixln_HRF5 小时前
率能SS8837T 单通道1.8A/12V H桥电机驱动芯片,低功耗睡眠模式120nA,用于摄像机/玩具/机器人
驱动开发·嵌入式硬件·机器人·硬件工程