OK, at first this sounds like an obvious and serious design error. But I'm trying to figure out muxing the SERDES signals on a PCI-Express Mini card, such as WiFi cards in laptops and mSATA cards in laptops, to make a dual-purpose autodetecting slot. While I haven't yet got the spec to see if there's a detect pin to control the mux, I'm pondering an audomatic software solution if no mode detect pin exists.

Do PCI-Express enumeration with the SERDES mux set to PCI-Express. If something is found in this slot, then we're done.

If nothing is found in this slot, it's either empty or an mSATA, as I don't expect a SATA device to respond to a PCI-Express scan, at least not in an understandable fashion, so the PCI-Express root controller will ignore it. So use a GPIO to swap the SERDES mux over to the SATA signals, and try to enumerate it from a SATA controller. If something is found, great, we're done.

If at this point, nothing was found by the SATA controller, then the slot is empty.

If one of the two controllers found a usable device, then it should be working fine.

Of course this depends on neither signalling type being damaging to the other kind of device, and so I am here with my question. Does one of these two things run at a higher voltage that would damage the other? Or use packets which would confuse and somehow damage a device of the other type by doing something not part of it's standard and very unexpected from being designed to that other standard?

Or would everything be OK, perhaps confusing the chip but in a non-damaging fashion, and things would work great again when the mux goes over to the correct connection for that device?

I am of course ignoring the other similar shape/same connector things such as the eeebook cards and whatever else is not at all close, but it seems the PCI-Express and mSATA may be close enough to do this autodetect/switch/autodetect sequence.

I'm looking at SERDES muxes such as TI HD3SS3415 or TI HD3SS3412 or Pericom PI2USB3212 signal switches. These are rated for higher than USB3 Superspeed and PCI-Express Gen2 signalling, and I'd imagine that'd be fine for mSATA 3Gbps as well.

  • \$\begingroup\$ I got the SATA 3.1 spec last night and the mSATA section says to leave pin 43 disconnected to serve as a module type detection. The Mini PCI-Express module standard calls that pin a ground. So long as a PCIe or USB2 module can deal with that ground having gone missing as a ground, then it, with a pullup resistor, can tell us which way to switch a mux. And these muxes I'm looking at are rated up to 8Gbps, 10Gbps or 12Gbps. Yes, I understand that PCB routing at these speeds is touchy. So long as things are designed for these connections, I'll be open minded until we just can't make it go. \$\endgroup\$
    – billt
    Commented Feb 24, 2012 at 15:13
  • \$\begingroup\$ P.S. ExpressCard2 spec seems to pretty much require this sort of muxing. It puts USB3 Superspeed SEDES and PCI-Express Gen2 SERDES on the same connector pins. The publicly available mSATA pinouts I found do not include this pin 43 thing, they call it ground same as the Mini PCI-Express pinout. \$\endgroup\$
    – billt
    Commented Feb 24, 2012 at 15:16

1 Answer 1


Per this Maxim app note

SATA/eSATA signals resemble standard LVDS, and are AC-coupled on a pair of 100Ω-balanced transmission lines. Signal levels are nominally ±500mVP-P.

PCIe has a swing of 175 to 1200 mV (PCI Express System Architecture). So you should be able to do what you want to. But I wouldn't recommend to try this; high speed routing requires care.

  • \$\begingroup\$ " So you should be able to do what you" what?? \$\endgroup\$
    – Kellenjb
    Commented Feb 22, 2012 at 18:53
  • \$\begingroup\$ " But I wouldn't recommend to" what?? \$\endgroup\$ Commented Feb 23, 2012 at 20:15

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.