在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CKS32F4xx系列FSMC功能簡介

中科芯MCU ? 來源:中科芯MCU ? 2024-04-14 15:06 ? 次閱讀

本課講為大家講解CKS32F4xx系列產(chǎn)品的FSMC應(yīng)用實例,F(xiàn)SMC全稱是Flexible Static Memory Controller,讀作靈活的靜態(tài)存儲控制器,顧名思義,MCU可以通過FSMC擴(kuò)展靜態(tài)內(nèi)存,靈活則是因為支持PC卡/CF卡、SRAM、PSRAM、NOR Flash和NAND Flash等幾種模式,本應(yīng)用實例主要是幫助讀者們學(xué)習(xí)驅(qū)動NAND Flash。注意,F(xiàn)SMC并不能支持如SDRAM這類型動態(tài)存儲器,需要FMC功能才支持。

FSMC簡介

FSMC主要框圖

FSMC的主要思路是內(nèi)核想訪問存儲器,但是存儲器需要接收到特定的數(shù)據(jù)/地址/控制等信號,內(nèi)核并不好操作,于是就誕生了FSMC外設(shè),有了這個外設(shè)我們就無須自己寫復(fù)雜的硬件時序,由配置好的FSMC替我們完成。根據(jù)配置的不同,F(xiàn)SMC可用于控制ROM、SRAM、NOR Flash、PSRAM和NAND Flash,其結(jié)構(gòu)框圖如圖1所示。

b3874736-f999-11ee-a297-92fbcf53809c.png

圖1FSMC框圖

從框圖可以了解到,F(xiàn)SMC外設(shè)包含4個模塊:AHB總線接口(包含配置寄存器)、NOR Flash/PSARM控制器、NAND Flash/PC 卡控制器、外部接口。

(1)內(nèi)核通過AHB總線發(fā)送總線事務(wù)請求,AHB時鐘(HCLK)是FSMC的參考時鐘。

(2)配置寄存器按配置形成擴(kuò)展外設(shè)的通信協(xié)議,驅(qū)動相應(yīng)的存儲器控制器,進(jìn)而控制外設(shè)。

(3)兩大控制器用于生成適當(dāng)?shù)臅r序,如NOR Flash/PSRAM控制器用于驅(qū)動8位、16位、32位的異步SRAM和ROM、異步或突發(fā)模式的NOR Flash和PSRAM;NAND/PC卡控制器用于驅(qū)動8位或16位的NAND Flash以及16位的PC卡兼容設(shè)備。

(4)不同外設(shè)共用一組地址數(shù)據(jù)總線、讀寫使能和輸入等待線,此共用信號基本上涵蓋了擴(kuò)展外設(shè)讀寫所需要的所有信息,地址用于尋址,讀寫使能和輸入等待線用于控制數(shù)據(jù)傳輸方向,并標(biāo)識數(shù)據(jù)有效時間以同步數(shù)據(jù)。FSMC每次訪問外設(shè)時,都會切換片選信號,如NOR Flash的NE信號,NAND Flash和PC卡的NCE信號,其余外設(shè)接口信號根據(jù)具體外設(shè)驅(qū)動方式分配。

FSMC設(shè)備地址映射

FSMC的外部設(shè)備地址映射劃分在0x60000000~0x9FFFFFFF這一段存儲空間內(nèi),我們可以直接以讀寫內(nèi)存的形式訪問存儲設(shè)備,類似訪問片上外設(shè)寄存器一樣方便,如圖2所示將外部存儲器劃分為四個存儲塊(Bank),每個Bank對應(yīng)256M字節(jié)的空間,加起來FSMC總共管理著1G字節(jié)的空間。Bank1用于NOR Flash/PSRAM,最多可以連接4個存儲器,Bank2/3可以各接入1個NAND Flash,Bank4則用于擴(kuò)展PC卡兼容設(shè)備。本文主要探討NAND Flash驅(qū)動,因此主要討論塊2、塊3的相關(guān)配置。

b3a1fc16-f999-11ee-a297-92fbcf53809c.png

圖2FSMC存儲區(qū)域

