RF 工具

重要

这是 Azure Sphere(旧版)文档。 Azure Sphere(旧版)将于 2027 年 9 月 27 日停用,用户此时必须迁移到 Azure Sphere(集成)。 使用位于 TOC 上方的版本选择器查看 Azure Sphere(集成)文档。

射频 (RF) 工具可在基于 Azure Sphere 的硬件的设计验证和制造过程中根据需要启用对无线电的低电平控制。 这些工具包括用于控制和显示 RF 设置的交互式应用程序。

如果设计一个包含 MT3620 芯片的板或模块,则必须先测试并校准无线电,然后才能寄送该板或模块。 如果你制造的连接设备包含其他供应商的板或模块,则该供应商应该已经执行 RF 测试;如果有任何问题,请向供应商咨询。

制造连接设备介绍了如何在制造工作流中进行 RF 测试。

重要

RF 工具需要 启用 RF 测试模式 功能。 默认情况下,此功能存在于处于空白制造状态的板上,但在 Module1CompleteDeviceComplete 状态中不可用。

使用 azsphere device capability show-attached 命令确定设备上是否存在此功能。 如果需要在不具备此功能的设备上运行 RF 工具,请按照请求 RF 工具中的说明联系Microsoft以获取帮助。

RF 工具仅使用必须连接到电脑上的 USB 端口的服务 UART 端口。 RF 工具要求未来技术设备国际(FTDI)FT4232HQ UART 到 USB 接口芯片公开 UART。 有关服务 UART 端口的详细信息,请参阅 MCU 编程和调试接口

请求 RF 工具

Microsoft向客户、合作伙伴和安全研究人员提供 RF 工具包。 你可以从技术销售专业人员(TSP)请求他们。 如果没有 TSP,请发送电子邮件, azspheremfrsamplesup@microsoft.com 其中包含以下信息:

  • 你的姓名、组织和联系信息。

  • 如果有Microsoft帐户团队或 TSP 的联系信息。

  • 如果要构建模块(而不是直接使用 MT3620 芯片的设备),需要 RF 工具的原因。

  • 计划使用工具运行的测试类型。

  • 预计制造时间线(何时需要制造/认证设备)。

Microsoft代表将与你合作来确定适当的分发渠道。

设置和安装

在运行 RF 工具之前,必须先按照以下各部分的说明,使用最新软件设置电脑和 MT3620 设备并解压缩这些工具。

电脑设置

使用当前的 Azure Sphere SDK 设置电脑。

MT3620 设备设置

设置电脑以后,确保 MT3620 设备运行最新的 Azure Sphere OS。 请按当前版本的发行说明中的说明操作。

RF 工具安装

将 RF 工具包解压缩到电脑的目录中。 生成的文件夹包含四个子文件夹:

  • Configurations:包含可简化无线电配置设置的文件

  • 包含用于执行 RF 测试的 C、C# 和 Python 库的库

  • rftest-server,其中包含预生成工具使用的 rftest-server.imagepackage,或者使用 RF 工具库生成的应用程序。

  • 工具,其中包含适用于 Windows x86、x64 和 Linux(x64)和 Python(MacAddressTool、RfSettingsTool、RfSettingsTool、RfSettingsTool)目录的预生成应用程序(MacAddressTool、RfToolCli、WiFiRegionUpdater)。

MT3620 RF 配置和校准

MT3620 将无线电配置和校准数据存储在电熔丝中,后者可以进行有限次数的编程。 该数据包括芯片支持的频带(例如 2.4GHz 或 5GHz)、发射功率调整,以及设备上的天线配置。 有关电子熔丝配置的详细信息,请参阅 MediaTek 提供的 MT3620 N9 E-fuse 内容指南。

天线分集

无线电信号遇到环境中的物体时会反弹。 因此,单个无线电信号在从发射器发射到接收器的过程中会采用多条路径。 这些无线电信号经过的距离不同,因此到达接收器的时间也不同。 有时候,到达的信号干扰很严重,导致天线看不到任何信号。 若要解决此问题,一种方法是使用天线分集。 为了提供天线多样性,第二个具有不同方向的天线与第一个天线相距短距离(至少四分之一的波形)。

