在电路中初始化DA14531模块

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
6个职位/ 0个新职位
最后发表
里斯Weatherley
离线
最后看到:6个月,1个星期前
加入:2020-11-09 02:37
在电路中初始化DA14531模块

如果之前有人问过这个问题,请原谅。我们最近购买了一些DA14531模块集成到一个bleusing项目中。目前我们仍处于调查阶段。

为了调查该模块如何工作,我将其连接到STM32L552微控制器(MCU),如数据表第7节推荐:

* J14 TX上DA14531到LPUART1 RX引脚上的单片机。

* J10 RX上的DA14531到LPUART1的TX引脚上的单片机。

* DA14531上的J12 RST到MCU上的GPIO引脚,暂时左浮。

我天真地认为模块将预先配置从制造商的无代码AT命令,但我没有得到任何响应简单的“ATI”识别命令从模块57600bps或115200bps。

大概我需要用Codeless .hex文件flash模块,然后才能使用它。然而,该模块已经在电路中焊接并连接到MCU。我目前没有一个开发板来单独flash模块。一旦我们开始生产,我们将希望在电路中闪光和/或升级模块,而不是必须在焊接前分别闪光。

是否有一些方法可以使用上面的引脚配置将模块放入引导加载模式?我发现代码“DA145xx_SDK/6.0.14.1114/utilities/flash_programmer”在SDK中,这似乎是运行在模块上执行引导加载的代码。我可以根据这些信息很容易地编写自己的flash实用程序来在STM32L552中运行。代码似乎表明引导加载程序使用单线UART模式,为此我可能不得不重新安排到MCU的线路。我有内联电阻在电路中,所以重新安排电线不应该是一个大的戏剧,我们将修复PCB在下一个原型。

我需要使用什么顺序来强制DA14531模块进入其引导加载程序,无论模块是否已经闪过?拉高RST,再等一会儿?切换其他引脚?我目前还不清楚如何从文档中做到这一点。描述引导加载顺序的文档将非常方便。我可能在扫描的时候漏掉了,如果我漏掉了一些明显的东西,我很抱歉。

希望有一种方法来做这与一个刚从工厂出来的DA14531模块。

PM_Dialog
离线
最后看到:1天9小时前
工作人员
加入:2018-02-08 11:03
嗨里斯Weatherley,

嗨里斯Weatherley,

感谢您的在线问题和您对我们的微型模块BLE解决方案的兴趣。

该模块没有预先编程的固件,因此您需要在使用它之前flash它(在您的情况下使用无代码FW)。

它可以通过P05上的单线UART或通过JTAG接口进行编程。如果您有任何Dialog dk,您可以使用它通过JTAG对模块进行编程。所有DA145xx开发套件包含一个Segger J-Link设备,提供串行线调试(SWD)能力。默认情况下,此J-Link设备连接到开发工具包板上的DA145xx设备,但是也可以将其连接到您自己的硬件,允许开发工具包板充当调试探针。请参阅以下教程的更多信息:

http://lpccs-docs.dialog-semiconductor.com/Tutorial_SDK6/debug_probe.html

老实说,我不能理解为什么你需要flash是一个引导加载程序。该模块和DA14531 SoC通常从特定引脚启动,启动过程包括非常指定的步骤。

我建议你先退房AN-B-072: DA14531从OTP和串行接口启动应用程序笔记,描述了什么是可用的启动选项使用串行接口,如I2C, UART, SPI和如何编程DA14531的固件到Flash, EEPROM或OTP内存。

在第4节中,可以找到启动顺序和启动引脚。

根据模块的数据表,J9 (P0_10/SWDIO)和J10 (P0_2/SWCLK)被用于SWD接口,默认设置。因此,这意味着不可能将J10用于UART RX。

根据DA14631 datasheet, SWD信号映射是由SYS_CTRL_REG[DEBUGGER_ENABLE]定义的。但是,这些信号在默认情况下被映射到端口上。可选的SWD映射由SYS_CTRL_REG[DEBUGGER_ENABLE]位域选择。RST默认功能可以通过HWR_CTRL_REG[DISABLE_HWR]位关闭。

因此,如果您想使用J10 (P0_2)作为UART引脚,您应该重新映射SWCLK并相应地在软件上配置怀疑引脚。

如果您检查CodeLess的源代码并打开user_peri_setup .h文件,您将看到在P0_6上配置了UART TX,在P0_5上配置了UART RX。您可以根据您的要求更改配置。记住,如果你计划使用任何可用的睡眠模式,你也需要连接RTS/CTS信号。

谢谢,PM_Dialog

里斯Weatherley
离线
最后看到:6个月,1个星期前
加入:2020-11-09 02:37
谢谢你提供的信息。

谢谢你提供的信息。我会调查一下,看看我是否可以利用1线接口来做我想做的事情。

“老实说,我不能理解为什么你需要flash是一个引导加载程序。该模块和DA14531 SoC通常从特定引脚启动,启动过程包括非常特定的步骤。”

为了生产目的,我们希望尽可能减少设备编程的复杂性。如果通过UART在新固件中编程是可能的,那么我们也可以从MCU方面执行现场固件更新。JTAG很难做到这一点。

你能推荐一个替代的Dialog BLE模块吗?比如SmartBond Tiny,它预先编写了一个AT命令集,用于即插即用操作?我们选择研究这个主要是因为它的低功率特性。我们不需要在模块上运行我们自己的代码——我们有一个单独的芯片。

PM_Dialog
离线
最后看到:1天9小时前
工作人员
加入:2018-02-08 11:03
嗨里斯Weatherley,

嗨里斯Weatherley,

谢谢你的回复。我们已从论坛中采取离线方式,并将要求安富利AU跟进并直接联系您的注册电子邮件地址。

谢谢,PM_Dialog

奇迹托马斯
离线
最后看到:5个月前
加入:2020-12-09 15:40
如何安装接收器

如何将接收器安装在非蓝牙设备中进行功率传输

PM_Dialog
离线
最后看到:1天9小时前
工作人员
加入:2018-02-08 11:03
你好托马斯,奇迹

你好托马斯,奇迹

谢谢你的评论。你能解释一下你在做什么吗?

谢谢,PM_Dialog