1
\$\begingroup\$

I'm trying to implement a PCI express switch; one lane from SoC and, two for mini PCIe ports. Something like the picture below.

enter image description here

But I'm confused with the Tx and Rx connections, the transmitter should be connected with the receiver in every connection, right?

enter image description here

But, the doubt occurs when in the reference schematics that I have for the switch, the connection in a male connector is Tx(of switch)-Rx(of port); like the picture above, and in a female connector is Tx(of switch)-Tx(of port); like the picture below.

enter image description here

Exists a sort of convention (standard or similar) for this kind of connection?

\$\endgroup\$
1
\$\begingroup\$

The signals are named from the point of view of the root complex, so anyone implementing a device that has an upstream facing port needs to be aware that they need to switch lanes.

I think it is a good idea to think independent from connectors here -- if you use PCIe internally on a single board, you have to swap, even if you don't have a male connector, and if you're building a riser card, you have a male connector but should not swap.

\$\endgroup\$
1
\$\begingroup\$

Figuring out the pinout of connectors like this is tricky. There should be standards for the standard PCIe connectors that specify the direction of the lanes. I think they're usually specified from the point of view of the root port and not the end point. I have a PCI express FPGA dev board that connects the FPGA transmitters to the pins named 'receive' and the FPGA receivers to the pins marked 'transmit', indicating that the pin names of the edge connector are associated with the root port and not the end point. I happen to have the service manual for my laptop computer that has the full motherboard schematic, and the mini PICe card slots are all connected with TX from the motherboard to RX on the connector, so in this case the connector pinout is specified wrt. the endpoint instead of the root port. It could be that the symbol is labelled wrong, though. This may or may not be the case for the connectors you're using. My suggestion is find a schematic for another device that implements that particular connector or a device that interfaces with it.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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