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 | | |

相关推荐
文军的烹饪实验室2 小时前
处理器架构、单片机、芯片、光刻机之间的关系
单片机·嵌入式硬件·架构
jmlinux3 小时前
STM32 HAL库USART串口DMA IDLE中断编程:避坑指南
stm32·单片机·嵌入式硬件
沐欣工作室_lvyiyi5 小时前
基于单片机的智能电表设计(论文+源码)
单片机·嵌入式硬件·电能表·数字电能表
半导体老登5 小时前
新能源汽车核心元件揭秘:二极管、三极管结构与工作原理解析(2/2)
人工智能·单片机·嵌入式硬件·汽车
猿~~~7 小时前
STM32的HAL库开发---多通道ADC采集(DMA读取)实验
stm32·单片机·嵌入式硬件
kongba0079 小时前
Cursor提示词模板,开发GD32,C语言开发GD32 ARM单片机编程规范提示词 大厂风格代码规范
c语言·arm开发·单片机
LaoZhangGong12310 小时前
STM32的“Unique device ID“能否修改?
c语言·经验分享·stm32·单片机·嵌入式硬件
1101 110111 小时前
STM32-心知天气项目
stm32·单片机·嵌入式硬件
Ronin-Lotus12 小时前
嵌入式硬件篇---数字电子技术中的时序逻辑
单片机·嵌入式硬件·蓝桥杯·时序分析·数字电子技术
sinat_360704821 天前
STM32 看门狗
stm32·单片机·嵌入式硬件