求救信号:什么原因DA14580在被询问时断开,但是广告很有效

15个帖子/ 0新
最后发表
亚历克斯·罗
离线
最后看到:1年5个月前
专家
加入:2014-02-28 19:16
求救信号:什么原因DA14580在被询问时断开,但是广告很有效

亲爱的对话框,

我想知道是什么原因导致DA14580在被讯问时断开。发生这种情况的条件或诱因是什么?

我的代码基于Sample128,大部分时间都适用于很好。但有时会发生这个问题 - DA14580无法通过我的应用连接,并且它报告了“在被询问时断开连接。”通过浅蓝色工具。同时,广告效果很好 - 广告数据通过传感器检测动态地改变。

如果发生这种情况,DA14580永远不会一直连接。让它工作的唯一方法是“断电复位”。复位后,工作良好。问题很少发生,也不容易再现。

是调用断开连接函数引起的吗?我没有从我的代码中找到它,可能是某个地方或时机问题?到目前为止,我还没有找到任何线索。请帮助!

谢谢!

关键词:
VesaN
离线
最后看到:5年8个月前
格鲁鲁 主
加入:2014-06-26 08:49
你好亚历克斯·罗

你好亚历克斯·罗

对我来说听起来可能是一个硬件问题/ XTAL校准问题。我有类似的问题。你用自己的硬件吗?

亚历克斯·罗
离线
最后看到:1年5个月前
专家
加入:2014-02-28 19:16
由于视频电子设备标准协会,

由于视频电子设备标准协会,

是的,我用我自己的硬件。这个问题很少发生,这对我的申请来说是胎儿问题。

我们使用了应用程序来跟踪连接,它看起来立即连接DA14580后。我在app_connection_func()中添加了一个LED指示灯,并找到了当问题发生时app_env.conidx == gap_invilad_conidx的LED指示灯,但我不确定每次询问都会发生这种点。那么,我想知道时间有什么问题吗?如果是这样,为什么出现问题,直到电源关闭重置直到电源?!
顺便说一下,我用RC振荡器32.768KHz,不是Xtal。我还使用了定时器函数:app_sample128_timer_handler()(我为应用程序设置定时器为200ms、500ms和2s)和app_rtc_timer_handler()(为1s固定定时器)。亚博国际官网平台网址我不确定是否有任何冲突或与堆栈中的其他计时器。

顺便说一下,代码对大多数时候工作非常好,但有时这个问题发生了 - 我没有找到问题所在。希望你能给我更多的线索。

谢谢,

VesaN
离线
最后看到:5年8个月前
格鲁鲁 主
加入:2014-06-26 08:49
你好亚历克斯,

你好亚历克斯,

阅读第7节。小心翼翼地

如果它没有准确地校准,您可能会遇到奇怪的行为

谢谢!

亚历克斯·罗
离线
最后看到:1年5个月前
专家
加入:2014-02-28 19:16
你好,视频电子设备标准协会,

你好,视频电子设备标准协会,

谢谢你分享你的经验,我试着去做。由于xtal和组件的变化,你认为是每一块都要修剪还是用一块修剪覆盖所有这些板?(达到5 ppm ?)

你能与我分享你满足问题的现象吗?广告运行良好,连接直到重置直到重置?如果是这样,问题是通过修剪XTAL来修复的?

你认为固件有什么不对吗?

非常感谢,

VesaN
离线
最后看到:5年8个月前
格鲁鲁 主
加入:2014-06-26 08:49
嗨,亚历克斯,

嗨,亚历克斯,

我猜一个修剪应该覆盖所有的板,然而,可能有一些变化。

对我来说,错误的校准有时会导致广告“消失”,设备的功能一般都不正确。操作它是不可能的。这个问题是固定的我修剪xtal,也改变了HW设计一点。如果频率不正确,那么产生的射频信号是在错误的频率区。

当你在校准xtal时,你可能也会注意到一些漂移。

不知道固件是不是出了什么问题。

亚历克斯·罗
离线
最后看到:1年5个月前
专家
加入:2014-02-28 19:16
坦克视频电子设备标准协会,

坦克视频电子设备标准协会,

我会尽力遵循您的建议,同时从F / W中挖掘更多信息。有趣的是,在更新广告数据时发生了所有问题(需要app_adv_stop和app_adv_start ...)

谢谢,
亚历克斯

