Nordic nRF51系列包括nRF51822/nRF51422/nRF51802等芯片,nRF52系列包括nRF52832/nRF52840/nRF52810等芯片,硬件工程师可以按照如下流程去评估和开发nRF51/52应用解决方案(虽然本文更多的是站在硬件工程师角度来阐述,但是很多章节对软件开发者也是适用的)

  1. 第1步:选型评估。这个主要通过查阅nRF51/52 spec来实现的。nRF52只有一份spec,spec包含了芯片外设模块功能概述,电气特性参数,应用参考电路,封装和订购信息等内容,nRF52 spec每一个外设模块章节前面是其功能概述,最后一节则是电气特性参数展示。nRF51参考手册和 spec是分开的,其中参考手册主要描述各外设模块的功能及原理,spec则用来描述电气特性参数,应用参考电路,封装和订购信息等。

  2. 第2步:申请nRF51/52开发板(Development Kit,DK)。Nordic绝大多数例子都是在nRF51/52开发板上开发和测试的,手上有nRF51/52开发板将大大方便软件工程师的开发。nRF51/52开发板也可以作为参考板来排查用户板问题。在生产测试的时候,nRF51/52开发板还可以作为gold sample去测试用户板的射频性能是否合格。最后,nRF51/52开发板还带一块正版Jlink芯片,也就是说nRF51/52开发板本身就是一个Jlink烧写器,不仅可以用来烧写板子上的nRF51/52芯片,还可以用来烧写其他用户板上的Jlink芯片。一个正版Jlink烧写器在淘宝上售价为1000人民币左右,而Nordic nRF51/52开发板官方售价才39美金,正可谓“价格厚道,感动人心”。(PS:如果你拿到Nordic nRF51/52官方DK的话,你会发现Nordic DK做工是业界最好的,没有之一!)
  3. 第3步:电路设计。推荐按照nRF51/52参考电路来设计自己的电路,当然你也可以按照nRF51/52 DK(开发板)来设计自己的电路。这两种参考电路是等价的,而且都提供了完整的BOM表,原理图以及layout,供大家参考。
  4. 第4步:蓝牙射频性能调试。蓝牙射频性能最关键的三个影响因子:匹配电路调试,天线设计调试以及晶振选择,Nordic都有相应的指导文件。
    1. 匹配电路调试:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.whitepapers%2Fdita%2Fwhitepapers%2Fpdflinks%2Fnwp_013.html
    2. 天线设计:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.whitepapers%2Fdita%2Fwhitepapers%2Fpdflinks%2Fnwp_017.html
    3. 晶振选择:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.whitepapers%2Fdita%2Fwhitepapers%2Fpdflinks%2Fnwp_015.html&cp=11_11
  5. 第5步:电路图和layout review。Nordic或其代理商免费提供原理图和layout review服务,我们可以将原理图和layout提交到Nordic Devzone进行审核,一般1到2个工作日,Nordic工程师就能给予答复。电路图提交流程请参考文章(第3节:Nordic Devzone):Nordic官网/Infocenter/Devzone/Github简介。Devzone提交电路图review的界面是长下面这个样子的:
  6. 第6步:打板。如何贴片,Nordic也有相应的指导文件,目前Nordic芯片只有QFN,WLCSP和aQFN三种封装,相关贴片指导说明如下所示:
  7. 第7步:RF测试。如果自己有专门的BLE测试设备,那么你可以自己来测试板子RF性能。如果你没有BLE测试设备,也没有关系,Nordic或其代理商免费提供BLE测试服务。只要把板子寄给Nordic代理商实验室,或者Nordic实验室,或者第三方实验室,比如R&S实验室,他们就能帮你完成BLE性能和符合性测试。你可以根据实验测试结果对板子进行二次整改。
  8. 第8步:功耗测试。功耗测试可以参考如下链接:
  9. 第9步:勘误表自查。勘误表内容一般都是关于软件开发注意事项的,但不排除某些条目也跟硬件设计有关,所以正式定版之前建议自查一下勘误表,以防踩到“坑”
  10. 第10步(可选):认证。根据产品需要,你可以去做BQB认证,SRRC认证,FCC认证,ETSI认证,环保测试等。像BQB认证,Nordic产品本身已经取得了相应QDID,你的认证是可以复用Nordic QDID的。
  11. 第11步:搭建量产烧写环境。Nordic不提供量产烧写器,不过Nordic代理商或者淘宝网(推荐希尔特的编程器)都有相关量产用的烧写工具。其实,支持SWD接口的Jlink烧写器都可以用来烧写Nordic产品。虽然Nordic不提供量产烧写器,但是Nordic提供了一个量产烧写软件nrfjprog,nrfjprog有可执行文件,DLL库,Python接口等多种形式。
  12. 第12步:搭建生产测试环境。一般来说,有2种生产测试方法:一是使用昂贵的专业设备来进行生产测试,比如Litepoint,Anritsu等,二是使用Nordic的nRF51/52 DK作为gold sample去测试DUT,成本低廉效果也不错。具体请参考Nordic application note:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.appnotes%2Fdita%2Fappnotes%2Fpdflinks%2Fnan_34.html&cp=10_3(注:生产测试使用的固件还是前面提到的DTM固件!)
  13. 第13步:小批量试生产。重点观察产品一致性,良率和产能。
  14. 第14步:大批量生产。产品上市!

