资讯动态

Mini PCIe转PCIe/104 OneBank扩展卡设计与实战指南

发布时间:2026/8/31 23:35:54 来源:尧图企业网站定制
去年我在给一套老轨交测试台架做功能扩展时碰到了一个非常典型的嵌入式需求设备里没有标准PCIe插槽只预留了PCIe/104 OneBank接口而客户点名要加一块Mini PCIe形态的加密模块。那台设备内部空间小到连一个全高Mini PCIe都塞得勉强更别说重新走一组PCIe总线出来。最后就是靠一块带PCIe/104 OneBank接口的Mini PCIe扩展卡完成对接整个项目才按期交付。这篇文章就围绕这类板卡展开。我会把Mini PCIe转PCIe/104 OneBank这件事讲透为什么有人要做这种转换、OneBank接口的规范和信号到底长什么样、设计或选型时哪些地方最容易翻车、上电之后系统枚举和驱动排错怎么排查以及这块卡实际能跑多少性能。内容既适合做嵌入式硬件设计的工程师参考也适合正在做老设备功能扩展、选型采购的朋友避坑。1. Mini PCIe与PCIe/104 OneBank为什么会被塞到一起1.1 PC/104家族的老江湖与新需求PC/104体系在工业、交通、军工和医疗设备里的地位一直很稳。它的核心特点是尺寸紧凑、堆叠式安装、抗振性强板卡之间靠上下层连接器直接咬合整机可以做成非常坚固的密封箱体。从最早的ISA总线PC/104到PCI-104再到PCIe/104总线标准一路演进但机械框架没怎么变。PCIe/104是这个家族里比较现代的分支用PCIe链路替代了并行的PCI总线。实际工程中常见的PCIe/104板卡有的提供x1通道有的提供x4甚至更多通道具体取决于板卡占用了哪几个Bank以及主板上的PCIe Switch或Root Port怎么分配。问题在于PCIe/104在行业里属于相对垂直的小生态供货的模块厂商就那几家可选的外设模块数量有限。而我们平时接触的Mini PCIe模块可就太多了WiFi/BT无线模组、4G/5G通信模组、NVMe固态盘、硬件加密卡、视频采集卡、串口扩展卡几乎每种功能都能找到成熟产品而且价格便宜、供货稳定。一边是设备主板上只有PCIe/104接口一边是市面上大量价廉物美的Mini PCIe模块打通两者就成了很自然的工程需求。Mini PCIe转PCIe/104 OneBank扩展卡解决的就是这个匹配问题。1.2 Mini PCIe模块生态确实诱人Mini PCIe接口的正式名称是Mini PCI Express物理上采用52引脚的小型板边连接器常见全高尺寸为50.95mm × 30mm半高尺寸为26.8mm × 30mm。虽然它和mSATA、M.2在物理上都属于小型化接口但Mini PCIe在通信模组、工业采集模块上的使用非常广泛生态成熟度相当高。对于设备维护人员来说用Mini PCIe模块做扩容还有一个好处很多模块是即插即用或者只要装通用驱动就能跑起来的不需要改固件、改系统镜像。比如插一块Mini PCIe转双千兆网口的模块系统识别后就是两个标准网卡插一块Mini PCIe加密卡上层应用直接调用标准接口。这种“不折腾”的属性在老旧设备升级时尤其加分。1.3 两类场景最能体现价值第一类是工业设备升级。一套运行了七八年的嵌入式工控机原来只跑了单一功能现在要增加通信能力或者加密能力但主板上没有空闲的M.2、没有标准PCIe x1插槽只有PCIe/104 OneBank预留口。这时一块Mini PCIe扩展卡就能把新功能模块挂上去而且不用改机箱开口整体结构还是原样。第二类是测试台架和实验设备。很多实验室里的采集、控制设备基于PC/104体系搭建研发人员要做方案验证希望快速接上看中的Mini PCIe模块但又不想为此重新画主板。用转接扩展卡做原型验证大大缩短了研发周期。等验证完成、确定了最终模块型号再针对性地设计一体化主板风险和成本都更低。2. 先把OneBank的“家底”摸清楚信号、Bank与物理形态2.1 PCIe/104接口的Bank体系PCIe/104在物理连接器上把接口划分成了几个Bank。常见说法里接口分为A、B、C、D四个Bank位置每个Bank对应一组特定信号。有的板卡只做一个小连接器占一个Bank有的做两个连接器占两个甚至更多Bank。OneBank在PCIe/104语境里并不是规范中的正式术语而是工程上的俗称。它指的是只占用其中一个Bank连接器的配置。对于Mini PCIe扩展卡来说一个Bank通常就够用了因为Mini PCIe本身也只是一条PCIe x1链路外加一些控制信号。这里要特别提醒不同厂商的OneBank定义可能有差异。有的厂商把OneBank定义为只提供PCIe x1信号不包含传统PCI并行信号有的则会在一组Bank里同时引出SMBus、电源和辅助信号。所以选型或设计前一定要翻对应厂商的接口定义手册不要想当然把两个标称OneBank的板卡直接堆叠对接。2.2 OneBank关键信号与引脚一个典型的PCIe/104 OneBank接口核心信号和标准PCIe插槽的x1信号基本一致只是物理形式从金手指换成了高密度板对板连接器。关键信号如下信号类别信号名称作用说明PCIe发送PETp0 / PETn0发送差分对主设备到从设备方向PCIe接收PERp0 / PERn0接收差分对从设备到主设备方向参考时钟REFCLKp / REFCLKn100MHz差分时钟由主板或时钟Buffer提供复位PERST#复位信号用于链路初始化时钟请求CLKREQ#开漏信号用于ASPM电源管理唤醒WAKE#开漏信号用于唤醒系统管理总线SMB_CLK / SMB_DAT用于读取模块信息、管理功能供电3.3V / 5V / 12V视具体板卡设计而定和标准PCIe插槽不一样的是PCIe/104的连接器引脚间距小插拔力、接触可靠性都要靠连接器本身保证。堆叠安装时要注意下层板卡的信号到上层板卡之间可能引入额外的连接器寄生电容和阻抗突变这也是后面信号完整性处理时绕不开的问题。2.3 物理尺寸与堆叠形式PCIe/104板卡的通用外形参考了PC/104系列长宽大约在90mm × 96mm量级与PC/104传统尺寸保持一致方便上下堆叠。Mini PCIe转PCIe/104 OneBank扩展卡一般是在PCIe/104板卡上预留一个Mini PCIe连接器位同时通过OneBank接口与主板连接。机械上要注意两点一是Mini PCIe连接器的朝向要和整机散热风道、模块天线位置匹配二是堆叠高度Mini PCIe模块插在板卡上之后会凸起一定高度如果上层还有别的板卡堆叠必须先算好空间余量。很多工程师在实际项目里栽过跟头板卡画好了结果Mini PCIe模块装上去之后顶着上层板卡最后只能返工改结构件。3. 从Mini PCIe到OneBank桥接设计中最容易翻车的地方3.1 Mini PCIe信号与OneBank的对应关系拿到一款Mini PCIe扩展卡如果想要理解和验证它的设计或者自己画一块类似的转接板最核心的就是把Mini PCIe 52引脚里的信号和PCIe/104 OneBank接口对应起来。Mini PCIe连接器上的关键信号和OneBank接口之间几乎是一对一的映射Mini PCIe侧信号OneBank侧信号说明PETp0 / PETn0PETp0 / PETn0发送对直连PERp0 / PERn0PERp0 / PERn0接收对直连REFCLKp / REFCLKnREFCLKp / REFCLKn100MHz时钟视模块需求做直连或缓冲PERST#PERST#复位需要满足时序CLKREQ#CLKREQ#开漏信号必须有上拉WAKE#WAKE#开漏信号需要有上拉SMB_CLK / SMB_DATSMB_CLK / SMB_DAT管理总线一般直连3.3V3.3V主供电注意去耦GNDGND地必须保证完整回路Mini PCIe模块上有部分引脚是功能预留比如UIM卡接口、SIM卡供电、W_DISABLE无线开关等这些在转接设计中通常不连接但要在PCB上做合理的处理不要引出干扰信号也不要空置成天线。3.2 时钟、复位与电源管理时序PCIe链路能否稳定训练起来很大程度上取决于三个信号参考时钟、复位时序和电源管理握手。很多“插上不识别”的问题七成以上是这三个环节出了问题。先看参考时钟。PCIe链路要求接收端有100MHz差分参考时钟Mini PCIe模块同样依赖这个时钟。如果OneBank接口直接提供了REFCLK且走线不远直连就可以如果走线较长或者一个时钟源要分给多个设备就必须加时钟Buffer。PCIe规范里对时钟的抖动要求很严格尤其是Gen2、Gen3速率下时钟抖动超标会造成链路训练失败或者误码率升高。再看复位。Mini PCIe规范里PERST#需要满足电源稳定后的时序要求主电源3.3V稳定之后PERST#要维持一段时间的低电平再释放拉高让设备开始枚举。如果复位时序不对设备可能在电源还没稳定时提前初始化导致Link Training失败。还有一个经常被忽略的CLKREQ#。Mini PCIe模块的CLKREQ#是开漏输出用来控制参考时钟的开与关。在某些ASPM电源管理方案里系统会通过CLKREQ#来判断设备是否需要时钟从而关闭空闲设备的Refclk。如果转接板设计时CLKREQ#没有接上拉或者上拉电平不对链路可能训练到一半就Hold住系统里反复出现设备消失。实测里最常见的问题就是CLKREQ#悬空导致设备在低功耗模式下唤醒不回来。3.3 信号完整性处理PCIe是高速差分信号到了Gen2、Gen3之后Layout要求比普通的并行总线严格得多。Mini PCIe转OneBank板卡虽然走线距离短但绝不能因此在Layout上马虎。差分阻抗方面PCIe链路一般建议按85Ω到100Ω的差分阻抗控制具体以所使用连接器和Mini PCIe模块的参考设计为准。因为连接器本身的寄生参数会拉低阻抗很多设计会刻意把板内走线目标值稍微调高一点补偿连接器带来的阻抗跌落。AC耦合电容是另一个常见坑。PCIe规范要求在发送端串接交流耦合电容典型容值为100nF。Mini PCIe模块内部通常会自带这个电容但有些转接板为了“保险”又加了一颗结果两级串联成50nF虽然仍在范围边缘但会导致信号低频分量衰减眼图变差链路训练后的稳定性也会受影响。正确的做法是先看Mini PCIe模块的参考电路如果模块内部已经集成耦合电容转接板就不要再重复串。走线等长也要盯紧。差分对内等长建议控制在5mil以内发送对和接收对之间的长度差不要拉得太大否则会导致串行链路中收发时钟的相位裕量不足。过孔方面每对差分线尽量避免多余的过孔如果必须打过孔换层要在过孔旁边加回流地孔保证参考平面连续。3.4 电源与机械结构Mini PCIe模块的供电主要以3.3V为主部分模块还需要5V或12V辅助供电。OneBank接口如果只提供了3.3V而模块需要12V转接板上就得加DC-DC转换电路这时要特别留意电源纹波和瞬态响应。PCIe设备在链路训练或高负载读写时电流变化很大电源如果扛不住瞬态跌落会导致模块掉卡、重启甚至丢数据。机械方面Mini PCIe模块通过两个固定螺柱或者卡扣固定在板卡上。在振动环境下光靠连接器本身接触还不够一定要用螺丝锁紧。如果使用的工业级Mini PCIe模块是半高尺寸可以在板卡上预留两种安装孔位兼顾全高和半高模块后续换模块时不用改板。4. 上电之后才是硬仗枚举、驱动与“卡不认”的排错全流程4.1 BIOS/固件如何看到这块卡Mini PCIe扩展卡接上之后第一关是PCIe链路训练。链路上电后主设备和从设备需要通过物理层的握手完成Link Training协商出速率和通道数然后进入系统枚举阶段。如果BIOS/固件里能看到“PCIe Link Up”相关日志说明物理链路已经通了。接下来就要看配置空间的读取。每个PCIe设备都有独立的Vendor ID和Device ID系统靠这些ID匹配驱动。像Mini PCIe转串口卡、转网口卡这类设备配置空间里除了PCIe功能还可能暴露一个桥接芯片ID系统要先识别桥接芯片再识别下游功能设备。在BIOS设置里如果板卡支持PCIe速率切换可以先把速率固定在Gen1测试排除高速率下信号裕量不足的问题。如果板卡上有PCIe交换机或者桥芯片还要确认固件是否正确枚举了下游端口有些老BIOS对PCIe/104上的设备支持不完善需要刷新固件版本。4.2 系统端的验证动作Linux系统下最直接的验证命令是lspci。确认设备出现在PCIe总线上lspci -tv lspci -vvv -s 03:00.0lspci -tv能直观看到PCIe树形结构如果设备出现在对应总线下方说明链路训练和枚举都成功了。再配合dmesg | grep pci查看内核日志确认是否有链路降速、中断冲突之类的警告。Windows下的流程也很类似打开设备管理器看是否出现未知设备或者带感叹号的设备。如果出现了未知设备首先查看其硬件IDHardware ID确认Vendor ID和Device ID然后在系统或厂商官网上匹配驱动。这个思路和给手机装ADB接口驱动很像设备硬件本身已经枚举出来了但系统缺一个识别它的软件层只有装上对应驱动后功能才真正可用。4.3 实际踩坑链路不识别、掉卡、电源选项消失我调试这类转接板时踩过几个比较典型的坑整理成排查链路供参考现象可能原因检查顺序系统完全看不到设备链路训练失败、接触不良、复位时序错误重插板卡、用lspci确认总线号、BIOS里把PCIe改为Gen1设备出现在未知设备里缺厂商驱动、桥芯片驱动未装查看HWID匹配驱动先装桥芯片驱动再装功能驱动系统休眠唤醒后设备消失CLKREQ#、WAKE#信号处理不当、ASPM问题检查BIOS里ASPM设置临时禁用L1 Substates测试设备管理器里没有“电源管理”选项卡驱动未正确安装、BIOS未启用ASPM更新官方驱动BIOS里打开PCIe ASPM开关高负载时设备掉卡电源纹波过大、散热不良、连接器接触不良示波器抓3.3V跌落检查固定螺丝加强散热板卡能识别但吞吐极低链路降速到Gen1、单通道瓶颈lspci -vvv看LnkSta速率检查是否被设置为x1低速模式其中“设备管理器里没有电源管理选项卡”这个现象值得单独说一句。很多人会以为这是驱动或接口本身的问题实际上PCIe设备要出现“允许计算机关闭此设备以节约电源”这类电源管理选项需要同时满足两个条件系统固件开启ACPI和ASPM相关项驱动支持PCIe电源管理状态转换。很多转接板自带的通用驱动不支持这些能力所以选项消失是正常现象不代表硬件故障。还有一种情况是设备在Windows里能识别但拷贝大文件时报错、断连。这时优先怀疑供电和散热。Mini PCIe转网卡、转NVMe这类高功耗模块在满负载下功耗可能接近10W甚至更高如果转接板供电设计裕量不足或者板卡周围散热条件差就会出现这种诡异的不稳定现象。5. 实测数据OneBank通道到底能跑多快、稳不稳5.1 理论带宽与实测影响因素PCIe x1链路在不同代际下的理论带宽如下这是评估转接卡性能的基准PCIe代际编码方式每通道单向速率单向有效带宽双向合计Gen18b/10b2.5 GT/s250 MB/s500 MB/sGen28b/10b5.0 GT/s500 MB/s1000 MB/sGen3128b/130b8.0 GT/s约985 MB/s约1970 MB/s实测值很难打满理论带宽原因有两类一是协议层的TLP头、完成包等开销占掉一部分二是实际设备如果本身处理能力有限带宽就上不去。比如同样是Mini PCIe转千兆网卡链路速率Gen2 x1就绰绰有余瓶颈在千兆网口的物理层但如果插的是Mini PCIe NVMe固态盘实际吞吐就会明显受限于x1带宽。5.2 用一块NVMe转接卡实测我在项目上测试过Mini PCIe转PCIe/104 OneBank接NVMe固态盘的组合。测试平台是PCIe/104主板配一块X86处理器板卡转接板接半高Mini PCIe NVMe盘。实测结果大致是这样的在PCIe Gen3 x1链路下顺序读取速度稳定在880MB/s左右顺序写入约800MB/s距离理论带宽985MB/s已经比较接近再往上的空间主要是协议开销。随机4K读写的IOPS明显受限于x1链路延迟和直接插在主板M.2 x4槽比起来差很多这个结果符合预期。这个数据说明一个道理OneBank通道非常适合存储密度要求高、但带宽要求不那么苛刻的场景。如果只是用来做小容量启动盘、日志盘完全够用如果要用作高速数据仓库x1带宽就是瓶颈。5.3 稳定性与散热连续满载读写跑了两个小时用热成像看转接板上的主控和Mini PCIe模块表面温度最高点在NVMe盘主控附近大概到85℃上下。这个温度在工业环境里已经偏高了需要确保机箱内有风道或者贴导热垫到金属外壳上散热。散热问题在实际项目中是隐藏的“不稳定源”。很多模块在常温下测试没有问题装机到密闭机箱后连续运行数小时温度升高后出现掉盘、链路重训练排查非常痛苦。我的经验是凡是Mini PCIe模块无论功耗高低装机前都要做一次持续高温老化测试温度阈值得比实际环境再留出20%以上的余量。6. OneBank够用吗选型参考与几条扩展思路6.1 适合的业务无线模组、加密、低速采集、工业网关从性能和实用性来看Mini PCIe转PCIe/104 OneBank扩展卡最适合的设备是一类可以称为“轻量化外设”的模块。WiFi/BT模组、LTE/5G通信模组、加密卡、多串口卡、低速数据采集卡这些模块的带宽需求普遍在几百MB/s以内x1链路完全满足。比如一个双频WiFi 6 Mini PCIe模组的实测吞吐通常只有几百Mbps换算成字节也就几十MB/s在Gen1速率下都跑不满。加密卡的性能瓶颈在主控芯片而不在PCIe链路。所以对这些模块来说OneBank接口不仅不构成瓶颈反而因为占用空间小、堆叠灵活变成一个优点。6.2 不适合的业务高带宽存储、视频采集、GPU加速如果要用Mini PCIe模块做高带宽视频采集、AI推理卡或大容量NVMe阵列OneBank的x1通道会非常吃紧。以1080P60无压缩视频采集为例单路数据率就接近3Gbps比Gen1 x1的2.5GT/s还高即使按有效带宽算也撑不住。这类高带宽需求适合走PCIe x4或更多通道的接口方案要么改用占用多个Bank的PCIe/104板卡要么通过PCIe Switch扩展。选型时先算清楚峰值带宽需求再反过来定接口方案可以省掉后面很多返工。6.3 接口不够用时的升级路径如果项目初期用了OneBank板卡后续发现接口不够用一种升级路径是换成占用两个Bank的PCIe/104主板或者选用带PCIe Switch的扩展板把一条上游x4拆分成多个下游x1口。这样一来原来只有1个Mini PCIe位的系统可以扩展成3到4个Mini PCIe设备位对多模块设备来说很实用。另一种思路是直接用Mini PCIe转多口设备的功能卡。比如一块卡上集成两个千兆网口或四个串口占一个OneBank接口却提供多路功能是解决接口数量不足的捷径。这类卡在设计时需要额外注意板载网卡芯片或串口芯片的散热和驱动支持。选型时还要看几个容易遗漏的细节Mini PCIe连接器是全高还是半高板卡上是否预留串口、SIM卡座位置天线连接器的朝向是否方便引出。这些细节不决定功能但决定你装进机箱后好不好用。我自己的经验是给老设备做功能扩展先别急着看带宽数字先想清楚要装的模块长期运行时的功耗、散热和驱动维护这“三件套”。OneBank接口的定位本来就是轻量级、嵌入式、长期在线它最舒服的姿态就是把功耗低、体积小、生态成熟的Mini PCIe模块稳稳承接住。只要选型对路这块小扩展卡能让老旧PCIe/104设备再多服役很多年。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价