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.

TDA2EXEVM: Counter get paused for some time while working with Ethernet Tx and Rx rate of 14mbps

Part Number: TDA2EXEVM

Hi,

I am working on TDA2EX board. Configure Timer3 as free running timer with overflow interrupt to calculate CPU Load.

Timer3 Start-End Count is (0x00000001 - 0xFFFFFFFF), Overflow interrupt generate properly on 0XFFFFFFFF to 0x00000000

Problem Occurred when:

If we keep Ethernet Transmit and Receive rate 14mbps then after 5 to 6 sec we found that Timer3 counter pause for some time around 1sec and then counter resume after. 

Problem not occurred when:   

If we keep Ethernet Transmit and Receive rate 7 to 8 mbps then it do not pause and working fine.

Please suggest why counter get paused while Ethernet Transmit and Receive rate 14mbps 

Thanks,

Harshalkumar Shinde

  • Hi Harshalkumar,

    Could you provide more details about what SW you are running on TDA2Ex? i.e. Is this Linux on A15 or SYSBIOS? Are you using NDK or custom network stack? Which core are you running the task to get timer interrupt?

    When you said "Timer3 counter pause", did you mean the interrupt was not serviced or the free-running Timer 3 counter register did not advance/increment?

    Regards,
    Stanley
  • Hi Stanley,

    It's SYSBIOS. 

    I have one end Autosar stack on A15. On which we are continuously receiving data for one camera which is approximately 14 Mbps. Received data send from A15 to IPU1 through cddipc mechanism.Which standard MCAL driver mcal29. When we are receiving data from Ethernet camera, received data loop-back transmitted to Ethernet again for checking purpose.

    For measurement of CPULOAD we have Timer3 running on MPUA15. As i said previously for the Ethernet speed above 8-9mbps approximately, after 7 to 8 sec Timer3 counter register not increment for approximate 1sec. means stuck for some sec and again started to increment. That's why we get same value of previous calculation and current calculation.

    If i reduce the speed up to 7mbps it's working properly. i check it for 1.5 Hr.

    Timer not stop anywhere in code.    

      

  • Hi Harshalkumar,

    Sorry for the late response.
    GPTimer doesn't pause counting unless the source clock is stopped or emulator pauses the CPU with the register bit TIOCP_CFG.EMUFREE = 0 (@ 0x4803_4010). The source clock for GPT is either 32Khz or system clock (20Mhz generally) and they don't usually stop running. Are you having any break point which stops A15 during run-time with debugger?
    If any of the above didn't occur, I don't think the timer will pause at any moment. However, it is possible that the timer event didn't get service. This will have something to do with the scheduling of the ISR or tasks. It could be some ISR taking too much time or some task having interrupt disabled for some time.

    Regards,
    Stanley
  • Hi Stanley,

    Thanks for the reply. This resolved my Issue.