前言FSMC是STM32使用频率最高的接口之一,作为较高级的一种单片机,STM32系列拥有更加接近通用计算机的外部接口,比如网络、USB以及存储器接口,也就是FSMC或者FMC。一般需要STM32的应用也肯定需要外部存储,不管是易失性存储器比如SRAM、SDRAM还是非易失性的NOR Flash、Nand Flash;这些都需要通过FSMC接口与STM32进行连接。 STM32一般支持512Mbytes的寻址空间,数据位宽可以支持8位或者16位;需要注意的是,这里的地址都是针对字节的,如果使用了16位的数据总线,则STM32会自动将地址右移一位,这点对于调试至关重要,尤其是针对FPGA模拟的存储器,网络上没有对于CFI接口的公开描述,这些细节只好研究实际的控制时序来得到。除此以外,存储器的接口还是有一定的细节区别,需要仔细阅读存储芯片的数据手册以及STM32的program manual的FSMC章节。对于FSMC的管脚分配,地址和数据都能设置成不同的位宽来适应不同的需求,辅助性的信号比如nWAIT这种也都可以按需分配,可以使用CUBEMX工具提前验证想法。 存储器介绍FSMC接口能够支持SRAM、PSRAM、SDRAM、Nor、Nand等几种存储器。其中SRAM的控制最为简单,使用片选信号选择不同的目标,使用读写控制信号来控制数据传输方向,剩下的地址和数据只要满足时序就能正常读写;除了这几个重要信号,SRAM还可以有控制高低字节以及传输等待之类的辅助信号。 FPGA时序约束 |
|
来自: aixuexidewau1 > 《FPGA学习》