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. 2018 ACM-ICPC World Finals B.Comma Sprinkler

    WF里面最简答一题,就是一个dfs就可以了,已经访问过的点可以不再访问 #include <algorithm> #include <cmath> #include <c ...

  2. jquery 滚动事件

    $(window).scroll(function () { if ($(window).scrollTop() >50) {  alert('show!!'); }});

  3. eclipse中tomcat内存溢出设置

    Eclipse里启动Tomcat,配置内存大小 2009年12月11日 星期五 10:50 一般安装完eclipse之后,在安装目录下你应该可以看到有一个 eclipse.ini 文件,对了,就是在这 ...

  4. 框架学习:ibatis框架的结构和分析

    由于最近一段时间比较忙碌,<框架学习>系列的文章一直在搁浅着,最近开始继续这个系列的文章更新. 在上篇文章中我们说到了hibernate框架,它是一种基于JDBC的主流持久化框架,是一个优 ...

  5. access登录窗口校验代码一

    Private Sub login_Click()If IsNull(Me.username) ThenMsgBox "请输入用户名!", vbExclamationElseIf ...

  6. 用python-webdriver实现自动填表

    在日常工作中常常需要重复填写某些表单,如果人工完成,费时费力,而且网络延迟令人十分崩溃.如果能够用程序实现自动填表,效率可以提高一倍以上,并且能够移植到多台计算机,进一步提高工作效率.webdrive ...

  7. pg_dump命令帮助信息

    仅为参考查阅方便,完全命令行帮助信息,无阅读价值. pg_dump dumps a database as a text file or to other formats. Usage:  pg_du ...

  8. .Net MVC5异步请求Entity Framework 无限循环解决方法

    .Net MVC5异步请求Entity Framework 无限循环解决方法 Entity Framework 存在一对多.多对多之间的关系,相互依赖,在返回JSON数据时往往会出现相互引用造成的无限 ...

  9. Visual Studio 2017 15.7 下的.NET Core

    Visual Studio 2017 15.7版本发布,对.NET Core项目的主要相关改变如下, 同时对Xamarin.Android和iOS项目的支持上也做了较大改进. 一. .NET Core ...

  10. Jmeter——HTTP协议的接口压力测试环境搭建

     文章版权由作者小小小丝和博客园共有,若转载请于明显处标明出处:http://rpc.cnblogs.com/metaweblog/xxxs JDK 是整个Java的核心,包括了Java运行环境.Ja ...