MT3620 支持两种通过无线电电熔丝完成的天线分集配置。 此图显示这两种配置。

天线分集

左侧的配置显示接收分集(RX 分集)。 在此配置中,第二个天线连接到辅助天线端口。 如果在主天线端口上接收的信号电平降到某个阈值以下,MT3620 会在接收数据时自动切换到第二个天线。 在此配置中,发射仍然必须使用主天线。

右侧的配置显示发射和接收分集(TX 和 RX 分集),使用辅助天线进行发射和接收。 为此,MT3620 使用一个外部双刀双掷 (DPDT) 开关将信号路由到任一天线。 在发射和接收分集配置中,不使用辅助天线端口。 MT3620 通过两个专用天线选择引脚来控制该外部开关。

缓冲箱

在 RF 测试过程中,MT3620 可以使用易失存储器而非永久性电熔丝中的值,这样测试操作员和设备就可以在不永久更改电熔丝的情况下调整这些设置。 用于存储这些设置的易失性内存称为“缓冲箱”。测试操作员或设备确保缓冲箱中的值正确后,缓冲箱的状态可以永久写入电子熔丝。

进入 RF 测试模式时,可以通过加载“默认缓冲箱”文件将缓冲箱的内容设置为已知的预设置值。 然后,测试操作员或设备就可以根据需要设置其他的配置或校准值。

RF 工具包在 Configurations\MT3620 目录中提供了多个默认缓冲箱文件。 可以通过这些文件将设备初始化为某个预配置的状态,或者替代此前已在在试设备 (DUT) 上编程到永久电熔丝中的任何校准设置。

以下缓冲箱文件支持通过主天线进行发射:

  • MT3620_eFuse_N9_V5_20180321_24G_5G_NoDpdt.bin设置无线电以支持 2.4GHz 和 5GHz 操作。

  • MT3620_eFuse_N9_V5_20180321_24G_Only_NoDpdt.bin将无线电设置为仅支持 2.4GHz 操作。

以下缓冲箱文件支持通过辅助天线进行发射:

  • MT3620_eFuse_N9_V5_20180321_24G_5G_Dpdt.bin支持使用 DPDT 交换机执行 2.4GHz 和 5GHz 操作。

  • MT3620_eFuse_N9_V5_20180321_24G_Only_Dpdt.bin支持使用 DPDT 交换机执行 2.4GHz 操作。

可以将默认的缓冲箱文件进一步自定义为特定的设备应用程序。 请联系 MediaTek 或Microsoft获取其他自定义选项。

RF 工具使用情况完成后

在制造设备上完成 RF 测试和校准后, 应从设备中删除 rftest_server.imagepackage ,并将设备的制造状态设置为防止进一步修改 RF 设置。

删除 rftest_server.imagepackage

使用 RF 工具后,rftest_server.imagepackage包可能保留在设备上。 此 OS 包允许通过 FTDI 接口访问低级别 RF 配置。 当设备下次连接到 AS3 时,AS3 会自动删除此包。 但是,当 RF 测试完成后,使用 RF 工具的制造商应删除此包。

删除包:

  1. 按如下所示运行 azsphere device image 命令:

    azsphere device image list-installed --full
    
  2. 检查是否安装了名为 rftest_server的组件。 如果是这样,请运行 azsphere device sideload 命令,后跟 azsphere device image 命令,如下所示:

    azsphere device sideload delete -component-id 508eddf2-b8c3-4a99-93d9-a045d9a060eb
    

    运行此命令后,设备将重新启动。

    azsphere device image list-installed --full
    

    请注意, 运行此命令后,rftest_server imagepackage 不再存在。

注意

如果在 Linux 上运行 RfTools,可能需要在 Tools/Prebuilt/Linux-x64 文件夹中设置 RfTool 程序的执行权限,请运行以下命令以设置 RfToolCli 的权限。

chmod +x RfToolCli

防止进一步修改 RF 设置

为了防止进一步修改 RF 设置,应 将设备的制造状态 设置为 Module1Complete

请注意,如果设备立即开始加载应用程序(例如,在单个生产线上完成 RF 测试和设备软件加载的芯片式设计),则可以跳过此步骤。 在应用程序加载和测试过程结束时,设备将移动到 DeviceComplete 状态,从而阻止修改 RF 设置。

