这里将LCD的片选接口与FSMC_NE4相连,即利用FSMC_NE4实现对LCD的片选;另外SRAM芯片的片选接口与FSMC_NE3相连,即利用FSMC_NE3实现对SRAM芯片的片选。FSMC本身就是静态存储器控制器,通过FSMC接口访问SRAM是理所当然的事,这里能将LCD也连接到FSMC,显然说明LCD在操作上与SRAM有相似之处。 SRAM的控制一般有:地址线(如...
LCD有8位或16位接口的,FSMC的设置需要一致,本文以16位为例。 STM32的设置使用cubeMX很方便,下面是针对FSMC的设置,其他基础设置这里就不罗列了。 这里使用了bank1的第四个子bank,片选是NE4; 内存类型是LCD接口; LCD寄存器选择为A0,其他A1-A24都可以,这本来是存储器寻址信号,这里用来接LCD的RS信号,控制LCD是写...
PG5 ,//FSMC_A15 //2^16=64kW =128k Bytes//144PIN STM32F103Z PD11,//FSMC_A16 //2^17=128kW =256k Bytes PD12,//FSMC_A17 //2^18=256kW =512k Bytes PD13,//FSMC_A18 //2^19=512kW =1M Bytes PE3 ,//FSMC_A19 //2^20=1MW =2M Bytes PE4 ,//FSMC_A20 //2^21=2MW =4M ...
PG5 ,//FSMC_A15 //2^16=64kW =128k Bytes//144PIN STM32F103Z PD11,//FSMC_A16 //2^17=128kW =256k Bytes PD12,//FSMC_A17 //2^18=256kW =512k Bytes PD13,//FSMC_A18 //2^19=512kW =1M Bytes PE3 ,//FSMC_A19 //2^20=1MW =2M Bytes PE4 ,//FSMC_A20 //2^21=2MW =4M ...
FSMC每个块输出独立的片选信号NE[4:1]。其他信号(读,数据和控制)是共享的; 对于同步访问,FSMC仅仅在读写事务时给选择的外部设备发出时钟。HCLK时钟频率是该时钟的整数倍。每个块的大小固定64M字节。 存储器的可编程参数包括访问时序(详见下图)和对等待管理的支持(用于在突发模式下访问NOR Flash 和PSRAM)。
在每个Bank的内部又分成了4个小块, 每个小块有相应的控制引脚用于连接片选信号,如FSMC_NE[4:1]信号线可用于选择BANK1内部的4小块地址区域, 见图Bank1内部的小块地址分配, 当STM32访问0x6C000000-0x6FFFFFFF地址空间时,会访问到Bank1的第4小块区域, 相应的FSMC_NE3信号线会输出控制信号。
FSMC 会为每个存储区域输出唯一的片选信号 NE[4:1]。所有其它信号(地址、数据和控制)均为共享信号。 对于同步访问,FSMC 只有在读/写事务期间才会向所选的外部器件发出时钟 (CLK)。HCLK时钟频率是该时钟的整数倍。每个存储区域的大小固定,均为 64 MB。
Bank内部的256MB空间又被分成4个小块,每块64M,各自有相应的控制引脚用于连接片选信号。FSMC_NE[4:1]信号线就分别对应图中的 FSMC bank1NOR/PSRAM4到FSMC bank1NOR/PSRAM1。 当STM32访问0x6800 0000—0x6BFF FFFF址空间时,会访问到Bank1的第3小块区域:FSMC bank1NOR/PSRAM3,相应的FSMC_NE[3]信号线会输出...
其中比较特殊的FSMC_NE是用于控制SRAM芯片的片选控制信号线,STM32具有FSMC_NE1/2/3/4号引脚,不同的引脚对应STM32内部不同的地址区域。 例如,当STM32访问0x68000000-0x6BFFFFFF地址空间时,FSMC_NE3引脚会自动设置为低电平,由于它连接到SRAM的CE#引脚, 所以SRAM的片选被使能,而访问0x60000000-0x63FFFFFF地址时,...
另外,HADDR[27:26]的设置,是不需要我们干预的,比如:当你选择使用Bank1 的第三个区,即使用 FSMC_NE3 来连接外部设备的时候,即对应了 HADDR[27:26]=10,我们要做的就是配置对应第 3 区的寄存器组,来适应外部设备即可。FSMC 的各 Bank配置寄存器在上图 38.1.2.3 以列出。 对于NOR FLASH 控制器,主要是通过...