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. 使用Interlocked在多线程下进行原子操作,无锁无阻塞的实现线程运行状态判断

    巧妙地使用Interlocked的各个方法,再无锁无阻塞的情况下判断出所有线程的运行完成状态. 昨晚耐着性子看完了clr via c#的第29章<<基元线程同步构造>>,尽管这 ...

  2. 计算机网络-TCP/IP HTTP Conclusion

    1.1OSI 与 TCP/IP 各层的结构 1.2 三次握手和四次挥手,TCP为什么三次握手,四次挥手 在第一次消息发送中,A随机选取一个序列号作为自己的初始序号发送给B:第二次消息B使用ack对A的 ...

  3. android + php 后台开发

    android+php 安卓与服务器的数据交互 在我们进行android开发的时候,避免不了的要进行登录注册,个人信息获取,数据交互等等这一系列的操作.这样就需要进行android端与服务器端进行数据 ...

  4. JS(作用域和闭包)

    1.对变量提升的理解 1.变量定义(上下文) 2.函数声明 2.说明 this 几种不同的使用场景 常见用法 1.作为构造函数执行 2.作为对象属性执行 3.作为普通函数执行(this === win ...

  5. Struts优缺点

    跟Tomcat.Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点.使开发者能更深入的了解其内部实现机制. Struts开放源码框架的创建是为了使开发者在构建基于Java Serv ...

  6. Go中string转[]byte的陷阱

    Go中string转[]byte的陷阱html {overflow-x: initial !important;}#write, body { height: auto; }#write, #writ ...

  7. win10 下安装mysql服务器社区版本mysql-5.7.22-winx64

    下载 下载: http://dev.mysql.com/downloads/mysql/ 解压到C盘 添加环境变量path 添加环境变量 右击我的电脑->属性->高级系统设置->高级 ...

  8. 实例解析Collections源码,Iterator和ListIterator

    比如一个视频或文章有多个页面标签设置,我们在看一篇文章或一个视频时,底部有为你推荐栏目. 如何根据这个文章或视频的标签,来实现这个推荐栏目呢. public List<VideoInfoVo&g ...

  9. 导出excel 的方法及示例

    一.基本知识 1.Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 2. HSSF 是Horribl ...

  10. go语言时间比较

    local, _ := time.LoadLocation("Local") starttime, _ := time.ParseInLocation("2006-01- ...