[文档下载]

SPIM和QSPI功能

[复制链接]
365|6
手机看帖
扫描二维码
随时随地手机跟帖
abotomson|  楼主 | 2023-12-28 15:22 | 显示全部楼层 |阅读模式
雅特力的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上存储空间不再是事儿。

使用特权

评论回复
tpgf| | 2024-2-2 10:26 | 显示全部楼层
SPIM最大地址段为0x08400000-0x093FFFFF(16MB),是AT32 MCU独有的一种Flash访问方式

使用特权

评论回复
coshi| | 2024-2-2 11:00 | 显示全部楼层
SPIM仅允许按字(32bit)或者半字(16bit)操作,在执行读、编程、擦除SPIM前,必须首先执行初始化及解锁操作

使用特权

评论回复
qcliu| | 2024-2-3 09:58 | 显示全部楼层
用户可以使用自己的Flash作为AT32 MCU的外挂Flash

使用特权

评论回复
drer| | 2024-2-3 10:30 | 显示全部楼层
SPIM有别于片上Bank1/Bank2,用户可根据具体需求选择是否开启

使用特权

评论回复
kxsi| | 2024-2-3 11:11 | 显示全部楼层
SPIM在AT32不同系列产品及不同封装上,可能使用的pin有所不同

使用特权

评论回复
wiba| | 2024-2-3 11:47 | 显示全部楼层
SPIM擦除分为Mass Erase和Sector Erase,每个sector固定为4KB,在AT32的BSP中已经封装成库函数,用户可以直接调用

使用特权

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

本版积分规则

32

主题

1389

帖子

1

粉丝