DA14580作为SPI slave

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
5个职位/ 0个新职位
最后发表
shpasser
离线
最后看到:1年3个星期前
加入:2018-11-02 09:31
DA14580作为SPI slave

早上好,

在使用DA14580作为SPI从服务器时,有时我会遇到问题。我的实现基于“prox_reporter_ext_spi”示例。

设置:

当前引脚配置如下(与示例相同):

GPIO_ConfigurePin(SPI_GPIO_PORT, SPI_CLK_PIN, INPUT_PULLUP, PID_SPI_CLK, false);
GPIO_ConfigurePin(SPI_GPIO_PORT, SPI_CS_PIN, INPUT_PULLDOWN, PID_SPI_EN, false);
GPIO_ConfigurePin(SPI_GPIO_PORT, SPI_DO_PIN, OUTPUT, PID_SPI_DO, false);
GPIO_ConfigurePin(SPI_GPIO_PORT, SPI_DI_PIN, INPUT_PULLDOWN, PID_SPI_DI, false);

除了DA14580,我们还有另一个使用相同SPI接口(除了CS引脚)的slave - SPI flash。

master是STM32L4。

参数:

当尝试使用不同的SPI时钟频率时,我们确定1.25MHz,这提供了稳定的通信。

此外,为了使通信稳定,我不得不在每个SPI事务之后增加几毫秒的延迟。

问题:

1.有时与SPI flash的通信会“卡住”,只有系统复位才能帮助。

2.在DA14580的初始化(通过复位引脚复位和通过UART加载软件)之后,以

我必须执行几个重置序列(重置ON/OFF),在延迟之间的顺序

开始通过UART加载软件。

问题:

1.在阅读串行引导文档(AN-B-001)时,我注意到建议的最大SPI时钟速度是500kHz。

你会建议我使用500kHz而不是1.25MHz吗?为什么?

2.在我看到的大多数情况下,SPI接口引脚没有配置上/下拉电阻,除了CS引脚。

你是否建议移除这些上/下拉设置?如果你建议保持原状,请解释原因。

3.关于描述的“重置”问题有什么原因吗?

提前谢谢,

罗恩。

设备:
PM_Dialog
离线
最后看到:4天4小时前
工作人员
加入:2018-02-08 11:03
嗨shpasser,

嗨shpasser,

谢谢你的在线问题。你们有DA14580和STM32L4的定制板吗?当DA14580作为SPI从属时,我们观察到一些电缆的敏感性问题。在灵敏度方面,由于尖峰和反射,在大多数情况下,这是DA14580与主机没有任何通信的原因。是否有可能使用逻辑分析仪、探测SPI线并共享SPI捕获?

关于你的问题,我会在内部进行检查,然后告诉你。

谢谢,PM_Dialog

shpasser
离线
最后看到:1年3个星期前
加入:2018-11-02 09:31
我确实是在使用一种习俗

我确实在使用STM32L4和DA14580的定制板。

我问过我们的电路板设计师,他说我们不可能连接逻辑分析仪。

提前谢谢。

shpasser
离线
最后看到:1年3个星期前
加入:2018-11-02 09:31
请回答我的问题

请回答我的问题

PM_Dialog
离线
最后看到:4天4小时前
工作人员
加入:2018-02-08 11:03
嗨shpasser,

嗨shpasser,

抱歉耽误了时间,谢谢你给我发邮件——可能我错过了你之前的回复。请在下面找到我的答案:

  1. 是的,根据AN-B-001文件,在连续SPI时钟的情况下,这个时钟的频率必须不高于500 kHz。要做到这一点,我的建议是将时钟降低到500 kHz。DA14580的SPI主配置相当敏感,布线可能导致很多问题,因为它可能错误地接收到小尖峰或脉冲反射。
  2. 我的建议是保持上/下拉电阻在prox_reporter_ext_spi上的默认配置。我已经在内部要求HW团队提供为什么应该保持原样。
  3. 根据您的描述,我无法理解哪一个可能的原因是“重置”的原因。因为您无法连接逻辑分析仪并提供SPI跟踪,所以我们无法调查路由的原因是什么。可能,这可能是因为1.25MHz的时钟速度比推荐的更高。

谢谢,PM_Dialog