由于某些原因,我使用了stm32f2的mco输出50M时钟给dp83848,并且我已经知道这样其实是一种权衡策略
最近我做了个测试程序,可以用相同的板子测试串口和网口,即2个一样的板子串口和网口各自连接,其中一个是测试程序,另一个是正常使用程序
现在发现某些板子测试时,两个网口灯会不正常的高频闪亮,而实际程序中通信频率没有那么高
经过艰苦的排除各种问题,现在可以确定是时钟原因导致的这种现象,而且应该是mco输出的时钟问题
不过我想问的是,为何我把这个有点问题的板子网口和交换机或者和电脑直连,这个胡乱闪烁的问题就没有了呢,并且从通信结果来看,也是正常的
如何解释这样的现象,是说电脑网卡或者交换机芯片,更加能够容忍百兆网络的时钟抖动?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
其实问题就是stm32f2的mco输出50M时钟精度不怎么的,应该是内部pll的问题
我现在主要问题是2个83848之间反而要求高,连电脑和交换机反而还好,不知道为什么有这样的原因
你可以找下有地方明确说了不行。
用LAN8720时,输出25M,然后由8720自己变50M可以量产。
另外很多人从来没测过晶振的实际频率,也从没根据手册和实际情况调过晶振的匹配电容。
所以频率偏过50ppm是完全有可能的。
这种情况下,建议直接上50M有源晶振来填这些坑。
其实我是知道那个问题的,不过取巧解决了。。。
老实说确实这个晶振都没仔细思考过,甚至我都不知道是什么牌子嘿嘿,没在这个上花时间确实是不对的
不过我的问题是,为何两个相同phy,时钟容忍度反而低呢??? 会不会是一个往左偏,一个往右偏,差距更大了,而电脑网卡和交换机的因为准确度比较高,误差只有单边的就小了
一周热门 更多>