This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TM4C1294NCPDT: Link Blinking On/Off

Part Number: TM4C1294NCPDT
Other Parts Discussed in Thread: EK-TM4C1294XL

I have a TM4C1294NCPDT on a custom board that I am trying to get Ethernet working properly. When execution gets to "Waiting for Link",

//
    // Wait for the link to become active.
    //
    UpdateStatus("Waiting for Link.");
    while((MAP_EMACPHYRead(EMAC0_BASE, 0, EPHY_BMSR) &
           EPHY_BMSR_LINKSTAT) == 0)
    {
    }

it will get stuck and not move any further. The link light on the ethernet switch link light will toggle on and off about once per second. I have attached a schematic of the microcontroller.

MCU_Schematic.pdf

  • Hello JA,

    Couple initial questions here:

    1) Are you using a TivaWare example or your own software project?

    2) If your own project, have you tested it and are using it without modification successfully on the EK-TM4C1294XL?

    3) If so, have you tried to look at Wireshark captures for the working and not-working projects/boards?

    Best Regards,

    Ralph

  • Ralph,

    I am using a TivaWare example on the custom board. The same project works correctly on the EK-TM4C129XL.

  • Hi,

      Do you have the MAC address programmed for the MCU on your custom board?

  • Charles,

    I was able to program a MAC address to the custom board.

  • Hi,

      I don't really spot anything wrong with your Ethernet schematic. Although may not be the cause of your link problem, I don't really see enough decoupling capacitors on your VDD. I only see 0.1uF for each VDD. Please see below. recommendation from the system design guideline

      I really don't know what is wrong with your board. I have some suggestions:

      - What TivaWare examples did you try? Is it true that none of them works on the custom board and all of them work on the LaunchPad. I suppose all of them will work on the LaunchPad. Just wanted to make sure it is not a specific example not working while others work on the custom board. 

      - Check your board and make sure there is good contact on the Ethernet pins. 

      - How many custom boards do you have? Do you have another custom board to try? Will you have the same issue?

      - Do you have another spare TM4C1294CPDT chip that you can swap in to your custom board? Will it have the same issue?

      - Since you know the EK-TM4C1294XL board is good and working, I will suggest you swap the chip on the LaunchPad with your custom board. Will it continue to work? If not, then there is something at the board level for you to investigate. As said, I didn't really see something major that could explain it. 

  • Hi JAoverstreet,

    Perhaps issue is due to a race condition 29c_HAL and PHY register link state bits, driverlib link active status checks or methods. I added while loop bool checks that link back into those PHY conditions to fix Link state issue you describe. A simple thing may help to add SysCtlDelay() in the while loop.