目前的高速ADC/DAC器件普遍采用JESD204B协议,204b参数中有个参数M有点令人费解,M的定义如下:

M is the JESD204B parameter for converters per link

对于某些adc、dac,M基本上就表示几个adc、dac核,对于某些adc、dac,M可能会又各种值,这对我们选择模式造成了一定困扰。

之所以对于一款adda器件,M会各种变化,是因为现在的adda器件除了基本的模数数模转换功能,还包括了一部分dsp功能,特别是ddc、duc,即数字下变频和数字上变频。

下图以一款adc器件ad9176说明。

jesd204b接口_fpga

从上图可以看出,DAC主要包括三部分,204B接口部分,DSP部分,DAC核。

204b接口通过多对高速差分线(即lane),将FPGA发送过来的波形样点数据解出来形成新的样点,注意数据还是数字的并且还没有直接送至DAC;

DSP部分主要包括3个子通道以及一个主通道,每个子通道和主通道包括内插和NCO以及增益控制,3个子通道输出可以相加进入主通道,当然也可以直接屏蔽子通道。此处三个子通道,可以方便的实现频分复用,将每个子通道基带IQ波形上变频到不同载频相加即可。

最后一部分是DAC核,DAC核在采样时钟fdac下接受经过DSP部分处理后的样点,模数转换后得到所设计的波形。

回到M的定义,M是204b协议中的定义,和后面的DSP以及DAC核无关。204b接口解出了多少种样点,或者说在FPGA中生成了多少种波形,M就是多少(single link而言,器件支不支持另说)。

比如单link模式,可以生成三对基带IQ数据,i1,q1,i2,q2,i3,q3, 这三对基带数据可以是不同的基带波形,i1 q1送至子通道1,i2 q2送至子通道2,i3 q3送至子通道3,此时M=6。如下图中模式3。

同样单link模式,如果旁路所有子通道和主通道(内插设为1即为旁路),此时就只能送实数样点了,比如i,该样点i直接到DAC核,此时M=1。如下图种模式18,19。

同样单link模式,如果旁路子通道,使能主通道,此时只能送一对基带IQ数据i1,q1,基带IQ数据i1 q1通过主通道内插和NCO上变频后,送至DAC核,此时M=2。如下图中模式8,9。

这里需要明确几点。

首先,只有复数即IQ数据,才能内插和上变频,也就是只要用了子通道或者主通道,就必然是基带IQ数据即复数据了。

其次,下图中data rate为204b解出数据率,对于实数,最大带宽不超过data rate/2;对于复数数据,由于i和q数据都为data rate,其最大带宽不超过data rate。lane rate计算公式lane rate=data rate*NP*10/8*M/L,所以如果使用IQ数据,M=2,对于实数,M=1,恰好对应上了。

lane rate=data rate*NP*10/8*M/L是一个很有用的公式,首先根据data rate可以知道最大带宽(实数和IQ不一样),然后根据模式(M,L,NP)等计算lane rate可以知道最大速率有没有超过serdes支持速率。根据最终的dac rate(dac rate=data rate*子通道内插倍数*主通道内插数)可以知道设计的载频合不合适。

 ,

jesd204b接口_jesd204b接口_02

jesd204b接口_fpga_03