打印
[STM32H7]

【银杏科技ARM+FPGA双核心应用】STM32H7系列十七——SPI_DMA

[复制链接]
12188|705
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一、爆靓照
bbs.21ic.com/icview-2895340-1-1.html

二、实验简介
      本实验基于ARM+FPGA超mini款iCore4T双核心板,ARM和FPGA通过高速SPI总线相连进行交互,其时钟高达130Mbit/s。本实验将带你一步一步利用STM32CubeMx工具完成对SPI的配置及DMA的配置最终实现ARM对FPGA的高速读写验证。


三、资料包下载(实验源码+详细文档文明)
1、源代码
游客,如果您要查看本帖隐藏内容请回复

2、实验指导书
iCore4T实验指导书十八.pdf (861.08 KB)
3、STM32CubeMx详细操作说明
iCore4T_CubeMX教程十八_SPI.pdf (1.69 MB)

使用特权

评论回复
沙发
mmuuss586| | 2020-3-3 10:23 | 只看该作者
感谢分享

使用特权

评论回复
板凳
majiahao| | 2020-3-4 23:20 | 只看该作者
感谢分享,下载看看

使用特权

评论回复
地板
xsw220| | 2020-3-5 17:42 | 只看该作者
感谢楼主分享,正想学习spi

使用特权

评论回复
5
xad74| | 2020-3-16 21:21 | 只看该作者
好的看看

使用特权

评论回复
6
東南博士| | 2020-3-17 13:58 | 只看该作者
ARM和FPGA通过高速SPI总线相连进行交互,其时钟高达130Mbit/s!
如果在某些常规情况下,这个比 并行总线要更方便啊!

使用特权

评论回复
7
東南博士| | 2020-3-17 14:04 | 只看该作者
看了一下例程,请问一下,关于FPGA解析不同的功能、数据,甚至连续数据这个操作。
是不是也要实现定义好通讯协议?

比如 使用ARM 配置FPGA 连接的DAC\ADC,或者使用ARM配置FPGA发脉冲、启停脉冲、改变高低电平等操作。

使用特权

评论回复
8
東南博士| | 2020-3-17 14:04 | 只看该作者
当然,SPI 的通讯可能涉及不到帧头、帧尾、校验和这一说吧?

该如何做一个健壮的通讯协议啊?

使用特权

评论回复
9
wangjiahao88| | 2020-3-17 14:07 | 只看该作者
東南博士的提问,我感觉也正是我想问的。

一般的spi 在操作的时候,常规的还是 地址(地址中的寄存器数据)+连续多个数据,8--16--32 位字节。

这样实现了DAC ADC 的操作。

使用特权

评论回复
10
goodluck09876| | 2020-3-17 14:28 | 只看该作者
看一下原理图、源码!

使用特权

评论回复
11
heart蓝色CD|  楼主 | 2020-3-17 14:35 | 只看该作者
東南博士 发表于 2020-3-17 14:04
看了一下例程,请问一下,关于FPGA解析不同的功能、数据,甚至连续数据这个操作。
是不是也要实现定义好通 ...

你这个问题提的非常好,是有规定好的通讯协议,整包数据传输,单个数据传输,IO控制,单个寄存器控制等。这个在我们的FPGA部分会有详细的介绍。

使用特权

评论回复
12
東南博士| | 2020-3-17 15:38 | 只看该作者
heart蓝色CD 发表于 2020-3-17 14:35
你这个问题提的非常好,是有规定好的通讯协议,整包数据传输,单个数据传输,IO控制,单个寄存器控制等。 ...

CD兄,你说的FPGA部分,是只FPGA的例程中吗?

使用特权

评论回复
13
東南博士| | 2020-3-17 15:42 | 只看该作者
我也用了不少的TI ADI 公司的模拟器件,ADC DAC 时钟频率信号源等等。在传输SPI数据的过程中,也没有涉及到CRC校验或者信号的丢失判断部分。

例如传统的方式:

地址+数据:1个/2个/3个 地址+ 1个32Byte 的数据:

那就是按照顺序按照SPI的指令发字节就行了。

我比较疑惑的是,虽然SPI是片选、时钟、数据同步,但是也不能保证有数据丢失或者错乱的风险啊。。。

对于这个,该如何避免啊?

使用特权

评论回复
14
heart蓝色CD|  楼主 | 2020-3-17 16:18 | 只看该作者
東南博士 发表于 2020-3-17 15:42
我也用了不少的TI ADI 公司的模拟器件,ADC DAC 时钟频率信号源等等。在传输SPI数据的过程中,也没有涉及到 ...

SPI 开启 CRC校验,FPGA接收数据后进行CRC校验,保证数据的正确性

使用特权

评论回复
15
東南博士| | 2020-3-17 16:29 | 只看该作者
heart蓝色CD 发表于 2020-3-17 16:18
SPI 开启 CRC校验,FPGA接收数据后进行CRC校验,保证数据的正确性

OK!好的!实际上 大多数ADC DAC 这类的ASIC 芯片 有没有校验机制的对吧?

使用特权

评论回复
16
heart蓝色CD|  楼主 | 2020-3-17 17:11 | 只看该作者
東南博士 发表于 2020-3-17 16:29
OK!好的!实际上 大多数ADC DAC 这类的ASIC 芯片 有没有校验机制的对吧?

是的

使用特权

评论回复
17
GT01115| | 2020-4-3 21:22 | 只看该作者
spi_dma用hAL库一头雾水,学习了

使用特权

评论回复
18
晓阳L| | 2020-4-9 13:02 | 只看该作者
学习一下

使用特权

评论回复
19
quickman| | 2020-4-9 20:30 | 只看该作者
spi怎么使用dma   

使用特权

评论回复
20
jstgotodo| | 2020-4-9 20:30 | 只看该作者
回复查看源代码      

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

92

主题

223

帖子

25

粉丝