Forums

PHY Problems

Started by Phils July 29, 2010
Hi All

I'm having trouble configuring a PHY and I'm not sure if the problem is the
software or the hardware.  

I have two boards:
1) IAR NXP2468 (Arm-based) dev-kit using a DP8348 PHY in RMII mode.
2) My company's new board using the same ARM processor and a KSZ8041 PHY in
MII mode.

Both boards are connected to a Netgear hub.

I have a test application that does the minimum of configuration on the
ethernet block and the PHY to just get it into a basic powered-up state -
but no stack code is present.  I can run this test app on both systems.
Now, clearly both PHYs are different and have different PHY registers and
my little test app does as much as I thought was necessary to bring them up
in their own slightly different ways (RMII, MII etc).  
I can successfully read and display the PHY registers on both systems (and
print them to a UART) so the ethernet blocks on the CPU are operating and
the MII Mgmt link to the PHY is operating too.

On the dev-kit board, as soon as I power it up and connect it to the hub
the lights start flashing on the hub indicating that it has passed
auto-negotiation and is alive.

But the KSZ8041 board doesn't work.  No lights come on on the hub, and as
far as I can tell from the registers, auto-negotiation is stuck.

So my question is, before I start hammering on the hardware engineers
cubicle ;) is:  

Have I missed something?
Is there some magic I'm not doing or would I expect the hub to acknowledge
the KZS8041 board just like the dev-kit?

Thanks (appologies for the comprehensive explanation (!))

Phil

	   
					
---------------------------------------		
Posted through http://www.EmbeddedRelated.com
Just to add, I have buzzed out the connections between the PHY and the RJ45
and they seem to be ok.  

Also the 'Energy Detect' bit in PHY register 0x1F signals that a cable is
present and the Link Status bit of register 0x01 indicates that the link is
down.

Thanks

>Hi All > >I'm having trouble configuring a PHY and I'm not sure if the problem is
the
>software or the hardware. > >I have two boards: >1) IAR NXP2468 (Arm-based) dev-kit using a DP8348 PHY in RMII mode. >2) My company's new board using the same ARM processor and a KSZ8041 PHY
in
>MII mode. > >Both boards are connected to a Netgear hub. > >I have a test application that does the minimum of configuration on the >ethernet block and the PHY to just get it into a basic powered-up state - >but no stack code is present. I can run this test app on both systems. >Now, clearly both PHYs are different and have different PHY registers and >my little test app does as much as I thought was necessary to bring them
up
>in their own slightly different ways (RMII, MII etc). >I can successfully read and display the PHY registers on both systems
(and
>print them to a UART) so the ethernet blocks on the CPU are operating and >the MII Mgmt link to the PHY is operating too. > >On the dev-kit board, as soon as I power it up and connect it to the hub >the lights start flashing on the hub indicating that it has passed >auto-negotiation and is alive. > >But the KSZ8041 board doesn't work. No lights come on on the hub, and as >far as I can tell from the registers, auto-negotiation is stuck. > >So my question is, before I start hammering on the hardware engineers >cubicle ;) is: > >Have I missed something? >Is there some magic I'm not doing or would I expect the hub to
acknowledge
>the KZS8041 board just like the dev-kit? > >Thanks (appologies for the comprehensive explanation (!)) > >Phil > > > >--------------------------------------- >Posted through http://www.EmbeddedRelated.com >
--------------------------------------- Posted through http://www.EmbeddedRelated.com
On Jul 29, 2:06=A0pm, "Phils" <phils1266@n_o_s_p_a_m.yahoo.co.uk> wrote:
> Hi All > > I'm having trouble configuring a PHY and I'm not sure if the problem is t=
he
> software or the hardware. =A0 > > I have two boards: > 1) IAR NXP2468 (Arm-based) dev-kit using a DP8348 PHY in RMII mode. > 2) My company's new board using the same ARM processor and a KSZ8041 PHY =
in
> MII mode. > > Both boards are connected to a Netgear hub. > > I have a test application that does the minimum of configuration on the > ethernet block and the PHY to just get it into a basic powered-up state - > but no stack code is present. =A0I can run this test app on both systems. > Now, clearly both PHYs are different and have different PHY registers and > my little test app does as much as I thought was necessary to bring them =
up
> in their own slightly different ways (RMII, MII etc). =A0 > I can successfully read and display the PHY registers on both systems (an=
d
> print them to a UART) so the ethernet blocks on the CPU are operating and > the MII Mgmt link to the PHY is operating too. > > On the dev-kit board, as soon as I power it up and connect it to the hub > the lights start flashing on the hub indicating that it has passed > auto-negotiation and is alive. > > But the KSZ8041 board doesn't work. =A0No lights come on on the hub, and =
as
> far as I can tell from the registers, auto-negotiation is stuck. > > So my question is, before I start hammering on the hardware engineers > cubicle ;) is: =A0 > > Have I missed something? > Is there some magic I'm not doing or would I expect the hub to acknowledg=
e
> the KZS8041 board just like the dev-kit? > > Thanks (appologies for the comprehensive explanation (!)) > > Phil > > --------------------------------------- =A0 =A0 =A0 =A0 > Posted throughhttp://www.EmbeddedRelated.com
Perhaps a different one but here it is. The only issues I have had with the MII PHY I use (DP83847) have been because of bad soldering joints to the board. If yours is in the same or similar package don't be surprised if you have it. The DP83847 has metal pads on each pin at the sides of the package, I can't count how many times I had to buzz each pin to the board on 2-3 occasions - had soldered needles to the multimeter tips... :-). These things are so nasty to solder I guess I must be grateful to fortune I had beginners luck with the first ever on a prototype, after that it was somewhat easier knowing it could be made to work. Dimiter ------------------------------------------------------ Dimiter Popoff Transgalactic Instruments http://www.tgi-sci.com ------------------------------------------------------ http://www.flickr.com/photos/didi_tgi/sets/72157600228621276/