简介:《BTX Specification v1.0b》是英特尔于2005年发布的BTX主板架构接口规范文档,面向计算机硬件设计、主板研发、散热方案评估及PC历史技术研究者,用于理解BTX如何通过优化组件布局与机箱气流路径来应对处理器功耗和发热增长。压缩包内仅含1个PDF文件,大小约298KB,完整保留规范正文、版本修订记录、目录结构以及重要信息与免责声明,便于按章节查阅接口定义和设计约束。当前已有102人学习或下载。读者可从中获得BTX 1.0b的原始技术表述,包括nanoBTX等形态的增补信息、散热布局思路、兼容性与实施风险说明,并能据此对比ATX设计、梳理散热结构演进脉络,为硬件结构分析、机箱风道研究和技术史料查证提供一手参考。
1. 一份把机箱内部每一立方毫米都写清楚的接口规范,最后输给了一份只规定主板长宽和螺丝孔的规范。这听起来不太合理,但它就是 BTX 的真实结局。很多人把 BTX 当成一次失败的散热改良,记下的结论是「生不逢时」。可如果把那份 v1.0b 文档从头翻到尾,会看到一件更有意思的事:它真正在定义的东西不是主板尺寸,而是一套三维空间的边界约定——谁能在哪块空间里放多高的东西,力从哪条路径传进机箱,电在哪个时刻才允许放开复位。搞清楚这套约定怎么设计的,比记住它为什么失败有用得多,因为今天机箱风道、散热器背板、电源上电时序这些「常识」,不少都是在这种失败里沉淀下来的。
2. 直线风道:为什么处理器、芯片组、内存被排成一条线
2.1 ATX 布局里,气流要拐几道弯
ATX 的布局逻辑是围绕扩展槽展开的:主板一侧留给后窗 I/O 和扩展槽,处理器被放在靠近后窗的板角,内存插槽通常垂直于板边排列,供电元件挤在处理器和 I/O 之间。这个布局在二十世纪末是合理的,因为当年处理器发热只有十几瓦,风扇应付过来并不难,吹的是板级环境而不是某个具体器件。但等到发热量上来以后,问题就暴露了:从前面板进来的冷空气,要先穿过硬盘位、绕过线缆,再绕过内存条的侧壁,才能接近散热器。
更麻烦的是处理器风扇本身的处境。它搅动的是机箱里已经被加热过的空气,热风从散热器出来以后往上升,在机箱顶部和扩展槽附近形成回旋的死角,冷热空气在同一块空间里打架。这种问题的根源并不在风扇选型和转速,而在布局从未被当成接口定义过:处理器该在哪个位置、内存该朝哪个方向、进风口和出风口该对齐哪条线,全靠机箱厂和主板厂各自发挥。两边都觉得自己做得对,组合起来就是气流短路。
2.2 in-line core layout:把热源排进同一条通道
BTX 的第一个动作是换布局逻辑:不再围绕扩展槽,而是围绕一条从前到后的风道。处理器、芯片组、内存被安排在同一个核心区内,沿着这条通道依次排开,冷空气从前面板进入,先经过较冷的器件,再经过最热的器件,最后从后窗排出去。处理器不再藏在板角,而是站在通道的中间,正面迎着来风。
规范里把这个叫 in-line core layout。它不是一个「更省空间的布局」,而是一个「把气流路径变成接口」的布局:一旦核心区的位置固定下来,机箱前面板进风口的位置、后面板出风口的位置、散热模块的外形尺寸,就都有了共同参照。机箱厂不需要知道你会用哪款散热器,只需要知道核心区上方那块空间归你,不能侵占。
和布局配套的是散热模块的定义。规范把散热模块描述成三件套:处理器散热器、轴流风扇、把气流框住并导向出口的风道罩。风道罩的作用常常被低估——没有它,风扇吹出的高压气流会从散热器两侧泄漏,绕开鳍片直接从出口方向泻掉,相当于短路。风道罩把这条通道封闭起来,强迫空气穿过鳍片间隙,这是同样风量下散热效率差别很大的原因。
注意:风道罩不是可选项。很多照猫画虎的方案只做了散热器和风扇,省掉风道罩,实测温度和没有这套布局时差不多,然后就得出「BTX 没用」的结论,其实是把契约执行了一半。
2.3 板型谱系:变的是面积,不变的是骨架
BTX 不是一个尺寸,而是一族尺寸。v1.0b 这一版把最小的一档也补了进来,形成从大到小的板型谱系:BTX、microBTX、picoBTX、nanoBTX。板子越小,扩展槽越少,能装的存储设备越少,供电模块的可用面积也越紧,但核心区的相对位置、风道的方向、安装孔的坐标系保持同一套骨架。
这种做法在接口设计里很常见:把会变的东西和不变的东西分开。变的是板面面积、扩展能力、可外接的设备数量;不变的是核心区坐标、散热模块的安装基准、电源接口的位置。同一个散热模块可以跨几个板型复用,同一个机箱模具稍作调整就能覆盖两三个档位,整机厂用一套产线做多个型号,这是它最吸引人的地方。
代价同样明确。一旦核心区位置被写死,主板厂就没有「在板边找块空地塞供电模块」的自由了。VRM 只能挤在核心区两侧的窄条里,散热和布线都更紧张;想把扩展槽多加一条,不是改改走线就行,而是整个板型档位要往上跳一级。这就是接口定义的本质:它给你确定性,同时拿走你的自由度,而自由度和确定性之间的兑换比例,正是后面所有争议的来源。
3. 体积区与 SRM:三维空间的契约和它的承重底座
3.1 两份图纸之间缺的那一维
主板和机箱通常是两家不同的厂做的。ATX 时代,两边共享的接口只有两个数字:板子的长宽和安装孔的位置。高度方向完全没有约定——散热器做多高、内存条加马甲以后凸出多少、显卡背板厚不厚,全靠彼此猜测。猜对了是运气,猜错了就是散热器顶侧板,或者内存条插不进去。
BTX 补的就是这一维。规范用了「体积区」这个概念:在主板正面和背面各划出一组三维区域,每个区域规定一个允许的最大高度,还规定这个区域里允许放什么类别的器件。主板厂要保证自己的元件不超出分配到的空间,机箱厂要保证自己的结构不侵入这些空间。听起来很朴素,但它是双向约束——不是「主板不能太高」,而是「双方都不能越界」,这才叫接口。
这一条对整个生态的影响比风道更大。有了双向约束,机箱厂可以在不知道具体主板型号的前提下把机箱做完,主板厂也可以在不了解具体机箱结构的前提下把板子布完,两边只在规范这一层握手。这种「不用认识对方也能配合」的能力,是接口标准唯一真正的价值。
3.2 Zone 的高度预算怎么读
规范的读法是从基准开始的。它先定义一组参考基准,再从这个基准推出主板的轮廓和安装孔位置。有了统一的坐标原点,体积区才有意义——否则「某个区的上限是多少」这句话没有参照物,机箱厂和主板厂各自拿自己的板边当原点,公差就叠不到一起去。
一次侧和二次侧要分开看。一次侧是元件面,处理器、内存、供电元件都在这一面,高度预算相对宽松;二次侧是焊接面,焊点、背板支撑结构都在这边,预算极紧,基本只够给结构件让位。下面这张表是这类规范里区域划分的常见组织方式,具体编号和数值以文档中的表格为准:
| 区域类别 | 所在面 | 主要占用者 | 约束性质 |
|---|---|---|---|
| 核心区(Zone A) | 一次侧 | 散热模块、内存 | 高度上限最大,且与散热模块类型绑定 |
| 核心区外围 | 一次侧 | 供电元件、芯片组 | 高度上限逐级收紧 |
| 板边与后窗附近 | 一次侧 | 接口连接器、电容 | 上限最小,主要为机箱结构让位 |
| 二次侧区域 | 背面 | 焊点、背板、支撑结构 | 预算极紧,基本只留给结构件 |
读这张表有一个容易忽略的细节:Zone A 的高度上限不是一个固定值,而是跟散热模块的类型绑定的。规范把散热模块分成 Type I(标准高度)和 Type II(低矮型)两类,选哪一类,直接决定 Zone A 能用到多高,也决定机箱得留多厚。这意味着「符合 BTX」这句话本身是不完整的,必须补上「哪一档板型 + 哪一类散热模块」才算说清楚。
3.3 SRM:散热器的重量不该由 PCB 承担
这一段是整份规范里最少被讨论、但设计动机最扎实的部分。一块 PCB 是环氧树脂加玻璃纤维,刚性有限,工作温度下还会软化。散热器加扣具的重量和压力,如果全部压在处理器插座周围的焊盘和过孔上,短期看不出问题,长期就是板子中部下凹、焊点开裂、内存槽接触不良。这类故障有个讨厌的特点:它是缓慢发生的,等到现象出现的时候已经很难归因,用户只会觉得「这板子质量不行」。
BTX 把这条受力路径改掉了。SRM 是一块装在机箱上、位于主板下方的结构件,它负责三件事:给主板提供结构支撑、给散热模块提供固定点、把这些力直接传进机箱骨架。处理器散热器不再「挂」在板子上,而是「坐」在 SRM 上,再压到处理器表面。规范里专门有一节定义机箱到 SRM 的接口,配了安装点和空间要求的图,说明这不是随手加的一块铁皮,而是被当成正式接口来约束的。
这个设计还有第二层意义:因为 SRM 是机箱侧的零件,散热模块的固定点就不再依赖主板的孔位。主板厂只要保证核心区开孔和 SRM 对得上,散热器怎么换、换多重,都不会传导到 PCB 上。承重和电气彻底解耦,这是它比 ATX 那套「螺丝拧在板子上」的做法更彻底的地方。
代价也摆在那里。机箱必须预留 SRM 的安装位置和结构空间,二次侧体积区要给它让路,整机物料清单多一个件,装配多一道工序。更要命的是它把耦合度又推高了一级:机箱、主板、SRM、散热模块四者必须成套匹配,缺一个都装不起来。对整机厂这是可控性,对零售市场这是门槛。
4. 电气接口:+12V 单路与 PS_ON#、PWR_OK 的时序约定
4.1 三根控制线决定了整机的上电顺序
BTX 的电源接口在电气定义上和 ATX 家族保持兼容,主电源连接器加辅助 +12V 连接器,引脚定义沿用。真正值得看的是三根控制信号:+5VSB、PS_ON#、PWR_OK。
+5VSB 是待机电源,只要电源插着电就有输出,主板靠它在「关机」状态下维持开机逻辑,所以按下开机键能被识别到。PS_ON# 是低电平有效,主板把它拉低,电源才开始输出主电压。PWR_OK 是电源的回执:所有输出电压都进入容差范围、并且稳定了一段时间之后,电源才把它拉高,等于告诉主板「电已经准备好了」。
这三根线的分工很有意思。PS_ON# 是主板对电源的请求,PWR_OK 是电源对主板的承诺,一个往下压、一个往上抬,方向相反,语言却必须完全一致。规范把两者的电平定义、有效条件、时序窗口都写成了条款,因为这中间的任何一点含糊,最后都会变成「偶发无法开机」这种最难排查的问题。
4.2 PWR_OK 晚一点,是给电压爬升留的补救余地
完整的链条是这样的:插电以后 +5VSB 先起来,主板待机逻辑就绪;按下开机键,主板把 PS_ON# 拉低;电源开始输出,各路电压从零开始爬升;电压进入容差范围并稳定;再过一段延迟,PWR_OK 拉高;芯片组收到 PWR_OK 之后释放复位;处理器取出第一条指令。
问题出在第四步和第五步之间的时间差上。如果 PWR_OK 拉得太早,复位会在电压还没稳的时候被放开,处理器在欠压状态下开始取指。轻则起不来,重则锁在异常状态,而且这种故障的表现极不稳定——同一块板有时能开、有时不能,温度低一点能开、温度高一点不能,很容易被归成「元件品质问题」而不是「时序问题」,排查方向一错就是几周。
所以规范把 PWR_OK 的延迟窗口也写进了接口。这条规定的分量容易被低估:它等于承认了电压爬升需要时间,并且把这个时间显式地交给电源厂去保证,而不是让主板厂靠加电容去猜。下面这段校验逻辑是拿到电源样品后我常用的写法,把采样日志丢进去就能看出时序有没有越界:
def check_power_timing(samples, vmin, vmax, guard_ms): """校验一次上电过程是否满足 PWR_OK 时序契约。 samples: 按时间升序的采样列表 [(t_ms, name, value)] name 取 'PS_ON#' / '+12V' / 'PWR_OK' vmin/vmax: +12V 的容差上下限 guard_ms: 电压稳定到 PWR_OK 拉高之间的最短间隔 """ ps_on_t = rail_ok_t = pwr_ok_t = None for t, name, value in samples: if name == 'PS_ON#' and value == 0 and ps_on_t is None: ps_on_t = t # 主板请求输出的时刻 elif name == '+12V' and vmin <= value <= vmax and rail_ok_t is None: rail_ok_t = t # 主电压首次进入容差 elif name == 'PWR_OK' and value == 1 and pwr_ok_t is None: pwr_ok_t = t # 电源给出回执 if pwr_ok_t is None: return 'FAIL: PWR_OK 从未拉高,复位不会释放' if ps_on_t is None or pwr_ok_t < ps_on_t: return 'FAIL: PWR_OK 早于 PS_ON#,时序不成立' if rail_ok_t is None: return 'FAIL: 采样窗口内 +12V 未进入容差' if pwr_ok_t - rail_ok_t < guard_ms: return f'FAIL: PWR_OK 提前 {guard_ms - (pwr_ok_t - rail_ok_t)} ms 拉高' return 'PASS'参数里最容易被随手填错的是vmin/vmax,这两个值必须来自规范的容差表,不能拿万用表的读数凑。guard_ms也不是一个拍脑袋的数,它对应规范里 PWR_OK 的延迟窗口下限。函数返回 FAIL 的时候,先别急着换电源——很多时候是采样点太稀,rail_ok_t抓到的其实是第一次过冲,把采样间隔压到 1ms 以内再跑一遍,结论可能完全不同。
4.3 电压容差与「电气兼容、机械不兼容」的取舍
电压容差是按档位分开写的,不同电压轨的允许偏差不一样,负载越重的轨通常留的余量越讲究。读这张表有个习惯要改:不能只测空载电压,得在满载和动态切换的瞬间看跌落。空载电压漂亮、一加负载就掉出容差范围的电源,在规范上是「不合格」,但在实验室里很容易被放过去。
更值得琢磨的是 BTX 在兼容性上的不对称取舍。电源接口、引脚定义、信号时序跟 ATX 家族保持兼容——这是有意为之的:电源是标准化程度最高、换代最慢的部件,如果连电源都要重新设计,整个生态的迁移成本会高到没人愿意跟。但机械定义完全不兼容:安装孔位置、板型轮廓、后窗开孔、散热模块固定点,全部重新定义。
于是形成了一个很微妙的局面:电源厂改造成本几乎为零,机箱厂和主板厂却要从头开模。这个取舍在整机厂主导的市场里是合理的,因为整机厂自己就是机箱厂和主板厂;但它也埋下了后面的问题——零售市场上没有任何人有动力去跟进,因为用户换一块 BTX 主板,得连机箱、散热器一起换,而换完以后性能并不会更好。
5. 避坑与排查:这套规范落地时最容易出问题的几处
5.1 装不上:板型档位和散热模块类型是两个独立变量
现象:主板和机箱都标着兼容 BTX,实际装起来散热器压不到位,或者顶到侧板,甚至安装孔差半格。
原因:板型谱系有好几个尺寸档,核心区虽然保持在一条线上,但板子轮廓和孔位坐标系是按档位缩放的;同时散热模块分标准高度和低矮型两类,Zone A 的高度上限取决于选哪一类。两个变量各自都对,组合起来就可能超限。销售页面写「支持 BTX」的时候,往往只写了板型,没写散热模块类型。
解决:先确认板型档位,再确认散热模块类型,最后对着体积区表格把 Zone A 的高度预算核一遍。核的时候以规范里的参考基准为原点,不要拿板边当起点,否则公差会叠出偏差。
5.2 板子被压弯:SRM 缺席导致的慢性故障
现象:散热器扣上去以后主板中部明显下凹,用一段时间后某个内存槽开始时好时坏,重新插拔能好一阵。
原因:SRM 没装,或者装了但装的是另一套孔的背板,扣具的力全压在 PCB 和焊盘上。PCB 在六七十度的工作温度下会蠕变,弯曲是永久的,焊点开裂也是渐进的。这类故障最麻烦的地方在于它不立刻发作,等到现象出现时,用户早就换过好几次内存了。
解决:查机箱到 SRM 的接口图,确认固定点和受力路径,确认扣具的力最终传到机箱骨架而不是板子。记住分工:主板负责电气连接,不负责承重。
5.3 后窗错位:两张图纸不在同一个坐标系里
现象:主板后窗的 I/O 接口和机箱后窗开孔错位,网口偏了半个孔,USB 勉强能插但很别扭。
原因:后窗开孔在规范里是两张图,机箱侧一张、主板侧一张。如果两边各自以自己的局部基准起算,各自的公差都在范围内,叠起来就出界了。
解决:把两张图放到同一套参考基准下叠一遍,重点看最边缘的两个接口。这类问题的血泪经验是:单件检测合格不代表装配合格,接口件的验收必须在装配坐标系里做。
5.4 开机不亮:PWR_OK 被当成「电源好就行」
现象:按开机键风扇转一下就停,或者压根不亮,换一个电源就好了,但旧电源单独测输出电压全都正常。
原因:PWR_OK 拉高的时间点不对。太早,主板在电压爬升期就放开了复位;或者电压进入容差后 PWR_OK 抖动,主板还没开始跑就被重新复位。用万用表测电压是看不出这个问题的,必须抓时序。
解决:用示波器同时抓 PS_ON#、主电压轨、PWR_OK 三条,对着规范的时序窗口比。没有示波器就用带时间戳的采样日志跑上面那段校验,采样间隔压到 1ms 以内。
5.5 满载重启:+12V 的容差在动态负载下被吃掉
现象:待机正常,一跑满载就重启或者黑屏,空载测电压完全达标。
原因:主电压轨被处理器和显卡同时拉满,加上线缆和接口的接触电阻,负载点的电压被压到容差下沿以下。规范里的容差是对输出端定义的,测量点选错,结论就会反过来。
解决:在负载端而不是电源端测,并且测动态切换的瞬间而不是稳态。规范里的容差表要按电压轨分别核对,不要用一个统一百分比套所有轨。
6. 接口面划得太大,是 BTX 真正的问题
回头看,BTX 的问题出在接口面的边界上,而不在技术上。它的技术判断几乎每一条都对:直线风道比乱流好,三维空间约定比互相猜测好,结构件承重比 PCB 承重好,PWR_OK 延迟窗口比「电源好就行」好。这些判断今天全被验证了,只是验证它们的不再是 BTX 这个名字。
但它把接口面划得太大了。接口规范的本质是把不确定性关在门外,可每关掉一份不确定性,就同时关掉了一份下游的自由度。ATX 只约定了板子的长宽和孔位,其余全放开——散热器怎么设计、风道怎么走、机箱内部怎么排布,全交给下游,于是下游演化出无数种玩法,生态就长出来了。BTX 把三维空间、结构件、散热模块、电源时序全部写进同一份文档,对整机厂是好事:可控、可复制、批次一致;对零售市场却是灾难:必须成套更换,而换了以后用户感受不到收益。
这里有个可以复用的验证方法。拿到任何一份接口规范,先问两个问题:它定义了哪些面,这些面之间的耦合有多强。耦合越强,替换成本越高,越依赖成套采购,越难进入零售市场;耦合越弱,单件替换越容易
本文还有配套的精品资源,点击获取