硬汉嵌入式论坛

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

[SPI/QSPI] 两个STM32H7如何高速通讯呢?

[复制链接]

61

主题

62

回帖

245

积分

高级会员

积分
245
发表于 2020-7-11 13:34:36 | 显示全部楼层 |阅读模式
两个STM32H7如何高速通讯呢? 要能支持DMA的功能,比如一个MCU1要不停的向MCU2通过DMA写数据过去,是单向的。有并口的最好,不用FPGA因为成本高了,还有其它外设可以进行吗?目前考虑的4路SPI,传输64KB 通过DMA传输需要20ms左右。谢谢!!!
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107628
QQ
发表于 2020-7-11 13:44:50 | 显示全部楼层
FMC,QSPI。

64KB需要20ms的话,你的速度才3MB/左右,SPI时钟也就是24MHz左右,速度开低了,你可以开到100MHz
回复

使用道具 举报

1

主题

95

回帖

98

积分

初级会员

积分
98
发表于 2020-7-11 13:49:06 | 显示全部楼层
fpga成本不高啊,比H7便宜多了。15块的以内的FPGA一大把。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107628
QQ
发表于 2020-7-11 14:00:08 | 显示全部楼层
hexenzhou 发表于 2020-7-11 13:49
fpga成本不高啊,比H7便宜多了。15块的以内的FPGA一大把。

现在CPLD EPM240都被刷到20。
最近FPGA的价格更是飞一般的感觉。
回复

使用道具 举报

1

主题

95

回帖

98

积分

初级会员

积分
98
发表于 2020-7-11 15:36:10 | 显示全部楼层
Lattice的便宜很多,另外,国产的fpga一大把了,价格非常美好。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107628
QQ
发表于 2020-7-11 15:39:02 | 显示全部楼层
hexenzhou 发表于 2020-7-11 15:36
Lattice的便宜很多,另外,国产的fpga一大把了,价格非常美好。

感觉现在Xilinx和Altera已经放飞自我了。
回复

使用道具 举报

44

主题

576

回帖

713

积分

金牌会员

积分
713
发表于 2020-7-11 16:00:58 | 显示全部楼层
可以看一下国产高云的FPGA性价比很高的
回复

使用道具 举报

7

主题

115

回帖

136

积分

初级会员

积分
136
发表于 2020-7-11 22:46:52 | 显示全部楼层
hexenzhou 发表于 2020-7-11 15:36
Lattice的便宜很多,另外,国产的fpga一大把了,价格非常美好。

Lattice它家的编译器是真的难用
回复

使用道具 举报

61

主题

62

回帖

245

积分

高级会员

积分
245
 楼主| 发表于 2020-7-11 23:18:16 | 显示全部楼层
eric2013 发表于 2020-7-11 13:44
FMC,QSPI。

64KB需要20ms的话,你的速度才3MB/左右,SPI时钟也就是24MHz左右,速度开低了,你可以开到1 ...

1.两个H7的FMC怎么通信的呢?通过SDRAM这种还是SRAM?
2.QSPI没有DMA配置呢?我再Cubemx上没看到这个选项,这两个QSPI如何通讯的呢?
3.H7 480M分配到外设APB只有120M,SPI外设需要再分频一次最终只有60M,怎么开到100M?我之前没用DMA通讯64KB需要20ms可能占用了CPU参与时间,如果用DMA理论上应该是60M/8=7.15MB/s吧。

感谢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107628
QQ
发表于 2020-7-12 00:26:14 | 显示全部楼层
vzhaodan 发表于 2020-7-11 23:18
1.两个H7的FMC怎么通信的呢?通过SDRAM这种还是SRAM?
2.QSPI没有DMA配置呢?我再Cubemx上没看到这个选 ...

1、FMC做从机不太方便,需要你花点时间调试。
2、QSPI使用MDMA,但STM32的QSPI貌似有限制,只能用于主机。
3、
QQ截图20200712002625.jpg
回复

使用道具 举报

61

主题

62

回帖

245

积分

高级会员

积分
245
 楼主| 发表于 2020-7-15 22:58:13 | 显示全部楼层
eric2013 发表于 2020-7-12 00:26
1、FMC做从机不太方便,需要你花点时间调试。
2、QSPI使用MDMA,但STM32的QSPI貌似有限制,只能用于主机 ...

今天测SPI+DMA,SPI波特率分频必须是4才正常,看来还是PCLK/2有些啊???
我用的是V版本,也就是480M的H7。PPL1Q=240M,分频到4就是60M,这与APB上的时钟还是一样了,达不到120M。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107628
QQ
发表于 2020-7-16 00:54:33 | 显示全部楼层
vzhaodan 发表于 2020-7-15 22:58
今天测SPI+DMA,SPI波特率分频必须是4才正常,看来还是PCLK/2有些啊???
我用的是V版本,也就是480M的H7 ...

我的H7-TOOL驱动的240*240 IPS屏就是100MHz的 SPI DMA
回复

使用道具 举报

61

主题

62

回帖

245

积分

高级会员

积分
245
 楼主| 发表于 2020-7-16 17:12:14 | 显示全部楼层
eric2013 发表于 2020-7-16 00:54
我的H7-TOOL驱动的240*240 IPS屏就是100MHz的 SPI DMA

多谢,今天测试SPI配置到120M可以了。还有一个问题就是如果SPI数据位数配置为16位,DMA也是双字节型,那么DMA发送长度是参数是多少?
HAL_SPI_TransmitReceive_DMA(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData,
                                              uint16_t Size)

参数Size=是字节长度还是双字节长度呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107628
QQ
发表于 2020-7-16 17:49:16 | 显示全部楼层
vzhaodan 发表于 2020-7-16 17:12
多谢,今天测试SPI配置到120M可以了。还有一个问题就是如果SPI数据位数配置为16位,DMA也是双字节型,那 ...

双字节

这个定义的是你传递的项目个数,不是字节个数。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-8 17:48 , Processed in 0.365362 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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