打印
[应用相关]

AT32的SPIM和QSPI功能简介

[复制链接]
7806|39
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
呐咯密密|  楼主 | 2024-2-26 10:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
雅特力的AT32,部分型号比如AT32F403/403A/413/407等,支持SPIM功能,最大支持16MB地址空间,起始地址0x08400000,占据bank3。它的作用就是把外部SPI FLASH映射到MCU的地址空间中,大大简化SPI FLASH的访问速度和便捷性。比较可惜的是SPIM接口只支持SPI FLASH,不支持PSRAM。
SPIM接口使用的管脚如下,注意这些管脚并不是某个特定的SPI接口,是专有的。幸运的是这些管脚都在PA和PB端口,小到QFN-32的AT32F413都能用。
  • NSS:PA8
  • SCK:PB1
  • IO0:PA11,可以映射到PB10
  • IO1:PA12,可以映射到PB11
  • IO2:PB7
  • IO3:PB6
其它注意事项:
  • 只允许32位操作
  • 使能GPIOA和GPIOB的时钟
  • AFIO_MAP2使能SPIM
  • 设置FLASH_SELECT选择FLASH类型
  • 使用KEY解锁SPIM,然后检查是否解锁成功
加密密钥地址0x1FFFF820-0x1FFFF82F,共16个字节,128位,全部为0xFF表示不加密。FLASH_DA为加密分界区,0x08400000到0x08400000+FLASH_DA为加密区,剩下的为明文区。SPIM运行频率为 AHB的一半,200M主频,SCLK就是100M了,配合4线SPI,理论速度有50MB/s,也非常快了。
参考文档:AN0042_AT32_SPIM_Application_Note_ZH.pdf
SPIM不支持PSRAM的遗憾在AT32F435得到了解决。AT32F435上升级到双QSPI,支持地址映射,可以连接SPI FLASH和PSRAM。
QSPI1的管脚分配:
  • QSPI1_IO3:PA1,PB3,PC5,PD13,PF6,PG14
  • QSPI1_IO2:PA15,PE2,PC4,PC8,PF7,PG9
  • QSPI1_IO1:PA7,PB10,PF9,PH3
  • QSPI1_IO0:PA6,PB0,PB11,PC9,PF8,PH2
  • QSPI1_SCK:PB1,PB2,PD3,PF10
  • QSPI1_CS:PB6,PB9,PB10,PC11,PG6
QSPI2的管脚分配:
  • QSPI2_IO3:PA3,PE10,PG11
  • QSPI2_IO2:PA5,PE9,PG10
  • QSPI2_IO1:PB7,PC3,PE8,PG12
  • QSPI2_IO0:PB0,PE7
  • QSPI2_SCK:PB1,PG13
  • QSPI2_CS:PB8,PG8
从管脚分配来看,由于PA和PB都影射了两个QSPI的管脚,因此LQFP-48这样的小封装也能使用QSPI接口。两个QSPI接口,一个外扩SPI FLASH,一个外扩PSRAM,从此MCU上存储空间不再是事儿。

使用特权

评论回复
沙发
eefas| | 2024-3-1 20:52 | 只看该作者
SPI和QSPI都是用于高速数据通信的同步串行接口,但它们在数据传输速率和硬件支持方面有所不同。

使用特权

评论回复
板凳
hearstnorman323| | 2024-3-1 21:50 | 只看该作者
QSPI是一种四线式串行外设接口,它比传统的SPI接口更快,并且支持更大的存储容量。QSPI接口通常用于与高速、大容量存储器进行通信,如Flash存储器、SRAM等。基于雅特力提供的BSP(板级支持包),开发者可以利用QSPI接口进行命令端口的配置及操作,也可以进行XIP(eXecute In Place)端口的配置及操作。XIP端口允许微控制器直接从外部ROM或RAM执行代码,这在一些需要大量非易失性存储空间的应用中非常有用。

使用特权

评论回复
地板
uytyu| | 2024-3-2 02:23 | 只看该作者
QSPI是Motorola公司推出的SPI接口的扩展,比SPI应用更加广泛。在SPI协议的基础上,Motorola公司对其功能进行了增强,增加了队列传输机制,推出了队列串行外围接口协议(即QSPI协议)。QSPI是一种专用的通信接口,连接单、双或四(条数据线)SPI FLASH存储器。AT32也支持QSPI功能,可以实现与外部QSPI设备的高速通信。

使用特权

评论回复
5
phoenixwhite| | 2024-3-2 08:20 | 只看该作者
AT32F435系列支持双QSPI接口,进一步增强了对外部存储器的扩展能力。

使用特权

评论回复
6
qiufengsd| | 2024-3-2 17:29 | 只看该作者
能够将外部SPI Flash或PSRAM直接映射到MCU的地址空间中,实现如同内部RAM一样的访问速度。

使用特权

评论回复
7
robincotton| | 2024-3-2 19:26 | 只看该作者
SPIM是一种标准的SPI接口,而QSPI是一种高速、全双工的接口,适用于高速数据传输场景。

使用特权

评论回复
8
belindagraham| | 2024-3-2 22:48 | 只看该作者
QSPI接口通常用于高速数据传输,如闪存和RAM存储器。四线接口允许更高的数据传输速率和更高效的传输,尤其是在同时进行读写操作时。

