FSMC访问模式选择.docx

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FSMC访问模式的选择1.首先要了解三个服务于FSMC的特殊功能寄存器FSMC_BCR?????SRAM/NOR_FLASH 片选控制寄存器FSMC_BTR?????SRAM/NOR_FLASH??片选时序寄存器FSMC_BWTR??SRAM/NOR_FLASH??写时序寄存器(1)FSMC_BCR???????这是BCR控制寄存器的32位分配图。(寄存器都是32位,四个字节)注意其中第14位。EXTMOD即固件库里stm32f2xx_fsmc.h结构体中一个使能控制成员变量。uint32_t FSMC_ExtendedMode//是否使能扩展模式,即读写时序参数不同,相互独立。其他位都与stm32f2xx_fsmc.h结构体中成员变量相对应,不在赘言。(2)FSMC_BTR???????这是BCR控制寄存器的32位分配图。注意其中第28~29位。手册如下解释:Bits 29:28 ACCMOD: Access mode(访问模式选择:A\B\C\D)Specifies the asynchronous access modes as shown in the timing diagrams. These bits aretaken into account only when the EXTMOD bit in the FSMC_BCRx register is 1.00: access mode A01: access mode B10: access mode C11: access mode D??????这里的模式选择要与外部存储器相匹配。数据地址复用与否,读写控制信号的功用,信号变化。后面会分别讲一下这四个访问模式。(3)FSMC_BWTR???????仔细对照BTR与BWTR不难发现,呵!除了字体顺时针旋转90°,这俩寄存器怎么一样啊~没错,这两个寄存器都是包含与FSMC读写时序相关的位。ADDSET: Address setup phase duration.地址建立时间ADDHLD: Address-hold phase duration.地址保持时间DATAST: Data-phase duration.数据建立时间?????2.怎么解读模式时序图及寄存器配置??那么,初步了解这三个特殊寄存器后,问题就来了,他们什么关系,怎么选择一个模式来配置FSMC?下面举一个例子来分析一下。比如模式C。手册里如下描述:??????读写时序图与相应的三个寄存器设置都完整的展现出来。??????BCR中设置MUXEN为0,可见数据地址线不复用。手册里给的模式A\B\C\D都是不复用地址数据线的时序。这并非标示这四种模式下都不能复用,而是如果想复用,这一位MUXEN置1即可。只是限于页面篇幅,手册没有给出而已。同时EXTMOD为0X01。这个值非常关键。因为EXTMOD决定了后面的寄存器是仅有一个BTR,还是有BTR与BWTR同时起作用。??????在例程中EXTMOD=0X01 读写时序参数独立,可以分别配置。??????这是什么概念呢?就是读的时序参数由BTR寄存器里32位来设置。包括“读”时的数据建立时间,地址建立时间,地址保持时间(此模式没有)。而写的时序参数另用BWTR寄存器来设置。包括“写”时的数据建立时间,地址建立时间,地址保持时间(此模式没有)。图中很明显会发现读写时的数据建立时间是不相同的。更甚之,读和写的模式不一样也是允许的。如下面英语所表达。● When?extended mode?is set, it is possible to mix modes A, B, C and D in read and write(it is for instance possible to read in mode A and write in mode B).)???????倘若 EXTMOD=0X00 读写时序参数是相同的。??????这是什么概念呢?就是读和写的时序参数都是由BTR寄存器里32位来设置。包括“读写”时的数据建立时间,地址建立时间,地址保持时间(此模式没有)。而BWTR寄存器被忽略、搁置、空闲。???????一般情况下,我们对读写的时序配置没有那么严格。不必用两个寄存器,仅仅采用EXTMOD=0X00???BTR有效就足以满足要求。(哎~人家设计的严谨,我们用不到啊,害苦了初学的小小白)3.不同模式的PK上图是我在学习过程中查找到的,我个人认为构架是有了,但表述不够完整。如果你仔细把手册细读,会发现时序图的微妙差别。我自己总结如下:?注:1.除去倒数2张图片,其他都是来自STM参考手册RM0033。2.文章是学习笔记,有些内容是自己揣摩记下的,应该不可避免的会有错误。以后会进行完善修改。3.与大家

文档评论(0)

xuefei111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档