lpcware

DM9161A PHY

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 15, 2016 by lpcware
Content originally posted in LPCWare by frankvnk on Tue Jan 22 11:39:07 MST 2013
I am trying to get the DM9161PHY working with an LPC1768 + RTOS + LWIP1.4 libraries - mbed compiler (Mini-DK board - see http://mbed.org/users/frankvnk/code/Mini-DK/ for specifications).
NOTES:
- The current lpc_phy_DM9161A.c file can be found at http://mbed.org/users/frankvnk/code/HTTPClient_HelloWorld_DM9161A/
- This code is still under development - not yet cleaned up (lots of commented items).
- The test program i used is at http://mbed.org/users/frankvnk/code/HTTPClient_HelloWorld_DM9161A/

For now, code is only working upto the initialisation (Auto negotiation and obtain IP address) - Ethernet communication is not working (system locks up after IP address is obtained).
I had to change non-blocking read/write to blocking read/write to obtain a working initialisation.
I think there is a timing problem because when i enable several printf's or enable debug options, the test program continues but errors are returned (probably also related to the non-blocking code). Setting the emac-phy clock to its lowest does not resolve the issue.

Has anyone already used the DM9161A PHY (together with lwip1.4 + rtos) or has ideas on what could cause this problem?
I already searched the web extensively for DM9161A code - found several (different) examples but none seems to resolve my issue.

Outcomes