⚠️
大家好. .谢谢你来参加论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,并包含在Dialog主网站中。所有的帖子和账户都已迁移。我们现在只接受新论坛的流量-请张贴任何新的线程//www.xmece.com/support.我们将在未来几天修复漏洞/优化搜索和标签。
19个职位/ 0个新
最后发表
谢尔盖Bezroukov
离线
最后看到:8个月3周前
加入:2020-06-25 00:28
连接滴

你好,

我正在实验一对DA14531 TINY模块,通过CP2104上的2线UART和USB/UART转换器连接到计算机,使用无代码固件图像codeless_531_standalone_set_two.hex。在它们之间建立连接,如UM-B-140第3.3节所述。但问题是这些模块在大约3分钟后就会断开连接。是否有可能修复它,使连接无限期地保持活跃?

另外两个预编译的固件映像(codeless_531_standalone. exe)。hex和codeless_531_datapump.hex)没有这个缺点,但我需要I2C支持。我从源代码重新编译了standalone_set_two项目,但它仍然在2-3分钟后断开连接。如果我通过添加I2C功能来重新编译SET ONE固件,也会发生同样的情况。对话小组-请建议如何解决这个问题。

PM_Dialog
离线
最后看到:13小时9分钟前
工作人员
加入:2018-02-08 11:03
你好,谢尔盖·贝兹鲁科夫,

你好,谢尔盖·贝兹鲁科夫,

谢谢你的问题。

>>>但问题是模块在大约3分钟后断开连接。

请介绍有关情况。当连接断开时?您是否发送了任何特定的AT命令?你能在调试模式下运行吗?

> > > I2C的支持

您的意思是TINE模块上有一个I2C接口,您的要求是读取和传输I2C数据吗?

我建议在调试模式下运行项目,并检查它是否陷入断言NMI等。

谢谢,PM_Dialog

谢尔盖Bezroukov
离线
最后看到:8个月3周前
加入:2020-06-25 00:28
谢谢你的提示

感谢您的及时回复!

I2C与这个问题无关,因为到目前为止我甚至没有向模块发出任何I2C命令。而且,它没有连接到它的slave。我使用的唯一模块引脚是P0_5和P0_6,将其连接到外部USB-UART转换器。

我使用无代码SDK 6.380.10.4和免费版本的Keil v5.27.1.0,并注释掉文件user_at_command.h中的一些AT命令(见附件),以将codeless_stand_alone图像限制在32K以下。按照你的建议,我在调试下运行Segger J-Link调试器。在启动我给它AT+SLEEP=0命令的代码后,模块下一行响应OK和+AWAKE。然后我使用Cypress CySmart工具以及他们的加密狗作为中心设备连接到TINY模块。在建立连接后,模块响应+CONNECTED(在TeraTerm中),我可以在CySmart中作为BLE扫描工具探索其服务和属性。在这一点上,一切都如预期的那样正常工作-我可以看到手册中概述的模块特性。然后我让模块在连接模式下空转,即不从TeraTerm发出命令,也不从CySmart通过蓝牙发出命令。如前所述,连接在大约3分钟后断开。调试器没有显示任何可疑的东西,肯定没有NMI,实际上它没有显示任何东西,只是运行模块代码。TeraTerm报告+READY和CySmart报告连接断开。

如果你不知道CySmart,我用一对531 TINY模块建立了蓝牙连接,做了同样的实验。其中一个运行预编译的映像(不管哪个),其他模块运行我编译的映像。同样的连接下降发生在3分钟后。然而,如果两个模块都运行预编译的数据apump或独立的图像(预编译我指的是SmartBond Flash Programmer中提供的图像)工具,那么就不会出现连接下降。但是一旦其中一个模块加载了预编译的独立集2,就会发生连接断开。因此,预编译的set-two图像和SDK源代码有问题。

我写I2C只是因为我需要这个选项。到目前为止,我甚至没有尝试过它是如何工作的,所以这个问题肯定与I2C无关。

PM_Dialog
离线
最后看到:13小时9分钟前
工作人员
加入:2018-02-08 11:03
你好,谢尔盖·贝兹鲁科夫,

你好,谢尔盖·贝兹鲁科夫,

由于应用程序代码不会停留在任何地方(NMI / WDOG /断言),那么为了了解空中发生的事情,共享嗅探器日志将非常有帮助。

是否有可能使用BLE嗅探器工具并共享嗅探器捕获?

你有一个自定义板,或者你正在使用任何或dk ?此外,如果您正在使用睡眠模式,那么您应该使用4个UART信号(URX/UTX/RTS/CTS)。

谢谢,PM_Dialog

谢尔盖Bezroukov
离线
最后看到:8个月3周前
加入:2020-06-25 00:28
给你。附加的

给你。所附的档案有我的硬件的照片(只是DA14531模块和CP2104 USB-UART)和BLE事件日志。日志显示531在连接建立3分钟后发出了连接超时(最近3次记录)。我不使用SLEEP模式。

