用LPC1768+DP83848实现网口通信,DP83848的PHY ADDRESS和ID是怎么确定的?
#define DP83848_DEF_ADR 0x0100 /* PHY address */
#define DP83848C_ID 0x20005c90
想请教一家这两个参数是如何确定的。谢谢! 展开
由RX0-RX3和CSR这几个脚组成PHYADDR0-4
芯片复位时,会锁存这5个脚的电平,作为芯片地址,以后就找这个作访问了。
所以,如果你是悬空的话,认为是0,一定要接1才认为是1.DP83848的地址由PHYAD[4:0](总共是32个地址)决定,具体怎么决定请看芯片手册。当对PHY进行读操作发现读出的值都是0xffff时,如果硬件没问题,那就可以看一下是不是PHY的地址弄错了。一个简单的办法就是对0-31地址进行轮训,看哪个地址能读出正确的值。
Table 6-5 PHY Address Mapping
PIN # PHYAD FUNCTION RXD FUNCTION
35 PHYAD0 COL
36 PHYAD1 RXD_0
37 PHYAD2 RXD_1
38 PHYAD3 RXD_2
39 PHYAD4 RXD_3
The DP83848x can be set to respond to any of 32 possible PHY addresses through strap pins. The information is latched into the PHYCR register (address 19h, bits [4:0]) at device power up and hardware reset. The PHY Address pins are shared with the RXD and COL pins. Each DP83848x or port sharing an MDIO bus in a system must have a unique physical address.
来源:
http://www.ti.com.cn/product/cn/DP83848T/datasheet/detailed_description.html