1. 前言
鉴于经常有客户对如何选择外部低速晶体,如何测试外部 32khz 时钟,如何直接使用外部 32khz 信号源 以及 如何选择外部高速晶体,如何测试和校准频偏存在诸多困惑,我整理了该文档以备解惑用。
2.BlueNRG-低速晶体
2.1. 低速晶体的选择
下面是 BlueNRG-1/2 规格书上列的一些指标,主要 Fnom=32.768Khz, PD 不要超过 0.1uW 就可以了:
下面是 BlueNRG-LP 规格书上列的一些指标,主要关注 Fnom=32.768Khz, PD 不要超过 0.1uW 就可以了:
2.2.32khz 时钟的测试
鉴于有客户反馈:板子可以正常工作,但是无法测量到 32khz 的时钟。这里我展示了 32khz 时钟的具体测试方法:
2.2.1 测试过程:
2.为BlueNRG-1平台通电。将示波器设置为捕获一致数量的32 kHz波形周期(例如64个周期,因此将时基设置为200μs)。通过这种方式,测量中抖动的影响被最小化。
3.在GUI的IFR工具中,执行当前IFR配置的“读取”,然后勾选“LS晶体测量”复选框,然后执行“写入”操作。现在需要一个电源循环才能使新的IFR工作。
(注意:设备编程的固件为DTM_UART.bin或DTM_SPI.bin,位于C:程序文件(x86)STMicroelectronicsBlueNRG-1_2 DK中
3.1.0固件BLE_ExamplesDTMBlueNRG-1)。
4.此时,示波器屏幕上可以看到32.768 kHz的波形。进行频率测量:目标值(f=32.768 kHz)与测量值之间的差值为频率偏移Δf。
2.2.2 期望结果:
如果DUT频率>32.768 kHz→ 增加XTAL上限
如果DUT频率<32.768 kHz→ 减少XTAL上限
要找到振荡器ppm,请使用以下公式:
其中:
Δf=偏移
f=32.768千赫
将采用的晶体数据表中声明的ppm值添加到发现的ppm值中。
当 BLE 堆栈初始化时,这个最终值必须在从 SCA 和主 SCA 字段中使用。
2.3.如何直接使用外部 32khz 信号源
鉴于一些客户不想使用内部 RC 也不想外加 32khz low crystal , 客户想知道如何使用外部 32khz 时钟源,如何使用?这里我展示了具体的使用方法:
2.3.1 正确的输入 PIN 脚应该是 SXTAL0 pin, 时钟源的要求如下:
1. 提供 0 到 1.2V 的方波:
In this case the internal xtal circuit will be disable (less power consumption).
The firmware configuration LS_SOURCE=LS_SOURCE_EXTERNAL_32KHZ should be used and, in addition to this, a modification on the file system_bluenrg1.c is needed, that is
.
.
cold_start_config[11] = (1 << 1); / <<<<<<<<<<< New line added / / Cold start configuration device /
BLUE_CTRL->RADIO_CONFIG = 0x10000U | (uint16_t)((uint32_t)cold_start_config 0x0000FFFFU);
while ((BLUE_CTRL->RADIO_CONFIG 0x10000) != 0);
.
.
2. 提供从 0 到 1.2 Vpp 的周期波形:
In this case the configuration LS_SOURCE=LS_SOURCE_EXTERNAL_32KHZ should be used without further modification.
3. BlueNRG-高速晶体
3.1. 高速晶体的选择
下面是 BlueNRG-1/2 规格书上列的一些指标,主要关注 Fnom=32Mhz(虽然下图可以选择16MHZ,但是不建议选用,会导致部分 ble 功能无法使用),fTOL 建议选择+-20ppm, PD 不要超过 100uW,对 CL 没有特殊要求 :
下面是 BlueNRG-LP 规格书上列的一些指标,主要关注 Fnom=32Mhz,fTOL 建议选择+- 20ppm, PD 不要超过 100uW,CL 选用 6~8pf 的 :
3.2. 如何调谐 BlueNRG-LP 内部的负载电容
BlueNRG-LP 内部已经嵌入了高速晶体的负载电容,所以无须额外的负载电容,对内部的负 载电容的调谐有如下两种方式:
3.2.1利用 DTM_UART_WITH_UPDATER 或者 DTM_SPI_WITH_UPDATER 固件,配 ST BlueNRG GUI 上位机软件对内 部的负载电容进行调谐,如下图所示:
1. 选择 IFR/Device Configuration2. 调谐内部的负载电容值,取值 0~633. 最后,点击 Write 即可。
3.2.2 在软件中配置内部的负载电容值方法如下:
LL_RCC_HSE_SetCapacitorTuning(XO_TUNE_VALUE); //其中 XO_TUNE_VALUE 取值 0~63
4. 如何测试和校准频偏
4.1. 频偏的测试步骤
4.1.1 对于 BlueNRG-1/2 或者 BlueNRG-LP 来说基本上是一样的:
1.下载 DTM 软件到 BlueNRG-LP 板子;2. 通过 GUI 工具打开对应的串口,如下图所示;3. 按如下步骤 1,2,3 操作就可以产生-2dbm,2402MHZ 的载波信号,其它的载波只要 更改步骤 2 中的参数就可以了;
4. 通过 RF cable 连接 BlueNRG-LP 设备和频谱分析仪,并且设置频谱分析仪:res BW = 1 kHz,SPAN = 500 kHz;5. 如果实测的频率与设置的频率差异如下:|Offset| < 50 kHz If DUT frequency > 2402.05 MHz → increases XTAL capsIf DUT frequency < 2401.95 MHz→ decreases XTAL caps
4.2. 频偏的测试方法
4.2.1 对于 BlueNRG-1/2,参考上面测试步骤 5)进行下图中负载电容(C14 和 C15)的调节:
4.2.1 对于 BlueNRG-LP,参考上面“2.2 如何调谐 BlueNRG-LP 内部的负载电容” 进行内部负载电容的调节。
5. 小结
本篇从高速晶体的选择、频偏的调试着手提供实用的指导以使客户在实际选型、设计中少走弯路。
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理
审核编辑 黄宇
-
测试
+关注
关注
8文章
5068浏览量
126288 -
晶体
+关注
关注
2文章
1327浏览量
35304 -
BlueNRG
+关注
关注
0文章
15浏览量
9634
发布评论请先 登录
相关推荐
评论