大家好,
以太网通过RMII接PHY,在初始化时进行Phy autonegotiate获取传输速度,由于以太网线是可以热插拔的,所以,当初始化完成进行程序运行的过程中,此时重新插拔一次的时候,需要再次autonegotiate以确定传输速度有无更改,
但PHY autonego的过程耗时很长,导致无法及时执行主循环的功能,所以想请教一下如何避免此种问题?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我有个疑问,这个PHY的auto negotiation的过程有这么长吗?印象中很快的啊。
不过按照你的思路来走,是不是说你已经知道自己会接入的是十兆还是百兆网,所以想避免这种自协商带来的时间开销?这样的话把auto negotiation的功能关闭,直接把duplex模式和speed写入phy应该是个可行的方式。以TLK105为例,把BMCR寄存器的12bit Auto-Negotiation Enable设置为0,disable;再把Bit【13】 Speed Selection 和Bit【8】Duplex Mode设置成你想要的模式,这种方式可以尝试一下。