RfToolCli

RfToolCli 是一种交互式命令行工具,可以对 MT3620 无线电实施低电平控制,以便进行测试和诊断。 在运行此工具之前,请确保在试设备 (DUT) 已连接并运行最新 Azure Sphere OS。

若要使用该工具,请打开命令提示符/终端窗口,转到包含 RfToolCli 应用程序的目录,并运行 RfToolCli。 RfToolCli 具有以下启动选项:

RfToolCli [-BufferBin <filename>] [-Image <filename>] [-Device <IP address of device to use [Default: 192.168.35.2]>]

-BufferBin 选项传递自定义的默认缓冲箱配置文件的路径。 默认情况下,RfToolCli 使用已编程到设备中的无线电设置。 这些设置包括任何发射功率调整、允许的频带以及天线配置。 若要使用备用设置文件,请通过 -BufferBin 选项提供文件路径。

-Image 选项传递 rftest-server.imagepackage 文件的路径。 必须先将此映像包文件加载到 DUT 中,然后才能将设备置于 RF 测试模式。 rftest-server 与 RfToolCli 程序位于同一文件夹中,在大多数情况下,RfToolCli 可以找到此文件。 如果从另一位置运行 RfToolCli,可能需要使用 -Image 选项来传递该文件的路径。

在启动时,RfToolCli 会准备设备,然后显示交互式提示:

RfToolCli
Preparing DUT...
>

RFToolCli 提供在下表中列出的命令。

命令(缩写)选项 说明
天线 {aux | main} 选择辅助天线或主天线。
channel number 选择频道。
config read
{macaddress | data}
获取设备 MAC 地址和缓冲箱数据。
config write
{macaddress | data}
设置设备 MAC 地址和缓冲箱数据。
config save 将对 MAC 地址或缓冲箱数据的更改保存到永久性电熔丝中。
exit 从程序退出。
help command-name 显示命令的帮助。
receiverx
{start | stop | stats}
启动或停止接收操作,或者显示有关已接收数据包的统计信息。
设置 显示当前的无线电设置。
showchannel (sc) 列出设备支持的频道。
传输tx) {frame | mode | power | rate | start} 配置和发射数据包。
frame、mode、power 和 rate 选项用于配置数据包;每个选项都有定义相关配置设置的参数。
start 选项用于启动发射操作。

若要获取任何命令的帮助,可以在命令名称之后键入 help 和某个选项(如果适用)。 例如:

help transmit frame
Usage:
Transmit Frame [-BSS <Str>] [-Destination <Str>] [-Duration
<UInt16>]
[-FrameControl <UInt16>] [-Source <Str>]
Configure transmit frame header
Optional Parameters:
-BSS <Str> - BSS MAC address (in colon-delimited format)
-Destination <Str> - Destination MAC address (in colon-delimited
format)
-Duration <UInt16> - Frame duration [Alias: -D]
-FrameControl <UInt16> - Frame Control Number [Alias: -F]
-Source <Str> - Source MAC address (in colon-delimited format)

示例:查看启动设置

在启动时,RfToolCli 会设置多个默认值,包括发射模式、数据速率和频道。 若要查看这些启动设置,请使用 settings 命令。

 > settings
 ------Radio------

 Mode: Normal
 Power: 16.0
 Channel: 1
 Rate: Ofdm54M

---TX Frame Header---

Frame Control: 8000
Duration: 2000
BSS MAC: 62:45:8D:72:06:18
Source MAC: AC:AC:AC:AC:AC:AC
Destination MAC: 62:45:8D:72:06:18

---TX Frame Data---

Frame Size: 1000
Use Random Data: True

示例:设置通道并获取收到的数据包统计信息

此命令序列在指定的 802.11 频道上将无线电置于接收模式,然后获取有关已接收数据包的统计信息:

> channel 9
Setting channel to 9
> rx start
Starting receive
> rx stats
Total packets received: 2578
Data packets received: 4
Unicast packets received: 0
Other packets received: 4
>

示例:在当前通道上传输数据包

