如何选择和设置外部晶体适配 BlueNRG-X

电子说

1.2w人已加入

描述

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  测试过程:

1.将示波器探针连接到引脚14(ANATEST1)测试点。

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 Configuration 2. 调谐内部的负载电容值,取值 0~63 3. 最后,点击 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 caps If 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. 小结

本篇从高速晶体的选择、频偏的调试着手提供实用的指导以使客户在实际选型、设计中少走弯路。

来源:STM32单片机

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分