STM32寄存器列表 可配置静态存储器控制器相关寄存器

作者:fly 发布于:2014-6-18 10:18 分类:嵌入式

本文出自www.forwhat.cn

 

FSMC_BCR1…4(SRAM/NOR闪存片选控制寄存器 1…4)

19位:CBURSTRW成组写使能位,对于Cellular RAM,该位使能写操作的同步成组传输协议。定义:0(写操作始终处于异步模式),1(写操作为同步模式)

     对于处于成组传输模式的闪存存储器,这一位允许/禁止通过NWAIT信号插入等待状态。读操作的同步成组传输协议使能位是FSMC_BCRx寄存器的BURSTEN位

14位:EXTMOD扩展模式使能,该位允许FSMC使用FSMC_BWTR寄存器,即允许读和写使用不同的时序。定义:0(0:不使用FSMC_BWTR寄存器,这是复位后的默认状态)

     1(FSMC使用FSMC_BWTR寄存器)

13位:WAITEN等待使能位,当闪存存储器处于成组传输模式时,这一位允许/禁止通过NWAIT信号插入等待状态。

     0(禁用NWAIT信号,在设置的闪存保持周期之后不会检测NWAIT信号插入等待状态)

     1(使用NWAIT信号,在设置的闪存保持周期之后根据NWAIT信号插入等待状态;这是复位后的默认状态)

12位:WREN写使能位,该位指示FSMC是否允许/禁止对存储器的写操作。定义:0(禁止FSMC对存储器的写操作,否则产生一个AHB错误。)1(允许复位后的默认状态)

11位:WAITCFG配置等待时序,当闪存存储器处于成组传输模式时,NWAIT信号指示从闪存存储器出来的数据是否有效或是否需要插入等待周期。

     该位决定存储器是在等待状态之前的一个时钟周期产生NWAIT信号,还是在等待状态期间产生NWAIT信号。 定义:

     0(NWAIT信号在等待状态前的一个数据周期有效;这是复位后的默认状态。)

     1(NWAIT信号在等待状态期间有效(不适用于Cellular RAM))

10位:WRAPMOD支持非对齐的成组模式,该位决定控制器是否支持把非对齐的AHB成组操作分割成2次线性操作;该位仅在存储器的成组模式下有效。  定义:

     0(不允许直接的非对齐成组操作;这是复位后的默认状态)1(允许直接的非对齐成组操作)

9位:WAITPOL等待信号极性,设置存储器产生的等待信号的极性;该位仅在存储器的成组模式下有效。定义:0(NWAIT低有效;这是复位后的默认状态)1(高有效)

8位:BURSTEN成组模式使能,允许对闪存存储器进行成组模式访问;该位仅在闪存存储器的同步成组模式下有效。定义:0(禁用成组访问模式;复位后状态)1(使用)

6位:FACCEN闪存访问使能,允许对NOR闪存存储器的访问操作,定义:0(禁止对NOR闪存存储器的访问操作),1(允许)

5-4位:MWID存储器数据总线宽度,定义外部存储器总线的宽度,适用于所有类型的存储器,定义:00(8位),1(16位默认)

