历史上的今天
返回首页

历史上的今天

今天是:2025年04月18日(星期五)

正在发生

2018年04月18日 | STM32接口FSMC/FMC难点的理解

2018-04-18 来源:eefocus

一,FSMC简


          FSMC,即灵活的静态存储控制器,能够与同步或异步存储器和 16 位 PC 存储器卡连接,

STM32 的 FSMC 接口支持包括 SRAM、NAND FLASH、NOR FLASH 和 PSRAM 等存储器。



二,FSMC存储块

STM32F767的FMC将外部存储器划分为6个固定大小的256M的存储区域,如下图


如图:
    FSMC分为4块,每块256M字节又被划分为4*64,即四个片选
    NOR / PSRAM使用块1,共256M
    NAND闪存使用块2,3,共512M
    PC卡使用块4,共256M



三,存储块1(Bank1)寄存器

       STM32 的 FSMC 存储块 1(Bank1)被分为 4 个区,每个区管理 64M 字节空间,每个区都
有独立的寄存器对所连接的存储器进行配置。Bank1 的 256M 字节空间由 28 根地址线
(HADDR[27:0])寻址。
      这里 HADDR 是内部 AHB 地址总线,其中 HADDR[25:0]来自外部存储器地址
FSMC_A[25:0],而 HADDR[26:27]对 4 个区进行寻址。




我们要特别注意 HADDR[25:0]的对应关系:
当 Bank1 接的是 16 位宽度存储器的时候:HADDR[25:1]对应 FSMC-A[24:0]。
当 Bank1 接的是 8 位宽度存储器的时候:HADDR[25:0]对应FSMC_A[25:0]。


比如外部存储器接到FMC_NE1上面,那么外部存储器的地址为HADDR[26:27] +FMC_A[25:0]=0x60000000+FMC_A[25:0]。

注:不论外部接 8  位/16  位宽设备,FSMC_A[0] 永远接在外部设备地址 A[0] 。

 HADDR[25:0] 位包含外部存储器地址,由于 HADDR 为字节地址,而存储器按字寻址,所以根据存储器数据宽度不同,

实际向存储器发送的地址也将有所不同,如图:


一个地址对应一个字节的数据,所以64M字节的地址量,就可以表示64x8=512M的数据,也就是说外部储存器的最大容量为512M.


当 Bank1 接的是 16 位宽度存储器的时候:HADDR[25:1]对应 FSMC-A[24:0]。

:一个地址就可以操作一个字(16位)的数据那么就不需要26根地址线了,HADDR[0]就没有用到,所以: HADDR[25:1] = FMC _A[24:0] 。

即:
             0000对应FSMC_A[0]=0   (2字节)
             0010对应FSMC_A[0]=1   (2字节)
             0100对应FSMC_A[1]=1   (2字节)


        所以对应关系需要除以2,内部右移一位对齐
        此时最低位没用,访问最低位需要使用UB/LB


当 Bank1 接的是 8 位宽度存储器的时候:HADDR[25:0]对应 FSMC_A[25:0]。

:一个地址正好可以操作一个字节(8位)的数据,需要26根地址线:那么 HADDR[25:0] = FMC _A [25:0] 。


推荐阅读

史海拾趣

BENCENT公司的发展小趣事

为了扩大市场份额和提高品牌知名度,BENCENT公司开始积极参与国内外各类电子展会和论坛,与潜在客户和合作伙伴建立联系。同时,公司还加大了营销宣传力度,通过线上线下的方式提升品牌曝光度。这些努力不仅带来了更多的销售机会,也提升了公司在行业内的地位和影响力。

Electronic公司的发展小趣事

华为,作为中国的科技巨头,其在电子行业的发展历程中展现出了强大的技术实力和全球视野。华为在通信领域取得了多项技术突破,如5G技术的领先和智能手机拍照技术的创新。同时,华为还积极拓展全球市场,与全球运营商建立了广泛的合作关系。然而,面对国际市场的复杂环境和竞争压力,华为也面临着诸多挑战和不确定性。

Fascomp公司的发展小趣事

在快速发展的过程中,Fascomp始终注重企业文化建设和人才培养。公司倡导“创新、协作、务实、进取”的价值观,鼓励员工积极创新、勇于挑战。同时,公司还注重人才培养和引进,建立了一套完善的人才培养和激励机制。这些举措为公司的发展提供了坚实的人才保障。

Dielectric Laboratories公司的发展小趣事

