硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2717|回复: 7
收起左侧

[SPI控制器] H7-TOOL的SPI控制器主从机操作说明,20cm杜邦线接线方式,SPI全双工25MHz通信速度(2022-04-10)

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2022-4-10 11:58:01 | 显示全部楼层 |阅读模式
H7-TOOL做主机,STM32H7做从机。

V7开发板SPI从机程序下载,这个是专门为TOOL测试做的一个从机程序:

SPI从机测试例子.7z (7.64MB)

1、硬件接线方式如下:
image.png

[C] 纯文本查看 复制代码
_________________________                        _____________________________
|           ______________|                      |______________________       |
|          |     SPI1     |                      |        SPI1          |      |
|          |              |                      |                      |      |
|          |      CLK(D5) |______________________|(PB3)CLK              |      |
|          |              |                      |                      |      |
|          |     MISO(D3) |______________________|(PB4)MISO             |      |
|          |              |                      |                      |      |
|          |     MOSI(D2) |______________________|(PB5)MOSI             |      |
|          |              |                      |                      |      |
|          |______________|                      |______________________|      |
|      __                 |                      |                             |
|     |__|                |                      |                             |
|     USER                |                      |                             |
|                      GND|______________________|GND                          |
|                         |                      |                             |
|_H7-TOOL Master _________|                      |_STM32H7 Slave ______________|

程序里面默认做的是4字节全双工处理,大家可以根据自己的需求修改。

2、TOOL上位机配置如下,每次点击执行都可以看到效果:


大家自己修改使用,不需要每次都执行初始化,初始化仅需执行一次即可,即LUA函数SPI_Init仅执行一次即可。

image.png
大家将TOOL的串口线也和板子接上,可以看到TOOL的SPI控制器发给板子的数据:

image.png

3、这里注意一点即可,下面三个的实现本质是一样的,都是基于SPI全双工方式:

(1)仅写数据:实际上也有返回的全双工方式,只是程序没有使用。
(2)仅读取数据:也是全双工方式。
(3)读写数据:这里实际上同样是全双工方式,比如下面的配置同样是4次全双工通信,只是前两次用于写入,后两次用于读取,总共也是4次。

image.png

大家可以根据需要,配合延迟和循环之类的函数做其他操作。


下面是测试仅写效果:

image.png
image.png


下面是测试仅读效果:
image.png

image.png




回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
 楼主| 发表于 2022-4-11 03:41:51 | 显示全部楼层
更新完毕,更多的SPI主从机相关知识可以看V7开发板的SPI主从机双机通信教程:

教程第94章:https://www.armbbs.cn/forum.php?mod=viewthread&tid=86980
回复

使用道具 举报

7

主题

42

回帖

63

积分

初级会员

积分
63
发表于 2022-11-14 09:40:11 | 显示全部楼层
image.png image.png   这个接受或者发送必须要指定长度,如果不知道要接受多少长度,这个值赋多少呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
 楼主| 发表于 2022-11-14 11:04:49 | 显示全部楼层
luis_13 发表于 2022-11-14 09:40
这个接受或者发送必须要指定长度,如果不知道要接受多少长度,这个值赋多少呢?

不定长不用管这个,当然,越大越好。越大,每个缓存可以处理的时间就越长。

SPI DMA不定长的本质是双缓冲机制,一直开着接收就行。
回复

使用道具 举报

7

主题

42

回帖

63

积分

初级会员

积分
63
发表于 2022-11-14 18:30:19 | 显示全部楼层
eric2013 发表于 2022-11-14 11:04
不定长不用管这个,当然,越大越好。越大,每个缓存可以处理的时间就越长。

SPI DMA不定长的本质是双 ...

ok谢谢硬汉各。 明白了。
回复

使用道具 举报

1

主题

22

回帖

25

积分

新手上路

886064641534128530

积分
25
发表于 2023-9-19 16:20:33 | 显示全部楼层
可以h7-tools作为从机,单片机作为主机吗?在SPI不变差分驱动的情况下,降低总线塑料到2MHZ,中间线束能达到40cm吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
 楼主| 发表于 2023-9-20 09:10:52 | 显示全部楼层
杰瑞鼠 发表于 2023-9-19 16:20
可以h7-tools作为从机,单片机作为主机吗?在SPI不变差分驱动的情况下,降低总线塑料到2MHZ,中间线束能达到 ...

TOOL的SPI主从都已经做好了,测试两个TOOL使用50cm线可以50MHz双机通信,都是LUA API控制。API非常简单。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
 楼主| 发表于 2024-4-16 11:55:57 | 显示全部楼层
还是焊接上稳定牢固

SPI主从通信是全双工通信, 收发同时进行的。
主机写数据操作:比如写4个字节数据,实际也返回4个字节数据,只是我们没使用。
主机读数据操作:比如读取4个字节数据,实际我们也写入了4个数据,只是写入的什么不重要了。
主机写入后读取: 比如写入2个字节,读取2个字节,实际是连续进行了4次全双工通信,写入的2个数据使用前两次全双工,读取使用的后两个全双工。


290.jpg

29.jpg
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-2 12:20 , Processed in 0.280120 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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