lpcware

LP1768 / DP83848 , Hangs on initialization, possible 2 traces flipped.

Discussion created by lpcware Employee on Jun 15, 2016
Latest reply on Jun 18, 2016 by lpcware
Content originally posted in LPCWare by defcon8 on Mon Mar 14 13:37:46 MST 2016
Hi,

I am trying to write software for a new designed board. It has the NXP LPC1768 and DP83848 Phy. The microcontroller crashes when i try to initialize ethernet. Even JTAG connection is lost. I traced it down to this part in code, after the reset method it hangs:

/* Basic Ethernet interface initialization */
void Chip_ENET_Init(LPC_ENET_T *pENET, bool useRMII)
{
Chip_Clock_EnablePeriphClock(SYSCTL_CLOCK_ENET);
resetENET(pENET);


We use LPCXpresso Pro and LPCOpen. Code is build upon the FreeRTOS_Webserver example. I am not a hardware engineer, the board was made by some other person. When i look at the schematics, i think there are 2 lines flipped.

LPC1768    PIN 43    P1(27)/CLKOUT/USB_OVRCR/CAP0(1)    ==>    DP83848    PIN 29    RESET
LPC1768    PIN 44    P1(28)/MC2A/PCAP1(0)/MAT0(0)    ==>    XTAL_OSC_DX057 (50MHz) PIN 1 INH

Since i'm not a hardware engineer, i am not sure this is correct and have my doubts about it. Is there anybody out here that can confirm that this is a hardware design "mistake"? And is there a way to flip these 2 signal pins in software?

This is my first embedded project so any help is appreciated.

Thank you,
Regards,


Bastiaan

Outcomes