外部存储控制器EMC 与norflash

本文介绍了嵌入式系统中如何使用EMC(外部存储控制器)扩展存储,如连接NOR Flash,强调了数据传输的字节顺序、宽度和写保护等问题,并详细阐述了EMC的操作过程,包括使能、引脚连接和时序设置,为提高读写速度提供了关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

嵌入式芯片本身的ram和rom都很小,但有时需要处理的数据有很大,于是出现了EMC,EMC可以外接norflash,sdram等来增加存储区域。

215543_owed_274829.gif

CPU可以通过AHB从机寄存器接口对EMC寄存器进行编程.为了避免可能发生的字顺序问题,操作EMC寄存器的过程中,所有数据的床上必须是32位宽的字.
通过数据缓冲区进行读写操作,可提供存储器带宽并减少传输等待时间.数据宽城区可用作读缓冲区,写缓冲区或读写缓冲区.

访问外部存储器需要注意几点:

1.数据传输的字节顺序

2.数据产生的宽度

3.对写保护的存储器区域进行写操作.

220833_B7FB_274829.png

EMC与NOR_FLASH接线方式。

EMC_OE输出使能,EMC_WE写使能,EMC_CS片选

EMC操作norflash用到的寄存器

221454_Yk6N_274829.gif

我们再看看EMC的基本操作过程:

230112_cbyA_274829.png

1.首先是使能EMC:   lpc1788为例

   在使用EMC前一定要先在功率控制寄存器中将其使能:   有的芯片不需要这两步操作,本身就开启的

  LPC_SC->SCS     |= (0x01 << 0);
  LPC_SC->PCONP   |= 0x00000800;                  /* 使能EMC功率控制         */

  接下来,设置EMC控制寄存器EMCControl的第0位置1,使能EMC:

  LPC_EMC->Control = 0x00000001;	              /* 使能EMC                 */
  LPC_EMC->Config  = 0x00000000;	              /*小端模式,ROP复位        */

2.引脚连接:

  将相关的引脚连接到EMC模块.

  LPC_IOCON->P3_0 = 1;                            /* D0 @ P3.0               */
  LPC_IOCON->P3_1 = 1;           &n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值