NRF51822模块无法识别问题解决办法
我知道没图是没人看的,所以随便瞎截图了几张。
对于很多新手朋友们,或许可能还不是很了解jtag相关的一些调试所需的必须电路,就像很多人不喜欢用stm32的硬件i2c,而是喜欢软件io模拟,就算是使用了硬件i2c,也是阻塞式等待,和软件模拟并无二,也许会说硬件i2c那么多bug,为什么还要用它?那么i2c从机模式可能就没法好好用了~也许有人还会反驳说用io中断也依然可以模拟出i2c从模式,嗯,那就当我啥也没说。
其实我想说的是,就像i2c一样,很多情况下,芯片会选择将总线上拉电阻外置,所以就像stm32的i2c,即使选择了复用推挽输出,依然还是需要上拉电阻的。不扯远了,上面的只是一个伏笔,接下来是正题。
最近想研究一下蓝牙,我关注nordic 公司已经有一段时间了,出了nrf51之后接着是nrf52,蓝牙5.0,低功耗,很不错,今年又上市了iot的芯片nrf9160,公司也有过要做iot的想法,不过就是太贵了,前两天做了一块nrf51822的pcb,准备试试水,焊完一片之后,怀着激动心情连接上jlinkv8,但是很遗憾,一盆冷水就泼过来了,芯片无法被识别,然后就开始研究为什么swd模式不能被识别,去nordic 官网下载了nrf go studio,最新的1.6,也是无法识别,旧版本1.21也是无法识别,mdk5中也是根本不识别,还以为是没焊接好,所以拆下来再焊接了两边,依然不行,怀疑是不是芯片被焊坏了,,,无奈之下又焊了一片,但是依然还是无法识别,然后开始检查电路设计是不是有错误,反复检查之后确认无误,百思不得姐~~
无奈之下打开示波器,开始观察示波器捕获到的总线波形,发现swclk始终处于低电平(0.1v以下)swdio在未连接jlink时是3.3v,连接jlink后是1.6v左右,不管jlink如何扫描,总线上没有任何波形,严重怀疑jlink是不是有问题,所以又下单购买了一个stlink,到货之前在网上搜索时有人就说stlink无法烧写nrf51822,又后悔一秒钟。
但是再难也不能放弃,既然swdio电压下降,就用一个3.3k的电阻上拉到3v左右,swclk也是用3.3k电阻上拉到1.6v左右,这时jlink的红灯亮起表示芯片复位了,再扫描jlink时,总线终于有信号了,但是信号并不正常,swdio上的信号幅度从3.3v到2.4v左右,这和没信号没区别,swclk上的信号幅度是从1.2v到0.1v,或许这信号对某些芯片是可以识别的,但是,依然无法识别,所以这么做并不能解决问题。
随后找来10k的电阻,分别上拉,下拉,均无效,一直不见起色,几乎没有破解的办法,再上网搜索一波,偶然间发现有人提到jlink的1脚并不是输出,而是输入参考,给内部jtag io的电平提供参考,将信将疑的将1脚短接到2脚上,再加上swdio上加上拉10k,果不其然,毫无悬念的识别了。
上面说了一大堆,重点其实是:
标准jtag的管脚部分可参考如下,下图是标准stlink的管脚定义:

参考如下,正常情况下,一般clk应为是主机发出的信号,单片机作为从机,clk线是无权控制的,而jlink等编程器,对clk线有所有权,所以不需要上拉电阻,可以适当添加旁路电阻。其他信号线,尤其是io信号线,因为控制权可变,所以就像i2c的情况一样,需要外部上拉,否则可能无信号。

在具备了上拉条件时无法识别情况,除了检查线序是否错误以外,尤其关注一点是jtag20pin接口上的1脚,他是jtag输出信号的参考电压输入,并不是输出脚,所以需要将其接到目标板上的与芯片一同供电的vcc上,一般是3.3v,如果采用jlink2脚往外供电,也可将1和2脚直接短接!