3-2位:MTYP存储器类型,定义外部存储器的类型,00(SRAM、ROM(存储器块2...4在复位后的默认值),01(PSRAM(Cellular RAM: CRAM)

      10(NOR闪存(存储器块1在复位后的默认值),11:保留

1位:MUXEN地址/数据复用使能位,当设置了该位后,地址的低16位和数据将共用数据总线,该位仅对NOR和PSRM存储器有效,0(地址/数据不复用)

    1(地址/数据复用数据总线;这是复位后的默认状态)

0位:MBKEN存储器块使能位,开启对应的存储器块。复位后存储器块1是开启的,其它所有存储器块为禁用。访问一个禁用的存储器块将在AHB总线上产生一个错误。

    定义:0(禁用对应的存储器块) 1(启用对应的存储器块)

 

 

FSMC_BTR1…4(SRAM/NOR闪存片选时序寄存器)

29-28位:ACCMOD访问模式,定义异步访问模式。这2位只在FSMC_BCRx寄存器的EXTMOD位为1时起作用,定义:00(访问模式A),01(B),10(C),11(D)

27-24位:DATLAT(见本表格下面的注释):(同步成组式NOR闪存的)数据保持时间,处于同步成组模式的NOR闪存,需要定义在读取第一个数据之前等待的存储器周期数目。

        这个时间参数不是以HCLK表示,而是以闪存时钟(CLK)表示。在访问异步NOR闪存、SRAM或ROM时,这个参数不起作用。操作CRAM时,这个参数必须为0。

        定义:0000(第一个数据保持时间为2个CLK时钟周期)。。。1111(17个CLK时钟周期,默认)在访问异步NOR闪存、SRAM或ROM时,这个参数不起作用

23-20位:CLKDIV时钟分频比(CLK信号),定义CLK时钟输出信号的周期:0000(保留),0001(1个CLK周期=2个HCLK周期)0010(1个CLK=3个HCLK)…(16个HCLK)

19-16位:BUSTURN总线恢复时间,这些位用于定义一次读操作之后在总线上的延迟(仅适用于总线复用模式的NOR闪存操作),一次读操作之后控制器需要在数据总线上

        为下次操作送出地址,这个延迟就是为了防止总线冲突。如果扩展的存储器系统不包含总线复用模式的存储器,或最慢的存储器可以在6个HCLK时钟周期内将

        数据总线恢复到高阻状态,可以设置这个参数为其最小值。定义:0000(总线恢复时间=1个HCLK时钟周期),1(16个HCLK时钟周期,默认)

15-8位:DATAST数据保持时间,这些位定义数据的保持时间(见图162图174至),适用于SRAM、ROM和异步总线复用模式的NOR闪存操作,定义:0000 0000(保留)

       00000001(DATAST保持时间=2个HCLK时钟周期)1111 1111(256个HCLK,默认)。对于每一种存储器类型和访问方式的数据保持时间,(见图162图174)。

7-4位:ADDHLD地址保持时间,这些位定义地址的保持时间(见图171图174至),适用于SRAM、ROM和异步总线复用模式的NOR闪存操作。定义:

      0000(ADDHLD保持时间=1个HCLK时钟周期)1111(16个HCLK,默认)注:在同步操作中,这个参数不起作用,地址保持时间始终是1个存储器时钟周期。

3-0位:ADDSET地址建立时间,这些位定义地址的建立时间(见图162图174至),适用于SRAM、ROM和异步总线复用模式的NOR闪存操作,定义:

      0000(ADDSET建立时间=1个HCLK时钟周期)1111(16个HCLK,默认)注:在同步操作中,这个参数不起作用,地址建立时间始终是1个存储器时钟周期。

 

 

FSMC_BWTR1…4(SRAM/NOR闪存写时序寄存器 1…4)

29-28位:ACCMOD访问模式,定义异步访问模式。这2位只在FSMC_BCRx寄存器的EXTMOD位为1时起作用,定义:00(访问模式A),01(B),10(C),11(D)

27-24位:DATLAT:(NOR闪存的同步成组模式)数据保持时间,定义在读取第一个数据之前等待的存储器周期数目,注:操作CRAM时,这个参数必须为0。定义:

        0000(第一个数据的保持时间为2个CLK时钟周期)1111(17个CLK),

        注:这个时间参数不是以HCLK表示,而是以闪存时钟(CLK)表示。2、在访问异步NOR闪存、SRAM或ROM时,这个参数不起作用

23-20位:CLKDIV时钟分频比(CLK信号),定义CLK时钟输出信号的周期:0000(保留),0001(1个CLK周期=2个HCLK周期)0010(1个CLK=3个HCLK)…(16个HCLK)

15-8位:DATAST数据保持时间,这些位定义数据的保持时间(见图162图174至),适用于SRAM、ROM和异步总线复用模式的NOR闪存操作,定义:0000 0000(保留)

       00000001(DATAST保持时间=2个HCLK时钟周期)1111 1111(256个HCLK,默认)。对于每一种存储器类型和访问方式的数据保持时间,(见图162图174)。

7-4位:ADDHLD地址保持时间,这些位定义地址的保持时间(见图171图174至),适用于SRAM、ROM和异步总线复用模式的NOR闪存操作。定义:

      0000(ADDHLD保持时间=1个HCLK时钟周期)1111(16个HCLK,默认)注:在同步操作中,这个参数不起作用,地址保持时间始终是1个存储器时钟周期。

3-0位:ADDSET地址建立时间,这些位定义地址的建立时间(见图162图174至),适用于SRAM、ROM和异步总线复用模式的NOR闪存操作,定义:

      0000(ADDSET建立时间=1个HCLK时钟周期)1111(16个HCLK,默认)注:在同步操作中,这个参数不起作用,地址建立时间始终是1个存储器时钟周期。

 

 

FSMC_PCR2..4(PC卡/NAND闪存控制寄存器 2..4)

19-17位:ECCPSECC页面大小,定义扩展的ECC页面大小:000(256字节),001(512字节),010(1024),011(2048),100(4096),101(8192)

16-13位:TAR-ALE至RE的延迟,以AHB时钟周期(HCLK)为单位设置从ALE变低至RE变低的时间,时间计算:t_ar = (TAR + SET + 4) x THCLK,

        这里THCLK表示HCLK周期长度,定义:0000(1个HCLK周期(默认值))1111(16个HCLK)注:根据不同的地址空间,SET是MEMSET或是ATTSET

12-9位:TCLRCLE至RE的延迟,以AHB时钟周期(HCLK)为单位设置从CLE变低至RE变低的时间。时间计算:t_clr = (TCLR + SET + 4) x THCLK,THCLK表示HCLK周期长度

       定义:0000(1个HCLK周期(默认值),。。。1111(16个HCLK),注:根据不同的地址空间,SET是MEMSET或是ATTSET

6位:ECCENECC计算电路使能位,0(关闭并复位ECC电路(复位后的默认值),1(使能ECC电路)

5-4位:PWID数据总线宽度,定义外部NAND闪存数据总线的宽度,定义:00(8位默认值),01(16位(PC卡必须使用此设置)10,11(保留)

3位:PTYP存储器类型,定义对应的存储器块上连接的存储器类型,定义:0(PC卡、CF卡、CF+卡或PCMCIA),1(NAND闪存(复位后的默认值)

2位:PBKEN-PC卡/NAND存储器块使能位,使能存储器块。访问一个未使能的存储器块会产生一个AHB总线错误,定义:0(关闭对应的存储器块,默认值);1(使能)

1位:PWAITEN等待功能使能位,使能PC卡/NAND闪存存储器块的等待功能,定义:0(关闭,默认),1(使能)注:对于PC卡,如果使能了等待功能,

    MEMWAITx/ATTWAITx/IOWAITx位的值必须高于tv(IORDY-NOE)/THCLK+4,其中tv(IORDY-NOE)是一旦NOE为低时NWAIT变低所需的最长时间

 

 

FSMC_SR2..4(FIFO状态和中断寄存器 2..4)

6位:FEMPT-FIFO空标志,只读位,指示FIFO状态,定义:0(FIFO不空),1(FIFO空)

5位:IFEN中断下降沿检测使能,定义:0(关闭中断下降沿检测请求),1(使能中断下降沿检测请求)

4位:ILEN中断高电平检测使能,定义:0(关闭中断高电平检测请求),1(使能中断高电平检测请求)

3位:IREN上升沿中断检测使能,定义:0(关闭中断上降沿检测请求),1(使能中断上降沿检测请求)

2位:IFS中断下降沿状态,该位由硬件设置,软件清除,定义:0(没有产生中断下降沿),1(产生了中断下降沿)

1位:IRS中断高电平状态,该位由硬件设置,软件清除,定义:0(没有产生中断高电平),1(产生了中断高电平)

0位:IRS中断上升沿状态,该位由硬件设置,软件清除,定义:0(没有产生中断上升沿),1(产生了中断上升沿)

 

 

FSMC_PMEM2..4(通用存储空间时序寄存器 2..4)

31-24位:MEMHIZx在通用空间x数据总线的高阻时间,当在通用存储空间x开始执行对PC卡/NAND闪存的写操作后,数据总线需要保持一段时间的高阻状态,该参数

        以HCLK时钟周期数目(NAND类型时+1)定义数据总线高阻态的时间。这个参数仅对写操作有效

        定义:0000 0000(0x00)PC卡为0个HCLK周期/NAND闪存为1个HCLK周期;1111 1111(0xFF)PC卡为255个HCLK周期/NAND闪存为256个HCLK周期,默认

23-16位:MEMHOLDx在通用空间x的保持时间,当在通用存储空间x对PC卡/NAND闪存进行读或写操作时,该参数以HCLK时钟周期数目定义了发送命令(NWE、NOE变高)后,

        地址信号(对于写操作则是数据信号)保持的时间。定义:00000000(保留),00000001(1个HCLK周期),11111111(255个HCLK周期,默认)

15-8位:MEMWAITx在通用空间x的等待时间,当在通用存储空间x对PC卡/NAND闪存进行读或写操作时,该参数以HCLK(+1)时钟周期数目定义了保持命令(NWE、NOE为低)

       的最小时间。当该参数定义的时间结束时,如果等待信号(NWAIT)有效(低),则命令的保持时间会被拉长。定义:0000 0000(保留)

       0000 0001(2个HCLK周期(加上由NWAIT信号变低引入的等待周期),1111 1111(256个HCLK周期(加上由卡的NWAIT信号变低引入的等待周期,默认值)

7-0位:当在通用存储空间x对PC卡/NAND闪存进行读或写操作时,该参数以HCLK(操作PC卡时+1,操作NAND闪存时+2)时钟周期数目定义了发送命令(NWE、NOE变低)之前

      建立地址信号的时间。定义:00000000(PC卡为1个HCLK周期/NAND闪存为2个HCLK周期)11111111(PC卡为256个HCLK周期/NAND闪存为257个HCLK周期,默认

 

 

FSMC_PATT2..4 (属性存储空间时序寄存器 2..4)

31-24位:ATTHIZx在属性空间x数据总线的高阻时间,当在属性存储空间x开始执行对PC卡/NAND闪存的写操作后,数据总线需要保持一段时间的高阻状态,

        该参数以HCLK时钟周期数目定义数据总线高阻态的时间。这个参数仅对写操作有效。定义:00000000(0个HCLK周期),1111 1111(255个HCLK周期默认)。

23-16位:ATTHOLDx在属性空间x的保持时间,当在属性存储空间x对PC卡/NAND闪存进行读或写操作时,该参数以HCLK时钟周期数目定义了发送命令(NWE、NOE变高)后,

        地址信号(对于写操作则是数据信号)保持的时间,定义:00000000(保留),0000 0001(1个HCLK周期),11111111(255个HCLK周期默认值)。

15-8位:ATTWAITx在属性空间x的等待时间,当在属性存储空间x对PC卡/NAND闪存进行读或写操作时,该参数以HCLK(+1)时钟周期数目定义了保持命令(NWE、NOE为低)

       的最小时间。当该参数定义的时间结束时如果等待信号(NWAIT)有效(低),则命令的保持时间会被拉长,定义:

       0000 0000(1个HCLK周期(加上由NWAIT信号变低引入的等待周期),1111 1111(256个HCLK周期(加上由卡的NWAIT信号变低引入的等待周期,默认值)。

7-0位:ATTSETx在属性空间x的建立时间,当在属性存储空间x对PC卡/NAND闪存进行读或写操作时,该参数以HCLK(+1)时钟周期数目定义了发送命令(NWE、NOE变低)

      之前建立地址信号的时间,定义:0000 0000(1个HCLK周期),1111 1111(256个HCLK周期,默认值)。

 

 

FSMC_PIO4 (I/O空间时序寄存器4)

31-24位:IOHIZx在I/O空间x数据总线的高阻时间,当在I/O空间x开始执行对PC卡的写操作后,数据总线需要保持一段时间的高阻状态,该参数以HCLK时钟周期数目

        定义数据总线高阻态的时间。这个参数仅对写操作有效,定义:00000000(0个HCLK周期),11111111(255个HCLK周期,默认值)。

23-16位:IOHOLDx在I/O空间x的保持时间,当在I/O空间x对PC卡进行读或写操作时,该参数以HCLK时钟周期数目定义了发送命令(NWE、NOE变高)后,

        地址信号(对于写操作则是数据信号)保持的时间,定义:00000000(保留),0000 0001(1个HCLK周期),11111111(255个HCLK周期默认值)。

15-8位:IOWAITx在I/O空间x的等待时间,当在I/O空间x对PC卡进行读或写操作时,该参数以HCLK(+1)时钟周期数目定义了保持命令(SMNWE、SMNOE为低)的最小时间。

       当该参数定义的时间结束时,如果等待信号(NWAIT)有效(低),则命令的保持时间会被拉长

       定义:0000 0000(保留),00000001(2个HCLK周期(加上由NWAIT信号变低引入的等待周期);11111111(256个HCLK周期(加NWAIT等待周期,默认值)

7-0位:IOSETx在I/O空间x的建立时间,当I/O空间x对PC卡进行读或写操作时,该参数以HCLK(+1)时钟周期数目定义了发送命令(NWE、NOE变低)之前建立地址信号的时间

 

 

ECC结果寄存器2/3 (FSMC_ECCR2/3)

31-0位:ECCx-ECC结果,ECC结果有效位

ECCPS[2:0] 页大小(字节) ECC有效位 ECCPS[2:1] 页大小(字节) ECC有效位

0 256 ECC[21:0] 11 2048 ECC[27:0]

1 512 ECC[23:0] 100 4096 ECC[29:0]

10 1024 ECC[25:0] 101 8192 ECC[31:0]


发表评论:

 
Powered by emlog sitemap