新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 大容量NAND FLASH在ARM嵌入式系統中的設計與實現

        大容量NAND FLASH在ARM嵌入式系統中的設計與實現

        作者: 時間:2012-11-01 來源:網絡 收藏

        2.3 K9F2808U0C與LPC2210的連接

          K9F2808U0C與LPC2210的連接如圖3所示,使用8位數據總線D0~D7與K9F2808U0C的I/O0~I/O7引腳相連,使用數據總線來發送地址、數據和命令。K9F2808U0C的片選信號由CS3控制,即使用LPC2210的外部存儲器接口的Bank3地址空間,而CLE,ALE信號
        分別由A0,A1控制,所以K9F2808U0C的操作地址如下:

        3 讀寫操作流程

        K9F2808U0C的頁編程操作流程圖。

          首先向I/O寫人編程指令80H,然后使用3個時鐘周期寫入目的地址(A0~A23),接著向I/O寫入數據。數據發送完成后,寫入指令10H啟動頁編程,此時芯片內部的邏輯電路將進行頁擦除和數據編程操作。微控制器可以讀狀態指令70H來讀取狀態寄存器的值,若D6位為1,則表明寫操作完成。

        寫操作完成后,通過讀取狀態寄存器的D0位判斷編程是否成功,若D0位為0,則表示編程成功;否則表示編程失敗。

          K9F2808U0C的塊擦除和讀數據操作如圖5所示:對于K9F2808U0C的擦除是以塊為單位,擦除時首先寫入塊擦除命令60H,然后輸入要擦除塊的地址,再寫入指令DoH啟動塊擦除。微控制器可以讀取狀態指令70H來讀取狀態寄存器的值,若D6位為1,則表明擦除完成。寫操作完成后,通過讀取狀態寄存器的D0位來判斷擦除是否成功。

          對于K9F2808U0C的讀數據操作是以頁為單位,讀數據時首先寫入讀數據命令00H,然后輸入要讀取頁的地址,接著從數據寄存器中讀取數據,最后進行ECC校驗。

        4 在μC/OS實時操作系統下的實現和性能驗證
          μC/OS是一個多任務的實時操作系統,專為嵌入式應用而設計,可用于各類8位、16位和32位單片機或DSP,已有10余年應用史,其安全性和實時性得到了廣泛的認同,在嵌入式領域發揮著重要作用。該操作系統公開了他的實時性內核源碼,同時提供了較多的應用接口函數。通過在其實時內核的基礎上做少量的修改,便可將對 的操作移植到μC/OS中,利用OSTa-skCreateExt()函數創建任務并檢查堆棧空間,利用PC-ElapsedInit()初始化時間測量功能。共建立5個任務,分別為空閑任務、統計任務、頁編程任務、塊擦除任務和讀數據任務,程序代碼示意如下:

        5 結 語

          以Samsung 器件K9F2808U0C為例,通過PHILIPS LPC2210實現對存儲器的器件操作,以μC/OS實時操作系統為平臺完成測試實驗,將得到的實驗結果與Satnsung公司的K9F2808UOC Memory手冊進行對比,表明該設計滿足設計要求,達到預期目標。

        pos機相關文章:pos機原理



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 历史| 汉阴县| 宜春市| 大关县| 安庆市| 宽甸| 石狮市| 灵台县| 正定县| 稷山县| 蛟河市| 虹口区| 普陀区| 涿州市| 额敏县| 防城港市| 名山县| 商城县| 桓台县| 上虞市| 阳原县| 堆龙德庆县| 新竹市| 建水县| 九江市| 高陵县| 乌拉特中旗| 靖远县| 湘阴县| 合水县| 阳新县| 福贡县| 丰镇市| 滁州市| 竹溪县| 孝昌县| 济南市| 即墨市| 凤城市| 克什克腾旗| 逊克县|