关于power_saving后无法连接的问题
dear all:
cc2541广播能够用手机上的lightblue检测到,但尝试去连接的时候就disconnect了,用usb dongle连接也是如此,信息如下:
23:23:25.385 > BLE Host: COM7 57600 baud hardware flowc.
23:23:25.786 > BLE Host found
23:23:25.789 > Scan request ...
23:23:25.789 > GAP Device Init Done
23:23:26.312 > GAP Device Information: 00 00 [len=7]
23:23:26.314 > MAC address: B4:99:4C:62:61:F8
23:23:26.332 > GAP Device Information: 00 04 [len=30]
23:23:26.332 > Device found: SimpleBLEPeripheral
23:23:26.333 > Scan resp: ad=0x12 len=5
23:23:26.333 > Scan resp: ad=0x0a len=2
23:23:29.838 > Scan cancel request ...
23:23:29.857 > Scan finished [4.68 sec]
23:23:29.858 > GAP Device Discovery: 0 devices
23:23:36.891 > Connect request
23:23:37.386 > Gap Link Established: h=0000 ci=25 lat=0 to=200
23:23:37.386 > SimpleBLEPeripheral connected
23:23:37.390 > Service discovery started
23:23:37.715 > ATT_ReadByGrpTypeRsp - status=0 n=19
23:23:37.805 > ATT_ReadByGrpTypeRsp - status=0 n=7
23:23:37.810 > ATT_ReadByGrpTypeRsp - status=26 n=0
23:23:37.810 > Primary Service Discovery done [0.422 sec]
23:23:37.827 > Characteristic description discovery started
23:23:37.872 > ATT_FindInfoRsp - status=0 n=21
23:23:39.867 > ATT_FindInfoRsp - status=20 n=0
23:23:39.873 > GAP Link Terminated: status=0 h=0 reason=0x08
23:23:39.874 > SimpleBLEPeripheral disconnected
然后如上情况只出现在电池供电,且power_saving的时候会出现。
当做如下操作的时候会消失:
1 用ccdebugger供电时,就是ok的(这里应该只有ccdebugger的电压高点这个区别吧?)
2 将power_saving中进入低功耗的设置:PM2,PM3都改为PM1时,问题消失。(PM1和PM2,3的区别是voltage regulator 的关闭与否,前者不关闭)
尝试:
1 本来怀疑32K的外接不行,进入低功耗后就挂了。尝试改为内部32K,问题依旧。(此时只进入pm2,没进入pm3)
2 同套模块在网上购买的成品模块上跑没有问题
望各位大神不吝赐教,给个反向也行
发现,购置的成品模块,即使我设置了power_saving,32M晶振一直是在振的,但我们自己设计的模块,却是断续的,振一段停一段。
是否进入低功耗后,32M晶振就停振了?
我尝试换了几个负载电容,15pF到22pF,都没效果。
晶振这边走线是top-bottom-top的,也就是穿层的,不知是否有影响?
问题已经解决,由于1uF电容搞混,dcoupl引脚焊错了电容,导致如上问题。