SOLVED - W3150A+ does not execute commands in Sn_CR

#1

Hello,

I’ve got here a W3150A+ connected to a PHY on our own PCB. Well, SPI connection works fine, but if we perform a command (e.g. 0x10) to Sn_CR (Socket Command Register) it will not be executed. If we read the Sn_CR via SPI, the written command remains in Sn_CR. Sn_CR should be automatically cleared after a command was executed, that’
s what the datasheet says, or is another command necessary?

Can I assume, if the written command remains in Sn_CR, it was not executed? Or, was it executed but the automatic clearing mechanism didn’t work?

Can any (wrong) signal (too high, too low) on any Pin cause this problem?

Confusing:
We have also a NM7010B+, which is also useing a W3150A+ from WIZnet and for this module our code works finde. The Sn_CR is cleared immediately after writing.

Any suggestions?

Thanks a lot!

#2

Hi,
If Your code works fine in NM7010B+ but it dosen’t work in your modules, I wonder your module didn’t design as NM7010B+.

First What part is the PHY?
In PHY, Link signal work fine?
Main Operation clock or xtal 25MHz wokr fine?
MII signals between W3150B+ & PHY work fines?

Thank you.

#3

Our module has almost the same schematic as the NM7010B+, well Layout is quite bigger (like Arduino shields).

Clock works fine, both PHY and Wiznet
I don’t have any signls on MII neither TXC/RCX nor any DATA (measured with Osci)
Didn’t chek link signal, but could it relenant for the “hang” siutation?

#4

Hi,

if you don’t have the RX and TX clock on MII port, the command in Sn_CR will not be executed.
Check why the PHY don’t generate the clock.

Regards
G.

#5

Thanks for the hint, it gave me the right direction for further investigations^^

My PHY has to be initialized by different MDIO write commands to a bunch of different registers (and first of all a software reset command, didn’t consider this^^). After this, I could measure a clock at the TCX/RXC pin and my commands in Sn_CR were executed.

Problem solved! :smiley:

Thanks you very much!

#6

Hi, daniel.

We are glad to resolve your problem.

Thank you.