此命令促使无线电在当前频道上发射数据包:

> transmit start
Starting transmit
Press any key to stop transmission

示例:在当前通道上以连续模式传输数据包

此命令促使无线电在当前频道上以连续模式发射数据包,直到你停止发射或设置其他模式为止:

> tx mode continuous
> tx start
Starting transmit
Press any key to stop transmission

设备以连续模式发射时,数据包之间没有间隔,适用于测量功率。

示例:在当前通道上传输连续音调

此命令序列促使无线电在当前频道上发射音调,直到你按某个键为止。

> tx mode continuouswave
> tx start
Starting transmit
Press any key to stop transmission

示例:获取设备当前配置的 MAC 地址

此命令读取设备上当前配置的 MAC 地址。

> config read MacAddress
Device MAC address: 4E:FB:C4:1C:4F:0C

示例:设置设备的 MAC 地址

此命令向设备的缓冲箱写入一个新的 MAC 地址。 如果已为设备设置 MAC 地址,系统会要求你确认所做的更改。

> config write MacAddress 02:12:ab:cd:ef:11
Device already has MAC address 4E:FB:C4:1C:4F:0C
Are you sure you want to modify this? (y/N):y

注意

若要永久保存所做的缓冲箱或 MAC 地址更改,请使用 config save 命令。

示例:设置配置数据的一个字节

config write data 命令可以用来在指定的缓冲箱地址设置一个字节的数据。

> config write data 0x34 0xDD

示例:显示设备配置数据

config read data 命令输出设备缓冲箱的整个内容。

> config read data
Current configuration data:
0x0000: 20 36 04 00 B2 EE D2 16 E5 73 00 00 00 00 00 00
0x0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0030: 00 00 00 00 00 00 00 00 FF FF 20 00 60 00 CC 00
...

示例:将配置数据保存到电子保险丝

config save 命令将对缓冲箱所做的任何更改永久写入到非易失性电熔丝。 电熔丝只能写入有限的次数,因此强烈建议先执行所有缓冲箱更改,然后再将这些更改一步写入到电熔丝。

> config save
About to commit data to non-volatile storage
Changes will be permanent. Continue? (y/N):y
Done

RF 设置工具

RF 设置工具显示 MT3620 e-fuse 设置,以便可以验证是否已正确设置它们。 与 RfToolCli 不同,RF 设置工具是只读的。 因此,可以将它用于检查设备设置,即使已在特定设备上禁用无线电测试功能。

若要使用该工具,请打开命令提示符/终端窗口,转到 Tools/Prebuilt/<Win-x86 |Win-x64 |Linux-x64> 文件夹,并运行 RfSettingsTool。 此工具有两个命令和两个启动选项:

RfSettingsTool <command> [--image <filename>] [--usefile <filename>] [-Device <IP address of device to use [Default: 192.168.35.2]>]

支持以下命令:

命令(缩写) 说明
check (c) 验证 MT3620 设备配置数据
help (?) 显示帮助信息
show (s) 显示 MT3620 配置数据。

RfSettingsTool 的 check 命令

RfSettingsTool 的 check 命令从附加的设备读取配置,并将其与包含预期设置的缓冲箱配置文件进行比较。 check 命令的格式如下:

RfSettingsTool check --expected <filename> [--image <filename>] [--nomacaddress] [--showconfig] [--usefile <filename>] [--verbose]
参数(缩写) 说明
--expected filename (-e) 缓冲箱文件的路径,该文件包含预期的用来进行对照检查的电熔丝设置。 必需。
--image filename (-i) RF 测试映像的路径。 如果省略此项,则默认为 rftest-server.imagepackage。 可选。
--nomacaddress (-n) 指示不应在设备上设置 MAC 地址。 可选。
--showconfig (-s) 在检查后显示设备配置。 可选。
--usefile filename (-u) 从指定的文件而非附加的设备读取配置数据。 可选。
--verbose (-v) 显示额外的输出信息。

例如,以下命令验证无线电设置是否与指定缓冲箱文件中的设置匹配:

> RfSettingsTool check --expected ..\Configurations\MT3620\
MT3620_eFuse_N9_V5_20180321_24G_5G_DPDT.bin

