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就会冻结。PHY接收25MHz时钟,但不会在Rx_clk或TX_clk上返回任何内容。
当我们对PHY执行rst (不重新发送任何其他组件)时,PHY将解除冻结。MDIO正在工作,因此硬件或软件重置都能成功解除冻结PHY。
3.3V通过启动进行监控,没有过冲,启动时间为~1ms。
从通电重置时,还会监视RxD[0],线路稳定。
问题是否熟悉?
每次通电后执行软件重置是否足以确保启动时或稳定运行状态下不会出现此问题?
在DP8.3848万VYB上进行了相同的测试,但此产品未出现问题。由于该产品占用的空间不同,因此我无法切换使用它。
PHY在正常操作和故障状态下的寄存器状态:
正常 | 失败 | |
0x00 | 0x3100 | 0x3100 |
0x01 | 0x7849 | 0x7849 |
0x02 | 0x2000 | 0x2000 |
0x03 | 0x5C90 | 0x5C90 |
0x04 | 0x01E1 | 0x01E1 |
0x05 | 0x0000 | 0x0000 |
0x06 | 0x0007 | 0x0004 |
0x07 | 0x2001 | 0x2001 |
0x08 | 0x0000 | 0x0000 |
0x09 | 0x0000 | 0x0000 |
0x0A | 0x0000 | 0x0000 |
0x0B | 0x0000 | 0x0000 |
0x0C | 0x0000 | 0x0000 |
0x0D | 0x0000 | 0x0000 |
0x0E | 0x0000 | 0x0000 |
0x0F | 0x0000 | 0x0000 |
0x10 | 0x2800 | 0x4000 |
0x11 | 0x0000 | 0x0000 |
0x12 | 0x2E00 | 0x0000 |
0x13 | 0x0000 | 0x0000 |
0x14 | 0x00FF | 0x0000 |
0x15 | 0x0015 | 0x0000 |
0x16 | 0x0100 | 0x0100 |
0x17 | 0x0001 | 0x0001 |
0x18 | 0x0000 | 0x0000 |
0x19 | 0x8021 | 0x8021 |
0x1A | 0x0804 | 0x0804 |
0x1b | 0x0000 | 0x0000 |
0x1C | 0x0000 | 0x0000 |
0x1d | 0x6011 | 0x6011 |
0x1E | 0x003F | 0x023D |
0x1f | 0x0000 | 0x0000 |
谢谢!
dor
您好,Dor,
我有一些问题需要进一步调试:
--
此致,
林晓明
您好,
复位后将立即读取上面显示的寄存器。
25MHz,由STM32F107的MCO提供。
链路伙伴处于FAIL (故障)状态和NORMAL (正常)状态。读取寄存器后,MCU通过PHY进行正常状态通信,在FAIL (故障)状态下,除LED_SPEED打开(下拉)外,没有通信。
Rx_clk和TX_clk在故障状态下失效,而X1具有25MHz时钟。通过reg 0x00执行软件重置可清除故障状态。
我们在MCU代码中添加了这样一个代码:每次MCU重置后,我们都会执行软件重置。我们通过此过程进行了2万 通电,从未出现故障状态。
我们PHY的化学学:
数据和控制线路直接连接到STM32F107相关引脚。
谢谢!
dor。
您好,Dor,
单片机正在改变绑带设置,并在锁扣期间导致错误的绑带,我们怀疑这是一个可以做的事情。 我想再问一个问题,以便进一步检查 :
--
此致,
林晓明