本文档提供有关 nRF70 系列设备调试(生产线)和表征(产品开发)目的所需步骤的信息。
在生产线上,一些步骤是可选的,取决于您的产品或用例。 大多数步骤涉及更新 nRF70 系列设备中一次性可编程 (OTP) 存储器的一小部分区域。使用 nRF Connect SDK 中包含的 Wi-Fi® 无线电测试示例执行所有步骤,包括对 OTP 存储器进行编程。
2 生产线操作
本节提供了推荐和可选步骤的摘要。
Step | Description | Requirement |
1 | Crystal/crystal oscillator frequency trimming | Recommended |
2 | MAC address programming | Recommended |
3 | QSPI encryption key programming | Optional |
4 | Assembly test | Optional |
表 1:生产线步骤
在对 OTP 存储器中的任何值进行编程之前,请设置寄存器 REGION.PROTECT 以允许完全读/写访问。 有关详细信息,请参阅第 13 页的 OTP 存储器编程。
2.1 晶振/晶振频率微调
IEEE 802.11 规范定义了可以容忍的最坏情况下的频率偏移,以 ppm 为单位测量。
该限值在 5 GHz 频段为 ± 20 ppm,在 2.4 GHz 频段为 ± 25 ppm。 此限制可确保所有调制方案的解调都成功,即使发送方和接收方都表现出最坏情况下的相反偏移也是如此。 该限制需要在整个工作温度范围内保持不变。
偏移量是所选晶体和片上晶体振荡器电路的组合。 nRF70 系列器件包括一个可编程电容器组,可配置为校正此频率偏移。 该电容器组的配置需要使用经过校准的测试设备来确定,并将生成的参数(微调值)编程到 nRF70 系列设备上的 OTP 存储器中。
下表显示了需要管理的 ppm 偏移量。
Offset source | Ppm offset | Mitigation |
Crystal oscillator variation over process | ± 24 ppm | production line trim |
Crystal oscillator stability over temperature | ± 3 ppm | None |
Crystal tolerance | Crystal dependent Typically ± 20 ppm | Production line trim |
Crystal stability over temperature | Crystal dependent Typically ± 10 ppm | None |
Crystal aging | Crystal dependent Typically ± 3.5 ppm | None |
Production line trim accuracy | ± 3.5 ppm | None |
该表显示有多个源无法修整,因此必须包含在 IEEE 802.11 的 ± 20 ppm 限制(或 ± 25 ppm,如果仅在 2.4 GHz 频带中运行)。 这些是晶体振荡器和晶体随温度的稳定性、晶体老化以及微调功能本身的分辨率或精度。 要在扩展的温度范围内工作,有必要调整晶体/晶体振荡器组合。 除了 ± 24 ppm 晶体振荡器变化之外,微调功能还具有足够的范围来微调具有 ± 20 ppm 容差的晶体。
2.1.1 确定微调值
要确定微调值,建议以已知频率传输调制数据包或载波。 然后使用矢量信号分析仪 (VSA) 测量调制数据包的频率偏移或使用频谱分析仪 (SA) 测量载波。 使用不同的微调值重复此操作,直到找到最小载波频率偏移 (CFO)。 然后将该值编程到 OTP 存储器中。
晶体振荡器微调范围是 0 到 127,其中 0 代表晶体振荡器产生的最高频率,而 127 代表最低频率。
下图显示了 CALIB_XO 过程。
图 1:CALIB_XO 过程
图 1:CALIB_XO 过程
图中显示的过程基于搜索最小 CFO。 可以使用多种方法。 以下示例基于二分法/二分法搜索方法。
- L=0, H=127
- minCFO=1e6
- For i in range(7)
- trimVal = (INT) (L+H)/2
- Set crystal oscillator offset to trimVal
- Transmit modulated packet or carrier wave
- Measure CFO on VSA or SA
- if abs(CFO) < minCFO:
- minCFO = abs(CFO)
- minTrimVal = trimVal
- L= trimVal if CFO > 0 else H= trimVal
复制代码