为了响应此命令,RfSettingsTool 会检查以下项。 所有项必须为 true 此命令才会成功:

  • 区域代码与预期的设置相同

  • 存在的外部天线开关与预期的设置相同

  • 天线配置与预期的设置相同

  • 目标功率与预期的设置相同

  • 工作频带与预期的设置相同

  • MAC 地址已设置

未检查特定于设备的无线电功率偏移。

RfSettingsTool 的 show 命令

RfSettingsTool 的 show 命令以用户可读的方式显示已在 MT3620 电熔丝上设置的无线电设置。 显示的字段为可供用户配置的无线电设置。check 命令的格式如下:

RfSettingsTool show [--hexdump] [--image <filename>] [--usefile <filename>] [--verbose]
参数(缩写) 说明
--hexdump (-x) 显示电熔丝的十六进制原始内容。 可选。
--image filename (-i) RF 测试映像的路径。 如果省略此项,则默认为 rftest-server.imagepackage。 可选。
--usefile filename (-u) 从指定的文件而非附加的设备读取配置数据。 可选。
--verbose (-v) 显示额外的输出信息。

以下示例显示 show 命令的部分输出:

> RfSettingsTool show
Reading configuration data from device.
--------------------------------------------------------------------------------
MAC Address : C6:76:EC:79:1D:6B
--------------------------------------------------------------------------------
Region : GB
--------------------------------------------------------------------------------
External RF switch : Present
2.4GHz Diversity : MainOnly
5GHz Diversity : MainOnly
.
.
.

RF 测试 C 库

RF 工具包包括一个 C 库,可以用来开发你自己的测试程序。 C 库位于 libraries\C 目录中。 C API 的头文件在 libraries\C\Include 文件夹中可用,使用库所需的二进制文件在 libraries\C\Bin 文件夹中提供。 若要使用此库,请联系 Microsoft 以获取相关文档。

RF 测试服务器映像 (rftest-server.imagepackage) 也在 Bin 文件夹中提供。 必须先将此映像加载到在试设备上,然后该设备才能进入 RF 测试模式。 C 库中的 mt3620rf_load_rf_test_server_image() 函数以编程方式加载映像包。

如果重新分发使用 C 库的应用程序,则必须包含库\C\Bin 中的 DLL 文件以及 rftest-server.imagepackage 文件。

跨 OS 版本的 RF 工具兼容性

不能保证一个 OS 版本的 RF 工具在所有 OS 版本之间兼容。 通常,我们建议使用与受测设备上运行的 OS 的制造包一起颁发的工具(和相关 C 库)的版本。

下表总结了工具版本与 Azure Sphere OS 版本的兼容性。

RF 工具发布 操作系统版本
23.05 22.02 及更高版本
21.01 21.01 及更高版本
20.10 20.07 或 20.10
20.07 20.07
20.04 20.04 或 20.01
20.01 20.04 或 20.01

重要

请注意,可能需要更新设备 OS 或部署更新trusted-keystore.bin才能使用 23.05 版本的 RF 工具,有关详细信息,可在此处找到详细信息。

请参阅 Azure Sphere 中的新增功能,了解当前版本中的任何其他更改。

错误

以下错误适用于 MT3620 硬件上所有版本的 RF 工具。 作为工具包的一部分的自述文件列出了其他特定于版本的问题。

  • MT3620 Wi-Fi 固件有一个小 Bug:

    如果在停止正常模式发射后立即切换到连续模式发射 (tx mode continuous) 并开始发射 (tx start),则不会有信号输出。

    若要解决此问题,请停止连续模式发射,然后再次启动,以便启动发射操作。 然后,连续模式发射就可以正常使用了。

    从连续模式切换到正常模式时不会出现这个问题。

  • 从连续波发射模式切换到正常或连续发射模式时,发射功率将错误地增加 +6 分贝。 必须重新初始化无线电,才能使功率水平恢复正常。

    • 如果使用 RfToolCli 交互式工具,则通过退出后重启工具来重新初始化无线电。
    • 如果使用 C、C# 或 Python 库,请调用 mt3620_reinitialize_buffer_bin() 函数。 这还将重新初始化无线电,并可用于解决此问题。