Nordic nRF52系列/nRF5340硬件设计(一)选型及原理图设计

Nordic 的BLE系列芯片从第一代的nRF51系列,到第二代的nRF52系列,发展到目前最新的第三代的nRF5340。目前市场中使用最多的nRF52系列一共有七款芯片,它们是:nRF52805、nRF52810、nRF52811、nRF52820、nRF52832、nRF52833、nRF52840。其硬件(主要是RAM、FLASH、PHY及支持协议)的不同,满足了不同领域的需求。本系列文章将着重介绍Nordic的nRF52系列和nRF5340从前期选型、原理图设计、Layout、天线匹配及RF频偏调试的过程。希望能对广大使用Nordic芯片的开发者有所帮助。

目录

一、芯片选型

       1、粗略选型

       2、Flash和RAM资源选择。

       3、 封装选择

二、原理图设计

       1、参考设计资料

       2、芯片电源选择

       3、晶振选择

       4、LDO与DCDC供电模式选择

       5、GPIO的选择

       6、GPIO电平问题

       7、天线与匹配电路

 

 

一、芯片选型

1、粗略选型

Nordic官网中有一个产品比较页:https://www.nordicsemi.com/products/bluetooth-low-energy。打开此页面,我们可以看到Nordic目前一些主流型号的芯片的配置情况。在这个页面中详细列出了芯片 CPU的主频、Flash、RAM、供电范围、支持的硬件通讯接口(UART、I2C、I2S、SPI、HSPI、QSPI、USB、ADC)等信息。根据这些信息,开发者可以粗略筛选出2-3颗符合自己需求的芯片。

 

2、Flash和RAM资源选择。

确定大致的选型后,可以根据实际应用的具体需求再去进一步评估所需的Flash和RAM。Nordic的SDK中有丰富的例程,基本涵盖了市面上一些常见的应用,这些例程实际上已经帮开发者搭好了框架,开发者可以在这些例程的基础上开发,去增加相应的功能即可,而不是从零开始。所以我们可以借助SDK中的例程大小大致来评估实际应用所需的flash和RAM大小。

Nordic目前有两套SDK,老的nRF5 SDK现在已经进入维护阶段,Nordic不会在其中增加新的功能。未来新的功能都是放在NRF CONNECT SDK(简称NCS)中更新。nRF52系列的芯片支持两套SDK,但nRF5340只支持NCS。

关于环境的搭建,可以参考Nordic 中国区的FAE写的博客:https://www.cnblogs.com/iini/p/9043565.htmlhttps://www.cnblogs.com/iini/p/14174427.html,这两篇文章分别介绍了nRF5 SDK和NCS的环境搭建方法。

搭建好环境后,我们可以到SDK中找到相应的例程,例如需要开发一个手环应用,我们可以打开ble_app_hrs例程,可以看到HRS下有5名为PCA100XX的文件夹,这对应这此例程支持的DK板型号,PCA10040为NRF52840DK、PCA10040e为NRF52810DK、PCA10056为NRF52840DK、PCA10056e为NRF52811DK,有些例程下还有PCA10010和PCA10010e两个文件夹,分别对应NRF52833和NRF52820。PCA10059为NRF52840 Dongle。

 

 

查看例程所用的Flash和RAM的使用情况,需要借助SES编译例程。编译完成后,我们可以看到HRS例程几乎用掉了NRF52810的全部Flash和RAM(SES编译计算的Flash和RAM是包括了MBR、协议栈、application三部分的),这说明nRF52810不太适合做心率手环的应用,需要另选其他芯片。

 

 

再次编译nRF52840的工程,可以看到NRF52840的Flash和RAM使用情况,再结合其他要增加的功能(DFU、驱屏外设等)来做判断。

 

 

3、 封装选择

nRF52系列和nRF5340芯片都有多个封装可以选择,开发者可以根据实际产品对体积的要求及成本角度出发,选择封装。每款芯片的手册中都有此芯片的不同封装信息。如下图是nRF52840不同封装信息,此内容可在该芯片的 Product Specification 中查到。

 

 

 

 

 

 

 

 

 

 

 

