新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 大容量NAND FLASH在ARM嵌入式系統(tǒng)中的設計與實現(xiàn)

大容量NAND FLASH在ARM嵌入式系統(tǒng)中的設計與實現(xiàn)

作者: 時間:2012-11-01 來源:網(wǎng)絡 收藏

2.3 K9F2808U0C與LPC2210的連接

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

3 讀寫操作流程

K9F2808U0C的頁編程操作流程圖。

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

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

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

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

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

5 結(jié) 語

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

pos機相關文章:pos機原理



上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