- 主题:请教一下 一个收发器的奇怪问题
感觉可能和上电校准相关。FPGA程序启动前100Mhz校准时钟和Transceiver参考时钟有没有保持稳定输出?另外有没有控制FPGA的上电时序?
【 在 idnil 的大作中提到: 】
: 背景:使用FPGA是A家cyclone 10 gx芯片,用两块完全一样的板子,使用10GBASE-R内核,外部使用光模块。两块板子用光纤互联,一块板子A从串口收到命令后通过光纤发送一段数据给板子B,板子B收到数据后回发给板子A,板子A再将数据通过串口发出去。数据量不大,内部缓冲足够大,所以数据不会溢出。
: 问题是:程序烧写到flash后,上电加载板子A发送能工作,板子B的接收不工作,iopll和atx pll锁定都正常,rx_block_lock也正常。板子B的程序不作任何改动,通过jtag重新下载一次,工作就正常了……尝试将板子B掉电重新上电不好使。尝试过增加重校准也不好使。
: 各个大神有类似的经验吗,麻烦不吝指教…………被困扰了很久。尝试了很多方法都不好使。。
: ...................
--
修改:gzsz FROM 113.90.42.*
FROM 113.90.42.*
JTAG下载程序后是会重新校准的。自动校准是在程序加载后进行的。之前我遇到过类似的问题,上电从flash加载程序Transceiver工作异常,用JTAG再下一遍就能正常,后来检查发现从flash加载完程序后参考钟还没完全稳定,就把flash加载模式由X4改成X1,并且加载时钟速度选了最慢的一档,延长程序加载时间,上电从flash加载就能正常工作了。不过你的参考时钟信号质量不好可能也是个问题点。
【 在 idnil 的大作中提到: 】
: 非常感谢回复!
: 有控制上电时序的,外部使用了个单片机控制。100MHz时钟和参考时钟refclk都是自由运行。按上电控制时序留的时间都比较富裕,完成最后一步上电前应该都能稳定。。有一个问题是参考时钟refclk是飞线操作的。之前准备用cdcm6208生成,后来发现生成不了这个频率。就飞线另加了一片差分晶振。也许飞线质量不太好。但是我尝试过上电后直接重新校准了一遍也不好使啊。
: 按个人理解,jtag下载一遍应该不会引起重新校准吧,所以就排除了校准问题。。jtag重新加载一遍就正常了是因为什么改变了呢
: ...................
--
FROM 113.90.42.*