试图使用外部SPI引导DA14580时出现问题

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.xmece.com/support.我们将在未来几天修复bug /优化搜索和标记。
11个帖子/ 0个新帖子
最后发表
AlejandroCastillo
离线
最后看到:2个月前1年
加入:2017-07-13十二11
试图使用外部SPI引导DA14580时出现问题

嗨,团队,

我们正在使用一个定制的硬件,其中包括DA14580设备。我们想通过使用SPI协议通过另一个作为主的微控制器(ADuCM4050)引导它,所以我们已经实现了一些功能的应用说明文档(从串行接口引导)。发送的第一个包由前序、0x00和Length LS字节组成。如果一切正常,我们可能会在rx缓冲区(从0开始)的位置3收到一个ACK(它的值是0x02),但情况并非如此。事实上,我们得到的结果如附件中的pdf所示。

这里的问题是SPI应该发送数据,然后,接收来自DA14580的响应,但似乎rx缓冲区捕获[0xce, 0xc0, 0x02, 0xc0]安全,而不是[0xc0, 0xdc, 0xd4,0 x02].SPI比特率设置最低。

有什么想法吗?

谢谢。

设备:
PM_Dialog
离线
最后看到:10小时11分钟前
工作人员
加入:2018-02-08 11:03
嗨,亚历杭德罗,

嗨,亚历杭德罗,

谢谢你的问题。让我查一下,然后再回复你。

问候,pm_dialog

PM_Dialog
离线
最后看到:10小时11分钟前
工作人员
加入:2018-02-08 11:03
嗨,亚历杭德罗,

嗨,亚历杭德罗,

您是否在外部微控制器和DA14580之间设置了布线,或两者都放在同一个PCB中?在第一种情况下,我建议使用较短的电线来降低噪声。在第二种情况下,请检查您正确终止SPI行的PCB。通常我们使用33欧姆的终端电阻。关于敏感性,由于尖峰和反射,在大多数情况下,这是没有从DA14580朝向大师的任何通信的原因。

谢谢,PM_Dialog

AlejandroCastillo
离线
最后看到:2个月前1年
加入:2017-07-13十二11
嗨,团队,

嗨,团队,

谢谢你的回复。我们在同一PCB中有两个组件。我们在推荐之后将电阻放在SPI线路中,但它尚未正常工作。这很奇怪,因为da14580向微量响应,所以我们认为问题与时机有关(似乎微米提出了一个问题,并且对话框在ADUCM4050完成其问题之前发送答案,所以它无法拍摄它检查是否是ACK或NACK)。

DA14580是否可能配置了不同的比特率,主/从模式或其他,忽略了单片机的SPI配置?我们看不出有什么其他原因导致了这种情况。

谢谢。

PM_Dialog
离线
最后看到:10小时11分钟前
工作人员
加入:2018-02-08 11:03
嗨,亚历杭德罗,

嗨,亚历杭德罗,

让我检查你的问题,我会告诉你。

谢谢,PM_Dialog

PM_Dialog
离线
最后看到:10小时11分钟前
工作人员
加入:2018-02-08 11:03
嗨,亚历杭德罗,

嗨,亚历杭德罗,

就像之前提到的,这可能是由于SPI信号之间的尖峰、反射和噪声。这是DA14580与master之间没有任何通信的最常见原因。在比特率方面,由于DA14580作为slave,时钟由另一个单片机作为master产生。

谢谢,PM_Dialog

AlejandroCastillo
离线
最后看到:2个月前1年
加入:2017-07-13十二11
嗨,团队,

嗨,团队,

谢谢你的回复。最后,我们决定购买DA14580开发工具包基本工作和发现什么可能是问题。这似乎与微控制器的配置有关。当它试图与芯片通信读取或接收数据时,它先发送“X”,然后接收“Y”;但是,如果它尝试只写,它会通过这种方式接收响应,所以你可以通过在SPI接收功能中取消激活Read命令来访问Rx缓冲区中的ACK。和…如果我们运行代码,它接收两个第一个ACK,我的意思是,前置和长度+crc ACK(不总是),但不是最后的0xAA和0x02安全。我们检查了Flash内容,它是空的(满是0xFF)。

我们按照手册的说明将两台设备连接如下(SCLK, /CS, MISO和MOSI引脚属于微控制器):

-开发工具包的SCLK到P0_0。

- Dev-kit的/CS到P0_3。

- MISO到P0_6的开发套件。

- MOSI到P0_5的开发工具包。

我们已经插入了一个延迟函数(110毫秒),并尝试连接DA14580 Dev-kit (Flash)的SPI引脚,但它不能工作。还有什么别的问题我们可以考虑的吗?

如果我们找到了解决办法,就会公布出来。

谢谢。

AlejandroCastillo
离线
最后看到:2个月前1年
加入:2017-07-13十二11
嗨,团队,

嗨,团队,

最后,我们真的认为问题是由连接两个设备的电线引起的,就像你之前提到的,因为尖峰和反射。通过MISO线接收的数据与我们期望接收的数据类似,有时反映的值为0x70和/或0x50十六进制数据(它们都是用于初始化引导进程的数据)。

问题是我们需要使用这些电线来连接它们之间的设备。我们怎样才能避免这些影响?是否有任何可能影响的因素?也许是一个跳线,我们可以除去(或不)或除了四条SPI线外还必须连接的任何引脚吗?

非常感谢。

PM_Dialog
离线
最后看到:10小时11分钟前
工作人员
加入:2018-02-08 11:03
嗨AlejandroCastillo,

嗨AlejandroCastillo,

事实上,你有一个定制的硬件和线连接没有飞线,这与你的PCB有关。通常我们使用33欧姆的终端电阻。

谢谢,PM_Dialog

AlejandroCastillo
离线
最后看到:2个月前1年
加入:2017-07-13十二11
嗨,团队,

嗨,团队,

我们找到了解决方案。该数据表有一个“非期望的影响”部分,它解释了可能与电压调节器和ADC相关的不良响应(一个引入了噪声影响到另一个),所以我们尝试使用屏蔽电缆来检查我们是否可以减少这一点和…它工作!

感谢您的关注。

PM_Dialog
离线
最后看到:10小时11分钟前
工作人员
加入:2018-02-08 11:03
嗨AlejandroCastillo,

嗨AlejandroCastillo,

很高兴你识上你发出并感谢征兆。如果您有任何其他问题,请创建一个新的论坛线程!

谢谢,PM_Dialog