找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1125|回复: 8
打印 上一主题 下一主题
收起左侧

为什么STM32的SPI2以1M速率接收不到从机发来的数据。

[复制链接]
跳转到指定楼层
楼主
ID:961325 发表于 2023-6-3 12:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
80黑币
系统结构:MCU=四线SPI=从机1=菊花链=从机2(橙色部分为通信方式)
问题描述:系统使用16MHz外部晶振,系统时钟64MHz。以500kHz速率初始化SPI2时(极性:0 相位:0  ,主机模式),可以接受到从机发来的数据。但是以1MHz速率,其他参数都不变的情况下。接受不到从机发来的数据。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:123289 发表于 2023-6-5 11:30 | 只看该作者
通讯是双方的事,对眼了就OK了。不对眼不行啊。
回复

使用道具 举报

板凳
ID:879348 发表于 2023-6-5 13:37 | 只看该作者
SPI收发是同时完成的,不存在收不到,1M的频率跑SPI完全没压力
回复

使用道具 举报

地板
ID:909980 发表于 2023-6-5 15:54 | 只看该作者
从设spi是否支持1MHz速率?
回复

使用道具 举报

5#
ID:1080331 发表于 2023-6-6 22:15 | 只看该作者
根据您提供的信息,初步判断可能是在1MHz SPI时钟速率下,SPI总线传输速率太高,从而导致数据传输出现了问题。可以尝试或考虑以下几个方面进行调试和优化:  修改SPI通信模式:可以尝试修改SPI通信模式,如修改极性(CPOL)和相位(CPHA),以使其适应更高速率的SPI传输。  增加SPI传输延迟:可以通过增加SPI传输延迟时间,来减缓SPI总线传输速率,从而避免数据传输出现问题。  减小连接长度:如果SPI从机与主机之间的连接长度较长,也可能会导致SPI信号失真和传输错误。可以考虑缩短SPI连接长度,或使用更好的线缆材料和连接方式,来减少信号传输时的干扰和衰减问题。  降低MCU时钟速率:在1MHz SPI时钟速率下,如果MCU时钟速率太高,也可能会导致SPI总线速率过快从而引起数据传输错误。可以尝试降低MCU时钟速率,或者采用时钟分频等方法来降低总线传输速率。  最后,建议您在进行调试时,使用示波器和逻辑分析仪等工具来检测和分析SPI从机与主机之间的信号传输情况,以便更准确地找到问题所在。
回复

使用道具 举报

6#
ID:961325 发表于 2023-6-12 10:36 | 只看该作者
653748856 发表于 2023-6-5 15:54
从设spi是否支持1MHz速率?

从设的速率支持1M
回复

使用道具 举报

7#
ID:961325 发表于 2023-6-12 10:36 | 只看该作者
yzwzfyz 发表于 2023-6-5 11:30
通讯是双方的事,对眼了就OK了。不对眼不行啊。

500K速率能行,但1M不行。
回复

使用道具 举报

8#
ID:961325 发表于 2023-6-12 10:38 | 只看该作者
wufa1986 发表于 2023-6-5 13:37
SPI收发是同时完成的,不存在收不到,1M的频率跑SPI完全没压力

总线上有数据,但是仿真代码存放的Buffer都是0.
回复

使用道具 举报

9#
ID:961325 发表于 2023-6-12 10:39 | 只看该作者
597329015 发表于 2023-6-6 22:15
根据您提供的信息,初步判断可能是在1MHz SPI时钟速率下,SPI总线传输速率太高,从而导致数据传输出现了问 ...

逻辑分析仪解析出来的是数据,但是程序上的缓存Buffer就是获取不到。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表