二、原理图设计

 1、参考设计资料

选定适合的芯片后,就可以开始设计原理图了,Nordic官方提供了丰富的硬件参考设计资料:

在Nordic官网上可以除了有芯片的设计参考之外,Nordic的官方DK(Development Kit)的设计资料也是全开源的,可以在官网上找到。

我们以nRF52840为例,首先进入Nordic官网:https://www.nordicsemi.com

 

 

 

点击右上角搜索芯片,在这里可以搜到芯片和对应DK的相关页面。我们搜索nRF52840,可以看到在这里搜到了nRF52840 Dongle、DK以及芯片的相关信息。

 

 

 

在搜索页面打开nRF52840,在nRF52840介绍页面中点击 Compatible downloads 可以看到芯片的参考设计下载链接,如果你选择的是其他封装的,可以在左侧Reference layout and BOM Resources中切换。

 

 

 

 

 

 

 

 

 

 

 

 

 芯片的参考设计是一个Zip压缩包,将其下载并解压后,可以看到一共有四个文件夹

 

 

 Altium Designer files 文件夹中是可以用Altium打开的文件,芯片的封装可以直接从其中拷贝出来。如果你使用的是其他设计软件,如PADS,需要将此文件夹中的.PcbDoc文件导入到你使用的设计软件中,具体方法请上网搜索。如果导入不成功或者你觉得比较麻烦的话也在网上搜索其他人画好的库,或者根据芯片手册中的引脚相对位置关系直接自己画封装。

 

 

 

Bill of Materials 文件夹中是参考设计对应的BOM表,在BOM表中可以清楚看到Nordic推荐使用的阻容感器件及高低频晶体的类型和精度及参数。

 

 

 

 

 

 

Production files文件夹中则主要是板子的Gerber文件,方便设计者查看官方参考设计中每一层的走线。

 

 

 

Schematic and Layout pdf files文件夹中是原理图的PDF和Layout分层导出的PDF。

 

 

 看到这里,你可能会有一个疑问,为什么每一个文件夹中,都有很多个config,比如nRF52840的参考设计中,每个文件夹中都有7个config。实际上每个config都是一种参考设计,四个文件夹中每个config名称相同的文件是同一个参考设计,是一一对应的关系,即Altium Designer files中的nrf52840_qiaa_config1.PcbDoc对应的Altium 原理图是nrf52840_qiaa_config1.SchDoc,对应的BOM是Bill of Materials 中的nrf52840_qiaa_config1_bom,对应的Gerber文件是nrf52840_qiaa_config1为名称的一系列文件,对应的PDF原理图和Layout分层图是nrf52840_qiaa_config1_schematic.pdf和nrf52840_qiaa_config1_pcb.pdf。这些参考设计的区别在与有的使用芯片的DC/DC模式,有的直接使用USB供电。这些区别会放在第二部分 2、芯片电源模式选择 部分详细叙述。

介绍完芯片的参考设计资料,前面我们还提到官方DK的设计资料也是开源的,进入DK的页面,滑动到下方选择Downloads,可以看到官方DK的设计资料的下载链接。

 

 

 

 

 

 

 

 

 DK的设计资料包也是一个Zip压缩包,下载并解压后,可以看到两个文件夹,PCA10056是nRF52840 DK的设计资料,PCA641100是DK附带的NFC天线的设计资料。

 

 

 打开PCS10056文件夹,其子文件夹结构和芯片的参考设计类似。

 

 

 

2、芯片电源选择

上一章节我们讲了同一个芯片有好多种参考设计,它们的区别在于不同芯片选择的主供电电源不同和是否有使用芯片的DCDC模式,我们继续以nRF52840 QIAA的参考设计包为例。

从nrf52840_qiaa_config1、nrf52840_qiaa_config2、nrf52840_qiaa_config3、nrf52840_qiaa_config6中可以看到,这四个参考设计使用了不同的电源做为芯片的主供电,nrf52840_qiaa_config1、nrf52840_qiaa_config2、nrf52840_qiaa_config3用到了芯片的USB,所以给芯片的VBUS引脚供电,其中nrf52840_qiaa_config1参考设计直接用VBUS当作芯片主电源给VDDH引脚供电。

 

