打印
[应用相关]

AT32的SPIM和QSPI功能简介

[复制链接]
1128|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
雅特力的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上存储空间不再是事儿。

使用特权

评论回复
沙发
呐咯密密| | 2024-3-18 14:57 | 只看该作者
QSPI传输更快

使用特权

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

本版积分规则

65

主题

473

帖子

0

粉丝