简介:《OCP NIC 3.0 Design Specification Version 1.5.0 - Release》是一份由OCP服务器工作组下属网卡子组编写的官方设计规范,面向服务器硬件设计、网卡研发与数据中心基础设施工程师。文档发布于2024年9月,系统定义了OCP网卡3.0版的机械结构要求,涵盖SFF、TSFF、DSFF、TDSFF等多种形态的卡槽尺寸、散热设计、安装方式及禁布区域,并区分了网卡与非网卡使用场景。其中概述部分说明了设计理念与适用范围,机械部分则对卡板外形、定位销、连接器位置和散热器接口等给出具体指标,以确保不同厂商产品间的兼容性和可维护性。资源为单个PDF电子文档,压缩包大小20.73MB,便于检索阅读。目前已有423人学习浏览。通过该规范,读者可完整掌握OCP NIC 3.0的机械设计要求,理解网卡与机箱/主板的接口匹配逻辑,减少设计返工,并为参与OCP生态产品的兼容性验证提供重要参考。
1. OCP NIC 3.0 规格 1.5.0:一张网卡的机械尺寸,凭什么决定整机散热与信号预算
拿到 OCP NIC 3.0 Design Specification Version 1.5.0 - Release 这份规范时,很多硬件同事的第一反应是:这不就是一张网卡的机械图纸吗?直到某次改版项目里,我把一块支持高速端口的网卡从标准 PCIe 卡位移进 OCP 槽位,才发现散热片高度、托架方向键、PCIe 布线过孔,每一处都要重新过一遍。这套规范真正解决的是数据中心场景里网卡的互换性问题——用统一的机械尺寸、插槽定义、电源时序和散热接口,让不同供应商的网卡在同一台服务器里即插即用。对系统硬件工程师、散热与信号完整性工程师,以及做服务器选型的运维同学,这套规范决定了你能塞进去多高的散热片、跑多高的 TDP、走多宽的 PCIe 通道。读完这篇文章,你会知道从选型到验证该按什么顺序推进,哪些参数必须先定,哪些坑可以提前躲开。
2. 从机械尺寸开始读规范:zHeight、卡类型与托架怎么选
机械部分是整份规范里最不能跳过的内容。很多设计翻车不是死在电路上,而是死在卡装进去之后散热片顶到了机箱盖板,或者托架锁不紧导致金手指接触不良。OCP NIC 3.0 引入了一套和传统 PCIe 卡完全不同的固定逻辑,先把这个搞清楚,后面所有工作才站得住。
2.1 zHeight 三档位:先定卡高,再谈散热方案
zHeight 是 OCP NIC 3.0 规范里最核心的机械参数,它描述的是卡上器件最高点相对于卡 PCB 基准面的高度,规范按高度分成三个档位。档位越高,留给散热片和元件的高度余量越大,但代价是卡在机箱里占用的纵向空间越大,对气流通道的挤压也越明显。
我一般会先列三个数:网卡 TDP、机箱允许的入口风温、槽位上方剩余的可用高度。TDP 在 30W 级别的卡,用最低档位配合一块薄散热片通常就能压住;到了 75W 以上,必须选高档位,否则散热片体积不够,光靠风流拉不动温度。反过来,如果机箱是 1U 高度,纵向空间本来就紧,高档位卡会把整个散热风道堵掉大半,这时候就得考虑主动散热方案。
选档位的另一个依据是器件高度规划。网卡主芯片、电源模块、连接器的高度不能超过档位限高,不然装进机箱会顶到盖板或者相邻模块。我习惯在做 PCB 布局前,先把所有关键器件的高度汇总成一张表,和档位限高逐项比对,留出 2mm 以上的装配余量。很多项目都是到了试产装机的环节才发现某颗电容超高,临时改板报废一批,这种血泪经验一次就够。
需要说明的是,规范里各档位的具体高度数值和公差,要以你实际拿到的 1.5.0 版本附表为准。设计评审时图纸标题栏里要写明档位和版本号,避免后续改版时大家对错参数。
2.2 卡类型选型:全尺寸与半尺寸的应用取舍
OCP NIC 3.0 的卡按尺寸和出线方式分成几种类型,常见的是全尺寸卡和半尺寸带托架卡。全尺寸卡 PCB 面积大,能摆下更复杂的电源树和更大的散热片,适合高速端口的旗舰网卡;半尺寸卡短一截,适合对机箱深度敏感、后面板出线位置受限的场景,但板上布局会更拥挤,散热面积也要精打细算。
选型时先看端口数量和端口速率。端口多、还要支持高速率,PCB 上要放的连接器、PHY、电源转换电路都更多,全尺寸基本是唯一选择。如果只是管理口或者低速率业务口,半尺寸能省出宝贵的内部空间,让给硬盘或者别的模块。但要注意,半尺寸卡的托架出线方向和全尺寸不一样,交换机的线缆管理方式也要跟着调,不然机柜里走线会别扭。
我遇到过最典型的场景是 1U 存储服务器,前面板全是硬盘,后面板只剩两三个卡位。这种机器里半尺寸卡明显更实用,能把卡位密度提上来。但半尺寸卡的 PCB 布局难度大,电源和信号布线挤在一起,做信号完整性仿真时要多花一倍时间,这个成本要在项目排期里提前算进去。
2.3 托架与锁附:SFF 形态的固定逻辑,和 PCIe 金手指完全不同
传统 PCIe 卡是靠金属挡板锁在机箱后窗上的,卡的前端悬空。OCP NIC 3.0 完全不是这个逻辑:卡插在主板上的连接器里,通过托架和锁扣机构固定在托盘上,后面板不再承担主要承力。这个区别在振动环境下特别重要,托架锁不紧,金手指会因为微动磨损产生瞬断,网络就会出现随机丢包甚至链路闪断。
固定设计上有几个细节我每次评审都会重点看。第一是方向键,规范和连接器都定义了防呆结构,保证卡不会插反;第二是锁紧力矩,锁扣拧太紧会压坏 PCB,太松则托架在振动中位移,这个参数供应商会在规格书里给,装配工艺文件里必须写明;第三是托架的刚度,全尺寸长卡在高速气流中受到的风阻不小,托架太软会把振动放大传导到连接器上。
还有一个容易忽视的点:卡的重心离固定点越远,悬臂效应越明显。高速网卡上散热片通常比较重,重心往往偏向卡的后端,长时间振动下托架根部容易疲劳。我一般会在设计阶段做个简单的重心估算,如果重心超出连接器固定点太多,就要求网卡厂商在卡上加辅助支撑点,或者改用更强的托架材料。
2.4 版本 1.5.0 的 Release 状态对设计评审的意义
Version 1.5.0 - Release 这个版本状态在硬件开发流程里有实际意义:Release 表示规范内容已经冻结,可以把它作为设计基准锁定下来。规范类文档在 Draft 阶段可能改引脚定义、改机械尺寸,你要是照着草稿画了板,新版一发布,前面几周的工作可能全部推翻。
我习惯在项目启动时就把规范版本号登记进设计输入文件,并且只在 Release 版本发布后才开始画原理图和 layout。如果项目必须提前启动,就用带 Revision 的草稿版本,同时在图纸上标注"待 Release 确认",等正式版出来逐项比对差异。这种版本管理习惯能省掉大量返工。
还要提醒一点:网卡连接器供应商的规格书也要和规范版本对上。连接器的机械寿命、插拔力、锁扣行程这些参数,供应商会按某个规范版本做认证,混用不同版本可能导致锁扣匹配不上。采购下单时我会在物料描述里写清楚"兼容 OCP NIC 3.0 规范 1.5.0 Release",把约束传递到供应链。
3. 功耗与散热设计:TDP 预算怎么做,被动与主动散热怎么选
散热是整个 OCP NIC 3.0 设计里最容易被低估的环节。原理图能照着参考设计画,散热却必须结合你的机箱、风流、环境温度单独算。网卡所在的位置通常在 CPU 散热器的下游,入口风温已经不低了,如果还按常温低估 TDP,温度跑起来会非常被动。
3.1 先按 TDP 分档,再反推机械空间
拿到一块网卡,第一件事不是看端口速率,而是查它的 TDP 和典型功耗。TDP 决定了散热片体积、是否需要主动风扇、以及电源模块的规格。功耗规格在网卡的数据手册里都有,没有的话就直接拿最大配置实测,别信销售嘴里的"一般也就二三十瓦"。
分档逻辑我按经验分成三档:低功耗档大约在 25W 以下,被动散热加低档位 zHeight 就够;中功耗档在 25W 到 50W 之间,需要加大散热片面积,并确认机箱风流能覆盖到卡的上方;50W 以上基本要考虑主动散热,或者把卡放在独立风道里,不能和 CPU 抢气流。
分档之后反推机械空间:散热片体积约等于功耗除以允许温升再除以换热系数,这个估算公式能快速判断当前机箱高度够不够。算出来散热片高度接近甚至超过档位限高,就要果断升级 zHeight 档位或转主动散热,不要硬压。以前做过一块卡,TDP 估算保守了 15W,结果老化测试时网卡芯片温度贴着上限跑,最后只能降额使用,性能白丢了一截。
3.2 被动散热设计:风流、散热片与机箱阻力
被动散热不是"不加风扇就完事",而是用机箱系统风流把热量带走。网卡散热片的设计要同时满足两个方向的要求:顺着风流方向排列鳍片,让气流顺畅通过;同时保证散热片底部和发热芯片的接触热阻够低。
实际设计时,我会先确认机箱里网卡位置的风速。很多 1U 机箱经过硬盘笼之后风速掉得很厉害,网卡又在 CPU 散热器后面,实际风速可能只有 1m/s 上下。这个风速下散热片的齿间距要放宽,太密了气流走不动,换热效率反而下降。齿间距和风速的匹配关系,散热仿真软件能算,但早期就用"风速低则齿距大"这个粗略规律做初步选型,能省不少仿真迭代。
被动散热的另一个重点是散热片固定方式。OCP 卡上的散热片通常用螺丝或卡扣固定在 PCB 上,固定点的位置要和 PCB 上的器件布局协调好,避免压到走线区域。散热片下面如果有多个发热源,还要考虑用均热板把热量摊开,不然局部热点会先超温。
3.3 主动散热设计:卡上风扇的供电与寿命
主动散热的卡在板上自带风扇,设计上要额外关注三件事:供电能力、风扇控制信号、和寿命可靠性。风扇启动瞬间电流是额定电流的好几倍,电源模块不能按额定功耗选,要留出启动峰值余量,否则上电瞬间电压跌落会让风扇转不起来或者网卡复位。
风扇控制信号通常走板上的管理接口,由系统通过 PWM 信号调速。设计时确认好风扇的 PWM 频率范围和控制电压,调速曲线要在物料选型阶段就定下来,不然系统管理固件那边没法匹配。风扇转速要能反馈,这样系统能看到风扇堵转或者停转并告警。
寿命方面,风扇是网卡上唯一有机械运动的部件,MTBF 比固态器件低一个数量级。我一般会选用双滚珠轴承风扇,并且提醒运维同学把网卡风扇纳入服务器的定期巡检项目。以前遇到过一次风扇异响,拆开发现轴承已经磨损,好在是热插拔的卡,直接替换没有中断业务,但这件事说明主动散热的卡在运维层面要多一个关注点。
3.4 散热验收条件:入口温度与温升判据
散热设计好不好,最终要看测试判据。规范里对网卡工作温度范围和测试条件有定义,验收时要按你实际机箱环境定入口风温,而不是拿着网卡在开放平台上测。开放平台上环境温度低、气流均匀,测出来的结果参考价值有限。
我习惯把验收条件写成三行:入口风温上限、网卡关键器件温升上限、测试持续时间。入口风温就按机箱在最恶劣工况下的实际温度取,比如 35°C 到 45°C 之间;温升上限按芯片规格书的结温倒推,留出 10°C 以上余量;测试时间至少要跑满 30 分钟让温度稳定,不能只看峰值。
测试时还要记录网卡功耗的实时值。功耗会随端口流量变化,流量拉满和空载差别很大。我做过一次对比,满载时功耗比空载高 40%,芯片温度差了十几度,所以验收测试必须把流量打满,否则就是自欺欺人。散热测试不通过时的排查顺序也有讲究:先看风流是否被挡,再看散热片安装是否贴合,最后才怀疑功耗估算,前两项是最常见的翻车点。
4. 信号与边带设计:PCIe 布线、管理链路与上电时序
机械和散热定下来之后,就是电路层面的工作了。OCP NIC 3.0 的连接器集成了高速差分信号、电源和低速管理信号三类引脚,每一类的设计约束都不一样。很多人只关注高速 PCIe 信号,忽略了边带和时序,结果调板时系统起不来,回头查才发现是管理链路的问题。
4.1 PCIe 通道分配与布线要点
OCP NIC 3.0 规范定义的 PCIe 通道数,按不同速率和卡类型有对应组合。做系统设计时,我建议按最大通道数做主板布线,即使当前只跑 x8,也把 x16 的布线空间留出来。高速信号布线最忌讳的是后期改版加通道,layout 全部要重推。
PCIe 布线在主板侧的要点和普通高速信号一致:差分对内部等长、对间等长、控制过孔数量、避免跨分割。但在 OCP 连接器这里是特殊情况,连接器引脚区域的空间很紧凑,过孔和扇出经常挤在一起,这时候我会要求 layout 工程师优先保证差分对内等长,对间等长放在第二优先级,并且给过孔做背钻,减少残桩对高频信号的影响。
速率越高,对连接器区域的阻抗连续性越敏感。连接器本身的引脚和过孔会产生阻抗突变,设计上可以通过调整走线宽度和参考层来做一定补偿。我一般会在连接器附近预留阻抗测试点,样板回来后先测 TDR,确认连接器区域的阻抗波动在可接受范围内,再点亮系统。测 TDR 这一步看起来麻烦,但能提前暴露很多布线问题。
4.2 边带信号:SMBus、NC-SI 与管理链路的连接
边带信号是 OCP 网卡和系统管理控制器之间的沟通渠道,典型功能包括带外管理、传感器读取和固件更新。这里的信号速率低,很多人就不当回事,但它们恰恰是设计问题的高发区。
我整理过一张信号类别对照表,设计评审时按这个清单逐项核对:
| 信号类别 | 典型信号 | 设计注意事项 |
|---|---|---|
| 高速数据 | PCIe 差分对 | 等长、背钻、TDR 验证 |
| 管理边带 | SMBus 数据/时钟 | 上拉电阻、地址配置、总线隔离 |
| 网络管理 | NC-SI | 链路速率匹配、信号完整性检查 |
| 状态指示 | LED 输出 | 驱动能力、极性定义 |
| 辅助电源 | 待机电源 | 上电时序、电压跌落 |
SMBus 最常见的坑是地址冲突。一块主板上有多个 OCP 卡位,每个卡的管理器件默认地址可能相同,系统管理固件扫描时就会识别错乱。解决方式是利用规范里定义的地址配置引脚,在每块卡上设置不同的地址,或者在主板侧做总线分片隔离。
NC-SI 是网卡和系统管理控制器之间传管理流量的链路,它在系统没启动时也要工作。设计上要确认 NC-SI 的时钟和复位信号在待机电源下就能稳定供给,不然管理流量会时断时续。另外 NC-SI 走线虽然速率不算高,但也要按差分信号处理,控制好参考层,别在布线时随意跨分割。
4.3 电源域与上电时序:最容易栽跟头的部分
OCP NIC 3.0 卡上通常有主电源和待机电源两个域。主电源给高速电路和端口供电,待机电源给管理电路和唤醒逻辑供电。两个电源域的上电顺序有要求,顺序错了卡就可能工作异常,表现为系统里识别不到设备,但硬件看起来又没坏。
设计时要重点关注两个时序关系:一是待机电源相对主电源的先后关系,管理电路要先于高速电路上电,这样卡能正常响应系统的电源管理命令;二是复位信号相对电源稳定的关系,PCIe 的 PERST、管理复位都要等电源稳定之后再释放,否则复位期间逻辑状态不确定。
我见过一次现场排查:某台服务器网卡间歇性识别不到,重启一次就好,但过几天又犯。查到最后是主板侧给卡供电的电源模块响应慢,上电瞬间电压爬升时间超出卡的规格,导致卡上的电源监控芯片误判。换了一颗响应更快的电源模块就稳定了,问题整整查了一周,最后结论就是一个时序参数。从此之后,凡是新设计我必测上电时序波形,而不是只信原理图。
5. 落地避坑:OCP NIC 3.0 设计验证中的 5 个常见翻车点
这一章把我在 OCP NIC 3.0 项目里实际遇到的几个高频问题整理出来,每条都按现象、原因、解决三步写,方便你对照排查。这些坑单个看起来不大,但每个都能让项目延期一周以上,提前知道能省不少时间。
5.1 卡插上后系统识别不到 PCIe 设备
现象是网卡插槽里看得到卡,但 BIOS 里完全找不到设备,或者设备列表中一会儿有一会儿没有。
原因大概率是机械接触问题,而不是电路故障。OCP 卡的锁扣没锁到位,金手指没有完全插入连接器,或者卡在托架上装偏了,导致部分引脚虚接。尤其是边缘的连接器引脚,虚接了很难从外观上发现。
解决方法是先重新插拔,确认锁扣到位并听到"咔哒"声;然后用万用表测连接器引脚和卡金手指之间的通断,重点测电源和复位引脚;如果排除了接触问题,再查上电时序。
5.2 高温老化时网卡出现链路降速
现象是常温下一切正常,老化机房高温测试时,网卡端口速率从最高档降到低一档,日志里大量误码计数。
原因是高温下信号完整性劣化,或者散热不足导致芯片温度超限后触发降速保护。高速信号对温度很敏感,温度升高后信号抖动增大,误码率上升,链路会自动协商降速来维持可用。
解决时先看芯片温度:如果温度已经顶到规格上限,优先解决散热;如果温度正常,就要测高速信号的眼图和误码率,定位是主板走线问题还是网卡自身信号质量问题。散热和信号这两条路,前者多发生在夏季项目,后者多发生在高速率新设计上。
5.3 边带管理链路不通,BMC 看不到传感器
现象是操作系统里网卡工作正常,但管理界面无法读取网卡温度、功耗等传感器数据,或者固件版本信息显示不出来。
原因通常出在 SMBus 总线上。可能原因包括:总线上拉电阻没接或阻值不对、卡片地址冲突、或者是设计里做了总线隔离但没有正确使能。
解决方法是先用逻辑分析仪抓 SMBus 波形,看有没有时钟拉伸、有没有 ACK。然后检查地址配置引脚的电平是否按预期设置,最后确认管理控制器侧的 I2C 控制器有没有正常接管总线。管理链路不通不影响业务流量,所以很容易被忽略,但它直接影响运维效率。
5.4 风扇卡启动瞬间系统电压跌落
现象是插上带风扇的主动散热网卡后,开机瞬间系统出现重启或者网卡反复复位,有时候还伴随其他硬盘掉盘。
原因是风扇启动浪涌电流叠加在电源上,超过了该路电源的瞬态响应能力,导致电压跌落超出规范范围。
解决方法是确认卡上风扇的启动电流参数,选择浪涌电流更小的风扇;或者在电源模块选型时提高瞬态响应指标,增加储能电容。我在设计里会把风扇供电单独走一路,并在靠近连接器处加一组去耦电容,实测能有效抑制电压跌落。
5.5 托架锁紧后卡体倾斜,金手指受力不均
现象是卡装好后看起来是正的,但用手指按压卡的前端时,能感觉到有明显的晃动,长时间运行后偶发链路中断。
原因是托架和卡之间的配合间隙偏大,或者锁扣的结构刚度不足。OCP 卡是插在水平方向的连接器上,卡体水平悬空,如果托架不能把卡的后端有效托住,卡体会因为重力自然下垂。
解决方法是按规范检查托架的尺寸公差,确认卡在托架上的支撑点位置是否合理;如果锁扣本身没问题,就在卡上加辅助支撑,比如在机箱上做一个支撑导轨,减小卡体悬臂长度。
6. 进阶技巧:用三张检查表把 OCP NIC 3.0 设计与评审一次做扎实
设计评审最容易犯的毛病是各看各的:机械工程师只看装配干涉,硬件工程师只看原理图,散热工程师只看仿真报告。等所有专业都签完字,问题往往出在交接缝隙里。我后来养成了一个习惯,用自己的三张检查表把评审串起来,效果明显比各专业自由发挥好。
第一张是机械检查表。核心三项:zHeight 档位与散热片高度是否匹配、托架锁扣行程是否到位、卡的重心与支撑点是否合理。评审时把这三项对应的图纸页和公差标注拿出来,当场核对,不放到会后。
第二张是散热检查表。核心三项:TDP 档位和实测数据是否一致、网卡位置的风速是否在仿真里被正确建模、验收时入口风温是否按最恶劣工况取值。每一项都要有数据支撑,没实测数据的用仿真结果,仿真也没有就直接标"风险项"。
第三张是信号与电源检查表。核心三项:PCIe 高速线的 TDR 测试结果、SMBus 地址配置核对记录、双电源域上电时序波形。这三项只要有条件,我都要求在样板阶段实测,不接受"参考设计没问题"这种说法。
这三张表本身就是很好的文档,评审会开完,直接作为项目交付物归档。后面万一产品出了问题,拿着表复盘定位也很快。我在这个方向最后一条心得是:规范是死的,系统是活的,任何检查表都比不过"先算后画、先测后评"这八个字。希望这些从项目里磨出来的东西,能帮你少踩几个坑。
本文还有配套的精品资源,点击获取