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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜全文
查看: 12279|回复: 26

[求助] FPGA运行不稳定

[复制链接]
发表于 2014-6-6 09:28:11 | 显示全部楼层
userclk是什么,同步还是异步啊,其实我也不懂mdio。为了点信元
回复 支持 反对

使用道具 举报

发表于 2014-6-6 09:48:19 | 显示全部楼层
不知道我理解的对不对,MDIO是以太网那个把,应该有MDIO,MCK,mck和mdio你都用系统时钟打两拍同步了吗,一般会把MCK同步个上升沿脉冲来
回复 支持 反对

使用道具 举报

发表于 2014-6-6 09:52:21 | 显示全部楼层
然后用那个上沿脉冲做使能信号读入MDIO的数据。也许我想错了,毕竟没做过MDIO。我按照同步的i2c做法来的,异步就直接拿MCK做时钟读入数据,最后对数据到系统去做同步处理
回复 支持 反对

使用道具 举报

发表于 2014-6-6 10:07:31 | 显示全部楼层
没用过Z,不过FPGA里应该没问题,OpenDrain的话
always @(posedge clk or posedge reset)

begin

if (reset)

begin
   sync_mdio_1 <=1'bz;
    sync_mdio<=1'bZ;

sync_mdc<=1'bZ;

sync_mdc_1<=1'bZ;
sync_mdc_2 <=1'bz;
end

else

begin

sync_mdio_1<=mdio;
sync_mdio <=sync_mdio_1;
sync_mdc<=mdc;

sync_mdc_1<=sync_mdc;
sync_mdc_2<=sync_mdc_1;
end

end

wire mdc_neg= ~sync_mdc_1 & sync_mdc_2;
wire mdc_pos= ~sync_mdc_2 & sync_mdc_1;
//----------------------------------------------------
如果还有问题就不是同步问题了
回复 支持 反对

使用道具 举报

发表于 2014-6-6 10:17:15 | 显示全部楼层
不知道MDIO速度是多少的,100m的采样时钟应该够了吧,同步就是功耗高,这个采样时钟降不下去,不过FPGA不关心功耗,异步有风险,如果有噪声到MCK上的话。同步的话50mV毫无压力。1.2V还是用同步稳妥
回复 支持 反对

使用道具 举报

发表于 2014-6-6 11:10:38 | 显示全部楼层
哦,那就不是同步上的问题了,我不知道你的MCK下降沿做什么,采数据用上升沿就行了,就看哪个沿数据是稳定的,可以用示波器看下MCK和MDIO的时序。别的我也不知道哪里的问题,你只能结合你的代码上逻辑分析仪了,加些Debug逻辑来触发数据错的时候就采样。IObank选1.2v没错,IObank电压就是影响对输入电平01的判断电压不同。
回复 支持 反对

使用道具 举报

发表于 2014-6-6 11:20:34 | 显示全部楼层
看你的问题还是有点像共地没共好,同步电路照理说不会出现对相同输入时好时不好的
回复 支持 反对

使用道具 举报

发表于 2014-6-11 10:10:32 | 显示全部楼层
还没搞定啊。其实对你的错误情况不是很了解。所以我只能说,出错没有任何规律就是公地没共好。出错有一定规律和随机性,那最大可能是你用系统时钟,MDC为使能(这里我不知道你怎么使能的),采样MDIO时候的时序问题。出错很有规律就是你内部逻辑错了。MDC时钟我看了下不是个周期时钟,所以我一开始就不怎么明白你为什么弄处MDC——POS,和MDC——NEG两个,采数据一个POS就够了。
最好分析下你采样MDIO的时候的时序,自己画个图分析下,上面应该有同步之后的MDIO,MDC_pos,MDC_neg,sys_clk,这几个信号的时序关系,MDC_neg是会变的.我做的话采样MDIO我只用MDC——pos就够了。
MDC:管理接口的时钟,它是一个非周期信号,信号的最小周期(实际是正电平时间和负电平时间之和)为400ns,最小正电平时间和负电平时间为160ns,最大的正负电平时间无限制。它与TX_CLK和RX_CLK无任何关系。看你还没搞定去看了下MDIO到底是个什么东西。。。
回复 支持 反对

使用道具 举报

发表于 2014-6-11 11:19:30 | 显示全部楼层
3.3V抗干扰厉害,VIL和VIH相对值大,但是我想不通的是如果采样在MDIO的眼图中部,1.2和3.3应该是一样的,所以还是有点怀疑你的采样时序,采样点可能不是在中间位置,也许我想错了,仅供参考,毕竟我也只是个个初学者。你可以在1.2V用示波器抓下MDIO的波形,然后跟FPGA1.2VIOBANK的VIL,VIH的阈值比较一下。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2025-9-22 03:02 , Processed in 0.019482 second(s), 4 queries , Gzip On, Redis On.

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