I am working on project that requires two Raspberry Pi CM4 modules and a SOM CN9130 module to communicate each other with a data speed of 1GBPS.

Both modules have Ethernet and support the PCIe bus.

What would be the most effective way to interface these modules?

I have two ideas: one through Ethernet and another is through PCIe bus.

Through Ethernet:

enter image description here

Through PCIe bus:

enter image description here


1 Answer 1


If it's only two modules, you can shorten Ethernet to a single set of magnetics between the two PHYs, giving you a direct link.

For PCIe, you'd need some kind of non-transparent bridge (NTB), as both CM4 modules only support root mode, not endpoint mode. Linux brings some NTB support, but AFAIK the drivers that are included support only CPU embedded NTBs for Intel and AMD CPUs.

A quick search for "pcie discrete ntb" found the Renesas PES32NT24G2, so readymade ICs do exist -- you'd need to check other vendors and models, verify driver support etc. to get a proper solution and not just a quick feasibility check.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.