VesaN
离线
最后看到:5年8个月前
格鲁鲁 主
加入:2014-06-26 08:49
你好,

你好,

您可能想要再次检查您没有访问错误的内存地址,并且您的adv包是有效的。试着用十六进制打印出来。

亚历克斯·罗
离线
最后看到:1年5个月前
专家
加入:2014-02-28 19:16
嗨Vesa,

嗨Vesa,

似乎太难以找到问题的根源。运行数百次后,问题可能不会发生,我想知道什么触发它。非常奇怪的连接在问题发生后从未恢复过,广告工作得很好。我不知道在调用app_adv_stop之后是否存在任何冲突,然后调用app_adv_start()非常关闭 - 我可以找到更多关于它的信息。您是否在使用add_adv_stop()和add_adv_start()有任何经验?我在app_rtc_timer_handler()中更新的广告数据后使用了那些 - 我为RTC使用创建了(1SEC /步骤)。希望你能在那里找到一些东西,让我知道。

谢谢,

崔金飞
离线
最后看到:4年6个月前
加入:2015-03-17 01:25
我有同样的问题,我用

我也有同样的问题,我用5V电源,当我把它换成3.3v,一切都好!希望这次的帮助!

亚历克斯·罗
离线
最后看到:1年5个月前
专家
加入:2014-02-28 19:16
你好cuijinfei,

你好cuijinfei,

DA14580工作电压高达3.6V时,芯片在5V时不能正常工作。所以,使用3.3V是正确的。

angelforest
离线
最后看到:4年1个月前
加入:2014-11-07 01:08
嗨,对话框中,

嗨,对话框中,

我遇到了和亚历克斯一样的问题。DA14580一直在做广告,但是不能再连接了。一旦问题发生,它就会一直存在,唯一的恢复操作就是重新启动芯片。

在使用iPhone时遇到问题,我得到了空气日志。但Android也存在这个问题。从日志中可以看到,LLCP版本交换后发生断连,DA14580没有响应。这个问题不容易再现,但确实存在。

对话可以帮我列出一些潜在的原因吗?这是我的急病,谁能帮个忙?非常感谢。

此致

安吉

MT_dialog
离线
最后看到:4个月,1个星期前
工作人员
加入:2015-06-08 34
嗨angelforest,

嗨angelforest,

设备是否已自行断开连接,然后您无法重新连接?您的连接是否使用了任何安全性,可能会出现问题。当你发出连接请求时,你能告诉da获得连接请求(在调试模式下)。你能用嗅探器来观察空气中有什么吗?

由于MT_dialog

angelforest
离线
最后看到:4年1个月前
加入:2014-11-07 01:08
嗨mt_dialog,

嗨mt_dialog,

1.问:设备是否自己断开连接,然后不能重新连接?
答:我不确定断开是由设备或主机引起的。但是连接不能再次建立,直到重置DA14580。

2.问:您的连接是否使用了任何安全性?
答:是的。我们的产品涉及HID和ANC的配置文件。
// IO能力
cfm - > data.pairing_feat。iocap = GAP_IO_CAP_NO_INPUT_NO_OUTPUT;
/ /验证需求
cfm - > data.pairing_feat。auth = GAP_AUTH_REQ_NO_MITM_BOND;
/ /安全要求
// HID设备必须使用LE安全模式1和安全级别2或3。
//我们在这里使用模式1,级别2
cfm-> data.pairing_feat.sec_req = gap_sec1_noauth_pair_enc;

3.问:你能用嗅探器吗?为了看看空中有什么?
A:我用了嗅探器。根据捕获,断开总是出现在LLCP版本交换之后。master每次发送LLCP_Version(Opcode: LL_VERSION_IND),尝试6次,但是DA14580没有响应。大约350ms后,嗅探器显示我们的设备回到了“可连接状态”。

你以前见过这个吗?这是由安全设置引起的吗?谢谢你!

BR

令人惊艳

MT_dialog
离线
最后看到:4个月,1个星期前
工作人员
加入:2015-06-08 34
嗨angelforest,

嗨angelforest,

不,据我所知,如果没有这样的问题,如果设备可以建立第一个连接而不是重新连接,它必须是第二连接中的关键交换过程,也许键不会正确存储或暴露。在重新连接期间使用不同的处理程序,您可以看看键盘参考设计,以便看到适当的HID连接。

由于MT_dialog