搜索
bottom↓
回复: 6

求解蓝牙4.0芯片nrf51822问题???

[复制链接]

出0入0汤圆

发表于 2016-3-7 17:44:17 | 显示全部楼层 |阅读模式
问题一,51822可以软件复位吗,可以的话指令是什么??
问题二,当广播超时时间设置大于180S时,上电后不工作??
问题三,低功耗配置:51822在进入睡眠状态下的电流是10几个微安,比较正常,但是在广播状态时,设置的参数是:广播时间间隔 1s;连接时间间隔 MIN: 1200ms;   MAX: 300ms; 跳过主机链接事件的次数SLAVE_LATENCY=4;
功耗是1.6MA,感觉偏大了,请问除了这几个参数意外,还有哪些可以降低功耗的??
问题四,断开蓝牙连接后再次连接的时候,手机助手显示连接成功,但是隔了几秒钟之后会变成断开连接,要再次重新连接才能正常;
以上问题是刚才调试的时候碰到的,希望有经验的朋友可以给解答一下,谢谢!

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2016-3-7 18:03:32 | 显示全部楼层
问题一,51822可以软件复位吗,可以的话指令是什么??
软件复位可以试试CM0的软件复位命令,应该是可以的。
问题二,当广播超时时间设置大于180S时,上电后不工作??
我也遇到过这个问题,如果想长时间广播,可以在广播事件里不让它进入到慢速广播即可实现一直广播。
问题三,低功耗配置:51822在进入睡眠状态下的电流是10几个微安,比较正常,但是在广播状态时,设置的参数是:广播时间间隔 1s;连接时间间隔 MIN: 1200ms;   MAX: 300ms; 跳过主机链接事件的次数SLAVE_LATENCY=4;
功耗是1.6MA,感觉偏大了,请问除了这几个参数意外,还有哪些可以降低功耗的??
其实你这个功耗是不正常的,休眠下静态功耗应该是3-5uA左右,你的是1.6mA可以看看是不是下载后没有重新上电,因为在仿真模式下,仿真接口就是要消耗这么多电流。如果不是这个原因,那可能是没有进入到低功耗。
问题四,断开蓝牙连接后再次连接的时候,手机助手显示连接成功,但是隔了几秒钟之后会变成断开连接,要再次重新连接才能正常;
请检查晶振品质

出0入0汤圆

 楼主| 发表于 2016-3-8 11:28:15 | 显示全部楼层
rf_smart 发表于 2016-3-7 18:03
问题一,51822可以软件复位吗,可以的话指令是什么??
软件复位可以试试CM0的软件复位命令,应该是可以的 ...

首先谢谢你每个问题都解答;
第一个问题,现在还没找到软件复位的指令,接下来会继续找找;
第二个问题,广播超时时间的设置,我是想蓝牙广播10分钟左右没有连接成功就进入休眠状态,如果时间没法设置这么长,那就算了;
第三个问题,蓝牙休眠状态10几个微安是在有LDO的情况下产生的,应该还是正常的;至于广播状态1.6MA的功耗,现在还没再试,接下来会在试试看;
主要是第四个问题,刚才详细的测试了一下,发现蓝牙断开是有条件的,就是我蓝牙的IO,P0.13,P0.14,P0.15模拟SPI三线通信的CS,CLK,SDA,如下面的时序代码:
nrf_gpio_pin_clear(VOICE_CS); /*ʹÄÜоƬ5MS*/
nrf_delay_ms(20);
  for(i=0;i<8;i++)
  {
                 nrf_gpio_pin_clear(VOICE_CLK);
     if(add&1)nrf_gpio_pin_set(VOICE_SDA);
     else nrf_gpio_pin_clear(VOICE_SDA);
     add>>=1;
                 nrf_delay_us(150);
//                 nrf_gpio_pin_set(VOICE_CLK);
                 nrf_delay_us(150);
  }
//        nrf_gpio_pin_set(VOICE_CS);
        nrf_gpio_pin_toggle(ADVERTISING_LED_PIN_NO);//´ò¿ªÍâÉèµçÔ´  
注释掉上面两个,也是就不给CS,CLK,SDA置位,就不会出现断开后重连成功后断开的情况,那几个IO口是直接nrf_gpio_cfg_output(VOICE_RST);做输出初始化;
另外,就是虽然上面会导致重连失败,但是在正常连接的时候,通信都是正常的,SPI都是可以正常通信;现在还在查找具体原因。

出0入0汤圆

发表于 2016-3-8 11:46:07 | 显示全部楼层
51822没玩过,玩过 14580、cc2540的。
1,第一个问题,也可以通过看门狗来实现软复位;
2,第二个问题,我觉得不管是哪个BLE芯片都可以实现一直广播或超时停止广播;
3,第三个问题,1.6ma是平均电流的话确实太高了,可以查一下是不是某些IO口漏电导致的。
4,第四个问题,有没有可能是SPI的时序影响了蓝牙通信,BLE芯片通常耗时的操作要分时间片完成,不然会影响蓝牙通信。

出0入0汤圆

发表于 2016-3-8 12:02:33 | 显示全部楼层
qq396422180 发表于 2016-3-8 11:28
首先谢谢你每个问题都解答;
第一个问题,现在还没找到软件复位的指令,接下来会继续找找;
第二个问题, ...


CMSIS的API就有,你IO设置就会复位,看看是不是IO设备后把电源拉低造成芯片复位了。另外,仿真时看看执行IO后是不是就不能再继续仿真了,如果是,那么就是芯片复位了。

出0入0汤圆

 楼主| 发表于 2016-3-8 13:46:13 | 显示全部楼层
rf_smart 发表于 2016-3-8 12:02
CMSIS的API就有,你IO设置就会复位,看看是不是IO设备后把电源拉低造成芯片复位了。另外,仿真时看看执行 ...

是和那几个IO的操作有关系,但是不至于导致芯片复位吧,因为模拟SPI可以通信正常,而且通信完之后蓝牙还是一直连接的并不会断开,也不会死机,如果复位的话会导致断开的吧?现在研究一下IO的配置方式,这个芯片的IO配置有点看不懂,有没有解说

出0入0汤圆

 楼主| 发表于 2016-3-9 09:18:42 | 显示全部楼层
racemaker 发表于 2016-3-8 11:46
51822没玩过,玩过 14580、cc2540的。
1,第一个问题,也可以通过看门狗来实现软复位;
2,第二个问题,我 ...

51822我也是刚玩,网上的资料太少了,很多都没得参考;现在蓝牙通信什么的,都没问题,就是一些细节问题好多,上面的四个问题都还没解决呢,特别是第4个,在CS,CLK,SDA这几个IO串接上4.7K的电阻之后可以避免连接后断开的问题了,但是随着而来的是进入休眠状态后的功耗居然是6++MA,修改了这几个IO的配置参数,都没效果,看来还要继续钻研datasheet了。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-29 16:29

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表