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.
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?
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.