至于之后的烧录s110等,网上一大把,就不再说了,主要是先解决识别问题,另外进过验证还发现一件事:
使用nrf go studio时,使用stlink连接nrf51822时,nrf go studio软件是不能识别到芯片的,主要原因是软件并没有stlink的驱动,如果烧录协议栈,选择用nrf go studio烧录时务必使用jlink烧录,而用mdk5等烧录程序等时,可以使用stlink,选择sw模式即可识别并烧录芯片。撸主已经验证!
NRF51822模块无法识别问题解决办法的更多相关文章
- python各个模块循环引用问题解决办法
当项目中的模块过多,或功能划分不够清晰时会出现循环引用的问题,如下 有两个模块moduleA 和 moduleB: #moduleA from moduleB import b def a(): pr ...
- python 调用pymysql模块遇到\转义问题解决办法
1.问题情况 本来存入mysql的是字典,有汉字,由于python版本是2.7,所以在json的时候把我的值变成了unicode,那么在调用pymysql的时候,mysql给我转义取消了. 存之前: ...
- Open Sans字体兼容问题解决办法[font-face]
参考:http://www.tantengvip.com/2014/11/open-sans/ 1.font-face使用方法 font-face是CSS3中的一个模块,主要是把自定义的Web字体嵌入 ...
- Windows XP系统下添加任务计划常出现问题解决办法
Windows XP系统下添加任务计划常出现问题解决办法 计划任务就是让电脑在指定的时间内执行指定的动作(计划动作),这些动作可以是一个程序,也可以是一个批处理,但是至少是可以运行的(通俗一些就是双击 ...
- ASP+Access UTF-8 网页乱码问题解决办法
用ACCESS数据库和ASP做网站时用UTF-8编码有时会出现乱码,再者网页出错或者刷新页面后就是乱码,如果数据库取值乱码在开头加上<%@LANGUAGE="VBSCRIPT" ...
- 易通电脑锁2007V6.3.3.3无法卸载问题解决办法
易通电脑锁2007V6.3.3.3无法卸载问题解决办法把原版文件拷贝回去.bat@echo offcolor 2Fecho 该批处理会把易通电脑锁2007版原文件拷贝回去,解决易通电脑锁卸载时出现的运 ...
- Sublime Text 3 若干问题解决办法
1.在高分屏下中文文件夹名显示异常问题解决办法 新买了个2K的屏,有些中文文件夹名全部变成了“口口”. 在“preferences” - "设置-用户" 添加 "dpi_ ...
- C盘不能新建文件的问题解决办法
C盘不能新建文件的问题解决办法 主要症状: 1.C 盘文件不能修改2.C 盘不能新建文件3.总之就是只能读取不能,写入和修改这样对于平时操作造成了极其的不方便~~~复制文件到C 盘会提示:错误0×80 ...
- iOS常见异常Exec_Bad_Access问题解决办法
iOS常见异常Exec_Bad_Access问题解决办法 在iOS开发中,经常遇到Exec_Bad_Access异常,导致程序奔溃问题,一般这个问题都是因为过早的release对象,然后又对该 ...
随机推荐
- 从线性模型(linear model)衍生出的机器学习分类器(classifier)
1. 线性模型简介 0x1:线性模型的现实意义 在一个理想的连续世界中,任何非线性的东西都可以被线性的东西来拟合(参考Taylor Expansion公式),所以理论上线性模型可以模拟物理世界中的绝大 ...
- MarkDown里面的Emoji表情
我才发现MarkDown里面可以使用一些Emoji表情,好玩,以后写博客的趣味性大大增加 想看全部的就去这里找https://www.webfx.com/tools/emoji-cheat-sheet ...
- JDBC——连接数据库
JDBC的基本介绍 1.概述:jdbc是使用Java访问各种数据库的一种技术 (1)jdbc工作原理 2.jdbc核心Java类(API) (1)DriverManager类 作用:管理各种数据库的驱 ...
- JSP+MySQL验证登录的实现方式
用IDEA连接MySQL验证登录实现方式核心部分代码 用setString的方法对从数据库中的提取的信息经行比对: try { Class.forName("com.mysql.jdbc.D ...
- js reduce()方法使用
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值. reduce() 可以作为一个高阶函数,用于函数的 compose. 注意: reduce() 对 ...
- Ubuntu下 MySql忘记密码解决方案
1.在终端输入 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 2.在文件内搜索skip-external-locking,在下面添加一行: skip-gran ...
- 2018-2019-2 20175306实验一《Java开发环境的熟悉》实验报告
2018-2019-2 20175306实验一<Java开发环境的熟悉>实验报告 一.实验内容及步骤 实验一 Java开发环境的熟悉-1 ·建立有自己学号的实验目录. ·通过vim Hel ...
- [精品书单]3D打印机课程设计
3D打印机整个绘图过程........... 三维图 工程图 编程
- DBA_TABLES ALL_TABLES USER_TABLES
DBA_TABLES >= ALL_TABLES >= USER_TABLES DBA_TABLES意为DBA拥有的或可以访问的所有的关系表. ALL_TABLES意为某一用户拥有的或可以 ...
- # 20175333曹雅坤《Java程序设计》第四周学习总结
教材学习内容总结 第五章:子类与继承 5.1子类与父类:关键字extends 5.2子类的继承性:如果子类与父类在一个包中,除了private其他都可以继承:如果不在一个包中,则private和友好都 ...