使用特权

评论回复
9
uytyu| | 2024-3-3 09:05 | 只看该作者
在AT32 MCU中,SPIM接口是一种专门针对外部SPI Flash**体进行优化的接口。它允许MCU通过SPI协议访问外部SPI Flash存储器,以实现大容量数据存储或执行代码。AT32F435系列的SPIM功能得到增强,能够支持更灵活的地址映射,解决了之前不支持PSRAM的问题。

使用特权

评论回复
10
tifmill| | 2024-3-3 11:13 | 只看该作者
QSPI则是SPI接口的增强版本,除了传统的单线双向数据传输之外,还支持四线制的全双工通信,可以显著提高数据传输速率。AT32 MCU中的QSPI支持更高的吞吐量和更复杂的功能,如地址映射和高速访问外部SPI Flash和PSRAM。

使用特权

评论回复
11
hilahope| | 2024-3-3 13:06 | 只看该作者
AT32的SPIM功能特别适合需要通过SPI接口快速访问外部存储器的应用,而QSPI则提供了一种更高效的数据通信方式,适用于数据量较大的传输需求。

使用特权

评论回复
12
robincotton| | 2024-3-3 14:57 | 只看该作者
SPIM和QSPI都是AT32提供的串行外设接口,用于与外部设备进行通信。

使用特权

评论回复
13
kmzuaz| | 2024-3-3 16:58 | 只看该作者
SPI接口通常包括以下几个引脚:
SCLK(串行时钟):用于同步数据传输。
MOSI(主设备数据输出,从设备数据输入):用于发送和接收数据。
MISO(主设备数据输入,从设备数据输出):用于发送和接收数据。
SS(从设备选择):用于选择特定的从设备。

使用特权

评论回复
14
bestwell| | 2024-3-3 18:50 | 只看该作者
QSPI是SPI(Serial Peripheral Interface)的一种变体,它在标准的SPI基础上增加了两条数据线,使得总共有四条双向数据线。这种修改允许在一个时钟周期内传输更多的数据,从而提升了数据传输的速度。QSPI通常用于需要高速数据交换的场景,如内存扩展等应用。

使用特权

评论回复
15
hilahope| | 2024-3-3 22:44 | 只看该作者
SPIM是一种全双工、同步、串行通信接口,用于与外部SPI从设备进行通信。SPIM支持主模式(Master Mode)和从模式(Slave Mode)。在主模式下,AT32作为主设备,通过SCK(串行时钟)、MOSI(主输出从输入)和MISO(主输入从输出)引脚与从设备进行通信。SPIM还支持多种通信模式,如模式0(CPOL=0,CPHA=0)、模式1(CPOL=0,CPHA=1)、模式2(CPOL=1,CPHA=0)和模式3(CPOL=1,CPHA=1)。

使用特权

评论回复
16
bartonalfred| | 2024-3-4 11:11 | 只看该作者
具体到AT32系列的MCU,它们可能具有SPI和QSPI接口,但具体的功能和特性可能因型号而异。在选择和使用AT32系列的MCU时,你应该参考特定型号的数据手册,以了解其SPI和QSPI接口的详细信息,包括支持的特性(如支持的数据位宽、时钟速率、模式选择等),以及如何配置和使用这些接口。

使用特权

评论回复
17
fengm| | 2024-3-4 15:42 | 只看该作者
根据实际应用需求选择合适的SPIM或QSPI设备,并确保其与AT32的兼容性。

使用特权

评论回复
18
mmbs| | 2024-3-5 09:34 | 只看该作者
AT32的BSP中,有两个例程operate_spim和run_in_spim演示了如何使用SPIM。用户程序可以通过简单的初始化和解锁步骤来访问SPIM存储区,并执行读、编程及擦除操作。

使用特权

评论回复
19
uytyu| | 2024-3-5 11:34 | 只看该作者
支持将外部SPI FLASH直接映射到AT32的地址空间。这意味着对SPIM映射的地址进行操作就如同访问内部存储器一样快速便捷。部分型号如AT32F403/403A/413/407等提供此功能,支持最大16MB的地址空间,起始地址为0x08400000,并且占据bank3。该接口专用于SPI FLASH,不支持PSRAM。使用的管脚不是特定的SPI接口,而是专有的管脚,包括NSS、SCK以及IO0至IO3等。值得注意的是,SPIM接口只支持32位操作。

使用特权

评论回复
20
loutin| | 2024-3-5 13:37 | 只看该作者
QSPI(Quad SPI)是一种高速的SPI接口,相比于传统的4线制SPI(2根单向数据线),QSPI有6根线,其中4根为数据线。理论上,QSPI的传输速度是传统4线制SPI的4倍,但实际上可能达不到这个速度,因为需要去除命令字节。QSPI不仅可以用于高速数据传输,还可以扩展MCU的FLASH用于运行程序。

使用特权

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

本版积分规则

认证:苏州澜宭自动化科技嵌入式工程师
简介:本人从事磁编码器研发工作,负责开发2500线增量式磁编码器以及17位、23位绝对值式磁编码器,拥有多年嵌入式开发经验,精通STM32、GD32、N32等多种品牌单片机,熟练使用单片机各种外设。

476

主题

3761

帖子

47

粉丝