附件:
PM_Dialog
离线
最后看到:13小时9分钟前
工作人员
加入:2018-02-08 11:03
你好,谢尔盖·贝兹鲁科夫,

你好,谢尔盖·贝兹鲁科夫,

在附加的日志中,断开连接的原因是连接超时。根据蓝牙LL核心规范,Connection Timeout错误码表示给定连接的链路监督超时时间已经过期。监督超时在user_connection_param_conf结构中设置。

也请说明设备断开后是否再次开始广告?您可以在断开连接回调中添加断点—user_on_disconnect()—并检查断开连接的原因。请参阅gapc_disconnect_ind结构。

谢谢,PM_Dialog

谢尔盖Bezroukov
离线
最后看到:8个月3周前
加入:2020-06-25 00:28
是的,掉了之后

是的,在断开连接后,DA设备再次开始发布广告。您是对的:由于DA14531停止响应连接事件,因此链路监督已过期。

我使用Silicon Labs Simplicity Studio和他们的Thunderboard Sense 2板作为中心,创建了一个特殊的应用程序,只连接到DA14531,在保持连接活动的同时不做任何事情。在所附的存档中,有两张由Simplicity Studio Network Analyzer提供的图像。在这些图像上,设备90:FD:9F:7B:86:16是我的中央和DA:E4:D9:A6:F6:E9是DA14531。在名为Connection_parameters的映像上,您可以看到DA14531请求设置连接延迟5和监督超时1250ms,这被客户端接受(请参阅事件详细信息窗口)。然后在图像Log2上,您可以看到DA14531根据连接延迟工作,不响应串联的5个结果连接间隔。但是在138秒之后,是更长的一系列没有响应的数据包导致了中央监控超时。我也看到了这个原因(错误0x208)在第3张图像上我的中心设备的Tera-Term输出上。

从这些日志可以看出,在一段时间后(2-3分钟)DA14531无故停止响应连接事件。那么,Dialog,你为什么不修复你的软件呢?这样的行为绝对是一个bug。通过编译并将提供的源代码加载到两个模块或开发板中,您可以很容易地说服自己。

谢尔盖Bezroukov
离线
最后看到:8个月3周前
加入:2020-06-25 00:28
好的,对话,我决定

好的,对话框,我决定遵循你的建议,在user_codeless.c文件中的user_on_disconnect()函数中添加几个断点。事实证明,在删除连接后,您提供的代码不会进入这个函数。进一步的调查显示,模块在断开连接后会重置自己,如果在main()中添加断点,代码就会停止在那里。因此,我相信您需要为您的软件开发小组创建一个票据。如果你要我做这件事,请给我指示。

PM_Dialog
离线
最后看到:13小时9分钟前
工作人员
加入:2018-02-08 11:03
你好,谢尔盖·贝兹鲁科夫,

你好,谢尔盖·贝兹鲁科夫,

你能不能带着调试器运行它,并分享一个断开连接后代码卡住的截图?

设备是否从系统ram或SPI闪存启动?

说实话,我有点困惑。能否在SmartConsole移动应用程序中复制此问题?

在我这边,我不能复制它,无代码工作得很完美。

谢谢,PM_Dialog

谢尔盖Bezroukov
离线
最后看到:8个月3周前
加入:2020-06-25 00:28
我又在调试器里运行了一次,

我再次在调试器中运行它,截图是附加的。代码并不停留在任何地方,它只是重置模块,main()函数重新开始。您将在屏幕截图中看到它,其中显示了调试器在删除连接后停止的位置。因此,模块已经准备好建立一个新模块,如果我继续运行它,它就可以工作。但是新的连接也会在3分钟后断开。同样,我在建立连接后不与模块通信-只是让它空转。在我看来这是看门狗的行为。

我不使用任何(外部)闪存,只是一个连接到CP2104 USB转换器的裸模块,见附件图片,不确定设备如何内部启动。我刚刚编译了codeless_531_set_two_standalone的无代码软件(v6.380.10.4)镜像,没有任何更改,并通过SWD接口将其加载到我的两个模块中。它是根据你软件里的算法引导的。它在每个模块上的工作方式都是一样的——3分钟不活动后断开连接。

在Android(三星Galaxy S8)上使用SmartConsole应用程序作为客户端,可以观察到相同的连接断开行为。还有什么要查的吗?

稍后添加(重要):我刚刚注意到,如果我向在调试器下运行的模块发出ATI命令,则响应为codelless DA14531 v_6.380.10.4这与我使用的SDK版本相匹配。但是,如果我现在在调试器断开的情况下重新启动模块,对ATI命令的响应将变成codelless DA14531 v_6.380.9.10(? ? ! !)也许这就是你行为不端的原因?

附件:
谢尔盖Bezroukov
离线
最后看到:8个月3周前
加入:2020-06-25 00:28
好吧,这些天我明白了

