No RX interrupt.

Hi All,

I am using an IP module of the NetX framework to send and receive data on an R7FS7G27H3A01CFC MCU.  I am able to transmit without any problems.  However, the MCU is not receiving any packets.  I looked at the network ISR in synergy/ssp/src/framework/sf_el_nx/nx_renesas_synergy.c.  Call stack is:

{init g_vector_EDMAC_t_EINT}()  -->  edmac_eint_isr()  -->  nx_ether_interrupt()

In nx_ether_interrupt(), I can see incoming TX interrupts as expected.  However, nx_ether_interrupt() does not see any RX interrupts.  The MCU is using RMII mode to send and receive data.  TX0/1 and RX0/1 lines are showing activity.  If someone could shed some light on this I would appreciate it.

Regards,

Paul

  • Hi Paul,

    My understanding is that you use a custom board? The driver provided in SSP works for KSZ8091RNB Ethernet transceiver, are you using the same?

    Regards,
    adboc
  • In reply to adboc:

    Hi adboc,

    thanks for your reply. Yes, you are right. This is a custom board. It houses a KSZ8081MNXRNB transceiver. However, that is not how the MCU communicates with the network. Instead, it interfaces into a KSZ9567STXI switch in RMII mode. I apologize for not mentioning this in my original post.

    The MCU uses channel 0 so that pins 8 - 15 of port 4 are used for transmission. In ETHERC0.RMII peripheral configuration, we set "Pin Group Selection" to "Mixed" and "Operation Mode" to "Custom". The reason that we use "Operation Mode" of "Custom" is that we opted not to use pins MDIO and MDC. These are set to "None". Pins EXOUT, LINKSTA and WOL are also set to "None". Would this affect MCU's operation for RMII and how it receives data?

    Regards,
    Paul
  • In reply to Paul:

    Hi Paul,

    By default, Synergy NetX Port driver initializes PHY through RMII interface (lines MDIO/MDC), so it may be realted to this issue.

    Maybe it's too obvious to solve the issue, but just to be sure: is reception enabled (ETHERn.ECMR.RE bit)?

    Regards,
    adboc
  • In reply to adboc:

    Hi adboc,

    it looks like we were able to address the problem. Code generated in synergy/ssp/src/framework/sf_el_nx/nx_hw_init.c calls Phy_Init() and Phy_Start_Autonegotiate(). These two calls break our MCU's ability to receive packets. Maybe there could be an e2 option added to disable this functionality in the Properties dialog for the NetX IP module or a bit lower, in the NetX Port Ether module?

    Either way, we are all set. Many thanks for your help.

    Regards,
    Paul
  • In reply to Paul:

    Hi Paul,

    Glad to hear it's up and running. Providing a generic NetX Ether Port for all cases might be difficult, but SSP allows to adapt some of its modules to your needs. Please find a document describing how to customize SSP modules: www.renesas.com/.../r11an0014eu0111-synergy-customizing-ssp.pdf

    Regards,
    adboc