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.

TM4C1294KCPDT: TM4C device Ethernet controller gets ping lost randomly in between of process

Part Number: TM4C1294KCPDT


Hello Everyone,

I am using tm4c1294kcpdt controller. In my application, the device continuously transmits and received data to/from ethernet. During testing of my device in 24*7 time period, sometimes, i faced the problem that my device link and status activity gets lost.

The device then doesn't ping and so it results in failure of my computer application (as the device tcp connectivity gets lost).

Once I power up the device again, then it starts working normally. Sometimes it works continuously for 3-4 days. But sometimes it starts facing this problem at random time & hence the complete system crashes.

Kindly suggest me the configuration steps for Ethernet controller and also the reason for ping lost. 

Any help is appreciable.

  • Hi,
    I will assign your post to our SME. In the meantime can you provide additional information:
    TivaWare version?
    If you use DHCP or Static IP address?
    Was the MCU running normally when the Ethernet device lost the ping?
    Is the crash dependent on the level of traffic meaning with heavier traffic the problem occurs quicker than lighter traffic?
  • Hi Urvi,

    Have seen similar behavior with LWIP 1.4.1 and after adjusting TCP timer for a longer interval that seemed to help stop EMAC0 random lockups. Now that was 100 megabit unloaded pings less than 1ms response. If your seeing higher response times for a local ping then it is possible your application is looping somewhere and eating up to much processor time.
  • Hi Charles,
    please go through the details as you needed:

    1. TivaWare version = 2.1.2.111
    2. I am using statis IP (192.168.0.abc)
    3. Yes, MCU was running normally, because my UART0 & 1 are working fine when I lost my ping.
    Sometimes, my UART also gets failed as my application is Serial to Ethernet data transfer. My TCP socket doesn't get connected so no data transfer take place on serial UART.
    In my application, I have implemented watchdog reset. So if processor gets stuck in fault ISR, then the device would be reseted. But this situation never occued when ping lost problem/ UART failure problem occured.
    4. I have connected my device on low traffic network, so I don't think that would be the cause for my ping lost problem.

    Regards,
    Urvi Shah
  • Hi,
    I am running the application which runs on 1000mSec delay time (i.e. Application sends data to my device on TCP port, that wud be then transfered to serial and vice versa. It doesn't wait for any response time. After every 1sec, it will trasfers data to tcp port).

    The device runs, sometimes, for 3-4 days and then suddenly device doesn't get pinged and so TCP connection lost.
    So can u suggest me the Ethernet initialisation/configuration steps?
  • URVI SHAH said:
    It doesn't wait for any response time

    Hi Urvi,

    I was referring to the ping response time displayed at your PC monitor. If it is over 1ms that is an indication your application is taking way to much time to process the UART data and other interrupt processing.

    I recently migrated app to RTOS-SYSBIOS for CCS debug hardware trace analyzer to report the CPU load module via real time debug logging. That revealed several places in application that caused excessive CPU usage. Bad thing is RTOS logging example allows UART0 only, the alternative JTAG XDS200 debugger sold in the TI store, $299 last checked and rather a bargain when up against the wall and guessing. TM4C129x 120Mhz 150 DMIPS  can rapidly process data hiding undesired unintended loops and or bugs.

    http://processors.wiki.ti.com/index.php/SystemAnalyzerTutorial1F

    http://processors.wiki.ti.com/index.php/SWO_Trace#Interrupt_Profiling: