新聞中心

        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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 陵川县| 登封市| 丰都县| 弥渡县| 琼结县| 五华县| 永济市| 河北省| 江津市| 若尔盖县| 红原县| 江北区| 西乡县| 桃园县| 昆山市| 临江市| 巩留县| 岐山县| 治县。| 江山市| 买车| 遵义县| 北碚区| 准格尔旗| 台南市| 白水县| 舞阳县| 平利县| 天长市| 铜梁县| 昔阳县| 十堰市| 长宁县| 喀喇沁旗| 沾化县| 沅陵县| 昌吉市| 扶沟县| 罗平县| 上林县| 新龙县|