N32WB452蓝牙启动不了是什么原因?
自己制作了一个N32WB452的开发板,使用的是24M晶振和32M的BLE晶振。按照手册的DCDC的BLE电路连接。烧录完官方的ble slave例程之后串口输出会有err。
由于官方例程的代码按照8M晶振预定义,我在keil的项目设置里面加上了HSE_VALUE=24000000,这样系统时钟和串口看起来是没有问题的,串口助手可以正常收到数据。但是蓝牙没有起来。
调了一下代码发现是ble_initdata_down()这个函数中调用的send_vendor_array和send_vendor_bypass_command会向串口报err,同时send_vendor_array中的eif_spi_recv_bytes函数返回总是E_WAIT。
以下是完整串口输出,其中receive re那行输出是我自己加的log_debug输出的:
system start...
err
receive re:-15,receive event:10,0,0,0,15.
err
err
receive re:-15,receive event:0,0,0,0,0.
err
receive re:-15,receive event:0,0,0,0,0.
err
receive re:-15,receive event:0,0,0,0,0.
err
bt init ok.
ble driver version V4.2_1127
err
receive re:-15,receive event:28,0,0,0,6.
err
err
receive re:-15,receive event:0,0,0,0,0.
err
receive re:-15,receive event:0,0,0,0,0.
err
receive re:-15,receive event:0,0,0,0,0.
err
err
receive re:-15,receive event:4,0,0,0,24.
err
err
receive re:-15,receive event:0,0,0,0,0.
err
receive re:-15,receive event:0,0,0,0,0.
err
receive re:-15,receive event:0,0,0,0,0.
err
err
这时候DCDC的输出是3.3V,BLE_DVDD的电容上电压是0.8V,总电源上的电流大概17mA,用示波器看过两个晶振都已经起振了。 没人回自己顶一下。
问题初步解决。
初步判断应该是芯片损坏的问题。
损坏位置应该是射频部分的电源模块。
使用加热台和低温焊锡浆焊了一块板子,这块是可以正常使用的了,dcdc输出1.25V,ble_vdd0.8V。输出如下:
system start...
bt init ok.
ble driver version V4.2_1127
ble disconnect:
猜测应该是使用热风枪焊接导致的dcdc电路中部分晶体管热失效。(有一片的usb也被吹坏了)
感觉国民技术的模拟接口部分电路还需要好好再设计一下,之前焊ti,adi啥的开关电源热风枪随便吹一百个可能也就坏一两个,国产另外几家也都没吹坏过,这个连坏三个,有点离谱。
也给以后使用这个片子的同学们提个醒,要自己焊的时候一定不要用热风枪对着吹,最好还是拿低温焊锡浆配合加热台,焊好了要拆也要使用加热台。 谢谢分享经验 acelancer 发表于 2022-7-15 16:17
没人回自己顶一下。
问题初步解决。
初步判断应该是芯片损坏的问题。
出现问题,先排查硬件问题,相同的例程在开发板和自己的板子上对比看效果是否一致;遇到很多朋友也是硬件错误导致的各种异常问题。感谢分享整个过程。
页:
[1]