4
\$\begingroup\$

I am using a PCIe x16 conn. It has 2 types of PRSNT# pins. My question is :-

  1. What is the purpose of PRSNT#1 pin.
  2. We have four PRSNT#2 pins in x16. (PRSNT#2_1/2/3/4). The purpose of these pins is hot plug detect or to tell the host about width of the card plugged(as I can plug any card x1/x2/x4/x8/x16 in x16 conn). How do I connect all the PRSNT#2 pins.
\$\endgroup\$
  • \$\begingroup\$ PRSNT stands for 'presents'. So the PCI bus system can (hot) detect inserted cards. The other pins are for lane count detection. \$\endgroup\$ – Paebbels Nov 18 '15 at 13:31
4
\$\begingroup\$

PRSNT#1 is hot plug detect and should be connected to the farthest PRSNT#2 pin, so only one PRSNT#2 pin is connected to PRSNT#1. These are connected on your card.

Note that this may not be the farthest location on your physical connector as it gives the host a clue as to the width of the card as PCIe cards are required to operate at their design width (the number of lanes it supports) or the x1 width.

Even though a card may be a x16 card, it is only required to support x16 and x1 configurations. It is not required to support any other link width (a gotcha that has caught many unwary designers).

A x1 card should connect PRSNT#1 to PRSNT_2(1) on pin 17 (for a standard PCIe slot), x4 to PRSNT#2(2) on pin 31, x8 to PRSNT#2(3) on pin 48 and x16 to PRSNT#2(4) on pin 81.

See this page for details.

\$\endgroup\$
  • \$\begingroup\$ Though your customers are likely to hate you if you design cards that only work at x16 and X1. \$\endgroup\$ – Peter Green Nov 18 '15 at 14:18
  • \$\begingroup\$ @Peter Green: very true, but I actually had a board where it did precisely that, with lane width adjustable by strapping resistors that had to be soldered. Annoying to say the least! \$\endgroup\$ – Peter Smith Nov 18 '15 at 17:50
  • \$\begingroup\$ @ Peter Smith: "Note that this may not be the farthest location on your physical connector as it gives the host a clue as to the width of the card" - How will it happen. The present signal from my connector will go to some GPIO of my host. How my host is going to get the clue of the card width? \$\endgroup\$ – Oshi Nov 19 '15 at 4:01
  • \$\begingroup\$ @Oshi It will go to different GPIOs based on which pin you hook up to PRSNT#1. As such the host can sense which one you connected. \$\endgroup\$ – Thomas Jan 14 '17 at 23:15

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.