早上好,
在使用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.关于描述的“重置”问题有什么原因吗?
提前谢谢,
罗恩。
嗨shpasser,
谢谢你的在线问题。你们有DA14580和STM32L4的定制板吗?当DA14580作为SPI从属时,我们观察到一些电缆的敏感性问题。在灵敏度方面,由于尖峰和反射,在大多数情况下,这是DA14580与主机没有任何通信的原因。是否有可能使用逻辑分析仪、探测SPI线并共享SPI捕获?
关于你的问题,我会在内部进行检查,然后告诉你。
谢谢,PM_Dialog
我确实在使用STM32L4和DA14580的定制板。
我问过我们的电路板设计师,他说我们不可能连接逻辑分析仪。
提前谢谢。
请回答我的问题
嗨shpasser,
抱歉耽误了时间,谢谢你给我发邮件——可能我错过了你之前的回复。请在下面找到我的答案:
谢谢,PM_Dialog