赞
踩
FSMC接口在一些ARM控制器上比较常用,通常可以通过FSMC的接口时序来对外部内存单元进行通讯访问。这一个小节主要介绍FSMC通信接口的通信原理,然后通过一个与MCU控制器进行通讯测试一下读写。硬件MCU控制器采用STM32F407,FPGA采用PH1A90控制器进行连接通讯。
FSMC 是 Flexible Static Memory Controller 的缩写,译为灵活的静态存储控制器。它可以用于驱动包括 SRAM、 NOR FLASH 以及NANDFLSAH 类型的存储器。具体端口的引脚和功能如下表所示:
FSMC引脚名称 | 对应SRAM引脚名 | 备注 |
FSMC_NBL[1:0] | LB#、UB# | 数据掩码信号 |
FSMC_A[18:0] | A[18:0] | 行地址线 |
FSMC_D[15:0] | I/O[15:0] | 数据线 |
FSMC_NWE | WE# | 写入使能 |
FSMC_NOE | OE# | 输出使能(读使能) |
FSMC_NE | CE# | 片选信号 |
FSMC 外设支持输出多种不同的时序以便于控制不同的存储器,它有多种模式这是有MCU控制器决定的,针对于不同的控制器需要查阅相关的技术手册,找到对应时序,这里介绍STM32 FSMC其中的一种时序作为参考。
当内核发出访问某个指向外部存储器地址时, FSMC 外设会根据配置控制信号线产生时序访问存储器,上图中的是访问外部 SRAM 时 FSMC 外设的读写时序。以读时序为例,该图表示一个存储器操作周期由地址建立周期 (ADDSET)、数据建立周期(DATAST) 以及 2 个 HCLK 周期组成。在地址建立周期中,地址线发出要访问的地址,数据掩码信号线指示出要读取地址的高、低字节部分,片选信号使能存储器芯片;地址建立周期结束后读使能信号线发出读使能信号,接着存储器通过数据信号线把目标数据传输给 FSMC, FSMC 把它交给内核。
写时序类似,区别是它的一个存储器操作周期仅由地址建立周期 (ADDSET) 和数据建立周期(DATAST) 组成,且在数据建立周期期间写使能信号线发出写信号,接着 FSMC 把数据通过数据线传输到存储器中。
本节介绍的FSMC接口是在通讯上以MCU位主控制器,FPGA为从控制器进行通讯交互数据,如果FPGA想要与MCU进行通讯之前需要发送请求信号,MCU产生应答,进行握手保证通讯可靠。MCU读取FPGA的地址数据得到具体的信息,然后读取数据。通过地址信息可以区分数据内容,如下图所示。
FSMC的FPGA端需要满足MCU控制器FSMC时序要求,根据时序要求定义FPGA端端口如下表所示:
端口名称 | 类型 | 备注 |
clk | input | 系统时钟 |
rst | input | 系统复位 |
user_addr[31:0] | input | 用户地址 |
user_wr_data[31:0] | input | 用户写数据 |
user_wr_data_vld | input | 用户写数据有效 |
user_rd_valid | input | 用户读数据请求 |
user_rd_data[31:0] | output | 用户读数据 |
user_rd_data_vld | output | 用户读数据有效 |
user_done | output | FSMC操作完成 |
user_wr_req | output | FSMC发送MCU写请求 |
user_rd_req | output | FSMC发送MCU读请求 |
mcu_ack | input | 接收MCU应答握手信号 |
fsmc_noe | input | FPGA读使能 |
fsmc_nwe | input | FPGA写使能 |
fsmc_data[15:0] | inout | FSMC数据信号 |
FSMC信号同步处理,如下图所示。
FSMC状态机跳转部分代码如下图所示。用户如果有读写请求,开始进行握手等待应答,进入MCU读取FPGA地址状态,再跳转到对应的具体读写数据状态进行数据交互。
在空闲是等待用户的读写请求信号,如果存在读写请求信号,把相关的读写请求引脚拉高。
MCU应答把请求信号拉低。
MCU读取FPGA地址
MCU读写FPGA数据部分
本节主要介绍FPGA与FSMC通信的接口设计,FSMC接口介绍和接口时序介绍。主要是想为多个控制器协同工作通讯问题提供一种设计思路,本节介绍的FPGA部分代码在下面链接感兴趣可以下载参考。由于板上验证还需要介绍MCU控制器代码,该专题只介绍国产安路的FPGA部分,所以这里只对FPGA部分进行介绍说明,后面有机会记录MCU专题时再进行分享。下一个小节介绍一款SD NANDFLASH的工作原理。
代码链接如下:
链接:https://pan.baidu.com/s/1ciLEj-qDfFkTNDL87jFDgA
提取码:ysir
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。