随着电子行业的不断发展,市场对电子元件的需求也在不断变化。为了适应这一变化,DLI不断调整产品战略,推出了更多符合市场需求的新产品。例如,针对商业和工业领域的需求,DLI研发了具有高性能、高可靠性特点的MLCC产品,并成功打开了市场。此外,公司还不断加大研发投入,探索新的技术领域,以保持其在行业中的领先地位。

EMS GmbH公司的发展小趣事

为了进一步提升公司的规模和实力,EMS GmbH公司积极寻求并购和资源整合的机会。通过并购其他具有技术优势和市场资源的公司,EMS GmbH公司能够快速扩大生产规模、提升技术水平和市场份额。同时,公司还注重与被并购公司的资源整合和协同发展,以实现双方的优势互补和互利共赢。这些并购和资源整合的举措使EMS GmbH公司在电子行业中的竞争地位得到了进一步巩固和提升。

请注意,以上故事仅为框架性描述,并未包含具体的细节和数据。在实际撰写时,您可以根据具体情况进行补充和完善。

Don Connex Electronics Co Ltd公司的发展小趣事

Don Connex Electronics Co Ltd成立于上世纪90年代初,当时电子行业正处于快速发展阶段。公司的创始人李明凭借其在半导体领域的深厚技术背景,带领团队研发出了一款高性能的电源管理芯片,这款芯片在业界引起了广泛关注。该芯片以其低功耗、高效率的特性,迅速在市场上打开了局面,为公司的初创阶段奠定了坚实的基础。

问答坊 | AI 解惑

超声波模块+红外遥控资料

本帖最后由 paulhyde 于 2014-9-15 04:00 编辑 1超声波测距已通过实物测试 2专门针对SMK1838遥控接收头的红外遥控装置  …

查看全部问答>

刚才把开发板单片机的串口烧了,郁闷!

单片机(STC89C52)VCC是5V, GPS(MTK M89)VCC是4.3V RXD连TXD,TXD连RXD 用万用表量的时候GPS的串口是4.8V,GPS的是3.6V 不知道怎么的就烧了?为什么没接串口之前MCU的RXD、TXD都有4.8的电压? 小弟刚入门还请指点迷经,要怎么联才可以让MCU读到GPS ...…

查看全部问答>

Freescale的单片机RTI的一个问题

   实时中断定时0.625ms,难道是中断的时间太快了?怎么For里面的循环都没有执行了呢?    现在想明白的就是一个问题,在进入中断响应的处理过程中,定时器是不是还在定时?我感觉应该在退出响应之后才可以,要不然,如果响应 ...…

查看全部问答>

wince系统下 compact framework程序崩溃的求救

我的wince系统,已经按照过compact framwork 2.0 ,期间运行 dotnet 程序都很正常(程序比较经常读写文件)。大约持续运行1个月后,dotnet程序无法启动,报异常。而且我用任意一个dotnet程序都是出现这个异常。怀疑系统中产生了什么异常。具体不明 ...…

查看全部问答>

请问:什么叫上位机,下位机啊,它们是干什么用的啊?

什么叫上位机,下位机啊,它们是干什么用的啊?…

查看全部问答>

IR new ic Rugged AEC-Q100 Qualified 600V ICs

IR Introduces Family of Rugged AEC-Q100 Qualified 600V ICs for Energy-Efficient Automotive Gate Drive Applications International Rectifier has launched a family of rugged 600V ICs for energy-efficient automotive ga ...…

查看全部问答>

请教城主一个MCO的问题,你以前回复的帖子!

版主发表于 2010-8-24 17:44 | 只看该作者 回复 引用 评分 报告 返回版面 TOP   得分:0…

查看全部问答>

菜鸟求组用CCS设置PWM的问题

用16F690做一个PWM信号的项目,但是总是不出来PWM信号,程序如下 #include #use delay(clock = 12000000) #fuses HS,NOWDT,NOPROTECT,PUT,NOBROWNOUT,MCLR #use fixed_io(c_outputs = PIN_C4,PIN_C6, PIN_C7) void main(void) { setup_ ...…

查看全部问答>

AD620双级放大电路

本系统要采集的信号十分微弱,5~100uV,设计电路要放大40000倍。由于AD620放大倍数越大,误差就越大,故本电路用了两片AD620形成二级放大。其中U1放大100倍,U2放大10倍。图中IN1,IN2为经过差分放大后的信号,输入到U1。U1放大后形成一路信号输入到U ...…

查看全部问答>