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

相关推荐
黑白园1 小时前
I2C_GPIO模拟 读取AS5600编码器数据
stm32·单片机·嵌入式硬件
羽获飞1 小时前
从零开始学嵌入式之STM32——34.ADC-模数转换
stm32·单片机·嵌入式硬件
csg11071 小时前
智慧养殖篇(四):猪场自动化饲喂与疫病预警
运维·单片机·嵌入式硬件·物联网·自动化
羽获飞1 小时前
从零开始学嵌入式之STM32——33.直接存储器访问-DMA
stm32·单片机·嵌入式硬件
jllllyuz2 小时前
stm32“多串口并发采集 + 无线传输”系统实现
stm32·单片机·嵌入式硬件
LCG元2 小时前
STM32实战:基于STM32F103的简易示波器(ADC+DMA+LCD)
stm32·单片机·嵌入式硬件
小灰灰搞电子3 小时前
rt-thread UART串口使用详解
单片机·嵌入式硬件·串口
洲洲不是州州3 小时前
单片机onenet云平台的万能APP
单片机·onenet·app·嵌入式·云平台
钿驰科技4 小时前
无刷电机的驱动原理及驱动电路解析
单片机·嵌入式硬件
小锋学长生活大爆炸4 小时前
【教程】树莓派驱动 0.96 寸 SSD1315 OLED 屏幕完整指南
单片机·嵌入式硬件·嵌入式·教程·树莓派·oled·屏幕