對于NAND Flash/PC卡控制器,塊2.3.4被劃分為表1所示的訪問空間,地址映射分通用區(qū)和特性區(qū),塊4-PC卡相比多了一個I/O空間,分別由各自的時序寄存器控制訪問時序。

b3ab7c3c-f999-11ee-a297-92fbcf53809c.png

表1 NAND Flash/PC卡地址

對于NAND Flash,通用空間和特性空間在其低256K字節(jié)部分劃分了3個區(qū),前64K為地址區(qū),中64K為命令區(qū),后128K為數(shù)據(jù)區(qū),地址范圍如表2所示。訪問NAND存儲空間流程簡單描述為:先發(fā)送命令到命令區(qū),其次發(fā)送需要操作的地址至地址區(qū),最后在數(shù)據(jù)區(qū)寫入或讀出數(shù)據(jù),以上流程只需要在三個區(qū)內(nèi)任意地址執(zhí)行即可。

b3c96c74-f999-11ee-a297-92fbcf53809c.png

表2 每個存儲塊的低256K字節(jié)

NANDFlash/PC卡存儲器控制器

FSMC內(nèi)部有兩個獨(dú)立的控制器分別用于驅(qū)動NOR/PSRAM內(nèi)存和NAND/PC卡。由于本文所涉及的例子是驅(qū)動一個8位NAND Flash(型號K9F1G08U0E),所以這里主要講述一下NAND/PC卡控制器。

支持設(shè)備和接口

表3列出了FSMC支持的NAND設(shè)備、訪問模式和總線事務(wù),可以看到NAND Flash/PC卡控制器能夠以異步方式訪問8位或16位的NAND Flash,而請求AHB操作的數(shù)據(jù)寬度可以是8位、16位、32位,為了保障數(shù)據(jù)傳輸?shù)囊恢滦裕現(xiàn)SMC遵循以下原則:

1、AHB操作的數(shù)據(jù)寬度和外部存儲器寬度相同時,無傳輸一致性問題。

2、AHB操作的數(shù)據(jù)寬度大于外部存儲器寬度,F(xiàn)SMC將AHB操作分割成幾個連續(xù)的較小數(shù)據(jù)寬度的存儲器操作,以適應(yīng)外部存儲器。

3、AHB操作的數(shù)據(jù)寬度小于外部存儲器寬度,異步傳輸時不能進(jìn)行寫的操作,只能進(jìn)行讀操作,如表3灰色部分所示。

b46da3ac-f999-11ee-a297-92fbcf53809c.png

表3支持的存儲器和事務(wù)

表4列出了用于連接8位NAND Flash的接口信號,我們主要通過地址區(qū)(A17)、命令區(qū)(A16)和數(shù)據(jù)區(qū)(D[7:0])這三個區(qū)來訪問NAND Flash,注意名稱前綴N表示低電平有效。

b499abf0-f999-11ee-a297-92fbcf53809c.png

表4 8位NAND存儲器接口信號

NANDFlash操作流程

以NAND Flash頁讀取操作流程為例,說明控制器是怎么參與操作的:

1、根據(jù)所選8位NANDFlash的特性,配置控制寄存器FSMC_PCRx、通用區(qū)時序寄存器 FSMC_PMEMx和特性區(qū)時序寄存器FSMC_PATTx,進(jìn)而配置并使能相應(yīng)的存儲區(qū)域

2、根據(jù)NAND Flash命令集在通用區(qū)域的命令區(qū)執(zhí)行字節(jié)寫操作,將頁讀取的命令寫入命令區(qū),在NWE低電平時,F(xiàn)lash的CLE輸入有效,將命令鎖存。

3、在通用區(qū)域或特性區(qū)域的地址區(qū)寫入表示讀操作起始地址的相應(yīng)字節(jié),在NEW低電平時,F(xiàn)lash的ALE輸入有效,將地址鎖存為讀操作起始地址。

4、借助特性存儲器空間,可設(shè)置預(yù)等待功能,當(dāng)寫入地址結(jié)束時,控制器會等待存儲器準(zhǔn)備好,R/NB信號變?yōu)榈碗娖胶蠓娇稍L問新的存儲空間。

5、在通用區(qū)域的數(shù)據(jù)區(qū)按字節(jié)讀出數(shù)據(jù)完成頁讀取操作。

6、后續(xù)可繼續(xù)執(zhí)行第五步讀出數(shù)據(jù)而無需再進(jìn)行命令和地址的寫操作,或重新執(zhí)行第三步寫入新的地址,或重新執(zhí)行第二步發(fā)送新的命令。

NANDFlash/PC卡寄存器

控制寄存器FSMC_PCRx

b4b91fa8-f999-11ee-a297-92fbcf53809c.png

位1 PWAITE:等待特性使能位=1時,使能等待特性,注意當(dāng)使能等待特性后,需配置相應(yīng)等待時間,如使用讀芯片忙腳作為反饋時,可關(guān)閉等待特性。

位2 PBKEN:NAND Flash/PC卡存儲區(qū)域使能位=1時使能存儲塊功能,于FSMC_NANDcmd函數(shù)內(nèi)使能。

位3 PTYP:存儲器類型=1時為NAND Flash,設(shè)置0時為PC卡、PC卡等。

位5:4 PWID:數(shù)據(jù)總線寬度,用于定義外部存儲器設(shè)備寬度,00時為8位,01則16位。位6 ECCEN:ECC計算邏輯使能位=1時使能ECC邏輯。

位12:9 TCLR: CLE到RE的延遲時間,從0000到1111可配置1到16個HCLK周期。

位16:13 TAR: ALE到RE的延遲時間,從0000到1111可配置1到16個HCLK周期。

位19:17 ECCPS: ECC頁大小,自定義擴(kuò)展ECC的頁大小,000為256字節(jié),001為512字節(jié),最大配置101為8192字節(jié)。

通用存儲器空間時序寄存器FSMC_PMEMx

b4c624aa-f999-11ee-a297-92fbcf53809c.png

位7:0 MEMSETx:通用存儲器x的建立時間,定義為讀寫使能命令(NWE,NOE)前建立地址所需要的HCLK周期數(shù),可設(shè)置0x00到0xFF表示2到257個周期數(shù)(NAND Flash)。

位15:8 MEMWAITx:通用存儲器x的等待時間,定義為保持讀寫使能命令(NWE,NOE)所需要的HCLK周期數(shù),可設(shè)置0x01到0xFF表示2到256個周期數(shù)(再加上NWAIT變低的等待時間),0x00用于保留。

位23:16 MEMHOLDx:通用存儲器x的保持時間,定義為讀寫禁止命令(NWE,NOE)后保持地址信號或數(shù)據(jù)信號的HCLK周期數(shù),可設(shè)置0x01到0xFF表示1到255個周期數(shù),0x00用于保留。

位31:24 MEMHIZx:數(shù)據(jù)總線高阻態(tài)時間,當(dāng)進(jìn)行寫操作時,數(shù)據(jù)總線需要保持一段時間的高阻態(tài)狀態(tài),可設(shè)置0x00到0xFF表示1到256個HCLK周期數(shù)(NAND Flash)。

特性存儲器空間時序寄存器FSMC_PATTx與通用寄存器一樣,有同樣的4個參數(shù)分別為ATTHIZx、ATTHOLDx、ATTWAITx和ATTSETx,可自行對應(yīng)參考。

驅(qū)動NANDFlash示例

FSMC代碼示例

(1)FSMC初始化配置:A.首先開啟GPIO、FSMC、AFIO復(fù)用等三個時鐘,按外接引腳配置除PD6以外所有引腳復(fù)用推挽輸出,PD6忙腳作為上拉輸入,然后所有腳開啟FSMC復(fù)用功能。B.FSMC寄存器配置,使用外接忙腳作為應(yīng)答,因此關(guān)掉等待特性,數(shù)據(jù)寬度選擇8bit,使能ECC校驗功能,ECC頁大小為512字節(jié),各信號時序因為外接模塊,最后初始化并使能復(fù)位。

(2)進(jìn)行讀取NAND Flash ID號的操作,按照上一節(jié)的控制邏輯,ReadID,必須發(fā)送命令90H(H代表16進(jìn)制)到命令區(qū)(命令區(qū)、地址區(qū)和數(shù)據(jù)區(qū)的地址如表2所示),接著發(fā)送0x00到地址區(qū),最后在數(shù)據(jù)區(qū)讀回32位的ID號0xECF10095。

(3)寫入操作前,需要先整塊擦除,命令區(qū)輸入0x60,然后地址區(qū)輸入要擦除的地址,再第二輪輸入命令區(qū)0xD0執(zhí)行擦除,函數(shù)最后返回讀取當(dāng)前狀態(tài)的值,會持續(xù)等待設(shè)備擦除完畢或超時退出。

(4)填充TxBuffer用于寫入實驗,目前填充共2K的空間,剛好一個頁容量。

(5)頁寫入TxBuffer的數(shù)據(jù),函數(shù)的三個參數(shù)為TxBuffer、寫入地址和寫入頁的數(shù)量,給定TxBuffer數(shù)據(jù),寫入地址為WriteReadAddr.Zone = 0x00、WriteReadAddr.Block = 0x00、WriteReadAddr.Page = 0x00,寫入頁數(shù)量為1。當(dāng)寫入頁數(shù)量不為0、地址狀態(tài)有效且狀態(tài)已準(zhǔn)備好時,進(jìn)入循環(huán),發(fā)送寫入一次命令80H,寫入列地址表示頁內(nèi)偏移,無偏移所以為0x00,寫入行地址為當(dāng)前塊地址,在將Txbuffer依次連續(xù)寫入數(shù)據(jù)區(qū),完成后二次命令0x10結(jié)束寫入,讀NAND Flash的忙腳等待寫入完成信號,等待完成后行地址遞增,可進(jìn)行下一個頁的寫入。

(6)頁讀取操作同頁寫入,命令區(qū)一次寫入0x00,二次寫入0x30,列地址0x00,行地址選當(dāng)前頁地址。二次命令寫入后才讀出數(shù)據(jù)給到RxBuffer。

(7)最后利用串口打印,讀ID、比較TxBuffer和RxBuffer(比較前100個數(shù)據(jù))是否一致可以看到ID識別為0xECF10095,TxBuffer和RxBuffer數(shù)據(jù)一致。



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5398

    瀏覽量

    122709
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7610

    瀏覽量

    165870
  • Nand flash
    +關(guān)注

    關(guān)注

    7

    文章

    241

    瀏覽量

    40440
  • AHB總線
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    9702
  • FSMC
    +關(guān)注

    關(guān)注

    0

    文章

    55

    瀏覽量

    38460

原文標(biāo)題:MCU微課堂|CKS32F4xx系列FSMC功能

文章出處:【微信號:中科芯MCU,微信公眾號:中科芯MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    MCU微課堂|CKS32F4xx系列產(chǎn)品時鐘配置

    作為MCU運(yùn)行的基礎(chǔ),時鐘是單片機(jī)各個模塊工作時序的最小時間單位,推動單片機(jī)的各指令執(zhí)行,是MCU選型的一個重要指標(biāo)。CKS32F4xx系列產(chǎn)品具有眾多的外設(shè),但并非所有的外設(shè)均需要系統(tǒng)時鐘的高頻率
    發(fā)表于 12-12 10:17 ?958次閱讀

    CKS32F4xx系列ETH通信詳解

    CKS32F4xx系列芯片自帶以太網(wǎng)模塊,該模塊包括帶專用DMA控制器的MAC 802.3(介質(zhì)訪問控制)控制器
    的頭像 發(fā)表于 11-10 11:13 ?1254次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>ETH通信詳解

    CKS32F4xx系列DSP功能介紹

    CKS32F4xx系列使用高性能的32位內(nèi)核,支持浮點運(yùn)算單元(FPU),同時還支持DSP指令以及存儲保護(hù)(MPU)用來加強(qiáng)應(yīng)用的安全性。
    的頭像 發(fā)表于 03-04 13:43 ?1916次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DSP<b class='flag-5'>功能</b>介紹

    CKS32F4xx系列產(chǎn)品串口DMA傳輸

    在上一講,我們講過CKS32F4xx系列的6個串口都支持DMA傳輸。因此本節(jié)我們對CKS32F4xx系列的DMA進(jìn)行介紹,同時利用DMA對串口數(shù)據(jù)進(jìn)行傳輸。
    的頭像 發(fā)表于 04-10 11:18 ?1235次閱讀

    CKS32F4xx系列RNG功能設(shè)置

    ? MCU 微課堂 CKS32F4xx 系 列RNG功能 隨機(jī)數(shù)發(fā)生器簡介 ? ? CKS32F4xx系列自帶了硬件隨機(jī)數(shù)發(fā)生器(RNG),
    的頭像 發(fā)表于 09-08 10:01 ?792次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>RNG<b class='flag-5'>功能</b>設(shè)置

    CKS32F4xx系列DAC功能

    CKS32F4xx系列DAC功能
    的頭像 發(fā)表于 11-06 16:56 ?1033次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DAC<b class='flag-5'>功能</b>

    CKS32F4xx系列ADC多通道DMA電壓采集

    CKS32F4xx系列ADC多通道DMA電壓采集
    的頭像 發(fā)表于 11-06 16:53 ?1267次閱讀

    CKS32F4xx系列ADC單通道電壓采集

    CKS32F4xx系列ADC單通道電壓采集
    的頭像 發(fā)表于 11-06 16:54 ?1120次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>ADC單通道電壓采集

    CKS32F4xx系列低功耗模式STANDBY模式

    CKS32F4xx系列低功耗模式STANDBY模式
    的頭像 發(fā)表于 11-06 16:57 ?655次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>低功耗模式STANDBY模式

    CKS32F4xx系列低功耗模式SLEEP模式

    CKS32F4xx系列低功耗模式SLEEP模式
    的頭像 發(fā)表于 11-06 16:59 ?862次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>低功耗模式SLEEP模式

    CKS32F4xx系列低功耗模式STOP模式

    CKS32F4xx系列低功耗模式STOP模式
    的頭像 發(fā)表于 11-06 17:08 ?773次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>低功耗模式STOP模式

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-比較輸出

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-比較輸出
    的頭像 發(fā)表于 11-09 17:39 ?1040次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產(chǎn)品Timer的基本使用方法-比較輸出

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時操作

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時操作
    的頭像 發(fā)表于 11-09 17:41 ?764次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產(chǎn)品Timer的基本使用方法-定時操作

    MCU微課堂 | CKS32F4xx系列產(chǎn)品SPI通信

    MCU微課堂 | CKS32F4xx系列產(chǎn)品SPI通信
    的頭像 發(fā)表于 10-24 17:12 ?899次閱讀
    MCU微課堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產(chǎn)品SPI通信

    MCU微課堂 | CKS32F4xx系列產(chǎn)品GPIO口配置

    MCU微課堂 | CKS32F4xx系列產(chǎn)品GPIO口配置
    的頭像 發(fā)表于 10-24 15:14 ?989次閱讀
    MCU微課堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>產(chǎn)品GPIO口配置
    主站蜘蛛池模板: 亚洲综合五月天婷 | 图片区网友自拍另类图区 | 黄色国产在线视频 | 求网址你懂的手机在线观看网站 | 色多多18免费观看 | 亚洲国产精品国产自在在线 | 就操 | 91免费视频网站 | 四虎国产精品永免费 | 天天操电影 | 天天插天天插 | 女同国产| 亚洲综合色就色手机在线观看 | 8050网午夜| 色爱综合区 | 大片免费看 | 成人在线黄色 | 亚洲一区二区三 | 日韩毛片免费视频一级特黄 | 一本到卡二卡三卡视频 | 日本aaaaa级毛片片 | 老司机亚洲精品影院在线观看 | 国产精品福利午夜在线观看 | 婷婷色人阁 | 22sihu国产精品视频影视资讯 | 日本写真高清视频免费网站网 | 黄色特级录像 | 国产亚洲一区二区三区啪 | 国产精品三级在线观看 | 666精品国产精品亚洲 | xx性欧美 | 农村妇女色又黄一级毛片卡 | 国产精品久久久久久久午夜片 | 日韩一区二区三区免费 | 91成人午夜性a一级毛片 | 日韩手机看片 | 狠狠狠色丁香婷婷综合久久88 | 日韩a视频 | 亚洲国产成人久久笫一页 | 四虎在线永久视频观看 | 日本黄色电影在线 |