nrf52840_qiaa_config2则使用了单独的VDDH做为芯片主电源给VDDH引脚供电。这两个参考设计的相同点在于,没有为VDD引脚供电,而是将VDD当作Output,即所谓的High Voltage mode,在High Voltage mode下可以把VDD当做电源输出来为其他设备例如传感器供电。

 

而nrf52840_qiaa_config3和nrf52840_qiaa_config6使用了VDD_nRF当作芯片主电源给VDD和VDDH引脚供电,这种方式被称作Normal Voltage mode。

 

 

nRF52840芯片规格书中对于High Voltage mode和Normal Voltage mode的描述如下:

 

 这里需要注意的是QFN48封装的nRF52840,即nRF52840 QFAx中是没有高电压模式的。

从规格书里可以看到NRF52840在高压模式下是支持将VDD当作Output来给其他设备供电,可以通过配置REGOUT0寄存器来配置特定电压

 

 

 

 

 VDD支持的输出电压范围取决于VDDH引脚提供的电源电压。从规格书中可以看到VDDH与VDD的最小差值为0.3V,即当VDDH供电为3.6V时,VDD最大输出电压为3.3V。从下面这个表我们还可以看出,VDD最大的输出电流为25ma(发射功率小于4dBm时)。所以开发者在设计NRF52840的硬件时,如果是较简单的系统,如系统只有NRF52840和一个传感器,且系统由锂电池或USB供电,直接由NRF52840的VDD给传感器供电,但是需要注意传感器的峰值功耗不应大于下表。

 

 

最后是电源脚供电电压的值的问题,如下表是NRF52840的VDD、VDDH、VBUS三个脚所支持的电压范围,此内容可以在规格书的Power and clock management一章中找到。

 

 

 

 

 小结:此章节仅以nRF52840为例,不是所有Nordic芯片都支持高压模式与VDD External circuitry supply,切勿生搬硬套到其他型号的Nordic芯片。开发者在开发过程中需要阅读所选择芯片的规格书去做设计。此章节只是提供一个如何根据官方参考设计结合规格书做硬件设计的思路。

 

3、晶振选择

Nordic的芯片一般外围需要两颗晶振,一颗低频的32.768K,一颗高频的32M。低频晶振负载提供时钟源,高频晶振负载提供射频运行时的频率基准源。 

 

 

nRF52832有两频率的时钟,64MHz高速时钟和32.768kHz的低速时钟。这两个时钟可由以下电路产生,可通过配置config.h文件来软件选择各自的时钟源。

 

 

 

产生64MHz高速时钟的途径有两个:

(1)64MHz 片上时钟;
(2)用外部32MHz晶振产生64MHz时钟;


产生32.768kHz低速时钟的途径有三个:
(1)32.768KHz片上RC振荡器,精度为+/-250ppm.
(2)用外部32.768kHz晶振产生的32.768kHz的时钟;
(3)由64MHz的时钟综合而成的32.768kHz的时钟;

 

 

一般而言,内部的64MHz片上时钟的抖动较大不建议使用,无法满足2.4GHz BLE频率的PLL要求。所以在BLE中,高速时钟必须由外部32MHz晶振产生。

对于低速时钟,如果对时钟精度没有很高的要求,对于PCB面积受限的应用,可以选择使用内部RC,从而省掉外部的32.768K和负载电容。

两颗晶振的参数要求如下:

 

 

 

 

可以直接按照Nordic官方DK用的晶振参数去选型

 

 



4、LDO与DCDC供电模式选择

如下图是nrf52840_qiaa_config2和nrf52840_qiaa_config4参考设计的原理图,这两个参考设计都是用了高电压模式供电,但两者的区别是nrf52840_qiaa_config4的DCC脚和DCCH上接了电感。这里就要引入nRF51/52/53系列芯片的一个重要硬件概念:LDO和DCDC

 

 

 

 如下是规格书中芯片的LDO和DCDC模式的介绍,简单的概括就是DCDC模式的功耗会比LDO模式的功耗低

 

 我们可以从Nordic官方给出的在线功耗评估工具来直观的看二者在功耗上的差距:https://devzone.nordicsemi.com/power/w/opp/2/online-power-profiler-for-bluetooth-le

