完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好。
在我们的项目中,我已经使用SPBTLE-RF模块工作了很长时间。我从未遇到过这些模块的任何问题。 但现在我们重新设计了PCB,并将使用直接放置在PCB上的BlueNRG-MS芯片(QFN外壳,16MHz分机振荡器+ 32768 Hz分机,低频振荡器,降压转换器有效)。 并且它不起作用...有趣的是FW升级没有任何问题(我们正在将fw图像嵌入到我们的软件中并且如果版本低于0x723则使软件变得更软)。 IFR(由我特别为我的硬件设计生成)更新和验证也没有任何问题(因为我理解上述两个动作都是由 BlueNRG-MS bootloader)。但是当谈到配置芯片时 - 它会挂起。首先,我正在尝试配置DIV,ER和IR键。 DIV编程通过( BlueNRG-MS返回0状态),但所有后续操作(ER,IR编程,间隙/ gatt初始化等)都失败 - 我没有收到BlueNRG-MS的任何中断,如果我发出的话,没有数据待处理手动中断。 有人知道芯片有什么问题吗? 提前感谢您的任何答案或提示。 PS:相同的代码完美地运行在具有SPBTLE-RF的旧PCB上。 #bluenrg-MS 以上来自于谷歌翻译 以下为原文 Hello everyone. I've been working for a long time with SPBTLE-RF modules in our project. I never experienced any problems with these modules. But now we've redesigned our PCB and are going to use BlueNRG-MS chips directly placed on PCB (QFN case, 16MHz ext. oscillator + 32768 Hz ext. low freq. oscillator, step-down converter active). And it doesn't work... Interestingly that FW upgrades without any problems (we are embedding fw image into our software and uptate chip softwarte if it's version is lower than 0x723). IFR (generated by me especially for my hardware design) is updated and verified also without any issues (as I understand both of the mentioned actions are done by BlueNRG-MS bootloader).But when it comes to configuring chip - it hangs. First of all I'm trying to configure DIV, ER and IR keys. DIV programming passes ( BlueNRG-MS returns 0 status), but all subsequent operations (ER, IR programming, gap/gatt initializing, etc.) fail - I do not receive any interrupts from BlueNRG-MS and no data is pending on its side if I issue the interrupt manually. Does anybody knows what can be wrong with the chip? Thanks in advance for any answers or tips. PS: the same code perfectly runs on older PCBs that have SPBTLE-RF. #bluenrg-ms |
|
相关推荐
4个回答
|
|
稍微更新:我从BlueNRG-MS芯片收到Evt_Blue_Initialized事件,其中包含reason_code == 0x05(由看门狗引起的复位)。
看门狗在BlueNRG-MS中出现的原因是什么? 以上来自于谷歌翻译 以下为原文 A little update: I receive a Evt_Blue_Initialized event from BlueNRG-MS chip containing reason_code == 0x05 (reset, caused by watchdog). What are the reasons for watchdog going off in BlueNRG-MS? |
|
|
|
更新号码2:
1.如果我选择内部环形振荡器作为时钟源,则设备工作。如果在IFR中设置的选定晶振精度设置为100ppm,则使用外部振荡器将挂起。如果我将此值减小到例如30 ppm - 设备运行良好,但几个小时后它再次挂起(我认为增加的晶体温度已经使其基频稍微偏移)。 3.使用更高的值(在我的情况下为500ppm)根本不会产生任何挂断。 但是,嘿,这些精确设置和内部监视器之间的关系是什么? 我认为,如果我使用比我当前设计(晶体+其电路)实际具有的更低的ppm设置值 - 我将错过连接事件(或任何类型的主从时序差异)。如果我使用更高的ppm设置值 - 我应该得到的唯一问题是增加的电流消耗(我的设备必须提前唤醒并且听一点时间)。 但我不明白这种设置与看门狗引起的重启之间的关系! 以上来自于谷歌翻译 以下为原文 Update number 2: 1. Device works if I choose internal ring oscillator as clock source.2. Using external oscillator it hangs if selected crystal precision set in IFR is set to 100ppm. If I decrease this value to, for example, 30 ppm - device works well, but after several hours it hanged again (I assume that increased crystal temperature has shifted its base frequency a bit). 3. Using higher value (500ppm in my case) gives no hangups at all. But hey, what is the relation between these precision settings and internal watchdog? I thought that if I use lower ppm setting value than my current design (crystal+its circuitry) actually has - I'll get missed connection events (or any kind of master-to-slave timing discrepancies). If I use higher value of ppm setting - the only problem I should get is the increased current consumption (my device will have to wake up a bit earlier and listen a bit longer). But I don't understand the relation between this setting and reboots caused by watchdog! |
|
|
|
如上所述
https://community.st.com/0D50X00009XkiCMSAZ ,你的问题可能是由错误的价值造成的。请尝试按照/external-link.jspa?url=http%3A%2F%2Fwww.st.com%2Fcontent%2Fccc%2Fresource%2Ftechnical%2Fdocument%Fapplication_note%2F46%2F0a%2F77%2F7b%2F04%中的描述执行2Ff5%2F4c%2Fb7%2FDM00116738.pdf%2Ffiles%2FDM00116738.pdf%2Fjcr%3Acontent%2Ftranslations%2Fen.DM00116738.pdf 。 然后你应该相应地更新你。希望有所帮助, 安东尼奥 注意:原始帖子包含大量线程对话,只能迁移到第9级 以上来自于谷歌翻译 以下为原文 As discussed https://community.st.com/0D50X00009XkiCMSAZ , your problem is probably caused by a wrong value of the . Please try to perform as described in /external-link.jspa?url=http%3A%2F%2Fwww.st.com%2Fcontent%2Fccc%2Fresource%2Ftechnical%2Fdocument%2Fapplication_note%2F46%2F0a%2F77%2F7b%2F04%2Ff5%2F4c%2Fb7%2FDM00116738.pdf%2Ffiles%2FDM00116738.pdf%2Fjcr%3Acontent%2Ftranslations%2Fen.DM00116738.pdf . Then you should update your accordingly.Hope that helps, Antonio Note: the original post contained a large number of threaded conversations and was only able to be migrated to the 9th level |
|
|
|
不是这种情况。我已经完成了测试,显示启动时间为390us。所以我目前的800us设置足以满足我的设计需求。
但我已经找到了挂断的原因。芯片无法正常启动32K外部振荡器。当我尝试执行与32K振荡器相关的测试时 - 我没有在相应的TEST引脚上看到任何信号。有趣的是,我可以使用示波器看到SXTAL引脚上的振荡。但正如我后来想到的那样 - 示波器的探测只是帮助XTAL启动。没有探测器就无法启动! 为我的设计选择合适的XTAL补偿电容解决了我的问题! 以上来自于谷歌翻译 以下为原文 This is not the case. I've performed the test and is showed startup time 390us. So my current setting of 800us is enough for my design. But I've figured out the reason of hangups. Chip couldn't start a 32K external oscillator properly. When I tried to perform the test related to 32K oscillator - I didn't see any signal on correspondent TEST pin. Interestingly that I could see the oscillation on the SXTAL pins using oscilloscope. But as I figured out later - oscilloscope's probe just helped the XTAL to start . Without the probe it failed to start! Selecting the right XTAL compensating capacitors for my design solved my problem! |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2642 浏览 1 评论
3208 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1783 浏览 1 评论
3611 浏览 6 评论
5989 浏览 21 评论
940浏览 4评论
1317浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
585浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1304浏览 3评论
1362浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 08:11 , Processed in 1.186552 second(s), Total 83, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号