赞
踩
JESD204B协议特别抽象,理论性特别强。长时间不看,基本就忘了,为了加强印象,建议把协议和实践结合一起理解,比如协议里的参数F和K。在FPGA的JESD204 IP定制中,经常遇到,附图
图1 IP定制
在《JESD204B-01》手册中,F指的是每个帧包含的8位字节个数;K指的是每个多帧的帧个数。所以F*K,我们就可以理解成每个多帧的字节个数。
图2 F和K参数说明
举例说明:
如果F=2;K=32,那么每个多帧就有64个字节。实际抓核,也印证了这个64字节,贴图:
图3 第一个多帧内容
图3说明:FPGA收到的第一个多帧以1C开头,7C结束,数据是斜波数据,即累加数据,从抓核看,累加数据从00~3E,恰好是64个字节。如果把K改成16,那么一个多帧就是32个字节。F一般最大是8,K最大32,那么F*K一般最大256字节。在FPGA IP定制中,LMFC缓存至少要比这个256大,一般设置成最大1024,这样就适配所有的F/K配置,附图
图4 本地多帧最大缓存
回到开头,继续理解F的含义,F=2,意思是,在FPGA的gt0_rxdata[31:0]中,可以传输2个8位字节,也就是说,一个采样点就在一个Lane上,但是要注意,采样点的高8位和低8位是有大小端翻转的;如果F=1,那么一个采样点的数据就被放在2个Lane上传输,《pg066》官方图示例:
图5 F=1的数据解析
总结:一般来说,只需要理解F=1和F=2就可以掌握大多数数据解析情况。F=4;F=8解析方式和F=2一样。
接着继续理解K,在实际应用中,K直接影响的是本地多帧时钟LMFC,可以用公式理解:
LMFC = 帧时钟 / K = 采样时钟 /(S* K )
S指的是每一个转换器每一帧中的采样次数(或叫做样本数)。
K越大,LMFC时钟越小,缓存的多帧个数越多,更利于数据传输阶段的弹性释放(默认以LMFC对齐释放),所以大多数的设计,K都选最大的32.
总结:F影响了帧数据解析;K影响了LMFC,进而影响弹性释放点;FK影响多帧的字节个数,方便分析物理层的多帧内容;同时FK决定了FPGA定制IP时,LMFC最大缓存的最小值。
水平有限,我对F和K的理解差不多就这样,欢迎大家一起讨论,学习进步!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。