新聞中心

        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

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 济宁市| 安乡县| 兴安县| 甘孜县| 固始县| 翁牛特旗| 宜春市| 营山县| 兖州市| 湄潭县| 宁明县| 济南市| 延吉市| 会宁县| 江油市| 临沂市| 勃利县| 毕节市| 桦川县| 城口县| 泽州县| 施秉县| 桃园市| 肇庆市| 甘肃省| 塔河县| 开封县| 丹巴县| 县级市| 贵德县| 庆元县| 太和县| 仪征市| 石台县| 依安县| 忻州市| 新乡县| 辰溪县| 南丹县| 广州市| 霸州市|