新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA的K9F4G08 Flash控制器設計

        基于FPGA的K9F4G08 Flash控制器設計

        作者: 時間:2010-06-23 來源:網絡 收藏

          2.3 讀寫匹配

          如果遇到壞塊,會造成讀寫失敗,為了滿足大批量數據讀寫的連續性,在讀寫數據之前必須對當前塊地址進行匹配,這些工作由controller_4G08完成,當主狀態機給controller_4G08發送塊地址后就會執行。

          讀寫是對頁操作的,一次2 KB。中有一個4 KB的ram:ram_4096,用來作為緩沖區存放數據。當需要向中寫入數據時,主狀態機向controller_4G08發Page_program指令,發送5 B地址,controller_4G08會自動進行塊地址匹配,匹配完之后會給主狀態機一個中斷信號,主狀態機收到這個信號便開始將ram_4096中的數據發給controller_4G08,之后等待中斷,收到中斷說明寫指令執行成功。

          當需要讀取數據時,主狀態機向controller_4G08發Page_read指令,發送5字節地址,controller_4G08會自動進行塊地址匹配及的頁讀操作,等中斷一到便開始接收來自controller_4G08的數據并存至ram_4096中。

          controller_4G08中有一個存放上次塊地址的寄存器,每次進行讀寫操作時,會將當前塊地址與上次的塊地址進行比較,若相同則說明是好塊,可以讀寫;若不同則需要進行匹配。狀態機會從ram_512中尋找該塊是否為壞塊,進行一系列處理。與擦除指令一樣,當讀寫操作遇到新的壞塊時,也會向系統報錯。匹配流程圖如圖3所示。

        基于FPGA的K9F4G08 Flash控制器設計

          3 controller_4G08主狀態機

          圖4是主狀態機的狀態轉換圖,系統上電復位后,主狀態機將進入等待使能信號狀態。收到使能信號后,主狀態機會從cmd_code_4G08中讀取操作碼,然后啟動對應的子狀態機,執行對應的操作。子狀態機執行完畢以后就會通過int_ctl_4G08發送給主狀態機一個中斷信號,同時將執行結果返回。主狀態機收到中斷信號后,又進入空閑狀態等待下一個使能信號。這樣設計的主狀態機隨時都可以添加新的指令,可擴展性強[4-5]。

        基于FPGA的K9F4G08 Flash控制器設計



        關鍵詞: FPGA Flash K9F4G08

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南城县| 灵丘县| 郯城县| 新晃| 铁岭县| 红桥区| 金门县| 高清| 望奎县| 汤阴县| 十堰市| 晴隆县| 游戏| 乳源| 西畴县| 探索| 曲阳县| 莆田市| 喀喇沁旗| 湖北省| 辽阳市| 新巴尔虎左旗| 安龙县| 淄博市| 灵璧县| 朝阳县| 锦屏县| 临西县| 织金县| 九江市| 武山县| 金门县| 嘉定区| 巴东县| 天峻县| 大石桥市| 神农架林区| 三都| 安吉县| 南充市| 石棉县|