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.

TMS570LC4357: EMAC Receive Interrupt skips some packets at 100 Mbps

Part Number: TMS570LC4357
Other Parts Discussed in Thread: TMS570LS3137, HALCOGEN

Hello to all,

We are trying to upgrade our hardware from TMS570LS3137 to TMS570LC4357.

While dealing with EMAC, we observe the following problem: When data rate of ethernet interface is fixed to 10 Mbps Full Duplex  from computer, system works quite good, no ping sequence misses, however when data rate is set to 100 Mbps, most of the replies to ping requests are not sent. Therefore a reliable link is not established.

Between TMS570 and computer there is no device (switch, router etc.). Connection and hardware units (Phy chip, cable, connection layout) are proved because this system works at 10 Mbps.

To better understand we observe system when we can debug with JTAG. We put a breakpoint to the EMACRxIntISR. At 10 Mbps we clearly get Rx interrupts frequenty. However, when we repeat same procedures for 100 Mbps, device do not stop at EMACRxIntISR even I see an arp request or ping request for it from wireshark in the computer. 

I thought this might be because of interrupt manager is dealing with some other high priority interrupts, therefore in a thread I started to control the registers RXINTSTATRAW and RXINTSTATMASKED registers. I put another breakpoint to the places when RXINTSTATRAW and RXINTSTATMASKED fails to be handled. Yet, no difference. Our system handles the interrupts perfectly when they occur, there is no extra need to check these registers.

Already there are threads how EMAC module is problematic for this MCU. By the way thanks a lot to Jiri Dobry in this thread: we were able to make the MCU work in 10Mbps by the help of his difference text.  

 I want to ask if there is anyone who was able to make EMAC of this MCU work in 100 Mbps. If yes, did she/he changed anything in the HalCoGen code? Can you share these changes? I am using HalCoGen version 04.07.01, created in 11 December 2018.

Thanks for your help

  

  • Hi Efe,

    Do you use TI TMS570LC43x launchpad or TI TMS570 HDK?

  • Hello Sir,

    We are using custom hardware. The interface between phy chip and TMS570 is RMII.

    Thank you

  • Hello Efe,

    Have you figured out the issue with 100Mbps?

  • Hello Sir,

    We solved the problem. It was because of hardware design. According to silk screen of tms570ls31 hdk (we found silk screen from spnr034) the crystal is connected to both PHY chip and MCU EMAC interface. However we use different PHY chip that can provide 50 MHz clock (DP83848). Instead of crystal as clock source, we give PHY chip's clock output to the MCU EMAC interface. At 10 Mpbs since EMAC makes 1 out of 10 sampling, RMII worked fine. However, PHY chip RMII clock sourcing creates problem at 100 Mbps (for TMS570LC4357) (On the other hand, we saw that signals were distorted at 100 Mbps also for TMS570LS3137  but clock going from PHY chip was working fine.). Now all the signals on the scope are smooth.

    Thank you