PCIE gen2 through 2.54mm pin header? - Page 1
Forum section: electronics / projects

author: blazini36
author_rank: Regular Contributor
timestamp: September 28, 2021, 12:10:47 am
content: I just went through and had some PCBs fabbed, they were 4 layer 0.8mm thick PCBs. Reason for the 0.8mm PCBs is that they had to plug into an M.2 slot, the card is a special USB3 card that plugs into a specific mini-PC's M.2 slot for PCIE gen2 x4. I had a mistake in the schematic so the PCBs are no good anyway but one problem that was obvious was that the components on the PCB didn't add enough structure like I hoped they might, it's pretty floppy. So I'm correcting the mistake and deciding what to do about the floppy PCBs.One thing I thought about was to pick up a 3d printer (was gonna build one at some point anyway) and print like a backbone for the card.Another idea that I like a bit better is to split it into 2 PCBs, One just looks like a blank 0.8mm NVME, probably 2 layer where all the signals are routed to a pin header. The second is like a mezzanine with all of the components where the pins come through and are soldered to the PCB, kind of like what you do when you solder an arduino into a carrier board, just soldered male pins, no female header to plug into. the Mezzanine would be a 4 layer 1.6mm PCB. Thing that I wonder about is I've never seen PCIE signals routed through something like a pin header. I try to calculate impedance and match differential pair lengths best I can though I can't pretend to be an expert and I'm, not sure how the pins will affect the signals. I don't wanna get too crazy with special software, just trying to figure out if this is a good idea and maybe some good practice ideas like surrounding each signal pair with ground pins or something. It doesn't have to be 2.54mm pitch pins either really if it makes a difference, they're just obviously the most readily available.

author: TiN
author_rank: Super Contributor
timestamp: September 28, 2021, 03:17:35 am
content: 2.54mm pin header is very far from impedance requirements to work properly on anything at PCIe speeds. If you really want to push the luck, use some proper fine-pitch connectors. Impedance need to be correct not only at PCB, but also at all interconnects and cabling as well, as well as cross-talk mitigation like grounding, plane references, etc.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: September 28, 2021, 05:07:26 am
content: If it really is too big and floppy -- my first guess would be it's not as bad as it seems, and it'll be fine -- then the first thing you can try is stiffening rails. Assuming there's room for it of course. Could just be strips of FR-4 glued on, could be PCB slides or rails (held in place, or glued properly), metal brackets, etc. some of which are doable by hand from materials, others you might want to get the components. Or yep, 3D printing also.As for headers, the first thing you could try is castellated holes. Solder the boards together directly. Or holes large enough that you can see the fillet formed against the boards. Like, I once did that for a mostly-unobtainable connector:https://www.seventransistorlabs.com/Images/LCDHeaderAdapter.jpghttps://www.seventransistorlabs.com/Images/LCDHeaderAdapter2.jpgIt's a small riser board, SMD'd over the old connector footprint (desoldered the connector, added the board, plus a dab of superglue to hold the far end in place).Connector was your basic fine-pitch or flex style connector footprint, two mounting legs at the ends, one row of pads on the inboard side. So, one row of castellated holes does the trick, then those fan out to 0.1" headers as I was after a standard header for this project.You can also get lower profile headers, leaving less space between boards while keeping them separable.Either way, you'll want to preserve the transmission line environment between boards. If you can make the joint over ground plane, and just route everything over as microstrip, that'll be helpful; there's only a small discontinuity between the castellated holes and ground plane joints then. (You'd of course do the ground plane with a pair of wide pads, maybe one with edge plating so you can get a toe fillet; otherwise, tin the faces, use hot air, and carefully solder them together. Go slowly, FR4 isn't very thru-conductive, don't want to blister/burn the outside!)There are of course proper board-to-board connectors for high speed interfaces, incorporating differential pairs and shielding. I wouldn't think you have the space to mount these anyway? But it would be an excellent way to go.For headers, or even cables, you'll want to use lots of pins to keep some semblance of shielding around the pairs. Use lots of ground/power pins. The impedance of a pair of header pins will be close enough for the data pair, that's fine, it's keeping enough grounds around them to maintain shielding (good common mode rejection) that's hard to do. I doubt that you'd have to go to the extent of using a 3 or 4 row header to get enough coverage, but for example (using the common zig-zag numbering: say for a 2x header, 1, 2 = both rows first column, 3, 4 = both rows next column, etc., N-1, N = last pins) using pins 1, 2, 5, 6, 9, 10, ... for power/ground, and the remaining (3, 4; 7, 8; etc.) for pairs, would be likely.Or for a single row connection (like with castellated holes, which can be finer than 0.1" pitch), alternating power and signal pairs.As for PCIe itself, I forget which all features it incorporates; I believe high frequency attenuation/dispersion compensation, line coding and scrambling (which also produces DC balance, hence coupling caps can also be used) are involved. These make it generally tolerant of the PCB environment, plus differential signaling obviously preserves some signal quality against common mode noise, as might be picked up from traveling over different supply domains on the motherboard or backplane. It's well crafted for its application; which should be absolutely no surprise!The bigger concern is likely common mode range, which is typically something like half a volt (i.e., communication between VDD = 1.2V IO channels). This greatly limits the distance, in terms of what kind of cables you can send it over. Obviously, shielded cables are best; you could get away with ribbon cables (alternating signal pairs and supply pairs), but it won't be like commercial reliability, expect to see it drop connection a few times, just sitting on the bench kind of thing.So, keeping the distance short in the first place, like direct board-to-board no connector, is preferable.Tim

author: Berni
author_rank: Super Contributor
timestamp: September 28, 2021, 05:26:49 am
content: This is most certainly not recommended but it will likely still work anyway.As long as you put the diff pins together and surround them with ground they can handle pretty high speeds. I ran all sorts of high speed differential interfaces (LVDS, MIPI, PCIe...) over just regular floppy drive ribbon cable and it worked perfectly fine, you could probably even get PCIe to run over a short Ethernet cable.However just because it works in practice doesn't mean you should do it. Such a connector is likely far from the proper impedance match and as a result degrades the signal quality, eating away into the signal integrity headroom. There are MANY other connectors out there, its not hard finding a more appropriate one. Open up your digikey or mouser or whatever and look for board to board connectors. There are connector families that specifically mention being designed for high speed, but in practice any connector with a reasonably fine pin pitch of <1mm will tend to work fairly well because it keeps the diff pairs and shielding ground nice and close, getting closer to the 90 to 120 Ohm AC impedance that most of these high speed diff interfaces require. Doesn't need to be spot on, just reasonably close.

author: blazini36
author_rank: Regular Contributor
timestamp: September 28, 2021, 02:56:16 pm
content: I'm not sure if it was entirely clear, but it's not a cabled connection or even a removable one. I'd be soldering the 2 boards together with a pin header in between. I thought about castellated hoIes but it's hard to say if I can fit enough at the PCB edge. I actually realized that I can barely fit a 2.54mm 2x20 pin header in, so I started to lay it out with a 1.27mm 2x25 pin header. 4 PCIE lanes is 18 pins with the refclock pair. Then there's about 5 single ended signals to be brought out so 50 pins leaves about 1/2 of them as gnd and 3.3v. I'll post a 3D view once I get a little further along with reworking the layout so it's a little more clear what I'm trying to do.