Nordic nRF51/nRF52开发流程说明的更多相关文章

  1. Nordic nRF51/nRF52开发环境搭建

    本文将详述Nordic nRF51系列(包括nRF51822/nRF51802/nRF51422等)和nRF52系列(包括nRF52832/nRF52810/nRF52840)开发环境搭建. 1. 强 ...

  2. Linux下服务器端开发流程及相关工具介绍(C++)

    去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...

  3. 小谈Scrum敏捷开发流程

    一晃眼,有两年没有写博客了,回顾前两年,各种奔波,各种忙碌,也有不少的收获.从今天开始,我要把这些收获都分享在这里. 其实这两年,对我影响最大的是开发流程.总所周知,一个好的开发流程,对于项目的进行, ...

  4. 我理解的Sitecore开发流程

    Sitecore是一个强大的支持快速开发CMS建站的平台,进入sitecore后台可以看到 它主要有3个元素: 1.Templates模板 Data template:类似于面向对象编程中的类或结构体 ...

  5. C++的性能C#的产能?! - .Net Native 系列《二》:.NET Native开发流程详解

    之前一文<c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATIVE初窥> 获得很多朋友支持和鼓励,也更让我坚定做这项技术的推广者,希望能让更多的朋友了解这项技术,于是先从官方 ...

  6. git开发流程、常用命令及工具、TortoiseGit使用及常见问题

    根据我最近使用git的一些经历,git是基于分支的版本控制工具,分支有远程分支和本地分支. 一.开发流程 - 从远程服务器的master,clone一份项目文件到本地,然后本地master的基础上br ...

  7. 软件开发流程 Software development process

    软件开发流程(Software development process)即软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法.软件的总体结构设计和模块设计.编程和调试.程序联调和测试以 ...

  8. Web开发流程

    知乎上关于Web开发流程豪情给予的回答 web前端开发流程是什么?进行操作会用到哪些便捷的小工具?是先用模板做好,然后在基础上改吗??正常大家说的改框架是不是指的用模板做的网站原文件?前端开发做的文件 ...

  9. 基于Lattice_CPLD/FPGA Diamond 开发流程

         本文主要介绍了Lattice CPLD/FPGA集成开发环境的使用方法,并通过点亮开发板(Mach XO2 Breakout Board)上位号为D2的LED这一实例来演示其开发流程. 1. ...

随机推荐

  1. python 内置标准库socketserver模块的思考

    socketserver模块简化了编写网络服务器的任务, 在很大程度上封装了一些操作, 你可以看成是事件驱动型的设计, 这很不错.它定义了两个最基本的类--服务器类 BaseServer, 请求处理类 ...

  2. IndexedDB,FileSystem- 前端数据库,文件管理系统

    "我们不再需要下载并且安装软件.一个简单的web浏览器和一个可供使用的互联网就足以让我们在任何时间, 任何地点, 还有任何平台上使用任何web应用程序." web应用很酷, 但是相 ...

  3. 万水千山ABP - 单租户时,成功保存数据后,数据不显示

    问题描述: ABP 禁用了多租户,在编辑一个实体记录后,能成功地保存数据,但数据列表中看不到这条记录.打开数据表查看,发现该实体记录的 TenantId 字段值成了 Null , 而不是预期的默认租户 ...

  4. Apache Flink Quickstart

    Apache Flink 是新一代的基于 Kappa 架构的流处理框架,近期底层部署结构基于 FLIP-6 做了大规模的调整,我们来看一下在新的版本(1.6-SNAPSHOT)下怎样从源码快速编译执行 ...

  5. 使用swagger管理接口

    swagger 配置 1.pom 增加jar包依赖 <dependency> <groupId>io.springfox</groupId> <artifac ...

  6. Microsoft C++ 异常: std::system_error std::thread

    第一次使用std::thread,把之前项目里面的Windows的thread进行了替换,程序退出的然后发生了std::system_error. 经过调试,发现std::thread ,join了两 ...

  7. 手机号 验证函数 C++

    直接上代码 #include <regex> bool IsValidPhoneNumber(const std::string& strPhone) { std::regex  ...

  8. OkHttp上传文件,服务器端请求解析找不到文件信息的问题

    长话短说,不深入解释了,官方给的上传案例代码: private static final String IMGUR_CLIENT_ID = "..."; private stati ...

  9. Zookeeper简介和安装(二)

    一.简介: Zookeeper是一个分布式协调服务,提供的服务如下: 命名服务:类似于DNS,但仅对于节点 配置管理:服务配置信息的管理 集群管理:Dubbo使用Zookeeper实现服务治理 分布式 ...

  10. MySQL 的索引优化

    索引类似大学图书馆建书目索引,可以提高数据检索的效率,降低数据库的IO成本.MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档说500~800w记录,所以大数据量建立索引是非常有必要的.My ...