ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

M.2 E Key WiFi6蓝牙模块底板设计:原理图、PCB与调试实战

M.2 E Key WiFi6蓝牙模块底板设计:原理图、PCB与调试实战 M.2 E Key这个接口做硬件的应该不陌生——笔记本上的无线网卡、工控机里的WiFi模组、NAS主板上的扩展卡十有八九都是这个形态。前段时间我从零做了一块基于M.2 E Key接口的WiFi 6 蓝牙5.2 Combo模块的配套底板电路走完了从芯片选型、原理图设计、PCB布局到上电调试、射频测试的完整流程坑踩了不少收获也很多。这篇文章不打算讲空泛的理论就把我在整个设计过程中遇到的关键问题、取舍思路和实际测试方法一条一条摆出来。尤其是M.2 E Key上PCIe与USB信号怎么分工电源树怎么搭才能扛住WiFi发射时的瞬态电流射频区域怎么布局才不会让天线“自废武功”以及量产前到底要跑哪些测试这些都会展开讲。适合正在做无线模块、工控主板或者想自己画一块M.2无线网卡的硬件工程师和PCB Layout工程师参考。1. M.2 E Key无线模块选型WiFi/BT芯片怎么选不翻车1.1 先搞清楚M.2 E Key接口里到底有哪些信号很多人一听M.2就以为是NVMe固态硬盘那种Key M接口实际上M.2是一个庞大的家族靠“Key”来区分用途。E Key是专门给无线网卡用的标准物理形态常见223022mm宽、30mm长、2242等尺寸接口走线通常包含PCIe x1、USB 2.0、REFCLK差分时钟、PERST#复位、CLKREQ#时钟请求、W_DISABLE#无线禁用等信号。这里有一个极其重要的概念射频信号本身不走M.2接口。M.2接口负责的是模组和主板之间的数字基带传输天线信号是从模组上的IPEX座或者板载天线直接进模组内部的射频前端。所以做底板电路设计时你真正要处理的是PCIe差分对、USB差分对、时钟、复位、电源而不是在M.2接口上跑50Ω射频线。具体到引脚定义E Key插座的引脚里PCIe TX/RX差分对是必须重点保护的差分对旁边有REFCLK差分时钟这两个走线对阻抗和等长都有要求。USB D/D-这对信号也不能忽视蓝牙部分的通信通常就走这里。另外还要注意PERST#和CLKREQ#这种控制信号它们决定了PCIe设备能不能正常完成链路训练很多“系统里识别不到无线网卡”的问题根源不在射频部分而是这些控制信号的时序没满足要求。1.2 WiFi/蓝牙组合芯片方案对比现在市面上常见的WiFi BT Combo方案大致可以分成三条路线。第一是Intel系比如AX200、AX210、AX411这些。优点是开源驱动支持极好Linux和Windows下基本即插即用性能稳定很多笔记本原厂就用它。缺点是Intel对模组的授权和固件管控比较严格你想拿一颗裸芯片自己画模组基本不现实常规做法是直接买完整的M.2模组然后在主板上做接口电路。第二是Realtek系比如热门的RTL8852BE支持WiFi 6、802.11ax、蓝牙5.2走的也是PCIe接口。这颗芯片在成本上有优势很多国产笔记本和DIY网卡都在用。但Linux下的驱动有时候要自己装部分版本会遇到ASPM省电导致的断流问题这在后面的调试章节会详细说。第三是MTK联发科系比如MT7921同样支持WiFi 6和蓝牙5.2功耗和价格都不错。这几年在主流OEM里的出货量很大驱动适配也逐步完善。方案WiFi协议蓝牙版本接口驱动/生态成本Intel AX200/AX210802.11ax 2x25.2PCIe / CNVio2Linux/Windows好中等Realtek RTL8852BE802.11ax 2x25.2PCIeLinux需手动安装较低MTK MT7921802.11ax 2x25.2PCIe开源驱动较完善较低选择建议很简单如果做量产产品优先选供货稳定、有完整参考设计和过认证经验的方案如果做个人项目考虑买Intel模组最省心调试周期短资料多遇到问题容易搜到答案。如果一定要追求低成本并且想自己画模组那Realtek、MTK这类有开放SDK和参考设计的芯片更合适。1.3 板载天线还是外接IPEX天线天线形态决定了PCB布局的难度。板载天线的好处是成本低、装配简单、没有连接器适合做小体积的物联网设备。坏处也很明显天线本体和主板必须在同一块板上净空区天线周围不能有铜皮的区域很难保证一旦结构件里有金属遮挡天线性能直接崩掉。外接IPEX天线则灵活得多天线可以远离主板放在结构件的塑料部分对PCB布局的压力小。但是多了连接器和同轴线成本会贵几块钱装配也多了工序。量产阶段如果有充裕的结构空间我更推荐外接IPEX天线因为调试匹配网络的时候方便替换天线做对比测试问题定位快。2. 原理图设计要点RF、PCIe、电源一个大网兜2.1 天线匹配网络与50Ω走线的设计原则不管是设计模组内部还是主板上的天线线路从射频芯片引脚到天线端口这段都必须按50Ω特征阻抗去设计。芯片的射频输出阻抗不一定正好是50Ω所以需要在芯片和天线之间加匹配网络最常用的是π型网络两个并联电容加一个串联电感/电阻。很多参考设计里会直接给你初始值别乱改。高频电路里0.1pF的电容偏差、0.5nH的电感偏差都可能在2.4GHz或5GHz频段造成几个dB的回波损耗变化。稳妥的做法是先按参考设计原值贴片板子贴好后用矢量网络分析仪看S11有偏差再微调。调试匹配的时候有个细节容易被忽略电容的Q值和自谐振频率。在2.4GHz以上普通的X5R电容可能会表现出很差的Q值甚至容量都变得不可控。所以射频匹配电容尽量选C0G/NP0材质电感选高Q值的高频电感别用普通功率电感。2.2 WiFi走PCIe、蓝牙走USB为什么是这个分工M.2 E Key上同时提供了PCIe和USB 2.0两种数字接口组合模组内部通常是这样分工的WiFi数据走PCIe x1蓝牙数据走USB 2.0。这个设计很合理因为WiFi数据吞吐量大PCIe x1的带宽足够而蓝牙的实时数据带宽需求低USB 2.0的480Mbps完全够用甚至还有富余。原理图设计时需要注意USB D/D-虽然是低速差分信号但同样要做90Ω差分阻抗控制走线也不能随意拉长。很多蓝牙搜不到的问题其实就是USB差分对走线太长、参考地不完整导致信号质量太差枚举失败。另外PCIe信号里的REFCLK时钟对非常敏感它不需要和PCIe数据做组内等长但本身要保证干净。REFCLK差分对尽量短的从M.2插座到主控/时钟Buffer远离开关电源的电感最好旁边走一圈地孔隔离。2.3 电源树设计buck降压如何扛住WiFi发射的瞬态大电流WiFi模组的电源设计是整个原理图里最容易出问题的地方之一。WiFi在发射时PA功率放大器瞬间电流可能从几十mA飙到几百mA甚至1A以上如果3.3V电源轨的瞬态响应不好电压会跌落轻则发射功率上不去重则模组直接重启。这里给一个典型计算。假设系统输入12V经过一级buck降到5V再经过一级buck降到3.3V给M.2模组供电。第二级buck以5V输入、3.3V输出、开关频率1MHz、最大负载3A来估算取纹波电流为最大负载电流的30%即0.9A。电感量计算L (Vin - Vout) × Vout / (Vin × fsw × ΔI) (5 - 3.3) × 3.3 / (5 × 1M × 0.9) ≈ 1.25μH实际选1.5μH或2.2μH都可以但电感的饱和电流要留够至少是最大负载电流的1.5倍以上不然大电流下一旦饱和纹波会急剧恶化。输出电容的话按纹波电压30mV来算Cout ΔI / (8 × fsw × ΔV) 0.9 / (8 × 1M × 0.03) ≈ 3.75μF这里算出来的3.75μF只是理论下限实际贴片时应该加大我一般会在输出端放22μF X5R陶瓷电容同时并联一个0.1μF高频电容用来滤掉buck开关产生的高频噪声这个噪声很容易耦合到射频走线拉低接收灵敏度。如果板子是从24V直流输入取电中间就需要先做一级buck降到5V或12V再降压到3.3V。这种情况下要注意输入端的EMC设计在电源入口加π型滤波共模电感加X/Y电容和TVS管做浪涌防护不然整个系统很容易在一些工业现场出现莫名其妙的无线断连。还有一个必须提的坑上电时序。M.2模组对供电轨的时序有要求一般VDD3.3V要先于VIO1.8V或3.3V IO电源上电如果顺序反了模组内部的I/O ESD结构可能会被倒灌电流损坏。设计时可以用电源芯片的EN脚或者加一个简单的RC延时电路来控制上电顺序。3. PCB布局布线实战射频禁区和走线一体搞定3.1 层叠设计与阻抗控制无线主板的层叠建议至少4层推荐方案L1信号层L2完整地平面L3电源平面L4信号层。L2必须是完整的地平面这是整个射频设计的地基地不干净上层走线再怎么优化都白搭。关于50Ω微带线用一个典型叠层举例子FR4板材板厚1.6mmL1到L2的介质厚度约0.2mm1oz铜厚那么L1上单端50Ω走线的线宽大概在11~13mil左右。100Ω差分对的话线宽约5~6mil线间距约6~8mil。不过具体数值跟板材DK值、半固化片厚度都有关系建议用阻抗计算工具比如Polar SI9000算一遍再让板厂确认。设计评审时一定要把阻抗要求写进板厂工艺文件让板厂做阻抗测试条。否则实际板子回来PCIe链路训练失败或者RF灵敏度异常排查起来非常费劲。3.2 布局顺序先放模块再放天线和电源PCB布局是有顺序的我习惯这样排第一步先把M.2插座放好同时确认模组的天线方向。M.2插座的形态决定了模组会向板内延伸模组前端的IPEX天线座或者板载天线区域要优先预留。第二步从天线的位置往回反推。天线座附近要保证净空不要让电源、时钟、高速线靠近射频走线从天线座走到模组路径越短越好最好不走弯。第三步放电源部分。buck电感是强辐射源要放在远离天线和射频走线的一侧最好放在板边用一段地铜皮和射频区域隔开。电感的磁场会耦合到附近的走线上如果PCIe差分对或者RF线离电感太近干扰直接进射频灵敏度会降低。第四步放时钟和复位等控制电路。M.2模组一般不直接需要外部晶振但底板上如果有时钟Buffer要远离RF走线。3.3 三类关键走线的具体处理M.2底板里需要重点处理的走线有三类PCIe差分对、USB差分对、模块天线到IPEX座的射频走线。PCIe差分对的布线要求是阻抗100Ω对内等长误差控制在±5mil以内对外等长控制在±20mil以内。走线尽量在同层走完少打过孔过孔会引入阻抗不连续点和回流不完整的问题。如果必须换层记得在换层过孔旁边加地过孔提供回流路径。USB差分对有90Ω阻抗要求走线不需要和PCIe一样精细但也要保证参考地完整。USB走线不要太靠近buck电感或者晶振这些干扰源可能让蓝牙枚举不稳定。射频走线的要求最高50Ω阻抗尽量短尽量直不要打过孔不要有直角拐弯过孔换层几乎就是灾难。如果确实需要拐弯用45度角或者圆弧过渡。射频走线两侧要打密集的地孔围栏像一圈城墙一样把射频信号和外部干扰隔开。还有一个特别容易被忽视但影响极大的问题就是天线净空区。板载天线或者IPEX座附近一定范围内的铜皮必须清掉这个清铜的操作不是简单的不铺铜而是要把内层的地平面也掏空。很多人只在表层留了净空内层还是一大片完整地这样天线的辐射场会被地平面“吃掉”效果跟天线被金属罩罩住差不多。净空区的大小可以参考模组手册或天线厂商的规格书一般至少是天线长度对应的自由空间区域。4. 调试、验证与量产前的性能测试4.1 上电检查与系统识别板子贴回来之后别急着连天线先做静态检查。量一遍所有电源轨有没有短路然后上电看各路电压是否正常重点看3.3V的纹波用示波器看高带宽模式下峰值不能超过50mV。确认无误后再装模组通过PCIe接口连主机。在Linux系统下可以用lspci命令查看有没有枚举出无线网卡用dmesg查看驱动加载日志和固件版本。如果系统里根本识别不到设备优先查复位时序和REFCLK时钟。用示波器量PERST#信号确认拉高时间晚于供电稳定时间再量REFCLK确认有稳定的100MHz差分时钟。有一个高频问题模组能识别但测速时偶发中断、丢包严重。这个在很多方案上都出现过比如RTL8852BE的某些驱动版本配合ASPM省电策略会在低负载时把PCIe链路进入省电状态流量一上来链路重新训练就卡住了。解决办法是先在系统里强制关闭ASPM比如在内核启动参数里加pcie_aspmoff看问题是否消失。如果消失再从BIOS或驱动配置层面做精准调整。4.2 WiFi RF性能测试与校准项目量产之前WiFi射频性能必须过一遍产测。产测会用到专业的测试工具比如Intel平台常用的myftm工具Realtek平台有对应的产测工具配合频谱仪和信号源可以完成收发指标测试。校准项目通常包含TX功率校准在指定信道和数据速率下调到目标发射功率一般是14~18dBm取决于法规限制和天线增益IQ不均衡校准补偿I/Q两路的幅度和相位偏差频率偏移校准校准晶振带来的载波频偏温度补偿表在-20℃到70℃范围内记录功率变化用来补偿PA随温度漂移的问题测试指标至少要看三项吞吐量、接收灵敏度、发射频谱模板。接收灵敏度是一项硬指标通常要求在MCS0速率下PER小于10%时输入电平需要低于-78dBm甚至更低。如果你发现灵敏度比参考设计差了几个dB不用急着怀疑芯片先检查天线匹配、净空区、电源纹波这几个地方90%的问题出在这里。4.3 蓝牙共存与A2DP/SCO切换问题WiFi和蓝牙共用2.4G频段共存问题在设计阶段就要考虑。如果是Combo模组芯片内部自带PTA共存机制可以分时复用天线或做功率回退你只需要确保模组的供电足够不用额外拉PTA信号线到主板。如果是独立的WiFi芯片加独立蓝牙芯片那你必须在主板上把两个芯片的PTA信号互连否则2.4G WiFi一开蓝牙就稀疏得像掉进了黑洞。具体做法是看两个芯片的参考设计把PTA接口通常包括REQ、GRANT、PRIORITY三根线按要求连起来。蓝牙音频还有一个经典问题A2DP切SCO。听歌的时候走A2DP连接音质好一打电话蓝牙协议栈会把音频链路切换成SCO/HFP模式。如果音频路由电路或者协议栈配置没处理好会出现切过去之后没有声音、或者SCO模式下声音断断续续的情况。设计蓝牙音频底板时PCM/I2S接口的时序、主从模式配置都要和模组的蓝牙协议栈对齐很多问题不是硬件引进的而是配置没有对上。5. 常见问题速查与设计避坑指南5.1 排查实录信号差、断连、识别不到的解决方案把我在项目中实际遇到的高频问题整理成了一张表可以直接对照排查。现象可能原因排查步骤解决办法WiFi能识别但信号很差天线净空区被覆铜覆盖、匹配元件参数不对、天线离干扰源太近用矢网测S11、查净空区铜皮、对比参考设计清空净空区、重调匹配、天线移到板边测速时偶发中断PCIe ASPM省电、驱动bug、3.3V电源跌落关闭ASPM、换驱动版本、示波器测电压跌落系统里禁用ASPM、升级驱动、增大输出电容蓝牙搜不到设备USB差分对布线问题、蓝牙固件加载失败lsusb看枚举、dmesg看蓝牙日志、量USB信号修USB走线、重新烧写固件系统识别不到网卡PERST#时序不对、REFCLK没起振量复位时序、量REFCLK频率调整复位延时、检查时钟电路蓝牙音频切SCO后无声音PCM/I2S路由未切换、协议栈配置不对查注册信息、量PCM时钟配置正确路由、同步采样率2.4G WiFi一开蓝牙就断共存PTA没连或者没配置确认PTA信号、查固件配置接好PTA线、调整分时参数5.2 一份可以直接带走的设计自检清单项目收尾前我把自检过的要点列出来大家画板之前可以逐项打勾。[ ] M.2 E Key pin map 与模组定义一致区分PCIe/USB/控制信号[ ] 天线匹配网络按参考设计取值预留π型微调焊盘[ ] 三个电源轨VDD、VIO、VDDIO时序正确输出电容满足纹波预算[ ] buck电感远离天线、射频走线和PCIe差分对[ ] L2整层完整地平面射频走线下方无分割[ ] PCIe差分对阻抗100Ω对内等长±5mil对外等长±20mil[ ] USB差分对阻抗90Ω布线远离开关电源[ ] 射频走线50Ω不打过孔两侧地孔围栏完整[ ] 天线净空区所在位置表层和内层均无铜皮覆盖[ ] 过完板厂阻抗测试留存测试条报告最后再分享一个我踩过的坑第一版PCB回来WiFi能识别速率也很正常但2.4G频段的吞吐量始终比参考设计低接近一半。查了半天原理图没问题驱动也换过版本最后才意识到是天线的净空区被我铺了一大块地铜。表层看起来是净空了结果内层的地平面忘了掏空天线相当于被一块完整地平面罩住辐射效率大减。把内层对应区域的铜皮清掉之后吞吐量一下子恢复正常接收灵敏度也回升了将近10dBm。这类问题原理图查不出来仿真也不容易提前发现最有效的办法就是在Layout阶段把净空区当高压线一样对待从顶层到底层全部留空。做无线模块设计地做到干净、禁区留明白剩下的问题基本就都好解了。
返回列表