从下面两张图可以看出,同样使用nRF52840,3.3V供电,发射功率为0dBm,使用外部低频晶振,设置广播周期为100ms的情况下,DCDC模式的平均功耗为90uA,而LDO模式的平均功耗为140uA。

 

 

 

 

5、GPIO的选择

NRF51/52/53系列芯片的外设(除ADC、QSPI、HSPI)是可以在GPIO上自由映射的,没有限定特定的脚位,我们可以从芯片规格书中看到,以NRF52840 QIAA为例。可以从下表中看到部分GPIO的Description中标注了Analog input,这就是可以用做ADC的GPIO。

 

 

 同样的QSPI脚在Recommended usage中也有标注出来

 

这里需要注意标注有 low frequency I/O only的GPIO。

 关于此类GPIO,Noridc官方的描述是此类GPIO可以用做外设,但是在射频开启时不建议用做10KHz以上的外设,如UART、SPI、I2C、I2S等,射频开启的情况下用这些GPIO做高速外设会影响射频性能。

 

看到这里可能部分初学者会对芯片DEC脚的作用产生疑问。芯片带有DEC的脚位是芯片的退耦脚,需要外接退耦电容。退耦电容的接法和值在芯片的参考设计中已经给出,直接照搬参考设计即可。关于退耦电容的作用,感兴趣的读者可以自行搜索,简单来说,退耦电容是用来消除输入的电流在芯片中产生的震荡和自激电流用的。

 

关于外设的类型和数量,可以在芯片规格书的首页看到,以NRF52840为例:

 如果你对选择外设和GPIO有困难,也可以直接选择Nordic官方DK使用的外设接口,可以在SDK的PCA100xx.h文件夹中找到,继续以NRF52840为例,NRF52840对应的外设头文件为PCA10056.h

 

 

 

 如果你选择的是其他的芯片,如NRF52832,去对应的PCA10040.h即可,下面是Nordic系列芯片对应的开发板名称

PCA10040对应NRF52832

PCA10010对应NRF52810

PCA10056对应NRF52840

PCA10056e对应NRF52811

PCA10010对应NRF52833

PCA10010e对应NRF52820

PCA10028对应NRF51422/51822/51802

 

6、GPIO电平问题

Nordic的芯片的GPIO电平与VDD有关,从下面两个图片中可以看到,VDD引脚供电的电压决定了GPIO电平的高电压。即如果VDD供电为3.3V,那么GPIO的输入/输出电平为3.3V,此时输入的最高电平不应超过3.3+0.3V,否则会造成GPIO永久损坏。

同理,如果接在Nordic芯片外部的传感器或其他模组/芯片为1.8V,那么只需要给VDD供电1.8V即可,此时GPIO输入/输出电平为1.8V,此时输入的最高电平不应超过1.8+0.3V。

其他电平与之同理。

 

 

 

7、天线与匹配电路

按照Nordic给出参考设计,设计完最小系统,并选定外设的GPIO和供电电源之后,就剩下天线和匹配电路了。天线可以选择现成的2.4G陶瓷天线或是PCB天线,也可以以IPEX座的形式将天线引出到板外,使用体积更大的外接天线获得更好的信号。具体关于天线和匹配电路的问题,我会放在下一篇文章里面去详细讲。这里需要注意的是,Nordic给出的参考设计并没有预留天线的匹配电路,所以建议开发者在设计硬件原理图的时候,预留一个Π型匹配电路,方便后期调试天线。参考电路如下,R1、C25、C26共同组成了Π型匹配网络,初始值可以预留为R1=0R、C25=C25=N.C.。

 

 

 

总结:本文提供的是使用Nordic芯片做硬件设计的基本思路,按照上述步骤完成Nordic芯片的硬件设计之后,就可以进行下一步的Layout了。

5、GPIO的选择
posted @ 2022-10-26 16:31  HannibalWang  阅读(9707)  评论(0编辑  收藏  举报