在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 9003|回复: 18

[求助] 请教有熟悉ALTLVDS_RX 的吗!!!

[复制链接]
发表于 2016-9-29 20:58:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 djqlyy 于 2016-9-30 08:38 编辑

我对高速ADC进行采集,ADC的输出数据是一个差分时钟,八个差分数据
首先,我用的片子是CYCLONE IV E 没有专门的LVDS模块,所以看过一些书,上面说的方法都用不上,
         有的说用外部PLL,把PLL配置成LVDS模式等等,但实际是PLL无法配置成LVDS模式(或许是片子不支持吧,反正配置不了),
         而且书上说LVDS配置为外部PLL模式时,就会出现某些端口可以跟PLL连接,实际是,配置成外部PLL模式,这些接口也不可用!!!
而且这个系列也不支持动态配置功能!!!
另外,用内部的PLL模式时,我有两个疑问:
        1,时钟输入源选什么?我原来想当然的是将ADC的随路时钟差分转单后给LVDS的rx_inclock,不过这样的话无法编译
             我用外部晶振的时钟输入,这样可以编译,但没有用到随路时钟的话,怎么保证接收到的数据是正确的,LVDS模块本身也不可能知道数据的中心在哪里!!!
        2,在配置LVDS时有个rx_data_align可选,好像是说可以对数据进行一定的延时,但这个信号是怎么用的,手册上好像也没写(我总觉得ALTERA的手册跟屎似的,远没有XILINX的好用),每次延时多少时间也不知道!!!!
        3,LVDS串转并后的时序是怎么对应的手册上也没有,ALTERA都不知道画个时序图吗!!!!!!!!!!!!
唉,有哪位高手熟悉吗,
发表于 2016-9-30 09:33:13 | 显示全部楼层
如果没有猜错的话你用的adc是LVDS电平标准的,只需管脚配置为相应电平标准(当然FPGA的硬件配置要支持,BANK电压为2.5V)出来的时钟实际上就是数据同步时钟,用于直接采样即可。管脚直接配置为LVDS标准即可,这种ADC很常见,一般有两种模式,一种是SDR模式,一种是DDR模式。
 楼主| 发表于 2016-9-30 10:22:21 | 显示全部楼层
回复 2# neoitachi

ADC的输出信号如下图: QQ图片20160930102044.png

有随路时钟不错,不过数据速率为480MHz,还是比较高了吧,
如果直接用随路时钟进行采集的话,由于时钟与数据到达寄存器的时间不同,采集的数据可能会出问题吧
发表于 2016-9-30 10:55:51 | 显示全部楼层
确实速度很高,我以为你的ADC是并行的数据输出。随路时钟是480MHz?还是数据速率是480Mbps?
发表于 2016-9-30 11:08:21 | 显示全部楼层
因为如果是480Mbps,你的Cyclone E还可以拼一下,如果是480MHz,也就是说你的数据速率是960Mbps,那就不用玩了,你的这个片子不支持那么高的速率,Cyclone GX带收发器的也就875Mbps;
 楼主| 发表于 2016-9-30 11:11:29 | 显示全部楼层
回复 4# neoitachi

数据速率是480MHz,随路时钟240MHz
另外你用过LVDS吗?不是专用模块哪种(CYCLONE IV没有专用模块,都是搭建),
是采集时钟的上升沿和下降沿同时采集吗?先不考虑时序的问题的话我功能仿真出来都有问题

我9个通道给的都是固定的0101010101。。。,串解因子为8的时候,所以考虑采集起点的问题,LVDS出来不该是固定的555555或aaaaaaa吗
但我仿真出来的图如下:周期性的一会是1555555555..一会是2aaaaaaaaaa..且从155555555到2aaaaaaa的中间有一些数据不稳定,什么原因呢?
QQ图片20160930110739.png
发表于 2016-9-30 11:39:44 | 显示全部楼层
回复 1# djqlyy


   在提醒里能看到你说的一部分,我用过LVDS_RX(经常用),在Cyclone IV E这样的片子上是没有收发器硬核的,所以你在定制IP核的时候很多都是不可用的(DPA是灰色的,所以没有动态相位对齐的功能),仅仅使用了LVDS接口标准传输数据,其实这样的IP和在实现的时候和你写的普通DDR电路是一样的,要靠时序约束来做,在Cyclone IV E上我实现过250MHz SDR的采样速率,而且还是并行13位的ADC输出。你这是串行的,电路做的不是太差,并且时序约束做好,还是可以实现的。加油。
 楼主| 发表于 2016-9-30 13:21:36 | 显示全部楼层
回复 7# neoitachi


   非常感谢,我再看看,等我的电路板到了,调试时再看看会有什么情况!!!
发表于 2016-9-30 15:52:55 | 显示全部楼层
回复 6# djqlyy


   看到了,在LVDS RX中牵扯到一个比特滑动的问题,需要滑动比特或者同步,定制IP的话里面有一个Bitslip选项,你勾上,你的ADC的FCLKM就是用作同步的。你可以研究一下。
 楼主| 发表于 2016-10-5 20:35:33 | 显示全部楼层
本帖最后由 djqlyy 于 2016-10-5 20:43 编辑

回复 9# neoitachi

你说的应该是rx_data_align这个信号吧,我就是不是很清楚这个信号是怎么用的呢!!!能给我讲一下吗,所谓的比特滑动具体指什么意思呢,关于rx_data_align,我在ALTERA的资料里没找到详细的讲解啊!!!!
我的理解是:
       默认情况下 一个并行输出是D0到D7,D8到D15.....
       如果给rx_data_align一个脉冲的话,一个并行输出就成了D1到D8,D9到D16.....
       如果再给rx_data_align一个脉冲的话,一个并行输出就成了D2到D9,D10到D17.....
是这个意思吗???
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-7-5 17:02 , Processed in 0.033402 second(s), 10 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表