国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

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

發布時間:2010-9-20 12:42    發布者:eetech
關鍵詞: arm , Flash , NAND , 嵌入式系統
1 引 言

隨著嵌人式系統在數碼相機、數字攝像機、移動電話、mp3音樂播放器等移動設備中越來越廣泛的應用,FLASH存儲器已經逐步取代其他半導體存儲元件,成為嵌入式系統中主要數據和程序載體。FLASH存儲器又稱閃存,是一種可在線多次擦除的非易失性存儲器,即掉電后數據不會丟失。FLASH存儲器還具有體積小、功耗低、抗振性強等優點,是嵌入式系統的首選存儲設備。

NAND和NOR FLASH是現在市場上兩種主要的非易失閃存芯片,這兩種類型的FLASH區別在于:

NOR類型FLASH可以按照字節訪問,所以存放在FLASH里的程序可以直接執行,而NAND類型FLASH是串行訪問的,需要先把程序讀取到內存然后再從內存中運行。與NOR型相比,NAND型閃存的優點是容量大,但是NAND型的速度比較慢,因為他的I/O 端口只有8(或16)個,要完成地址和數據的傳輸就必需讓這些信號輪流傳送。NAND型FLASH具有極高的單元密度,容量可以比較大,價格相對便宜。本文采用Samsung公司的NAND型FLASH存儲設備K9F2808U0C。

2 系統硬件結構及接口電路

2.1 ARM芯片介紹

ARM公司自1990年正式成立以來,在32位RISC(Reduced Instruction Set Computer)CPU開發領域不斷取得突破,目前已經占有75%以上的32位RISC嵌入式產品市場。在低功耗、低成本的嵌人式應用領域確立了市場領導地位。

PHILIPS公司的LPC2210是基于一個支持實時仿真和跟蹤的32位ARM7TDMI-STMCPU的微控制器,片內128位寬度的存儲器接口和獨特的加速結構使32位代碼能夠在最大時鐘頻率下運行。LPC2210極低的功耗、多個32位定時器、8路10位ADC以及9個外部中斷使其特別適用于工業控制、醫療系統、訪問控制和POS機。由于內置了寬范圍的串行通信接口,他們也非常適合于通信網關、協議轉換器、嵌入式軟MODEM以及其他各種類型的應用。

2.2 K9F2808U0C芯片的結構和特點

K9F2808U0C是Samsung公司生產的NAND型FLASH存儲器,其功能框圖如圖1所示。



K9F2808U0C存儲容量為132 Mb,其中主數據區為128 Mb,輔助數據區為4 Mb,工作電壓為2.7~3.6 V,I/O端口寬度為8 b。片內寫控制自動實現編程和擦除所有功能,包括內部校驗、脈沖的周期和數據冗余。

芯片的存儲空間是按照塊和頁的概念來組織的,一個芯片分為1 024個塊,每個塊有32頁,每一頁有528 B。528 B中分為512 B的數據區和16個字節的空閑區,空閑區用于存放ECC代碼、壞塊信息和文件系統相關代碼。一個528 B的數據寄存器作為數據緩沖單元,用來實現I/0緩沖和存儲器之間的數據傳輸。芯片的存儲陣列組織如圖2所示。



使用NAND型FLASH的關鍵技術之一是存儲空間的管理。Samsung公司的NAND FLASH存儲器有一些初始無效塊(包含一個或多個壞位的存儲塊),制造商不保證這些塊的可靠性。NAND FLASH容許成品中有壞塊存在,這是采用NAND技術所特有的現象。壞塊的存在并不影響有效塊的性能。但是,系統級的設計必須能夠用地址映射把這些壞塊屏蔽掉。芯片在出廠時,除保存壞塊信息的區域外,其他部分一律被擦除(值為0xFF),對壞塊的讀操作是允許的,但不推薦進行寫和擦除操作,以免由于結構方面的原因使鄰近的塊也失效。系統設計時必須根據初始的壞塊信息識別出壞塊,并建立壞塊列表。進行寫或擦除操作時將欲操作塊的地址與壞塊地址表的地址相比較,若是壞塊則應跳過。為了提高存儲空間的效率,單個位數據錯誤引起的讀寫失敗都可以用ECC(校錯和糾錯)方法處理。

芯片在使用過程中,可能有新壞塊的產生,為了系統的可靠性,必須對此情況加以考慮。在數據寫入或塊擦除操作后,如果讀狀態寄存器出現錯誤,則表示塊內有壞頁存在,也即表明此塊已壞,因為塊內壞頁的存在并不影響其他頁的讀寫,這時可采用塊替換操作來把頁內有用數據轉移到其他空閑塊內,并把壞塊信息存入壞塊表中。

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的頁編程操作流程圖如圖4所示。



首先向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余年應用史,其安全性和實時性得到了廣泛的認同,在嵌入式領域發揮著重要作用。該操作系統公開了他的實時性內核源碼,同時提供了較多的應用接口函數。通過在其實時內核的基礎上做少量的修改,便可將對NAND FLASH的操作移植到μC/OS中,利用OSTa-skCreateExt()函數創建任務并檢查堆?臻g,利用PC-ElapsedInit()初始化時間測量功能。共建立5個任務,分別為空閑任務、統計任務、頁編程任務、塊擦除任務和讀數據任務,程序代碼示意如下:






5 結 語

以Samsung NAND FLASH器件K9F2808U0C為例,通過PHILIPS LPC2210實現對存儲器的器件操作,以μC/OS實時操作系統為平臺完成測試實驗,將得到的實驗結果與Satnsung公司的K9F2808UOC FLASH Memory手冊進行對比,表明該設計滿足設計要求,達到預期目標。
本文地址:http://www.qingdxww.cn/thread-28277-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 更佳設計的解決方案——Microchip模擬開發生態系統
  • Cortex-M4外設 —— TC&TCC結合事件系統&DMA優化任務培訓教程
  • 你仿真過嗎?使用免費的MPLAB Mindi模擬仿真器降低設計風險
  • 想要避免發生災難,就用MPLAB SiC電源仿真器!
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 韩国特黄毛片一级毛片免费 | 久久久久国产精品 | 欧美日韩 在线播放 | 96精品专区国产在线观看高清 | 精品午夜久久福利大片免费 | free俄罗斯性xxxx | 欧美日韩视频在线成人 | 成人午夜动漫在线观看 | 福利视频欧美一区二区三区 | 国产日韩精品一区二区三区 | 久久99热成人精品国产 | 欧美又粗又长 | 国内精品一区视频在线播放 | 免费在线视频日本 | 特级毛片aaaa级毛片免费 | 亚洲二区在线播放 | 四虎永久免费地址在线观看 | h在线国产 | 亚洲综合激情六月婷婷在线观看 | 成人情趣片免费看 | 女人与禽交视频免费看 | 欧美日韩免费 | 痴女勃起寸止榨干精在线播放 | 91高端极品外围在线观看 | 激情视频网址 | 亚洲日本中文字幕在线 | 69视频在线是免费观看 | 国产成人福利在线视频下载 | 91网址在线观看 | 国产淫语 | 黄色影视在线免费观看 | 肉大捧一进一出视频免费播放 | 激情影院网站 | 国产三片高清在线观看 | 大丈夫电视剧在线观看 | 男人女人的天堂 | 色婷婷亚洲精品综合影院 | 久久久国产免费影院 | 向日葵app在线观看 向日葵app看片视频在线观看 | 久草亚洲视频 | 在线观看亚洲免费 |