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

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


最新5G专利申请排名
MATLAB课程之第四章v3 程序设计(3)
夏普80英寸8K电视80A9BW惊艳亮相 简约设计理念让它成功脱颖而出
可保护USB Type-C连接器免受静电放电和过热影响的组件
即将发布的四款超级旗舰:iphone8、三星Note8、诺基亚8、华为Mate10,每一款都是行业的精品,究竟谁能拔得头筹?
如何选择和设置外部晶体适配 BlueNRG-X
“3D视觉检测助力动力电池高安全高品质”的主题演讲
发光二极管指示灯
学会装配图的识图步骤和识图要领
一文详解汽车电子和CAN网络的重要性
RK3308和RK3326是Rockchip今年全新推出的AI智能语音方案
为什么220V加个电容就能让三相电动机工作
供应链透露已在推进新荣耀5G手机研发
变电站、开闭所、变电所、配电房、箱变、变压站区别是什么?
Linux UI界面:自定义 GNOME 主题
OPPO Reno3系列今日发售,搭载天玑1000L处理器,售价3399元起
台积电再度突破半导体材料限制,离1nm又进一步
新材料提升ADAS性能的方法
监控矩阵功能_监控矩阵的选择
vivoZ5x续航怎么样