好吧,这些天我了解到,如果从Keil(在degug模式下)和外部的Dialog SmartBond Flash程序员编程模块,那么结果是不同的。也就是说,在用Flash程序员闪烁我编译的代码后,它会显示正确的固件镜像版本DA14531 v_6.380.10.4不管你如何引导它(我的意思是在Keil的调试会话期间,以及在JLink调试器断开时)。因此,固件映像之间的不匹配概述后来添加的我上面帖子的部分已经解决了。但是,模块仍然在3分钟后断开连接。只有我一个人有这种感觉吗?

对话组:如果你的连接没有掉线,你能把HEX的图片发给我吗codeless_531_set_two_standalone.hex这样行吗?

PM_Dialog
离线
最后看到:13小时9分钟前
工作人员
加入:2018-02-08 11:03
嗨谢尔盖,

嗨谢尔盖,

大学里有BLE嗅探器吗?我们想分享一个BLE捕获,这样我们就可以了解在空中发生了什么。这将真正帮助我们更好地了解根本原因。

您能否在运行SmartConsole应用程序的另一部手机上复制此问题?你试过只用三星Galaxy S8吗?

谢谢,PM_Dialog

谢尔盖Bezroukov
离线
最后看到:8个月3周前
加入:2020-06-25 00:28
亲爱的Dialog团队!我有

亲爱的Dialog团队!我已经提供了两张由不同的捕获软件和硬件收集的BLE捕获。其中一个由Cypress CySmart工具及其加密狗CY5677收集,另一个由Silicon Labs Network Analyser收集。附件是由北欧半导体BLE加密狗PCA10031和他们的Sniffer 3.0软件收集的另一个最详细的捕获,该软件与Wireshark (v3.2.5)协同工作。附带的捕获涉及两个设备(我的Galaxy S8手机运行SmartConsole和DA14531模块,MAC 48:23:35:00:07:AA),可以用Wireshark打开。在所有这些情况下,我都在建立连接后保持连接空闲。这些都是我的BLE嗅探工具。

我在我妻子的另一部Galaxy S8手机、我较旧的Galaxy S5手机,以及至少3部我熟练使用的非手机BLE设备上复制了这个问题。DA14531模块只是在主连接事件上停止响应并重置自己(但我不确定哪个先出现)。同样,只有在将codeless_531_standalone_set_two图像加载到模块中时才会出现这种情况。与其他两个可用的预编译镜像(codeless_531_datadump和codeless_531_standalone)的连接似乎工作正常,即3分钟后没有连接中断,除非我自己从提供的源代码编译它们。在后一种情况下,无论我编译哪个图像,都会出现连接中断。

我使用的预编译图像是由Dialog SmartBond Flash Programmer提供的。我在上面要求你把你用来测试的图像发给我。请照做。另外,请在你的硬件上试试我附上的hex。

附件:
PM_Dialog
离线
最后看到:13小时9分钟前
工作人员
加入:2018-02-08 11:03

嗨谢尔盖,

我为造成的混乱道歉-刚刚看到附件的嗅探日志。最后,我可以使用codeess_531_standalone_set_two复制它。十六进制和使用Flash程序员工具。让我向团队内部汇报这件事,我会尽快给你回复。

谢谢,PM_Dialog

PM_Dialog
离线
最后看到:13小时9分钟前
工作人员
加入:2018-02-08 11:03
嗨谢尔盖,

嗨谢尔盖,

很抱歉我回复晚了。我从团队内部得到了反馈,很快就会有一个解决方案。一旦修复发布,我将在这个论坛上让你知道。

任何关于CodeLess的评论/反馈都将是非常欢迎的!

谢谢,PM_Dialog

谢尔盖Bezroukov
离线
最后看到:8个月3周前
加入:2020-06-25 00:28
谢谢你!我在找

谢谢你!我期待着这些问题得到解决。

PM_Dialog
离线
最后看到:13小时9分钟前
工作人员
加入:2018-02-08 11:03
你好,谢尔盖·贝兹鲁科夫,

你好,谢尔盖·贝兹鲁科夫,

无代码软件新版本6.380.12.6已经上线发布。现在可以从CodeLess门户网站下载:

//www.xmece.com/亚博电竞菠菜products/smartbond-codeless-commands

谢谢,PM_Dialog

谢尔盖Bezroukov
离线
最后看到:8个月3周前
加入:2020-06-25 00:28
谢谢对话团队。这

谢谢对话团队。问题解决。等待I2C问题的解决…

PM_Dialog
离线
最后看到:13小时9分钟前
工作人员
加入:2018-02-08 11:03
嗨谢尔盖,

嗨谢尔盖,

感谢你接受我的回答,并很高兴新的CodeLess版本修复了这个问题。关于I2C问题,我会在你的其他论坛帖子中回复你。

谢谢,PM_Dialog