Nordic nRF51/nRF52开发流程说明
Nordic nRF51系列包括nRF51822/nRF51422/nRF51802等芯片,nRF52系列包括nRF52832/nRF52840/nRF52810等芯片,硬件工程师可以按照如下流程去评估和开发nRF51/52应用解决方案(虽然本文更多的是站在硬件工程师角度来阐述,但是很多章节对软件开发者也是适用的)
- 第1步:选型评估。这个主要通过查阅nRF51/52 spec来实现的。nRF52只有一份spec,spec包含了芯片外设模块功能概述,电气特性参数,应用参考电路,封装和订购信息等内容,nRF52 spec每一个外设模块章节前面是其功能概述,最后一节则是电气特性参数展示。nRF51参考手册和 spec是分开的,其中参考手册主要描述各外设模块的功能及原理,spec则用来描述电气特性参数,应用参考电路,封装和订购信息等。
- nRF51参考手册(reference manual):http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf51%2Fdita%2Fnrf51%2Fpdflinks%2Fref_manual.html&cp=3_2。
- nRF51822 spec(其他nRF51 spec链接与之相似,相信大家可以自己找到):http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf51%2Fdita%2Fnrf51%2Fpdflinks%2F51822_ps.html&cp=3_4_0
- nRF52832 spec:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52%2Fdita%2Fnrf52%2Fchips%2Fnrf52832_ps.html&cp=2_1_0
- nRF52840 spec:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52%2Fdita%2Fnrf52%2Fchips%2Fnrf52840_ps.html&cp=2_0_0
- nRF52810 spec:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52%2Fdita%2Fnrf52%2Fchips%2Fnrf52810_ps.html&cp=2_2_0
- 第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做工是业界最好的,没有之一!)
- nRF51开发板编号为PCA10028,DK购买链接为:http://www.nordicsemi.com/eng/Buy-Online?search_token=nRF51-DK
- nRF52832/nRF52810开发板编号为PCA10040,DK购买链接为:http://www.nordicsemi.com/eng/Buy-Online?search_token=nRF52-DK
- nRF52840开发板编号为PCA10059或者PCA10056(工程版),DK购买链接为:http://www.nordicsemi.com/eng/Buy-Online?search_token=nRF52840-PDK
- Nordic官方DK是长下面这个样子的,不要弄错了
- 第3步:电路设计。推荐按照nRF51/52参考电路来设计自己的电路,当然你也可以按照nRF51/52 DK(开发板)来设计自己的电路。这两种参考电路是等价的,而且都提供了完整的BOM表,原理图以及layout,供大家参考。
- nRF51参考电路:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf51%2Fdita%2Fnrf51%2Fpdflinks%2Fref_layout.html&cp=3_6
- nRF52参考电路:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52%2Fdita%2Fnrf52%2Fpdflinks%2Fref_layout.html&cp=2_5
- nRF51 DK电路图:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf51%2Fdita%2Fnrf51%2Fnrf51_development.html&cp=3_1(注:在这个链接里面还有nRF51 dongle的电路图,nRF51 dongle使用了一个非常小的蛇形天线,如果你的板子空间有限,也可以参考nRF51 dongle来布线)
- nRF52832/52810 DK电路图:https://www.nordicsemi.com/eng/nordic/download_resource/50980/7/99707889/93935
- nRF52840 DK电路图:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52%2Fdita%2Fnrf52%2Fdevelopment%2Fnrf52840_pdk%2Fkit_download_content.html&cp=2_0_3_2_1
- Nordic还提供了一些电路设计notes供大家参考:https://devzone.nordicsemi.com/tutorials/b/hardware-and-layout/posts/general-pcb-design-guidelines-for-nrf51-series
- 第4步:蓝牙射频性能调试。蓝牙射频性能最关键的三个影响因子:匹配电路调试,天线设计调试以及晶振选择,Nordic都有相应的指导文件。
- 匹配电路调试:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.whitepapers%2Fdita%2Fwhitepapers%2Fpdflinks%2Fnwp_013.html
- 天线设计:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.whitepapers%2Fdita%2Fwhitepapers%2Fpdflinks%2Fnwp_017.html
- 晶振选择:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.whitepapers%2Fdita%2Fwhitepapers%2Fpdflinks%2Fnwp_015.html&cp=11_11
- 第5步:电路图和layout review。Nordic或其代理商免费提供原理图和layout review服务,我们可以将原理图和layout提交到Nordic Devzone进行审核,一般1到2个工作日,Nordic工程师就能给予答复。电路图提交流程请参考文章(第3节:Nordic Devzone):Nordic官网/Infocenter/Devzone/Github简介。Devzone提交电路图review的界面是长下面这个样子的:
- 第6步:打板。如何贴片,Nordic也有相应的指导文件,目前Nordic芯片只有QFN,WLCSP和aQFN三种封装,相关贴片指导说明如下所示:
- QFN:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.appnotes%2Fdita%2Fappnotes%2Fpdflinks%2Fnan_400-08.html
- WLCSP:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.appnotes%2Fdita%2Fappnotes%2Fpdflinks%2Fnan_38.html
- aQFN:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.appnotes%2Fdita%2Fappnotes%2Fnan40%2Fnan40_intro.html&cp=10_0
- 第7步:RF测试。如果自己有专门的BLE测试设备,那么你可以自己来测试板子RF性能。如果你没有BLE测试设备,也没有关系,Nordic或其代理商免费提供BLE测试服务。只要把板子寄给Nordic代理商实验室,或者Nordic实验室,或者第三方实验室,比如R&S实验室,他们就能帮你完成BLE性能和符合性测试。你可以根据实验测试结果对板子进行二次整改。
- 跟Nordic DK通信距离比对测试。可以把HRM程序分别下载到Nordic DK和你的用户板中,然后分别连上手机,看看手机跟DK的通信距离有多远?再看看你的用户板跟手机通信距离有多远?如果两者差不多,说明你的用户板RF性能不错。HRM程序测试说明链接为:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.0.0%2Fble_sdk_app_hrs.html&cp=4_0_0_4_1_2_13
- RF DTM测试设备端固件及测试说明:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.appnotes%2Fdita%2Fappnotes%2Fpdflinks%2Fnan_34.html
- 一般radio测试固件及测试说明:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.0.0%2Fnrf_radio_test_example.html&cp=4_0_0_4_5_29
- 第8步:功耗测试。功耗测试可以参考如下链接:
- 功耗测试介绍:https://devzone.nordicsemi.com/tutorials/b/hardware-and-layout/posts/current-measurement-guide-introduction
- 功耗测试指南:https://devzone.nordicsemi.com/tutorials/b/hardware-and-layout/posts/nrf51-current-consumption-guide
- BLE理论功耗在线计算工具:https://devzone.nordicsemi.com/power/
- Nordic功耗测试标准例程及说明:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.0.0%2Fble_sdk_app_pwr_mgmt.html&cp=4_0_0_4_1_2_20,固件代码在SDK开发包如下目录:<InstallFolder>\examples\ble_peripheral\ble_app_pwr_profiling。
- 第9步:勘误表自查。勘误表内容一般都是关于软件开发注意事项的,但不排除某些条目也跟硬件设计有关,所以正式定版之前建议自查一下勘误表,以防踩到“坑”
- nRF51822勘误表(PAN)(其他nRF51系列链接与之类似,相信你可以自己找到):http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf51%2Fdita%2Fnrf51%2Fpdflinks%2FnRF51822_pan.html&cp=3_4_1
- nRF52832勘误表(Errata):http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52%2Fdita%2Fnrf52%2Ferrata.html&cp=2_1_1
- nRF52840勘误表(Errata):http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52%2Fdita%2Fnrf52%2Ferrata52840.html&cp=2_0_1
- nRF52810勘误表(Errata):http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52%2Fdita%2Fnrf52%2Ferrata52810.html&cp=2_2_1
- 第10步(可选):认证。根据产品需要,你可以去做BQB认证,SRRC认证,FCC认证,ETSI认证,环保测试等。像BQB认证,Nordic产品本身已经取得了相应QDID,你的认证是可以复用Nordic QDID的。
- Nordic QDID查询。输入网址:https://launchstudio.bluetooth.com/Listings/Search,在搜索框输入“Nordic Semiconductor”,即可搜出Nordic所有QDID。
- 环境报告:https://www.nordicsemi.com/eng/About-us/Corporate-Social-Responsibility/Environment
- nRF52 Material composition reports (MCR) and hazardous substance reports (HSR) 报告:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf52%2Fdita%2Fnrf52%2Fnrf52_env_reports.html&cp=2_7
- nRF51Material composition reports (MCR) and hazardous substance reports (HSR)报告 :http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.nrf51%2Fdita%2Fnrf51%2Fpdflinks%2FnRF51_env_reports.html&cp=3_8
- 关于BT/ANT/FCC/ETSI认证,请参考Nordic说明文档:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.gs%2Fdita%2Fgs%2Fcertifying.html&cp=1_5
- 测试固件代码(与第7步:RF测试固件代码一样)。Nordic提供了两套射频测试固件,一套是DTM测试代码,符合蓝牙DTM标准,位于目录:SDK安装目录\examples\dtm\direct_test_mode,具体说明请参考:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v12.3.0%2Fble_sdk_app_dtm_serial.html&cp=4_0_2_4_4;一套是Radio test测试代码,用于直接测试各个射频通道物理性能,比如频偏等,位于目录:SDK安装目录\examples\peripheral\radio_test,具体说明请参考:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v12.3.0%2Fnrf_radio_test_example.html&cp=4_0_2_4_5_25。一般而言,需要测试丢包率的场合,推荐使用DTM测试代码,比如BQB认证和生产测试;只需简单测试射频通道载波频率以及频偏,推荐使用radio_test代码,比如SRRC认证。
- 第11步:搭建量产烧写环境。Nordic不提供量产烧写器,不过Nordic代理商或者淘宝网(推荐希尔特的编程器)都有相关量产用的烧写工具。其实,支持SWD接口的Jlink烧写器都可以用来烧写Nordic产品。虽然Nordic不提供量产烧写器,但是Nordic提供了一个量产烧写软件nrfjprog,nrfjprog有可执行文件,DLL库,Python接口等多种形式。
- 可执行文件nrfjprog,说明文档请参考:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.tools%2Fdita%2Ftools%2Fnrf5x_command_line_tools%2Fnrf5x_nrfjprogexe.html&cp=5_1_3。Windows环境下,当你安装nRFgo studio的时候,nrfjprog.exe会自动安装,其位于如下目录: 在Windows环境变量中添加上述目录后,在CMD中输入nrfjprog,你将会看到
- DLL nrfjprog,说明文档请参考:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.tools%2Fdita%2Ftools%2Fnrf5x_command_line_tools%2Fnrf5x_nrfjprogdll.html&cp=5_1_4
- Python nrfjprog,说明文档请参考:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.tools%2Fdita%2Ftools%2Fpynrfjprog%2Fpynrfjprog_lpage.html&cp=5_2
- 如果你不想使用nrfjprog,你可以参考这份white paper来编写自己的烧写软件:http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.whitepapers%2Fdita%2Fwhitepapers%2Fnwp_027%2Fintro.html
- 第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步:小批量试生产。重点观察产品一致性,良率和产能。
- 第14步:大批量生产。产品上市!
Nordic nRF51/nRF52开发流程说明的更多相关文章
- Nordic nRF51/nRF52开发环境搭建
本文将详述Nordic nRF51系列(包括nRF51822/nRF51802/nRF51422等)和nRF52系列(包括nRF52832/nRF52810/nRF52840)开发环境搭建. 1. 强 ...
- Linux下服务器端开发流程及相关工具介绍(C++)
去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...
- 小谈Scrum敏捷开发流程
一晃眼,有两年没有写博客了,回顾前两年,各种奔波,各种忙碌,也有不少的收获.从今天开始,我要把这些收获都分享在这里. 其实这两年,对我影响最大的是开发流程.总所周知,一个好的开发流程,对于项目的进行, ...
- 我理解的Sitecore开发流程
Sitecore是一个强大的支持快速开发CMS建站的平台,进入sitecore后台可以看到 它主要有3个元素: 1.Templates模板 Data template:类似于面向对象编程中的类或结构体 ...
- C++的性能C#的产能?! - .Net Native 系列《二》:.NET Native开发流程详解
之前一文<c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATIVE初窥> 获得很多朋友支持和鼓励,也更让我坚定做这项技术的推广者,希望能让更多的朋友了解这项技术,于是先从官方 ...
- git开发流程、常用命令及工具、TortoiseGit使用及常见问题
根据我最近使用git的一些经历,git是基于分支的版本控制工具,分支有远程分支和本地分支. 一.开发流程 - 从远程服务器的master,clone一份项目文件到本地,然后本地master的基础上br ...
- 软件开发流程 Software development process
软件开发流程(Software development process)即软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法.软件的总体结构设计和模块设计.编程和调试.程序联调和测试以 ...
- Web开发流程
知乎上关于Web开发流程豪情给予的回答 web前端开发流程是什么?进行操作会用到哪些便捷的小工具?是先用模板做好,然后在基础上改吗??正常大家说的改框架是不是指的用模板做的网站原文件?前端开发做的文件 ...
- 基于Lattice_CPLD/FPGA Diamond 开发流程
本文主要介绍了Lattice CPLD/FPGA集成开发环境的使用方法,并通过点亮开发板(Mach XO2 Breakout Board)上位号为D2的LED这一实例来演示其开发流程. 1. ...
随机推荐
- 2018 ACM-ICPC World Finals B.Comma Sprinkler
WF里面最简答一题,就是一个dfs就可以了,已经访问过的点可以不再访问 #include <algorithm> #include <cmath> #include <c ...
- jquery 滚动事件
$(window).scroll(function () { if ($(window).scrollTop() >50) { alert('show!!'); }});
- eclipse中tomcat内存溢出设置
Eclipse里启动Tomcat,配置内存大小 2009年12月11日 星期五 10:50 一般安装完eclipse之后,在安装目录下你应该可以看到有一个 eclipse.ini 文件,对了,就是在这 ...
- 框架学习:ibatis框架的结构和分析
由于最近一段时间比较忙碌,<框架学习>系列的文章一直在搁浅着,最近开始继续这个系列的文章更新. 在上篇文章中我们说到了hibernate框架,它是一种基于JDBC的主流持久化框架,是一个优 ...
- access登录窗口校验代码一
Private Sub login_Click()If IsNull(Me.username) ThenMsgBox "请输入用户名!", vbExclamationElseIf ...
- 用python-webdriver实现自动填表
在日常工作中常常需要重复填写某些表单,如果人工完成,费时费力,而且网络延迟令人十分崩溃.如果能够用程序实现自动填表,效率可以提高一倍以上,并且能够移植到多台计算机,进一步提高工作效率.webdrive ...
- pg_dump命令帮助信息
仅为参考查阅方便,完全命令行帮助信息,无阅读价值. pg_dump dumps a database as a text file or to other formats. Usage: pg_du ...
- .Net MVC5异步请求Entity Framework 无限循环解决方法
.Net MVC5异步请求Entity Framework 无限循环解决方法 Entity Framework 存在一对多.多对多之间的关系,相互依赖,在返回JSON数据时往往会出现相互引用造成的无限 ...
- Visual Studio 2017 15.7 下的.NET Core
Visual Studio 2017 15.7版本发布,对.NET Core项目的主要相关改变如下, 同时对Xamarin.Android和iOS项目的支持上也做了较大改进. 一. .NET Core ...
- Jmeter——HTTP协议的接口压力测试环境搭建
文章版权由作者小小小丝和博客园共有,若转载请于明显处标明出处:http://rpc.cnblogs.com/metaweblog/xxxs JDK 是整个Java的核心,包括了Java运行环境.Ja ...