關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于C8051F340的非易失大容量數據存儲方案

        基于C8051F340的非易失大容量數據存儲方案

        作者: 時間:2010-12-08 來源:網絡 收藏

        4.3 軟件編程
        K9WAG08UOA的編程比通常的串、并行器復雜。實際應用中將頁編程子程序、塊擦除子程序、讀操作字程序編寫成子程序,在需要時進行調用。由圖5 看出,C8051F340對K9WAG08UOA的讀寫操作均通過通用進行。C805lF340對端口的操作通過訪問對應的端口寄存器。向端口寫入時,被鎖存到端口寄存器中,以保持引腳上的輸出數據值不變;讀端口數據寄存器將返回端口輸入引腳的邏輯狀態。具體舉例來說,比如P0=0x80,表示Ox80被鎖存到端口數據寄存器中,把CE引腳拉低,引腳產生一個上升沿,數據就被寫入K9WAG 08UOA中的數據/命令寄存器。Ox8O為命令還是數據取決于CLE和ALE的狀態,CLE為高,ALE為低,表示Ox80為命令字段;CLE為低,ALE為高,表示Ox80為數據。下面對K9WAG08UOA的頁編程、頁讀、塊擦除做詳細的說明。
        d.JPG

        4.3.1 頁編程
        K9WAG08UOA的頁編程是以頁為單位的,它允許在一個頁編程周期里寫入1~2 112字節的數據。數據被加載到數據寄存器,然后調用內部寫入過程寫入正確的單元。在寫入之前必須擦除,否則出錯。頁編程的步驟為:1)寫入串行輸入指令0x80;2)分5次寫入編程首地址;3)寫人數據,一次最多2 112字節;4)最后寫入頁編程指令0x1O。啟動內部編程操作。為了反饋寫入操作是否成功,K9WAG08UOA的內部狀態寄存器記錄了寫入狀態,通過查詢寄存器狀態位O,判斷寫入是否成功。
        4.3.2 頁讀操作
        K9WAG08UOA讀頁面的操作過程為寫入0x00到命令寄存器,然后輸入5個字節的地址,再寫入命令Ox30啟動頁讀操作。選中頁面的2 112個字節的數據不是立即輸出到I/0口,而先被復制到K9WAG08UOA的數據寄存器。通過檢測R/B引腳狀態來判斷復制操作是否完成。一旦R/B 為高電平后,表示復制完成。微處理器器控制RE不斷的高低變化,數據寄存器中的數據將按照在芯片中的地址排列依次鎖存輸出到口,此時讀取I/O口電平即可。
        4.3.3 塊擦除
        K9WACO8UOA的擦除操作以塊為單位進行。首先寫入擦除指令Ox60,然后分3次寫入行地址。載入行地址后執行擦除確認指令0xd0來初始化內部擦除操作。通過狀態引腳R/B了解擦除的進度,R/B為高電平表示內部擦除完成。通過檢測狀態位(I/O0)來檢查擦除操作是否發生錯誤。
        4.4 應用舉例
        本設計的單片機P1口與K9WAGO8UOA直接連接,其他控制引腳與PO口的引腳連接。為防止器誤操作,在單片機復位后要進行初始化設置。 K9WAGO8UOA最大的優點是容量大,低功耗。海洋潛標在水下工作的時間通常為3個月以上,累計的數據量通常上百兆,K9WAG08UOA能夠勝
        任這樣的容量要求。在實驗室水池進行多次長時間測試,K9WAG08UOA記錄的數據可靠。

        5 結束語
        利用C805lF340豐富的接口資源,可以方便地擴展大容量的器。本文介紹的3種存儲器擴展方案采用不同的硬件連接方式,但都具有非易失、低功耗的特點,又各有特點,可以根據系統開發的具體需求,進行選擇使用。通過實踐,總結以下經驗:1)提高系統存取效率,加入FIFO緩存。數據按時間順序寫入 FIFO,大到一定容量后再由處理器以塊形式讀出。這樣可以避免MCU頻繁進入中斷,提高處理器的工作效率。2)在控制印刷電路板面積及布線復雜度上,使用I2C接口最為簡潔,SPI接口次之。3)讀寫速度上,并口Flash最快,適應于微秒級存取;SPI接口次之,提高時鐘頻率也可達到微秒級;I2C接口最慢,適合毫秒級的訪問。4)容量上,NAND架構閃存(K9WAG08UOA)的存儲單元采用串行結構,一頁包含若干字節,若干頁組成儲存塊,這種結構最大的優點是使得容量可以做得很大。因此,在容量和存儲密度上,NAND閃存比其他結構的存儲器大。僅從容量考慮時,優先選擇NAND架構的閃存。

        本文引用地址:http://www.104case.com/article/162599.htm

        上一頁 1 2 3 下一頁

        關鍵詞: I/O 數據 存儲

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 集安市| 莱阳市| 博白县| 鹤岗市| 枝江市| 正阳县| 仙居县| 肇东市| 郎溪县| 莎车县| 志丹县| 鹰潭市| 定襄县| 新龙县| 德化县| 长武县| 淮北市| 云浮市| 芦溪县| 三都| 康平县| 平顶山市| 普兰店市| 昌宁县| 甘谷县| 锡林郭勒盟| 泽库县| 唐山市| 晋州市| 铜山县| 乌拉特后旗| 通许县| 大丰市| 东山县| 阜新市| 金秀| 肇庆市| 郑州市| 浮山县| 阿图什市| 平南县|