⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
7个职位/ 0个新职位
最后发表
TP2017
离线
最后看到:4天22小时前
加入:2017-07-15 18:18
DA14586从SPI启动

我想使用配置为SPI Master的MSP430来引导DA14586。(使用数据表中指定的P2_0/SPI_CLK, P2_3/SPI_EN, P2_4/SPI_DO, P2_9/SPI_DI引脚)。当MSP430发送SPI主引导协议(根据嗯- b - 079软件平台参考表40)我不得到回复(我期待ACK或纳字节3和6)。相反,DA14586开关SPI主和搜索外部flash模块(根据嗯- b - 079)的启动序列。

我如何确保DA14586知道我试图从外部SPI Master引导它?我是否需要在一个时间框架内开始沟通?看起来DA14586在大约13毫秒后试图与外部闪光通信(我用示波器检查)。我一直试图在13毫秒之前从MSP430发送主引导协议,但它似乎忽略了我试图引导它。

关键词:
设备:
LC_Dialog
离线
最后看到:3周4天前
工作人员
加入:2016-09-19 23:20
嗨TP2017,

嗨TP2017,

在您的配置中使用的引脚连接到DA14586上的集成闪光灯。Flash在这里是在从配置和DA14586在主配置。引导顺序取决于所实现的Bootloader。我正在与我们的团队检查引导加载程序内部,并将给你关于可用的选项的用例。

最好的
LC_Dialog

LC_Dialog
离线
最后看到:3周4天前
工作人员
加入:2016-09-19 23:20
嗨TP2017,

嗨TP2017,

正如我之前提到的,您在设计中连接外部MCU的引脚与集成闪存的连接冲突。DA14586中的ROM引导加载程序将尝试从这个集成闪存引导,这将使从外部MCU引导非常困难。我建议使用其他可用的gpio,最好是Port 0引脚。

如果您还有其他的顾虑,请告诉我们。

最好的
LC_Dialog

TP2017
离线
最后看到:4天22小时前
加入:2017-07-15 18:18
我的问题是

我的问题是DA14586是否会从SPI Master启动,如UM-B-079 SDK 6软件平台参考附录G中所述(附录G.4 G.4.1“DA14585/586连接到SPI Master”)。我从您的回复中假设DA14586不是按照参考文献G.4.1中描述的引导协议开始的。听起来像是DA14586从第G.4.3步开始。如果您能确认这一点,我将更改我们的设计以适应DA14586所使用的实际协议。

启动代码的源代码可用吗?如果我理解您的响应,那么文档与DA14586的引导协议不匹配。在进行更多设计更改之前,我想确认引导协议的细节。

谢谢

LC_Dialog
离线
最后看到:3周4天前
工作人员
加入:2016-09-19 23:20
嗨TP2017,

嗨TP2017,

澄清一下,这有两个部分,
DA14586将按照你在附录g中提到的协议引导。尽管如此,这是串行接口引导过程的一部分。但是DA14586(特别是)在包中有一个集成的flash,在移动到串行接口之前,将首先进行检查,如下面的详细说明。

DA14586配置为从集成Flash (Slave)启动,如DA14586_datasheet_3v2第39页所述。如果这个flash没有一个有效的标题,这里的设备无法启动,并将继续串行接口描述在附录G .从串行接口,启动586年将首先检查外部SPI主开始的,并遵照表中描述的顺序39和还在附录图31克恩- b - 079。在附录G的表38中已经清楚地描述了引导GPIO组合。

ROM引导加载程序的源代码不可用。然而,DA14585/86 SDK中为客户提供了一个类似的实现——>实用程序——> secondary_bootloader,如果应用程序需要一个辅助引导加载程序来从自定义引脚引导。

希望这能解决你的担忧。

最好的
LC_Dialog

TP2017
离线
最后看到:4天22小时前
加入:2017-07-15 18:18
我用错别针了吗?

我用错别针了吗?

我理解你的观点,检查flash是第一部分,串行接口引导协议是引导过程的第二部分。我的问题是,我无法让DA14586响应启动协议(G.4.1的UM-B-079)使用外部SPI主机。我想知道我做错了什么,并认为可能有更多的信息(如时间,pinout),这将帮助我。

我重读了你引用的资源。如果我理解正确,UM-B-079的图31显示,如果在OTP中有一个引导特定的标志=0xAA(就像DA14586的情况一样),那么DA14586将尝试从表1中DA14586_datasheet_3v2第19页所示的引脚引导。如果失败,DA14586在UM-B-079的表38中列出的引脚上寻找外部源。

的别针我用为引导P2_0/SPI_CLK、P2_3/SPI_EN、P2_4/SPI_DO、P2_9/SPI_DI.我从一个论坛的讨论中得到了这个理解https://support.dialog-semiconductor.com/comment/17898#comment-17898和DA14586_datasheet_3v2的表1 page 19.我认为这可能工作,如果我使外部的SPI奴隶,并从它启动后显示“Init SPI配置”图31 UM-B-079

如果我了解来源和引脚我应该使用从SPI Master启动P0_0/SCK, P0_3/CS, P0_6/MISO, P0_5/MOSI或P0_0/SCK, P0_1/CS, P0_2/MISO, P0_3/OSI中列出的UMB-079的表38.这些引脚用于DA14586的搜索外部源的第二部分。

如果我的理解是正确的,我仍然需要关于SPI主引导协议信号计时的信息。我已经在信号线上放了一个示波器,我可能可以使用这些数据来计时SPI Master,然而我想知道是否有更确定的方法来确定何时DA14586将响应外部SPI Master.它会响应任何时间之前,它走到“Ext SPI Master”后的步骤?

在UM-B-079的图31中,我没有找到DA14586从内部flash加载程序的部分。我想应该在"OTP blank?"后面,但我找不到。

谢谢你的帮助。另外,感谢关于secondary_bootloader的提示。我来看看。

LC_Dialog
离线
最后看到:3周4天前
工作人员
加入:2016-09-19 23:20
嗨TP2017,

嗨TP2017,

如果你想将外部MCU配置为SPI Master,那么你应该考虑使用UM-B-079表38中指定的引脚配置之一。
DA14586定时要求是大约8毫秒,而从外部SPI Master启动,它应该发送协议数据序列(0x70 0x50)到SPI Slave(586),它将发送一个ACK/NACK返回。

关于你的问题,DA14586从内部flash加载程序。它将在EXT SPI slave上这样做吗?图31中UM-B-079的阶段。

最好的
LC_Dialog