atom100 发表于 2015-1-23 19:35:25

altera的triple speed ethernet megacore function 的寄存器配置?

本帖最后由 atom100 于 2015-1-23 19:39 编辑

请教 :如下图所示 triple speed ethernet megacore function 的mdio_addr0 和 mdio_addr1 到底是啥意思 ?谁用过
两个PHY连接在一条总线上,只用一个 地址寄存器 mdio_addr0 不就可以寻址 32个 PHY了,为何 又加个寄存器mdio_addr1??



DepravedLucien 发表于 2015-1-24 10:31:27

ADDR1应该是PHY Device的地址   ADDR2应该是PHY内部寄存器的地址

DepravedLucien 发表于 2015-1-24 10:32:12

mdio mdc就是i2c通信,有设备地址和寄存器地址两个

livelei 发表于 2015-1-25 01:05:54

楼上的回答让我深受启发

atom100 发表于 2015-1-25 23:23:33

本帖最后由 atom100 于 2015-1-25 23:25 编辑

DepravedLucien 发表于 2015-1-24 10:31
ADDR1应该是PHY Device的地址   ADDR2应该是PHY内部寄存器的地址

问题不在这里啊,addr1是PHY的地址,这个已经确定了,现在是 需要有两个寄存器mdio_addr0和mdio_addr1 给addr1赋值???(注意 看我红线画的位置:mdio_addr0和mdio_addr1两个寄存器 都指向addr1啊?按说一个寄存器 不就够了)

arda 发表于 2015-1-26 02:03:40

图上两个phy 当然需要两个地址了,你要是有三个phy 类推下去还有mdio_addr2。
就是一个 0到31的常数

DepravedLucien 发表于 2015-1-26 16:41:34

atom100 发表于 2015-1-25 23:23
问题不在这里啊,addr1是PHY的地址,这个已经确定了,现在是 需要有两个寄存器mdio_addr0和mdio_addr1 给 ...

你是不是理解有误,mdio_addr0,mdio_addr1是PHY地址的值,要把它们配置到ADDR1中的。ADR1的值可以赋值多达32个,因为外面可以接32个phy。 图中有两个phy,就有两个phy地址咯,

DepravedLucien 发表于 2015-1-26 16:51:04

atom100 发表于 2015-1-25 23:23
问题不在这里啊,addr1是PHY的地址,这个已经确定了,现在是 需要有两个寄存器mdio_addr0和mdio_addr1 给 ...

不好意思,我理解错了。我看了下手册,用一个应该是可以的,两个是是为了faster access。具体请看 user guide(12.0版) 4-20页 PHY Management
页: [1]
查看完整版本: altera的triple speed ethernet megacore function 的寄存器配置?