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.html、https://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、驱屏外设等)来做判断。
|