Post Go back to editing

FIDO5200 Transmit packet continued

Category: Software
Product Number: FIDO5200
Software Version: REM Switch

Hello,

I have a problem of packet transmission with the FIDO5200, I saw that the question had already been asked with the following title:

FIDO5200 Transmit packet, asked by GAbdalla763 on Jul 8, 2022

Would it be possible to have the answer to the problem because I saw that an answer was given but it is in private?

Because I have exactly the same problem that is described there, the only difference is that I use an MCU C2800 from Texas Instruments

Thanks

Parents
  • Hello,

    So let's walk through this.

    The first question to ask is for your schematic and what kind of processor is being used. 

    Do you have your schematic for this design?

    Also, can you tell me what part of the world you are in and what company you are with?

    Thank you very much.

    Best Regards,

  • I am French and I work for the company Vedecom. I use the FIDO because I need to connect in Ethernet a power converter.

    My design is an MCU F28379D connected to the FIDO5200 by the EMIF device (external memory interface) as indicated in the AN-1554 documentation. The FIDO is also connected to 2 PHY of the DP83848-EP from Ti.

    Via the MCU I can communicate with the FIDO, I can write and read in the different registers (direct and indirect).
    So I started to use the REM switch driver, I followed the documentation and used the functions init, mac, port and speed.
    I can see that the registers that are concerned by these functions have changed. Then I try to send a message using the different sending functions possible but nothing happens.
    I observe with the oscilloscope that the FIDO doesn't send any signal to the PHY component and that those it receives from the PHY via the RX pins of the MII interface have no effect (no interrupt, no message in memory)

    I try to look if the initialization is well done, the functions init, mac, port and speed did not return any error. I don't know what are the most important registers/bits to check to be sure that the FIDO can make a communication ?

     Best Regards

  • Hello, 

    Thank you for that insight. One of the things that can also come into play is making sure your PHYs are configured correctly for this application.

    Can you please walk me through what you are doing to initialize the PHYs? 

    Please let me know on this as this can be tiricky to get right.

    Also, can you walk me through what happens when you are debugging the code and you hit "REMS_STDIinit()"?

    Thank you very much.

    Best Regards,

Reply
  • Hello, 

    Thank you for that insight. One of the things that can also come into play is making sure your PHYs are configured correctly for this application.

    Can you please walk me through what you are doing to initialize the PHYs? 

    Please let me know on this as this can be tiricky to get right.

    Also, can you walk me through what happens when you are debugging the code and you hit "REMS_STDIinit()"?

    Thank you very much.

    Best Regards,

Children
  • For the configuration of the PHY module, it is configured with auto-negotiation at reset. When it is connected to another device, the speed and duplex are set automatically. I retrieve this information via the MDIO communication of the PHY and I configure the speed and duplex of the FIDO using these parameters.

    I can see in the PHY registers that the linking is OK. Is it possible to see in a register of the FIDO that the linking is also completed ?

  • Hello,

    When the debug is active (#define REMS_PARAMETER_CHECKS) and I run REMS_STDIinit(), I get this information:

    Loading Firmware: EtherNet/IP with DLR Firmware for REM

    Firmware Part Number: 0

    Version: 1 : 0

    But no errors appear and for the other functions there is nothing that appears, neither information nor errors

    Best Regards

  • Hello,


    I'm coming back to you because I still haven't solved my problem. I have continued to search for the source of the error. I noticed that the REMS_GetPortLinkStatus() function tells me that LINK STATUS for the 2 ports is ETH_LINK_DOWN. The function reads bit 15 and 14 of register 0x08 and the documentation does not clearly indicate if these are status or configuration values that can be changed. I tried to change them but they did not move. The documentation also does not indicate if these bits can block a communication or not. Could this be the source of my problem?

    Thank you very much.

    Best Regards,

  • Hello,

    The REMS_GetPortLinkStatus function tells you that the link status is down. This could be the source of your problem.

    Can you show me the link status of the PHYs? 

    This will help me get a feel for this.

    Thank you very much.

    Best Regards,

  • Hello,

    For the PHY modules, we have a LINK_STATUS which remains fixed when the link is up, but it is not connected with the FIDO, we first recover this information via the MCU then we initialize the FIDO. We have left the LINK_STATUS of the FIDO unconnected.

    But despite this problem, is there any way to make the FIDO work even though the LINK_STATUS is not connected (by changing a bit in a register for example)? Or does it completely block the communication with the port in question?

    Thank you very much.

    Best Regards,

  • Hello,

    So this is going to require some overview of your shcematic.

    This is usually something that at this point is better resolved offline.

    Please provide me with an email address and we can work this through from there.

    Thank you very much.

    Best Regards,