1. 项目概述与RF测试的核心价值在嵌入式Wi-Fi产品的开发流程中尤其是在物联网设备、工业传感器或消费电子领域射频性能的验证与调试往往是决定产品最终体验和能否通过法规认证的关键一环。我们通常会在应用层进行网络连接、数据传输的测试但这就像只测试一辆车的最高时速而忽略了发动机在特定转速下的扭矩输出、变速箱的换挡平顺性这些底层指标。RF测试模式就是那把能直接打开发动机ECU、进行底层参数读写与性能标定的专业工具。NXP为其RW61x系列无线微控制器提供的wifi_test_mode示例应用正是这样一套强大的底层RF测试工具集。它绕过了复杂的TCP/IP协议栈和连接管理通过命令行接口直接与Wi-Fi芯片的固件对话允许开发者精确控制发射机、接收机的工作状态。其核心价值在于可控性与可观测性你可以将芯片设定在某个特定信道、以特定功率发射一个已知模式的信号然后用频谱分析仪或功率计进行测量你也可以让芯片持续接收空中的Wi-Fi报文并统计其数量与误码率从而量化天线性能或环境干扰。对于硬件工程师这是调试天线匹配、验证射频前端电路性能的利器对于软件工程师这是理解Wi-Fi驱动底层行为、排查连接不稳定问题的窗口对于测试工程师这更是进行预兼容性测试、确保产品满足FCC、CE等无线电法规发射要求的必经之路。接下来我将以一个实际操盘过多个无线项目的老兵视角为你拆解这套工具的使用精髓、操作细节以及那些手册上不会写的“坑”。2. 环境搭建与基础准备在开始挥舞RF测试的“手术刀”之前必须确保你的“手术台”——也就是开发环境——是稳固且无菌的。基于NXP MCUXpresso SDK的开发流程虽然成熟但细节决定成败。2.1 硬件准备与连接首先你需要一块RW61x的评估板例如RDRW610。这块板子已经集成了天线和必要的射频电路。请务必使用高质量的低损耗射频线缆将板载天线连接器如果有或直接通过板载天线连接到你的测试设备如频谱分析仪、矢量网络分析仪。如果只是进行基础的功能性验证可以暂不连接外部仪表但进行定量测试时这条线缆的质量会直接影响测量结果的准确性。注意许多评估板为了节省空间使用了板载陶瓷天线或PCB天线。在进行精确的功率测量时建议使用外接的、已知增益的标准偶极子天线或通过射频线缆直接连接到仪表的输入端口以排除板载天线方向性和环境反射带来的误差。接下来是串口连接。wifi_test_mode应用的所有交互都通过UART串口命令行进行。你需要通过USB转TTL串口线将评估板的调试串口通常是某个指定的UART引脚连接到你的PC。在PC上你需要一个终端软件如Tera Term、PuTTY或SecureCRT。串口参数通常设置为115200波特率、8数据位、1停止位、无校验、无流控。这个步骤看似简单但却是后续所有操作的基础务必先确认串口通信正常能看到启动日志。2.2 软件工程导入与编译NXP的SDK通常以压缩包形式提供解压后你会在boards\board_name\wifi_examples目录下找到wifi_test_mode工程。以常见的IAR Embedded Workbench或MCUXpresso IDE为例导入工程在IDE中选择“导入现有工程”导航到SDK中的wifi_test_mode目录。IDE会自动识别工程文件如iar子目录下的.eww文件。配置目标板确保工程的目标设备Device和调试接口如J-Link配置正确与你的硬件匹配。编译直接进行编译。这个示例应用通常依赖wifi中间件SDK已经配置好路径一般不会出现链接错误。如果遇到未定义引用请检查是否包含了正确的fsl_wifi等相关库文件路径。下载与调试将编译生成的.bin或.hex文件下载到板载Flash中。你可以选择直接下载后复位运行也可以进入调试模式这样可以在执行CLI命令时设置断点观察底层驱动状态虽然对于RF测试实时性要求高通常不推荐在调试模式下进行实际发射。2.3 理解启动流程与命令框架将程序烧录并运行后打开串口终端你应该能看到如下所示的启动信息 wifi test mode demo Initialize CLI Initialize WLAN Driver MAC Address: 00:50:43:02:FE:01 461: [net] Initialized TCP/IP networking stack app_cb: WLAN: received event 11 app_cb: WLAN initialized WLAN Test Mode CLIs are initialized CLIs Available: help wlan-version ...看到CLIs Available:以及下面一长串命令列表就说明测试模式应用已经成功启动并且命令行解释器CLI已经就绪。此时光标会停在命令提示符通常是#后等待你输入命令。这里有一个关键的心得wifi_test_mode应用在初始化时虽然打印了“Initialized TCP/IP networking stack”但它并没有像wifi_cli或wifi_mqtt应用那样去连接任何外部AP。它的网络栈是处于一个最小化、待命的状态核心是RF测试驱动。这意味着你可以独立于任何外部网络环境进行操作非常适合在屏蔽室或受控的射频环境下工作。3. RF测试模式核心命令全解析手册列出了所有命令但如果不理解其内在逻辑和关联很容易陷入“照猫画虎却画成犬”的境地。我将这些命令分为几个功能模块并深入解释每个参数背后的含义。3.1 基础配置与模式设置在发射或接收任何信号之前必须告诉芯片“在哪里、以何种身份”工作。这就像给无线电设备设定频率和制式。1. 进入RF测试模式这是所有RF测试的“总开关”。执行wlan-set-rf-test-mode后Wi-Fi驱动会从正常的Station或AP模式切换到专用的工厂测试模式。在此模式下许多与网络连接相关的自动控制逻辑如自动功率控制、信道选择会被禁用取而代之的是对你输入命令的绝对服从。# wlan-set-rf-test-mode RF Test Mode configuration successful实操心得这个命令通常只需执行一次。执行后建议再执行一次wlan-get-rf-per虽然手册例子是在后面来清空可能存在的历史统计计数器确保后续测试数据的纯净。2. 设置射频基础参数这是一组必须按顺序或根据需求配置的参数它们定义了物理层的基本工作环境。频段 (Band):wlan-set-rf-band 0|1。0代表2.4GHz ISM频段1代表5GHz频段。这个选择直接决定了后续可用的信道范围。信道 (Channel):wlan-set-rf-channel channel。信道是频段内的具体工作中心频率。例如2.4GHz频段的信道6对应中心频率2437MHz。务必查阅当地无线电法规确保你测试的信道是允许使用的。带宽 (Bandwidth):wlan-set-rf-bandwidth 0|1。0代表20MHz带宽1代表40MHz带宽。更宽的带宽能提供更高的数据速率但可能更容易受到干扰且在部分频段有使用限制。无线电路径模式 (Radio Mode):wlan-set-rf-radio-mode mode。这个参数比较复杂它同时隐含了频段和天线路径的配置。11: 2.4GHz频段1x1模式单流使用Path A通常对应主天线。3: 5GHz频段1x1模式使用Path A。0: 关闭无线电功率下降模式。参数配置的逻辑链条通常的配置顺序是Radio Mode-Band-Channel-Bandwidth。因为Radio Mode已经隐含了频段信息但显式地设置Band可以确保驱动状态机清晰。一个典型的2.4GHz配置序列如下# wlan-set-rf-radio-mode 11 Set radio mode successful # wlan-set-rf-band 0 RF Band configuration successful # wlan-set-rf-channel 6 Channel configuration successful # wlan-set-rf-bandwidth 0 Bandwidth configuration successful3.2 天线与功率配置天线和发射功率是影响射频性能最直接的两个因素。1. 天线选择对于支持分集天线的板卡你可以指定发射和接收使用的物理天线。wlan-set-rf-tx-antenna 1|2: 1为主天线Main2为辅助天线Aux。wlan-set-rf-rx-antenna 1|2: 同上。注意事项在进行传导测试通过电缆连接仪表时务必确认你的射频线缆连接的是哪一路天线。如果接的是主天线端口但命令设置为辅助天线那么信号将无法被正确测量。在辐射测试使用天线时可以通过切换天线来评估不同天线的性能差异。2. 发射功率设置这是RF测试中最常用的命令之一wlan-set-rf-tx-power tx_power modulation path_id。tx_power: 期望的发射功率单位dBm。例如10表示10dBm。这个值是一个“目标值”最终实际输出的功率取决于芯片的校准数据、当前频率以及硬件限制。芯片会根据自己的功率表进行查表和微调。modulation: 调制方式。0 (CCK)用于旧的802.11b1 (OFDM)用于802.11a/g2 (MCS)用于802.11n/ac/ax的高阶调制。不同的调制方式即使设置相同的功率值实际输出也可能有细微差别因为功放的工作点可能不同。path_id: 路径ID。0为Path A1为Path B2为Path AB用于MIMO。对于1x1的单天线模式通常设置为0。例如设置OFDM调制、Path A、输出15dBm# wlan-set-rf-tx-power 15 1 0 Tx Power configuration successful Power : 15 dBm Modulation : OFDM Path ID : PathA重要经验手册中给出的功率范围如0-24dBm是理论值。实际最大可用功率受限于芯片规格、电源电压、散热条件以及当地法规限值。在测试时务必使用频谱分析仪或功率计进行实际测量并将测量值与设定值进行对比建立属于你自己板卡的“功率校准表”。这是通过射频认证测试的基础。3.3 发射机测试连续波与数据包这是验证发射机性能的核心分为连续波CW模式和标准数据包模式。1. 连续波模式命令wlan-set-rf-tx-cont-mode enable_tx cw_mode payload_pattern cs_mode act_sub_ch tx_rate连续波模式发射的是未经调制的单载波信号主要用于频谱纯度、中心频率精度和功率平坦度的测试。enable_tx: 1启用0禁用。cw_mode: 是否为纯连续波。1启用CW模式此时芯片发射单音信号0则禁用CW模式即使启用发射发出的也是调制信号。payload_pattern: 负载模式十六进制。在CW模式下这个参数通常无效可以设为0。cs_mode: 载波侦听模式。在测试模式下通常禁用0。act_sub_ch: 激活子信道。对于20MHz带宽0低子带1高于带3全部。在CW模式下用于测试信道边缘。tx_rate: 数据速率索引。在CW模式下此参数决定了载波频率的某些特性如是否应用扩频对于纯单音通常设为较低速率如7对应9Mbps OFDM。启用CW模式的典型命令# wlan-set-rf-tx-cont-mode 1 1 0 0 0 7执行后你应该能在频谱分析仪上看到一个非常干净、稳定的单峰信号其中心频率就是你设置的信道中心频率。警告CW信号能量集中长时间大功率发射可能损坏功放或触发保护电路。测试完毕务必立即禁用wlan-set-rf-tx-cont-mode 0。2. 标准802.11数据包发射模式命令wlan-set-rf-tx-frame start data_rate frame_pattern frame_len ... bssid这个命令用于发射符合802.11协议格式的数据包但内容是你自定义的负载。它可以用来测试发射机的调制质量、误差向量幅度EVM、频谱模板等。start: 1开始发射0停止。data_rate:数据速率索引十六进制输入。这是最容易出错的地方。手册中的Table 15和Table 16是速查表。例如要发射HT_MCS4即802.11n, MCS4的包查表得索引为19。但命令需要十六进制输入所以此处应填0x1319的十六进制。在CLI中直接输入13CLI会将其解释为十六进制数或0x13均可。frame_pattern: 负载填充模式十六进制。发送的每一字节数据都将被填充为该模式。例如0xAA会发送连续的10101010序列0x00则发送全0。不同的模式可以用来测试线路编码和时钟恢复。frame_len: 数据包长度十六进制单位字节。例如0x100表示256字节的MAC层负载。bssid: 一个虚拟的BSSIDMAC地址填充在包的地址字段中。一个发射256字节、负载为0xAA、MCS4速率数据包的命令如下# wlan-set-rf-tx-frame 1 13 0xAA 0x100 0 0 0 0 0 0 0 0 0 38:E6:0A:C6:1A:EC关键解析这里的13是十六进制对应十进制19即HT_MCS4。执行后芯片会以指定的速率和功率持续发射固定间隔的数据包。你可以使用专业的Wi-Fi协议分析仪如Keysight、RS或便宜的USB抓包网卡配合Wireshark在监听模式来捕获和分析这些数据包验证其格式、速率和调制是否正确。3.4 接收机与统计功能测试模式也提供了简单的接收机统计功能主要用于快速验证接收链路是否通畅。 命令wlan-get-and-reset-rf-per这个命令会读取并清零芯片内部统计的接收包计数器。# wlan-get-and-reset-rf-per PER is as below: Total Rx Packet Count : 6450 Total Rx Multicast/Broadcast Packet Count: 4740 Total Rx Packets with FCS error : 2776Total Rx Packet Count: 总共收到的数据包数量包括正确和错误的。Total Rx Multicast/Broadcast Packet Count: 收到的组播/广播包数量。Total Rx Packets with FCS error: 收到但帧校验序列FCS错误的包数量即误码包。如何使用这个功能进行简易接收测试配置好芯片的频段、信道、带宽与发射源一致。不要执行任何发射命令让芯片处于纯接收状态。使用另一台设备如另一个RW61x板卡运行发射命令或一个标准Wi-Fi路由器/AP在相同信道上持续发射数据包。等待几秒钟然后执行wlan-get-and-reset-rf-per。观察Total Rx Packet Count是否在增加。如果为0检查天线、信道配置、或发射源是否工作。如果FCS error数量异常高可能意味着接收信号质量差信噪比低存在干扰或硬件问题。这是一个非常基础的接收性能指示对于深入分析接收灵敏度、邻道抑制等指标仍需借助矢量信号分析仪等专业设备。3.5 高级功能OFDMA与OTP操作对于支持Wi-Fi 6 (802.11ax)的RW61x测试模式还提供了OFDMA正交频分多址上行触发的测试功能。这主要用于验证芯片在Wi-Fi 6模式下的上行多用户接入能力。1. 触发帧响应模式命令wlan-set-rf-he-tb-tx enable qnum aid axq_mu_timer tx_power此命令使芯片进入“触发帧响应”状态。在这种状态下芯片会监听来自AP的触发帧并在收到后按照触发帧的调度在指定的资源单元上发送上行OFDMA数据包。这需要有一个支持802.11ax并充当AP的设备来配合发送触发帧。对于单板测试更常用的是下面的“独立”触发帧发射。2. 独立触发帧与参数配置wlan-set-rf-trigger-frame命令会让芯片自己生成并发射一个触发帧。这个触发帧本身是一个下行管理帧它“模拟”了AP的行为定义了资源单元的分配。随后芯片可以立即或通过配置在触发帧所分配的资源单元上发送上行数据包。这非常适合在没有真实AP的情况下测试芯片的OFDMA发射机逻辑。更精细的控制通过wlan-set-trigger-frame-parameters实现它可以修改触发帧内部数十个参数如触发类型、用户AID、资源单元分配、MCS等。例如修改资源单元分配索引RU Allocation# wlan-set-trigger-frame-parameters 23 61这里的23是参数索引对应trig_user_info_field_ru_alloc61是值。RU分配值需要参考手册中的映射图如Figure 5361可能代表分配了某个特定大小的RU给用户。3. OTP操作OTP是一次性可编程存储器用于存储出厂校准数据如每块芯片的射频特性补偿值和唯一的MAC地址。wlan-set-rf-otp-cal-data: 此命令会将代码中预定义的otp_cal_data[]数组写入芯片的OTP区域。这个操作通常只能在生产环节由工厂执行一次写入后无法更改。校准数据是芯片性能特别是发射功率精度的保证切勿在开发板上随意尝试此命令可能导致芯片射频性能异常。wlan-get-rf-otp-cal-data: 读取OTP校准数据的状态标志。wlan-set-rf-otp-mac-addr: 向OTP写入MAC地址。wlan-get-rf-otp-mac-addr: 从OTP读取MAC地址。严重警告OTP写入操作具有不可逆性。除非你明确知道自己在进行生产编程并且拥有经过验证的、对应此特定芯片的校准数据否则绝对不要执行wlan-set-rf-otp-cal-data命令。错误的校准数据会永久性损坏该芯片的射频性能。4. 实战演练完整的RF测试流程与排错理论说再多不如动手做一遍。下面我将结合一个从零开始的完整测试流程穿插讲解操作技巧和常见问题。4.1 测试场景定义与规划假设我们需要验证一块新设计的RW610板卡在2.4GHz频段、信道6、20MHz带宽下的发射功率精度和频谱掩模是否符合设计要求。测试设备准备RW610评估板或自制板卡连接好串口线和电源。频谱分析仪如Keysight N9000B系列设置好中心频率2437MHz、参考电平如0dBm、分辨率带宽RBW100kHz、视频带宽VBW300kHz。射频线缆和必要的衰减器防止信号过强损坏仪表。将评估板的射频端口通过线缆和衰减器连接到频谱分析仪的输入端口。4.2 分步执行与数据采集第一步基础配置与CW模式测试验证频率与功率串口连接启动wifi_test_mode应用。执行基础配置命令序列# wlan-set-rf-test-mode # wlan-set-rf-radio-mode 11 # wlan-set-rf-band 0 # wlan-set-rf-channel 6 # wlan-set-rf-bandwidth 0 # wlan-set-rf-tx-antenna 1 # wlan-set-rf-tx-power 10 1 0此时芯片已配置为2.4GHz信道6准备以10dBm目标值发射OFDM信号。先进行CW模式测试因为它信号纯净便于观察# wlan-set-rf-tx-cont-mode 1 1 0 0 0 7立即观察频谱分析仪。你应该在2437MHz处看到一个尖锐的单峰。记录其实际中心频率和峰值功率。频率误差测量到的中心频率与2437MHz的差值应在芯片规格书规定的范围内通常±20ppm以内。功率误差测量到的峰值功率与你设定的10dBm的差值。这是评估你板卡射频链路损耗和芯片输出能力的关键。测试完成后立即停止发射# wlan-set-rf-tx-cont-mode 0第二步标准包模式测试验证调制质量与频谱模板保持第一步的基础配置不变。发射标准数据包使用相对较低的速率如OFDM 6Mbps索引6和简单的负载模式# wlan-set-rf-tx-frame 1 6 0xAA 0x100 0 0 0 0 0 0 0 0 0 00:11:22:33:44:55在频谱分析仪上将扫描类型切换为“频谱模板测量”或“发射频谱掩模”。调整中心频率和跨度。观察测得的频谱是否落在802.11标准规定的“频谱模板”之下。任何超标都意味着发射机存在非线性或调制问题。如果有矢量信号分析仪可以进一步解调这个信号测量其误差向量幅度EVM、频率误差、IQ不平衡等指标。停止发射# wlan-set-rf-tx-frame 0第三步功率斜坡测试目的是验证在不同目标功率下实际输出功率的线性度。编写一个简单的脚本可以通过终端软件的脚本功能或手动操作循环执行以下命令序列# wlan-set-rf-tx-power X 1 0 // X从0, 2, 4, ... 增加到最大允许值如20 # wlan-set-rf-tx-cont-mode 1 1 0 0 0 7 // 等待稳定并记录频谱仪功率值 # wlan-set-rf-tx-cont-mode 0将每个X对应的实测功率记录下来绘制成“设定功率 vs. 实测功率”曲线。理想的是一条斜率为1的直线。实际曲线可能会在高功率端饱和达到功放最大输出在低功率端精度下降。4.3 典型问题排查实录在实际操作中你几乎一定会遇到问题。以下是我踩过的一些坑和解决方法问题1执行任何wlan-set-rf-*命令都返回失败或毫无反应。可能原因A没有首先执行wlan-set-rf-test-mode。这是进入测试模式的钥匙没它后续所有RF命令都无效。可能原因B命令参数格式错误。例如wlan-set-rf-channel后面直接跟数字不能加“GHz”等单位。wlan-set-rf-tx-frame的数据速率参数需要十六进制数如果你输入了十进制的大数可能会被解释为一个不存在的速率索引而失败。排查步骤确认wlan-set-rf-test-mode已成功执行。使用help命令查看命令列表确认命令名输入正确。对于复杂命令先使用不带参数的命令查看用法提示例如输入wlan-set-rf-tx-frame然后回车CLI会打印出详细的参数说明。检查串口终端是否处于“本地回显”模式确保你能看到自己输入的命令。问题2频谱仪上看不到任何信号。可能原因A射频线缆连接错误或断路。这是最常见的原因。可能原因B天线选择错误。如果你用线缆连接的是主天线端口但命令设置为wlan-set-rf-tx-antenna 2辅助天线信号就不会从你连接的端口输出。可能原因C发射未成功启动。对于wlan-set-rf-tx-cont-mode必须确保最后一个参数enable_tx为1。对于wlan-set-rf-tx-frame第一个参数start必须为1。可能原因D频谱仪设置错误。中心频率、参考电平、衰减设置不当可能导致信号不在屏幕显示范围内。排查步骤物理层检查换一根确认好的线缆检查连接器是否拧紧。配置检查执行wlan-get-rf-bandwlan-get-rf-channel等命令确认芯片的配置与你频谱仪设置的频率一致。天线检查执行wlan-get-rf-tx-antenna确认天线路径。命令状态检查发射命令执行后CLI会返回“configuration successful”。如果没有检查参数。仪表检查将频谱仪的中心频率设为一个很宽的扫宽如整个2.4GHz频段参考电平设高如20dBm衰减设为0dB看看是否有任何信号出现。也可以先用一个已知的信号源如信号发生器验证频谱仪工作正常。问题3实测功率与设定功率偏差很大2dB。可能原因A射频链路损耗未校准。线缆、连接器、衰减器都有自己的插入损耗。你需要用网络分析仪或功率计校准整个测试链路的损耗并在读取频谱仪数据时将其补偿回来。可能原因B芯片校准数据不准确或丢失。如果OTP中的校准数据是空的或错误的芯片的功率控制环路就无法精确输出目标功率。可能原因C电源供电不足。射频功放在发射时瞬间电流很大如果电源纹波大或电压跌落会导致输出功率下降和不稳。排查步骤校准链路在信号发生器端输入一个已知功率如0dBm在频谱仪端测量差值即为链路损耗。检查电源使用示波器测量板卡射频供电引脚在发射瞬间的电压波形确保没有明显跌落。交叉验证如果可能用另一块确认好的同型号板卡在相同测试环境下对比。问题4发射标准包时协议分析仪无法解码或识别为无效包。可能原因ABSSID设置问题。虽然测试模式下BSSID可以任意设置但某些分析仪过滤器可能会过滤掉非法的MAC地址。尝试使用一个真实的、常见的MAC地址格式如02:00:00:00:00:01这是一个本地管理的地址。可能原因B数据速率或调制方式设置与包长不匹配。例如使用非常低的速率如1Mbps DSSS发送一个极短的包可能导致包结构异常。可能原因C分析仪未正确同步。确保分析仪与你发射的信道、带宽完全一致并处于“混杂模式”或“监听模式”。排查步骤尝试一个最简单的配置低速率如6Mbps OFDM、中等包长如256字节、连续的0xAA负载。在分析仪上禁用所有过滤器。确认分析仪能正确识别802.11协议类型如802.11n HT-Mixed。5. 生产测试考量与自动化脚本在研发阶段我们通过命令行手动操作。但在生产测试中需要的是自动化、快速和可靠的测试方案。wifi_test_mode的CLI接口天然适合自动化。自动化测试框架思路测试PC端使用Python的pyserial库或Expect脚本如Tcl/Expect控制串口向设备发送命令序列。仪器控制通过GPIB、USB或LAN接口使用SCPI命令控制频谱分析仪、功率计等实现自动配置、触发测量和读取结果。测试流程连接与初始化自动化脚本打开串口等待设备启动发送wlan-set-rf-test-mode等初始化命令。参数遍历测试循环不同的信道、带宽、功率等级组合。对于每个组合脚本发送配置命令然后控制仪器进行测量如功率、频率、EVM。结果判断与记录脚本读取仪器返回的测量值与预设的上下限进行比较Pass/Fail并将结果包括原始数据记录到日志文件或数据库中。错误处理加入超时机制和命令响应校验。如果某个命令失败或仪器无响应脚本应能记录错误并安全地停止测试或跳转到下一项。一个简单的Python伪代码示例import serial import pyvisa # 用于控制仪器 def run_rf_test(serial_port, instrument_addr): # 1. 初始化连接 ser serial.Serial(serial_port, 115200, timeout2) instr pyvisa.ResourceManager().open_resource(instrument_addr) # 2. 配置设备进入测试模式 send_command(ser, wlan-set-rf-test-mode) send_command(ser, wlan-set-rf-radio-mode 11) send_command(ser, wlan-set-rf-band 0) send_command(ser, wlan-set-rf-channel 6) send_command(ser, wlan-set-rf-bandwidth 0) send_command(ser, wlan-set-rf-tx-antenna 1) test_powers [0, 5, 10, 15, 18] results [] for target_pwr in test_powers: # 3. 设置功率 send_command(ser, fwlan-set-rf-tx-power {target_pwr} 1 0) # 4. 启动CW发射 send_command(ser, wlan-set-rf-tx-cont-mode 1 1 0 0 0 7) time.sleep(0.5) # 等待稳定 # 5. 仪器测量 instr.write(:INIT:IMM;:FETCH:SCAL:POW?) measured_pwr float(instr.read()) # 6. 停止发射 send_command(ser, wlan-set-rf-tx-cont-mode 0) time.sleep(0.1) results.append((target_pwr, measured_pwr)) # 7. 判断Pass/Fail if abs(measured_pwr - target_pwr) 2.0: # 假设容差±2dB print(fPower {target_pwr}dBm: PASS (Measured: {measured_pwr:.1f}dBm)) else: print(fPower {target_pwr}dBm: FAIL (Measured: {measured_pwr:.1f}dBm)) ser.close() instr.close() return results def send_command(ser, cmd): ser.write((cmd \r\n).encode()) time.sleep(0.05) # 可以在这里添加读取和验证回显的代码通过这样的自动化脚本可以将原本需要工程师手动操作数小时的全面RF测试压缩到几分钟内完成极大提升了生产测试效率和一致性。