AT32F403A驱动复用PSRAM

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

注意:驱动可参考如下路径中的附件:
https://bbs.21ic.com/icview-3067454-1-1.html

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: STM32F407是一款高性能、低功耗的32位ARM Cortex-M4处理器,具有丰富的外设,适用于广泛的应用场景。其中,FSMC(Flexible Static Memory Controller)是一种灵活的静态存储器控制器,可用于连接外部存储器设备,如SRAM、NOR Flash等。 在STM32F407中,FSMC具有多个复用功能,可以通过配置相应的GPIO管脚实现外设的复用。通过FSMC接口,可以同时连接多个外部存储器设备,并实现数据的读写操作。 FSMC的复用功能使得STM32F407具有更高的灵活性和扩展性。举个例子,可以将外部SRAM设备连接到FSMC接口,实现高速数据读写功能。同时,还可以将NOR Flash设备连接到FSMC接口,实现存储程序代码或数据的功能。 在使用FSMC复用功能时,需要进行相应的配置和初始化。首先需要指定复用的功能,例如将某个GPIO管脚配置为FSMC功能。然后需要进行FSMC的初始化,包括时序配置、模式设置等。最后,可以通过相应的读写操作来实现对外部存储器设备的访问。 总之,STM32F407复用FSMC可以实现连接外部存储器设备并进行数据读写操作的功能。通过FSMC的灵活配置,可以适应不同的应用场景和需求。这种复用功能使得STM32F407在处理大容量数据或存储程序代码时更加高效和便捷。 ### 回答2: STM32F407是意法半导体(STMicroelectronics)推出的一款高性能、低功耗的微控制器。FSMC(Flexible Static Memory Controller)是该微控制器的一个非常重要的功能之一,它提供了高性能的外部存储器接口。 首先,FSMC是一种用于连接外部存储器的接口,可以连接各种类型的外部存储器,如SRAM(静态随机存取存储器)、NOR闪存和PSRAM(伪静态随机存取存储器)。通过FSMC,STM32F407可以像访问内部FLASH存储器一样访问外部存储器,实现更大容量、更快速度的数据存储和读取。 使用STM32F407复用FSMC时,首先需要创建一个FSMC初始化结构体,并设置FSMC控制器的各种参数,如数据宽度、时序等。然后,需要配置引脚复用功能,将FSMC的引脚与外部存储器连接起来。 配置FSMC的时序参数是非常关键的,时序参数的设置需要考虑到外部存储器的特性和要求,以确保数据的正确读写。通过设置时钟速度、读写保持时间、数据保持时间等参数,可以保证FSMC与外部存储器之间的通信稳定可靠。 除了时序参数外,还需要设置其他的FSMC功能,如复位、总线操作模式等。这些功能的设置也需要根据外部存储器和具体应用要求进行相应的配置。 在配置完成之后,可以使用FSMC接口读写外部存储器。通过FSMC,STM32F407可以轻松地扩展存储器容量,提供更大的数据存储空间,并实现高速数据的读写操作。 总之,STM32F407复用FSMC可以提供更大容量、更高速度的外部存储器接口,可以满足一些需要大容量存储和处理数据的应用需求。同时,配置FSMC的时序参数和其他功能也是非常重要的,需要根据外部存储器和具体应用的要求进行正确设置。通过合理配置和使用FSMC,可以充分发挥STM32F407的性能优势。 ### 回答3: STM32F407是一款具有强大功能的32位ARM Cortex-M4处理器,它具有丰富的外设接口,其中包括FSMC(Flexible Static Memory Controller),用于连接外部存储器。 FSMC是一种高度可配置的总线接口,允许STM32F407与各种外部存储器(如SRAM、SDRAM和NOR Flash)进行通信。使用FSMC的主要步骤如下: 1. 配置FSMC:首先,需要配置FSMC的控制器,包括使用的FSMC Bank、FSMC Bank的模式、数据宽度等。 2. 配置外部存储器:然后,需要配置外部存储器的参数,包括存储器类型、存储器时序等。 3. 初始化FSMC:通过配置FSMC的寄存器来初始化FSMC。 4. 读写数据:一旦FSMC被初始化,就可以使用相应的FSMC接口进行存储器的读写操作。 总的来说,使用FSMC连接外部存储器可以扩展STM32F407的存储容量和功能。例如,可以通过连接外部SRAM扩展MCU的RAM容量,或者通过连接NOR Flash来提供更大的存储空间。此外,FSMC还支持高速的SDRAM接口,可以提供更快的数据传输速率。 需要注意的是,在使用FSMC进行外部存储器访问时,需要根据外部存储器的规格书来配置FSMC的时序和参数,以确保正确的数据传输和稳定的存储器访问。 总之,STM32F407的FSMC功能为嵌入式应用提供了强大的外部存储器扩展能力,使开发者能够更灵活地设计和实现各种存储器相关的应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值