问题背景
在阅读《零死角玩转STM32—F103指南者》,以及《STM32F10x-中文参考手册》关于FSMC一章节的时候,对于在控制NOR/SRAM
的时候使用到的引脚,在提到NOR器件的时候提到了地址复用和非复用接口,一时间没明白是什么东西。
结论
非复用模式
:16位数据线及26位地址线分开始用。推荐在144脚及以上的STM32产品上使用该模式。
复用模式
:低16位数据/地址线复用
。在该模式下,推荐使用地址锁存器以区分数据与地址。
若不使用锁存器:当NADV为低时,ADx(x=0…15)上出现地址信号Ax,当NADV变高时,ADx上出现数据信号Dx。若使用锁存器:可同时在ADx上得到Ax和Dx。
复用模式
1、寄存器的配置,首先注意使能地址数据复用,其次要存储器类FSMC_MemoryType_NOR,否则出现不了NADV信号。
FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Enable;
FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_NOR;
2、注意GPIO复用功能的使能,以及时钟使能。文章来源:https://www.toymoban.com/news/detail-696290.html
3、地址总线。在16位模式访问时,访问地址的[25…0]位必须先左移一位.。才能正确输出地址信号,原因是,STM32会将地址右移一位后在输出。如果输出前不左移,会导致输出地址错误,比如当我们软件访问地址6000 0005H这个地址时,实际访问的地址是6000 0002H。为何右移一位?看中文数据手册327页。如下
文章来源地址https://www.toymoban.com/news/detail-696290.html
到了这里,关于【STM32】FSMC接口的复用和非复用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!