简介:《BTX Specification v1.0b》是英特尔于2005年发布的BTX主板架构接口规范文档,面向硬件工程师、主板设计人员、PC散热研究者及计算机体系结构学习者,用于理解ATX在处理器功耗与发热增长背景下的散热瓶颈及BTX的平衡化设计思路。压缩包仅含1个PDF文件,大小约298KB,保留规范原文的免责声明、版权许可、修订记录与目录结构,并记录1.0b版本新增nanoBTX板型等信息。已有102人学习,适合作为主板布局、风道组织与散热路径优化的案头参考资料。读者可从中查阅BTX对发热组件位置、冷却风扇直吹热源、扁平化板型减少热积聚等设计要求的原始表述,也能了解规范使用条件、产品缺陷风险与兼容性挑战,为研究PC散热技术演进和主板结构变体提供可追溯的文本依据。
1. 一条直线决定散热成败:BTX 把散热问题从“换风扇”变成“排位置”
把一台机器的散热问题交给任何做过整机的人,第一反应通常是换更大的风扇、换更高的塔式风冷。btx这份在 2005 年 7 月更新到 Version 1.0b 的规范给出了另一条路:不改变风扇,先把 CPU、芯片组、内存、供电这些发热件在同一条直线上排开,让风只走一条道,从前脸进、从后窗出。它约束的对象是主板、机箱、电源、散热模块之间那几处必须严格匹配的接口,包括孔位、空间、承力点和上电时序;它并不关心某个零件怎么设计。理解这套接口约定,比记住“BTX 没流行”这个结论有用得多:今天机箱里前后贯通的风道、主板背面的加强背板、把散热器重量压在机箱骨架上而不再压在 PCB 上的做法,都能在这份文档的章节编号里找到出处。
2. 直线风道:BTX 为什么让 CPU、芯片组、内存排成一列
2.1 inline core layout:核心元件沿风道串联意味着什么
传统塔式机箱里,风扇基本是“哪里有空位就装哪里”:后窗一个排风扇,电源风扇再抽一把,前面板偶尔补一个进风扇,中间横着一块显卡、竖着几根内存。气流在这种结构里并不存在被明确规划的流路,而是被元件切得粉碎的湍流。CPU 散热器吸到的空气,往往已经先经过内存和显卡鳍片预热了一遍,温度比机箱外高十几度;而显卡又被 CPU 散热器的排风直吹,形成典型的“热风回灌”。
BTX 的做法是把这件事反过来做:先确定风道,再决定元件位置。规范的特性表把这条原则写成In-line core layout,配套的图 1 给出三种布局示例:从薄型一体机到全塔扩展机箱,CPU、芯片组、内存、扩展卡槽的相对次序保持一致,只是板宽和槽位数量在变。核心区沿进风方向串成一条线,热模块(thermal module)在这条线的头部,把 CPU 的热量收进一个带风道的罩子里。
这里有个容易被误读的细节:规范对热模块的定义里,除了散热器和风扇,还明确要求a duct to isolate and direct airflow。关键词是 isolate,隔离。也就是说 BTX 的结构并不打算让所有元件都吃串联风,它把 CPU 这股最热的气流用风道单独圈起来,直接送到机箱后部排出,其余元件则处在风道外侧的旁路冷风里。串联的是位置关系,不是热耦合关系。这个区别决定了后面所有机械接口的形状:因为要“隔离”,风道罩必须和机箱出风口贴合,一旦两者之间漏出缝隙,被隔离的热气就会泄回机箱内部,整个设计的前提就失效了。
从流体角度看,这个取舍也很清楚。风扇的送风量随系统阻抗上升而下降,把气流收进截面固定的短风道,阻抗低、风向确定,可以用低转速大直径风扇换来更低的噪声;反过来在开阔机箱里靠负压乱抽,想要同样的换热量就得上高转速小风扇,噪声和积灰都会快速恶化。
2.2 板型族谱:同一套孔位基准下的 picoBTX、microBTX、BTX 与 nanoBTX
规范第 3.1 节用一张Board Size Options表列出可选板型,核心思路是“一套基准、多个尺寸档位”。所有板型共享同一套安装孔位定义与参考基准面(Table 5 Reference Datums),差别主要在板宽和扩展槽数量:标准 BTX 能排到 7 条扩展槽,microBTX 收窄到 4 条,picoBTX 只留 1 条,1.0b 修订新增的 nanoBTX 连扩展槽都不保留,瞄准的是更小的一体机与薄型整机。
这种“缩放”而非“重定义”的做法,是接口规范里最省钱的一招。机箱厂商不需要为每个尺寸重新设计一套结构件,只要在几个档位上复用同一套孔位模板;散热模块厂商也只需要做两种高度规格(后面会讲到的 Type I 和 Type II),就能覆盖从全塔到薄型的全部机型。规范的修订记录写得很朴素:1.0 于 2003 年 9 月首发,1.0a 于 2004 年 2 月并入勘误 A,1.0b 于 2005 年 7 月加上 nanoBTX。一条修订记录背后,是把标准往更小的整机形态里再铺一层。
值得注意的是板型缩放的方向。板上元件密度不变的前提下,缩板宽意味着减少并行扩展能力,而不是压低单板功率,所以小板型并不是“低配版”,而是为不同整机形态准备的另一种取舍:一体机不需要 7 条槽,但同样需要一条完整风道。
2.3 换布局的真实收益与隐性代价
收益部分可以直接量化。风道确定之后,进风口到出风口的路径长度固定,机箱内部的死角和回流区被压缩,风扇工作点从“高阻抗乱流”移到“低阻抗定向流”,同等噪声下的换热量提升明显;同时因为热模块可以做成低矮的扁平结构(规范特性表里的Low profile options),整机高度能做下来,这对薄型桌面机和一体机是硬需求。再叠加第 4 章会讲的 SRM 承力结构,重型散热器的重量不再压在主板 PCB 上,主板的机械可靠性也跟着上了一个台阶。
代价同样明确,而且都是结构性的。CPU 插座的位置被风道起点固定死了,主板布线必须围绕这个位置重新规划内存与芯片组的相对次序,PCI Express 与常规 PCI 的槽位方向也要跟着调整;更要命的是,这套布局把主板、机箱、热模块绑成了一个整体,任何一个环节沿用旧件都会立刻失配。ATX 时代“主板随便换、机箱随便挑”的自由度,在这里被换成了“可预测的散热”。
这个交换值不值,取决于你站在哪个位置看。站在整机设计者角度,可预测性远比自由度重要;站在只想升级一块主板的用户角度,这就是灾难。BTX 后来的命运,很大程度上就藏在这句话里。
3. 体积区域:规范约束的其实是“空气和零件能占的那块空间”
3.1 基准面与高度上限:Zone 是怎么被量化出来的
大部分人对机械规范的理解停留在“孔位对得上就行”,而 BTX 里真正承重的部分是第 3.2 节的体积区域(volumetric zones)。它定义的对象是一块块空间,并非零件本身:以主板主面为高度零点,向上(元件面)和向下(焊接面)各自规定某个区域内元件允许达到的最大高度,图 4 和图 5 分别画出主面与副面的区域划分,表 7 给出每个区域类别的具体要求。
其中最关键的是 Zone A,也就是 CPU 与热模块占据的那块区域。规范在术语表里直接写明,热模块按 Zone A 允许的最大高度分成两型:Type I 是标准高度,Type II 是低矮型。这一句话把机械尺寸和散热能力绑在了一起:选 Type II 就意味着散热器高度受限,整机可以做得更薄,但你得接受更小的散热面积和更保守的功耗预算。
基准面这个概念必须单独强调。所有高度都是从某个明确定义的参考面(datum)量起的,而非“从板边量”或“从某个元件顶面量”。尺寸链上一旦基准选错,画出来的图每一张都自洽,装起来就是差几毫米。这类错误在样机阶段极难定位,因为每个零件的图纸单看都没问题。
3.2 主板侧与机箱侧的对偶约束:两个厂商各画一半
规范把体积区域拆成两半写:3.2.1 是主板体积区域,规定板上元件不许超过的高度;3.2.2 是机箱体积区域,规定机箱内的结构件、风道、驱动器架不许侵入的范围。这两个定义是严格对偶的,中间留出来的那片空白,才是热模块和气流真正能用的空间。
为什么要两边都写一遍?因为主板厂和机箱厂是两个完全独立的供应商,谁也不掌握对方的模型。规范能做的,只是把“你不许超过这条线”和“你不许低于这条线”分别写进两份文档,让两个厂商在互不见面的情况下,各自在自己那侧留出余量。这套机制能成立的前提,是双方都严格遵守同一个基准面和同一套公差定义;一旦有一方觉得“差一点点没关系”,装配现场就会变成返工现场。
换个说法:体积区域定义的是可用负空间,它不关心零件长什么样。这比定义零件外形要聪明得多——元件可以换、散热方案可以迭代,只要不越界,接口就还是兼容的。这也是这份规范里最值得借鉴的一层设计思想。
3.3 把 Zone 抄成数据结构做早期干涉校核
规范里的区域表是给人看的,但实际做设计时,最好在画第一版结构之前就把它变成机器可校验的东西。下面这段脚本做的事情很朴素:把区域高度上限抄成字典,把散热器堆叠高度算出来后直接比对,越界就报错。
# 结构示意:把规范 3.2 节的体积区域表抄成可计算的数据结构 # 高度以主板主面为 0,向上为正,单位 mm # 注意:下面这些数值只是演示用的占位值,实际必须以规范表格为准 ZONES = { "A_TypeI": {"desc": "CPU / 热模块区,标准高度", "max_height": 105.0}, "A_TypeII": {"desc": "CPU / 热模块区,低矮型", "max_height": 62.0}, "B": {"desc": "内存与供电区", "max_height": 38.0}, } def check_zone(zone_key, stack_mm): """stack_mm:从主板主面量到散热器顶面的累积高度 包含 socket、扣具、散热器本体、风扇与风道罩""" limit = ZONES[zone_key]["max_height"] clearance = limit - stack_mm if clearance < 0: return f"[超限] {zone_key} 超出 {abs(clearance):.1f} mm,风道罩会顶到机箱侧板" return f"[通过] {zone_key} 剩余余量 {clearance:.1f} mm" # 典型用法:三种候选散热方案逐个过一遍 for name, h in [("塔式", 112.0), ("下压标准", 96.5), ("下压低矮", 58.0)]: print(name, check_zone("A_TypeII", h))参数含义需要说清楚:stack_mm是尺寸链累积值,而不是散热器厂商标称的高度;socket 高度、扣具凸起、风扇厚度、风道罩的翻边,任何一项漏算都会让校验结果偏乐观。clearance为负不代表一定装不上,它代表“至少有一个零件必须改”,早发现比晚发现便宜一个数量级。
这段脚本真正的价值不在计算本身,而在于把“读规范”从人的记忆变成了代码里的常量。表 7 一改,脚本跟着改一行,所有方案重新跑一遍,不会有人凭印象说“上次这个高度是可以的”。
4. 承力与供电:SRM、热模块接口和电源时序契约
4.1 SRM:把散热器的弯矩从 PCB 转移到机箱
先把力学问题摆清楚。一块主板厚 1.6 mm 量级,四周靠几根铜柱支撑,中间悬空。上面坐一个重心在 60~80 mm 高处的塔式散热器,风扇一转、整机一搬,散热器就像一个悬臂梁,把弯矩全部灌进 PCB。PCB 本身是玻纤树脂层压板,抗弯刚度有限,长期载荷下会缓慢蠕变;焊在板上的 BGA 器件,焊球直径不到 1 mm,跟着板子一起弯,几个月后就是典型的间歇性接触不良——冷机点不亮、热机就好了,这种故障最难查。
规范给出的解法是第 3.3.2 节的 SRM(Support and Retention Module,支撑与固定模块)。术语表定义得很干脆:装在机箱上、位于主板下方,为主板及其元件提供结构支撑,同时为热模块提供固定。载荷路径因此从“散热器 → PCB → 铜柱”变成“散热器 → SRM → 机箱底盘”。PCB 只承受局部的小面积压应力,弯曲几乎被消除。
这个设计还有两个附带的约束条件。一是 SRM 必须与机箱有明确的机械接口(图 7、图 8 专门画了这部分),固定点位置、贴合面平面度都写死在规范里;二是 3.3.1 节的 EMC 接地要求,机箱与主板之间的接地通路不能因为加了 SRM 而断掉,否则结构强度上去了、电磁兼容测试反而过不去。工程上常见的做法是在 SRM 与主板之间保留接地弹片,装配后用万用表逐点测通断。
4.2 热模块接口:机箱、主板、SRM 三方各管一段
热模块是这份规范里最“跨界面”的零件:它同时接触主板(压在 CPU 上)、接触 SRM(固定与承力)、接触机箱(风道罩与出风口贴合)。规范 3.3.3 节专门定义机箱到热模块的接口要求,图 9 和图 10 把这三个面的关系画在一起,这实际上是在回答一个装配问题——谁来保证风道罩和机箱出风口对得齐。
答案是机箱。规范要求机箱提供明确的贴合面与定位特征,热模块以机箱为基准定位,而不是以主板为基准。这个选择很关键:主板本身有安装公差,如果热模块跟着主板走,公差会一路累积到风道罩边缘,缝隙大小完全不可控;跟着机箱走,缝隙只取决于机箱一个零件的加工精度,可控得多。
与之联动的还有后置 I/O 开口。3.3.4 节定义机箱侧的后窗开口,3.4.1 节定义主板侧的对应要求,两者必须同时满足才能装上挡板并保持密封。在 BTX 的布局里,后窗附近同时也是热风的排出通道,开口尺寸、位置、挡板上的开孔率都会影响排风阻抗,所以这部分不能当成纯钣金活来处理。
4.3 +5VSB / PS_ON# / PWR_OK:一次上电的三段式握手
电气部分最让人意外的一点是它几乎什么都没改。规范第 4.1 节定义的电源连接器与 ATX 家族兼容:主供电连接器加一路 +12V 辅助供电,针脚定义沿用既有约定。这是刻意的取舍——电源是标准化程度最高、出货量最大的部件,动它就等于让所有电源厂重新开模,而 BTX 需要的电流能力,现有连接器已经能给。
真正定义行为的是 4.2 节的信号:
| 信号 | 方向 | 机制作用 |
|---|---|---|
| +5VSB | 电源 → 主板 | 待机常供,主输出关闭时仍有效,负责唤醒逻辑与开机电路 |
| PS_ON# | 主板 → 电源 | 低电平有效,拉低即请求主输出开启 |
| PWR_OK | 电源 → 主板 | 输出进入容差范围后拉高,作为“可以启动”的许可 |
| 电压容差 | — | 表 13 按电压轨分别给出允许偏差,图 14 给出时序关系 |
这三个信号构成一次握手:主板拉低 PS_ON#,电源开始建立输出,等各轨都进入容差范围并稳定后,电源把 PWR_OK 拉高,主板收到许可才释放复位、开始取指。反向关机时顺序相反,PWR_OK 必须先掉,PS_ON# 才能抬起,保证 CPU 不会在欠压状态下继续跑。
顺序一旦被破坏,症状极其玄学:输出还没稳就拉高 PWR_OK,CPU 在电压爬升过程中启动,表现为偶发不亮机、跑分随机崩、冷启动要按两次;关机时 PWR_OK 掉得太晚,则会出现关机不断电、风扇转个不停。这类问题用万用表查不出来,只能抓波形。
# 一次上电/关机的时序校验:把采样到的边沿序列喂进来,检查握手顺序 # edges 格式:[(t_ms, signal, level)],level=1 表示有效(PWR_OK 高 / PS_ON# 低) def check_power_seq(edges): t_on = next((t for t, s, l in edges if s == "PS_ON#" and l == 1), None) t_ok = next((t for t, s, l in edges if s == "PWR_OK" and l == 1), None) if t_on is None or t_ok is None: return "采样不完整:缺 PS_ON# 拉低或 PWR_OK 拉高沿" delay = t_ok - t_on # 窗口值按规范表格填,这里用量级示意 if delay < 100: return f"PWR_OK 过早({delay} ms):输出未稳即放行,会随机不亮机" if delay > 500: return f"PWR_OK 过晚({delay} ms):主板可能已进保护流程" return f"时序正常,PS_ON# → PWR_OK 延迟 {delay} ms" samples = [(0, "PS_ON#", 1), (18, "PWR_OK", 1), (400, "PWR_OK", 1)] print(check_power_seq(samples))这份代码的逻辑和参数分别对应两件事。delay是 PS_ON# 有效沿到 PWR_OK 有效沿的时间差,它必须落在一个窗口里:下限保证输出已经稳定,上限保证主板不会等太久触发超时保护。窗口的具体数值要从规范表 11、表 12 里取,上面代码里给的 100/500 只是量级示意。实践里还有一个常被忽略的点——采样点要放在电源连接器一侧,而不是主板 VR 的输入端,中间那段线束的压降会把判断带偏。
5. 避坑:按 BTX 规范做整机时最容易翻车的五处
5.1 机械与结构类:装不进去、装进去漏风
现象:主板孔位对不上机箱铜柱,或者勉强装上后侧板盖不住,散热器顶出一截。
原因:把 BTX 当成“ATX 的另一种孔位”来理解。规范 3.1 节定义的是一整套板型与安装孔位基准,它跟 ATX 的孔位体系没有兼容关系,机箱、主板、热模块必须成套匹配。
解决:采购清单上把主板、机箱、热模块写成一个整体项,选型时先对 Table 6 的板型档位和 3.1 的孔位图,再谈其他参数。单件替换在这套体系里基本不成立。
现象:整机跑起来 CPU 温度比裸机测试还高,风道罩附近有明显热风回流。
原因:风道罩与机箱出风口之间有缝隙。规范 3.3.3 节要求机箱提供明确的贴合面,热模块以机箱为基准定位;一旦错位,被 duct 隔离的热气会从缝里泄回机箱,设计前提直接失效。
解决:装配前用纸模或 3D 打印件做贴合验证,重点看罩体翻边与机箱开口的四周是否连续接触;有条件的话做烟雾或风速测试,直接看气流走向。
5.2 电气与接地类:能点亮但过不了测试
现象:上了重型散热器之后,机器跑一段时间出现内存报错、显卡掉卡,冷机重启又好了。
原因:SRM 没装或装得不到位,载荷路径又回到 PCB 上,板子长期微弯导致 BGA 焊点疲劳。规范 3.3.2 节把 SRM 定义为主板下方的结构支撑件,它是这个布局成立的力学前提,不是可选配件。
解决:SRM 必装,且固定螺钉按规范位置拧到规定扭矩;装配后检查主板与 SRM 之间是否贴合,不能有悬空。
现象:整机功能正常,但电磁兼容测试在某个频点超标;或者待机唤醒偶发失败。
原因:接地路径被结构件切断。规范 3.3.1 节专门定义了机箱的 EMC 接地接口,加了 SRM 之后,主板到机箱的接地通路需要额外的弹片或螺钉来保证;待机唤醒问题则多半出在 +5VSB 供电能力或 PWR_OK 时序上(4.2 节)。
解决:装配后用万用表逐点测主板地到机箱地的通断,阻值应接近短路;时序问题抓 PS_ON# 与 PWR_OK 的波形,按 4.2.3 和表 12 核对。
5.3 图纸与公差类:只抄图不抄表
现象:每个零件的尺寸单看都在公差内,装到一起就是差 1~2 mm,挡板压不紧、风道罩贴不上。
原因:只照着图 4、图 5 画形状,没看表 7 里的高度要求和 Table 5 的参考基准。体积区域的高度是从定义好的基准面量起的,基准选错,整条尺寸链都是自洽的错误。
解决:结构图第一页固定写清基准面来源和引用的规范条款号,把区域高度上限当硬约束写进检查表,每版结构评审都过一遍。
6. 设计取舍:为什么一套更“正确”的接口没打赢更“够用”的那套
单从工程角度看,BTX 的接口设计几乎处处更严谨:风道可预测、区域可校核、承力路径清晰、时序契约完整。它没有赢,原因不在技术,而在切换成本的结构。
| 环节 | BTX 要求 | 切换代价 |
|---|---|---|
| 主板 | 新孔位、新基准、新布局 | 重新设计、重新认证 |
| 机箱 | 新开口、新贴合面、新承力点 | 钣金模具全换 |
| 热模块 | 带风道罩的整体件 | 从配件变成整机定制件 |
| 电源 | 连接器沿用,时序需满足 | 成本最低,但仍需重测 |
这张表里任何一行单独看都不算过分,问题是它们必须同时完成。只要有一环沿用旧件,整机就拼不起来——这是“全有或全无”的换代,而不是可增量演进的升级。反过来,另一套接口之所以能长期占住位置,恰恰因为它松:孔位不变、开口不变,机箱厂可以在旧平台上加导风罩、换大直径低转速风扇、给主板加背板,用局部改造吃掉大部分散热收益。技术上的“够用”加上生态上的“可增量”,赢过了技术上的“正确”加上生态上的“全换”。
这也解释了规范文本里那段看着很扫兴的免责声明为什么必要:它明确写着规范按“现状”提供,不保证基于它做出的产品没有缺陷、适合特定用途,也不代表授予了实施所需的全部知识产权许可,只给了一份非独占的复制许可,条件是免责段落必须完整保留。接口规范能约束的只有接口,它管不了产品做得好不好,更管不了生态愿不愿意跟。读这类文档时,把这层边界先看清楚,比逐条背尺寸有用得多。
我现在读任何一份接口规范,都强制走一遍同样的顺序:先看特性表搞清它想解决什么,再看接口索引表定位每个约束落在哪一节,然后只精读体积区域和时序图这两类“负空间”定义,最后才回头看具体尺寸。这个习惯是被一次样机装配逼出来的——当时所有零件都按图加工,装上之后风道罩和机箱之间留了一道 3 mm 的缝,查了两天才发现是两份图纸引用了不同的基准面。规范里那些看起来最枯燥的表,往往就是唯一能救命的东西。希望帮到你。
本文还有配套的精品资源,点击获取