HPMicro:FEMC应用指南

先楫FEMC的基本概念介绍

FEMC (Flexible External Memory Controller)全称为多功能外部存储器控制器。作为并行接口控制器,FEMC具有访问存储数据速度快的特点。

HPM的FEMC只有一路,由于FEMC是并口,所以占用的管脚较多。而且HPM的FEMC信号引脚都是唯一的,没有重复管脚。如果用户使用FEMC接口,建议在硬件上先进行FEMC的设计。以下是HMP6700系列引脚配置。

|------------------------|-----------|----|
| 引脚 | 名称 | 数量 |
| FEMC_A_00~FEMC_A_12 | 地址信号 | 13 |
| FEMC_BA0~FEMC_BA1 | Bank选择信号 | 2 |
| FEMC_CAS | 列地址选通 | 1 |
| FEMC_CKE | 时钟使能信号 | 1 |
| FEMC_CLK | 时钟信号 | 1 |
| FEMC_CS_0~FEMC_CS_1 | 片选信号 | 2 |
| FEMC_DM_0~FEMC_DM_3 | 数据掩码 | 4 |
| FEMC_DQS | 数据选通信号 | 1 |
| FEMC_DQ_00~FEMC_DQ_31 | 数据输入和输出信号 | 32 |
| FEMC_RAS | 行地址选通 | 1 |
| FEMC_WE | 写使能 | 1 |

HPM的FEMC在系统内存有两块区域。其中0xF3050000~0xF3053FFF为FEMC控制器区域,对应FEMC控制器的寄存器空间。0x40000000~0x4FFFFFFF为FEMC外部存储器的空间范围,该区域最大为256MB。因此,外扩的存储器范围最大为256MB。

FEMC使用的功能时钟为CLK_TOP_DRAM,最大支持166MHz工作频率。

HPM全系列FEMC配置情况

HPM的MCU只有部分型号支持FEMC。配置FEMC的MCU,其接口信号的引脚数量稍有不同。

|--------------|----------|-------------|-------------|
| HPMicro | FEMC | FEMC_DQ | FEMC_DM |
| HPM6700/6400 | Y | 32 | 4 |
| HPM5300 | N | | |
| HPM6200 | N | | |
| HPM6300 | Y | 16 | 2 |
| HPM6800 | N | | |
| HPM6E00 | Y | 32 | 2 |

FEMC的典型应用

HPM的FEMC作为高性能存储器接口,适用于下面的典型应用。

    1. SDRAM
    1. SRAM
    1. LCD屏
    1. FPGA

下面是FEMC的主要特性:

● DRAM控制器,支持连接外部SDRAM
**--**支持8/16/32 位数据模式
**--**可以使用高16 位数据线访问16 位 SDRAM(当低16 位数据线的IO 被其他功能占用时)
**--**最大支持166MHz 工作频率
**--**支持通过APB 总线往SDRAM 发命令(READ, WRITE, MODE_SET, AUTO_REFRESH 等)
**--**32位AXI 总线,内部读写数据buffer,最大outstanding支持8 级读和8 级写
**--**auto-refresh时间, bank 数, CAS 延迟, column 地址位数, burst 长度可配

● SRAM控制器,支持连接外部SRAM 或者兼容 SRAM 访问接口的器件
**--**支持异步访问
**--**支持数据地址复用模式(ADMUX) 或者非复用模式(Non-ADMUX)
**--**支持8 位或16 位数据端口

HPM的FEMC支持DRAM控制器和SRAM控制器,如下表所示是HPM6700系列FEMC的信号映射表。FEMC_CS_1 信号或者用作 DRAM 的 CS_1,或者用作 SRAM 控制器的 SRAM_NCE。即 FEMC 外部可以同时连接 2 个 SDRAM 或者 1 个 SDRAM 和 1 个 SRAM。

|------------------------|--------------|--------------------|----------------------|
| FEMC 引脚名称 | DRAM 信号 | SRAM 信号(Non-ADMUX) | SRAM 信号(ADMUX) |
| FEMC_A_00~FEMC_A_07 | A_00~A_07 | A0~A7 | A16~A23 |
| FEMC_A_08~FEMC_A_10 | A_08~A_10 | | |
| FEMC_A_11 | A_11 | NWE | NEW(写使能信号 ) |
| FEMC_A_12 | A_12 | NOE | NOE(读使能信号) |
| FEMC_BA0 | BA0 | | |
| FEMC_BA1 | BA1 | | NADV(地址/数据有效信号) |
| FEMC_CAS | CAS(列地址选通) | | |
| FEMC_CKE | CKE | | |
| FEMC_CLK | CLK | | |
| FEMC_CS_0 | CS_0 | | |
| FEMC_CS_1 | CS_1 | NCE | NCE(片选信号) |
| FEMC_DM_0 | DM_0 (数据掩码) | NLB | NLB(低字节控制) |
| FEMC_DM_1 | DM_1 | NUB | NUB(高字节控制) |
| FEMC_DM_2 | DM_2 | | |
| FEMC_DM_3 | DM_3 | | |
| FEMC_DQS | DQS | | |
| FEMC_DQ_00~FEMC_DQ_15 | DQ_00~DQ_15 | D0~D15 | AD0~AD15(地址/数据共享信号) |
| FEMC_DQ_16~FEMC_DQ_31 | DQ_16~DQ_31 | A8~A23 | |
| FEMC_RAS | RAS(行地址选通) | | |
| FEMC_WE | WE | | |

相关推荐
Invinciblenuonuo4 分钟前
STM32八股【5】----- TIM定时器
stm32·单片机·嵌入式硬件
selenia886012 分钟前
如何成功点亮LED灯并实现闪烁效果
单片机·嵌入式硬件
禾川兴 132424006881 小时前
国产芯片解析:龙讯HDMI Splitter系列:多屏共享高清
单片机·fpga开发·适配器模式
猫猫的小茶馆3 小时前
【PCB工艺】软件是如何控制硬件的发展过程
开发语言·stm32·单片机·嵌入式硬件·mcu·51单片机·pcb工艺
柒月玖.6 小时前
基于AT89C52单片机的轮胎压力监测系统
单片机·嵌入式硬件·mongodb
多多*7 小时前
Java设计模式 简单工厂模式 工厂方法模式 抽象工厂模式 模版工厂模式 模式对比
java·linux·运维·服务器·stm32·单片机·嵌入式硬件
云山工作室9 小时前
基于FPGA的智能垃圾分类装置(论文+源码)
单片机·fpga开发·毕业设计·毕设
傍晚冰川18 小时前
【STM32】最后一刷-江科大Flash闪存-学习笔记
笔记·科技·stm32·单片机·嵌入式硬件·学习·实时音视频
电子艾号哲19 小时前
STM32单片机入门学习——第1-2节: [1-1、2]课程和STM32简介
stm32·单片机·学习
annekqiu19 小时前
MPLAB X IDE 环境中配置字的注意点
c语言·单片机