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.

AM263P4: Two port Ethernet Custom Design Architecture

Part Number: AM263P4
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

If using AM263P4 for a custom PCB with two Ethernet ports, what is the recommended architecture?

Requirements:

  •   LwIP on both ports.
  •   No industrial Ethernet
  •   No Link-Layer routing between ports. Assume packets touted through LwIP.
  •   DP83826 PHY

Which MACs should be used?

Which (CPSW vs ICSS) subsystem should be used? 

  • Hi Tollman,

    Thanks for reaching out over E2E.

    Which (CPSW vs ICSS) subsystem should be used? 
    No industrial Ethernet
    • ICSS is designed for industrial communication and to be used with some industrial protocols such as EtherCAT EtherNET/IP etc. The main advantages of ICSS are that we can offload the host processor (ARM) of real-time processing requirements and can implement various protocols using ICSS as PRU's are programmable.
    • It has the support for the same LwIP stack/ features that we support over CPSW.
    • ICSS comes with PRU (Programmable Real-time cores).
    • Since you do not have a requirement for Industrial Ethernet, we can work with CPSW. You can read more about CPSW here: dev.ti.com/.../node
      DP83826 PHY

    You can follow the porting guide: https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1353799/faq-am2634-integration-of-phy-driver-on-custom-board

    From what I remember we were able to read the basic BMSR and BMCR registers successfully in case of your 3-port system using the above guide.

    LwIP on both ports.

    Both ICSS and CPSW can support this. You would have a common LwIP interface on R5F catering to both Port-1 and Port-2. You can configure the CPSW switch in Dual-MAC mode or Switch mode, having both ports enabled. This way, all the packets would reach the R5F core running the LwIP stack and can be routed accordingly by LwIP.

    The choice between CPSW vs ICSS depends on the end application and the bandwidth and throughput requirement.

    Can you share your end-use case application details/KPIs?

    Best regards,
    Shaunak

  • Hi Shaunak,

    I can't share the application details of the design here. 

    For this application the bandwidth required is low. Typically, less than 1kbps, but occasionally this may spike to ~10kbps. This traffic will be similar for both ports.

    Which two MACs would you recommend?

    Regards,

    Tollman

  • Hi TollMan,

    Thanks for your details over the email.

    1. I think we can proceed with using CPSW here.

    2. You can use CPSW in Dual-MAC mode. (software-dl.ti.com/.../ENET_LWIP_CPSW_OPERATING_MODES.html

    To enable dual-mac mode, ensure the following:

    1. You have both the MAC ports enabled

    2. You have 2 NetIFs added

    3. Both the MAC ports and the host port are set to MAC-only mode.

    You can take the enet_lwip_cpsw example on the AM263Px-LP board, set the above settings and try a basic ping test. You will have the dual MAC mode enabled.

    Best regards,
    Shaunak

  • Hi Shaunak,

    Thanks for the input. CPSW in Dual MAC mode looks like the best solution.

    What I meant by:

      "Which two MACs would you recommend?"

    ... was, assuming CPSW in Dual MAC mode, is there implications for which two MACs to use.

    In SysConfig, I do not see that the MII MAC is available for CPSW. 

    Should I be using RMII1 and RMII2?

    Thanks,

    Tollman

  • Hi Tollman,

    This seems to be a bug in the AM263Px syscfg. I will get back with an update on this.

    Also, just for my information, do you use the MCU_PLUS_SDK installer from ti.com or do you get your codebase from our GitHub (github.com/.../mcupsdk-core)

    Regards,
    Shaunak

  • Hi Shaunak,

    It seems like can work with any MCA CPSW, but this may require a work-around until SysConfig is fixes.

    Is this a good characterization?

    I need to advise the hardware team on what to do with the schematic,

    Is this a good reason to use the two RMII ports?

    Is there any reason to use MII, assuming low-bandwidth requirements?

    Regards,

    Tollman

  • Hi Tollman,

    It seems like can work with any MCA CPSW, but this may require a work-around until SysConfig is fixes.

    Yes, this is a bug and im working on fixing it. It is only in the case of AM263Px device right now. We have fixed it for AM263x.

    I need to advise the hardware team on what to do with the schematic,

    Is this a good reason to use the two RMII ports?

    As per our alignment over the email, I see we are planning to use RMII1 and RMII2.

    Regards,
    Shaunak