打印
[AT32F403/403A]

AT32F403A驱动复用PSRAM

[复制链接]
827|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lrrtl|  楼主 | 2021-1-24 19:47 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
AT32F403A驱动复用PSRAM
实验目的:
最近使用AT32F403A做项目,需要外扩PSRAM用来存储程序运行中间数据,所以记录一下心路历程。开干!

实验步骤:
1.      硬件选型
主控芯片:看题目就知道啦,就是雅特力科技的AT32F403A系列。注意的要使用AT32F403A系列的XMC驱动PSRAM必须选用100脚封装的芯片,小封装的芯片脚位不够哦。

PSRAM选择:选择的是Winbond的W957D6HB系列,此系列address线的低16bit和Data线是复用的,具体出pin可看下图:
2.      驱动代码准备
PSRAM这边没有初始化的步骤,在使用上电默认的异步模式时,只需将脚位正确与MCU的脚位接在一起即可。驱动程序也主要是MCU这边的配置了。
1)  配置MCU XMC外设
XMC是AT32F403A芯片的一个外设,主要用于驱动外部存储器;其实这个外设就是大家所熟知的某MCU厂商的FSMC啦,哈哈!

这里需要注意的几点是:1.PSRAM的总线宽度是16bit,所以XMC的数据总线宽度要配置为16bit;2.由于此颗PSRAM是复用的,所以XMC要配置为复用模式;3.其他细节就可以看附件的驱动程序了。
2)  XMC脚位一览

XMC所使用到的pin脚可以看如下表格:
需要将表格中的PIN脚配置成AF_PP模式,那么在开启XMC的时钟后,这些PIN就被XMC驱动了。
3)  时序配置

现在就是时序配置了,具体时序需要对照PSRAM的Datasheet中的时序参数,这里就不啰嗦了,我用的这颗PSRAM的时序配置就在代码中了。

实验结果:
为了验证正确性,使用雅特力科技的BSP中相关例程稍作修改;先写数据到PSRAM某个地址,然后读出来对比。写入和读出的数据相符,实验成功!!!这里实验ok了就可以移植进项目中了。如果有兴趣的同学,可以将附件中的代码解压到雅特力官方BSP的下面路径即可编译下载哦: AT32F4xx_StdPeriph_Lib_V1.x.x\Project\AT_START_F403A\Examples\XMC


PSRAM.zip

21.01 KB

使用特权

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

本版积分规则

5

主题

6

帖子

0

粉丝