STM32 FSMC 配置說明
- typedef struct
- {
- uint32_t FSMC_Bank;//nor被分為四塊,其中這個參數(shù)是說明對那個塊編程
- uint32_t FSMC_DataAddressMux;//地址數(shù)據(jù)是否復用
- uint32_t FSMC_MemoryType;//存儲器類型
- uint32_t FSMC_MemoryDataWidth;//數(shù)據(jù)總線寬度 8位/16位
- uint32_t FSMC_BurstAccessMode;//是否進行成組模式訪問
- uint32_t FSMC_WaitSignalPolarity;//等待信號有效級性
- uint32_t FSMC_WrapMode;//該位決定控制器是否支持把非對齊的AHB成組操作分割成2次線性操作;該位僅在存儲器的成組模式下有效。
- uint32_t FSMC_WaitSignalActive;//當閃存存儲器處于成組傳輸模式時,NWAIT信號指示從閃存存儲器出來的數(shù)據(jù)是否有效或是否需要插入等待周期。該位決定存儲器是在等待狀態(tài)之前的一個時鐘周期產(chǎn)生NWAIT信號,還是在等待狀態(tài)期間產(chǎn)生NWAIT信號。
- uint32_t FSMC_WriteOperation;//該位指示FSMC是否允許/禁止對存儲器的寫操作。
- uint32_t FSMC_WaitSignal;//當閃存存儲器處于成組傳輸模式時,這一位允許/禁止通過NWAIT信號插入等待狀態(tài)。
- uint32_t FSMC_ExtendedMode;//該位允許FSMC使用FSMC_BWTR寄存器,即允許讀和寫使用不同的時序。
- uint32_t FSMC_WriteBurst;//對于處于成組傳輸模式的閃存存儲器,這一位允許/禁止通過NWAIT信號插入等待狀態(tài)。讀操作的同步成組傳輸協(xié)議使能位是FSMC_BCRx寄存器的BURSTEN位。
- FSMC_NORSRAMTimingInitTypeDef*FSMC_ReadWriteTimingStruct;//讀時序配置指針
- FSMC_NORSRAMTimingInitTypeDef*FSMC_WriteTimingStruct;//寫時序配置指針
- }FSMC_NORSRAMInitTypeDef;
- typedef struct
- {
- uint32_t FSMC_AddressSetupTime;//這些位定義地址的建立時間,適用于SRAM、ROM和異步總線復用模式的NOR閃存操作。
- uint32_t FSMC_AddressHoldTime;//這些位定義地址的保持時間,適用于SRAM、ROM和異步總線復用模式的NOR閃存操作。
- uint32_t FSMC_DataSetupTime;//這些位定義數(shù)據(jù)的保持時間,適用于SRAM、ROM和異步總線復用模式的NOR閃存操作。
- uint32_t FSMC_BusTurnAroundDuration;//這些位用于定義一次讀操作之后在總線上的延遲(僅適用于總線復用模式的NOR閃存操作),一次讀操作之后控制器需要在數(shù)據(jù)總線上為下次操作送出地址,這個延遲就是為了防止總線沖突。如果擴展的存儲器系統(tǒng)不包含總線復用模式的存儲器,或最慢的存儲器可以在6個HCLK時鐘周期內將數(shù)據(jù)總線恢復到高阻狀態(tài),可以設置這個參數(shù)為其最小值。
- uint32_t FSMC_CLKDivision;//定義CLK時鐘輸出信號的周期,以HCLK周期數(shù)表示:
- uint32_t FSMC_DataLatency;//處于同步成組模式的NOR閃存,需要定義在讀取第一個數(shù)據(jù)之前等待的存儲器周期數(shù)目。 這個時間參數(shù)不是以HCLK表示,而是以閃存時鐘(CLK)表示。在訪問異步NOR閃存、SRAM或ROM時,這個參數(shù)不起作用。操作CRAM時,這個參數(shù)必須為0。
- uint32_t FSMC_AccessMode;//訪問模式
- }FSMC_NORSRAMTimingInitTypeDef;
評論