Bit 19:成组写使能位
0:写操作始终处于异步模式
1:写操作为同步模式
Bit 14:EXTMOD:扩展模式使能(即允许读和写使用不同的时序)
0:不使用FSMC_BWTR寄存器(默认)
1:FSMC使用FSMC_BWTR寄存器
Bit 13:等待使能位
0:禁用NWAIT信号,在设置的闪存保持周期之后不会检测NWAIT信号插入等待状态
1:使用NWAIT信号,在设置的闪存保持周期之后根据NWAIT信号插入等待状态(默认)
Bit 12:写使能位
0:禁止FSMC对存储器的写操作,否则产生一个AHB错误
1:允许FSMC对存储器的写操作(默认)
Bit 11:配置等待时序
0:NWAIT信号在等待状态前的一个数据周期有效(默认)
1:NWAIT信号在等待状态期间有效(不适用于Cellular RAM)
Bit 10:支持非对齐的成组模式
0:不允许直接的非对齐成组操作(默认)
1:允许直接的非对齐成组操作
Bit 9:等待信号极性
0:NWAIT等待信号为低时有效(默认)
1:NWAIT等待信号为高时有效
Bit 8:成组模式使能
0:禁用成组访问模式(默认)
1:使用成组访问模式
Bit 6:闪存访问使能
0:禁止对NOR闪存存储器的访问操作
1:允许对NOR闪存存储器的访问操作
Bit 5~Bit 4:存储器数据总线宽度
00:8位,
01:16位(默认)
10:保留
11:保留
Bit 3~Bit 2:存储器类型
00:SRAM、ROM(存储器块2,3,4在复位后的默认值)
01:PSRAM(Cellular RAM: CRAM)
10:NOR闪存(存储器块1在复位后的默认值)
11:保留
Bit 1:地址/数据复用使能位
0:地址/数据不复用。
1:地址/数据复用数据总线(默认)
Bit 0:存储器块使能位
0:禁用对应的存储器块
1:启用对应的存储器块
(2)SRAM/NOR 闪存片选时序寄存器:FSMC_BTRx(x=1~4)
31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
- | ACCMOD | DATLAT | CLKDIV | BUSTURN | |||||||||||
15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
DATAST | ADDHLD | ADDSET |
Bit 29~Bit 28:访问模式(这2位只在FSMC_BCRx寄存器的EXTMOD位为1时起作用)
00:访问模式A
01:访问模式B
10:访问模式C
11:访问模式D
Bit 27~Bit 24:数据保持时间
0000:第一个数据的保持时间为2个CLK时钟周期
……
1111:第一个数据的保持时间为17个CLK时钟周期(默认)
Bit 23~Bit 20:时钟分频比
0000:保留
0001:1个CLK周期=2个HCLK周期
0010:1个CLK周期=3个HCLK周期
……
1111:1个CLK周期=16个HCLK周期(默认)
Bit 19~Bit 16:总线恢复时间
0000:总线恢复时间=1个HCLK时钟周期
……
1111:总线恢复时间=16个HCLK时钟周期(默认)
Bit 15~Bit 8:数据保持时间
00000000:保留
00000001:DATAST保持时间=2个HCLK时钟周期
00000010:DATAST保持时间=3个HCLK时钟周期
……
11111111:DATAST保持时间=256个HCLK时钟周期(默认)
Bit 7~Bit 4:地址保持时间
0000:ADDHLD保持时间=1个HCLK时钟周期
……
1111:ADDHLD保持时间=16个HCLK时钟周期(默认)
Bit 3~Bit 0:地址建立时间
0000:ADDSET建立时间=1个HCLK时钟周期
……
1111:ADDSET建立时间=16个HCLK时钟周期(默认)