微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > Aurora 8B/10B的问题

Aurora 8B/10B的问题

时间:10-02 整理:3721RD 点击:
求助各位大大,小弟是大菜鸟,在实验室一个项目用到Aurora 8B/10B做板间传输,用的芯片是6系列的LX240T-1。GTX参考时钟是125MHz,传输速率是3.125G。小弟用IP生成的参考设计修改了一下,烧到两个板子上,目前的现象是两个GTX的channel up都没拉高,lane up在不停跳变。但是小弟用ibert测过两个GTX,是ok的。现在小弟木有想法,不知道如何下手了。求各位大大指点迷津

你先参考example,把两个模块进行联仿,看逻辑通不。然后再确定PIN的约束,管脚定义等是不是对的,一个送,一个收。

做aurora协议的ROCKETIO,得进去看核的代码,调出波形看问题,,,另外channel up建立时间很长,没记错的话可能在us到ms级

建链有问题,十有八九是信号质量问题,建议调整GTX的发送摆幅、预加重,接收端的均衡增益等参数,具体看手册,不是两句话能说清,还得靠长期试
顺便说一句,ibert这个东西,反正和实际逻辑工程差距很大,你按ibert调整好的参数去配置实际工程的GTX,也许出来的信号质量不一样,我遇到过,还是建议在实际工程下测试和修改。

example程序,对环理论是可行的,仿真也是OK,这个不用怀疑。
如果先不看信号质量,建议修改example,上电后延时很长一段时间,比如3秒,检测channel up为1,再发送,否则不发,这样可以让两个GXT都建链成功后,才通信,我之前这样做,在一个PCB走线很差的板子上弄通了,xilinx的GTX还是很强悍。


请教:开始传送数据的时候CHANNEL_UP确实是拉高了之后才开始传送的,但是在传送的中途CHANNEL_UP拉低了,导致中间有数据丢失,想请教一下,这个CHANNEL_UP拉低的情况是什么原因造成的?检查这个问题需要观察哪些东西或是调试哪些东西?


channel up拉低,说明链路上出问了,导致通信失败,这个原因有很多,比如信号质量问题,链路维护机制问题等等,信号质量就不说了,这个需要硬件保证和逻辑修改GTX参数进行调整,至于链路维护,比如aurora插入时钟补偿,如果长期不插,就会出现掉链。反正你先看aurora的手册,明白它有哪些机制,然后再想法解决。第一步肯定是先看看实际工程是否和现有协议出现冲突,第二部才是找高采样率示波器去量信号,看信号眼图,如果眼图不好,就要调节GTX的参数了,比如信号摆幅、前后加重、均衡增益等等。怎么去操作,看文档吧,一两句话说不清楚的。


由于这个东西要的比较急,本人反应也是比较捉急,手册也是看了几遍了,但是仍旧没能解决这个问题,能否加QQ请教?


由于这个东西要的比较急,本人反应也是比较捉急,手册也是看了几遍了,但是仍旧没能解决这个问题,能否加QQ请教?

学习了!



   你好,请问AURORA官方的参考EXAMPLE是在那个AURORA IP的datasheet手册里吗

就是你用vivado生成IP后,单击此IP右键,就会出现open example design,然后会出现个example project来,先把这个弄熟悉。

本人也遇到这个建链不稳,后来尝试改了CDR里的两个参数,A7芯片和V5芯片通过光纤连,CHANNEL_UP很稳定的。

cc_module里面有个frequency——factor,可以尝试把那个数值修改的小一点。但是通信还是不够稳定,有时候几十分钟不出问题,有时候几秒就不行了。

这东西做板的质量是关键,我们也用240t,GTX过背板相连,开始跑3.125G都不是很稳,后来做了背钻,跑5G都很稳

GTX参考时钟是125MHz,传输速率是3.125G
我表示有疑问,要是我没记错的话,line_rate要达到3.125G,参考时钟应该为156.25M(3125除以2),你选的125M的refclk应该不够,你可以试一下。

遇到相同的问题,不知道是hotplag做了reset还是链路太差8b10b解码错误

@losh88 我也遇到同样的问题,lane_up经过一段时间就会拉低,然后又自动拉高。一直解决不了,不知道你解决了没,求教啊

@liukelihui请教下您修改的参数是啥,Aurora lane_up信号总会周期性的拉低


请问下您解决Aurora建立lane_up不稳定的方法是啥?您说您修改了CDR的参数,请问是哪两个



   CLK_COR_MIN_LAT和CLK_COR_MAX_LAT,具体值自己修改测试,并不是确定的值,一定范围内都行,而且稳定。



   您好,最近在研究aurora协议,ISE下右键没有啊,ISE下example design在哪儿,谢谢啦



   您好,最近在研究aurora协议,ISE下右键没有啊,ISE下example design在哪儿,谢谢啦



   生成Aurora IP后,源代码和实例设计代码都在IP核的文件夹下,UG里说的很清楚


用的6slx45t,四条链路都引出来啦,在分别对单链做自发自收回环测试时,Dual0(0101,1101)可以实现自发自收,而对与Dual1上的两个链(1101,1123)channel_up 和lane_up建立不起来,光模块跟光纤都没有问题,因为在上面Dual0上插可以用,板子布线都只是按差分布线布的,而Dual0通,Dual1不通,,,,现在不知道从哪下手分析啦?另外可不可以调2个aurora核(不在同一个dual,或者在同一dual上两种情况),对应两个链路,让这个链路直接进行收发测远端误码率?

电路板的设计上考虑一下,是不是对电源、地以及你的高速信号线处理好了,再有就好好的用example去实验你的电路板吧。



   你好,我最近也在调试AURORA,在channel_up上也出现问题,测试的时候一直拉低,在回路测试的时候就是拉高的,但是在当在两个板子之间连接的时候就一直是低电平,想知道是什么原因(我把时钟补偿模块去掉了,)
两个板子上的时钟是一样的130M差分晶振。
谢谢你,希望你可有帮我分析下。



   想请问小编你的问题解决了吗?我也遇到同样问题


时钟补偿不能去除,自环的时候屏蔽掉时钟补偿,channel_up一直为低,加上就一直拉高,但是两块板子之间的通信channel_up时高时低,请问层主解决这个问题没有,搞了好长时间了焦头烂额



   大神请问你除了修改这个参数之外还修改了什么,光修改这两个参数,两块一模一样的板子之间的通信,channel_up还是时高时低

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top