<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于Flash的大容量高速數據記錄儀設計

基于Flash的大容量高速數據記錄儀設計

作者: 時(shí)間:2012-02-14 來(lái)源:網(wǎng)絡(luò ) 收藏

現今嵌入式存儲產(chǎn)品已滲透進(jìn)人們生活工作中的方方面面,從ATM 機到手持通訊設備。社會(huì )對嵌入式產(chǎn)品的性能也有越來(lái)越高的要求:,度,斷電保護,體積限制等等。當前的容量和速度普遍偏小。本文旨在研究一種的存儲容量達512MB ,它可以用于多路信號采集系統中。重點(diǎn)研究在嵌入式linux 系統平臺的架構下Nand 的存儲技術(shù)。

本文引用地址:http://dyxdggzs.com/article/149698.htm

引言

FLASH 是一種不揮發(fā)性?xún)却?,在無(wú)電流供應的條件下也能夠長(cháng)久地保持數據,相對于傳統的存儲介質(zhì)具有無(wú)可比擬的優(yōu)勢。目前主要的閃存分為兩類(lèi):Intel 首先開(kāi)發(fā)的NOR flash 和東芝發(fā)布的Nand。

Nor 的特點(diǎn)是芯片內執行。應用程序可以直接在閃存內運行。不必再把代碼讀到系統RAM 中。NOR 的傳輸效率很高,但是寫(xiě)入和擦除速度很低。Nandflash 存儲單元的讀寫(xiě)是以頁(yè)和塊為單位來(lái)進(jìn)行,這種結構最大的優(yōu)點(diǎn)在于容量可以做得很大,NAND 閃存的成本較低,有利于大規模普及。主要功能是存儲資料。故而現在碼相機閃存卡和MP3 播放器中存儲設備幾乎全部是NandFlash?,F在大部分的嵌入式設備廠(chǎng)商出于成本的考慮都選擇了NandFlash 作為存儲設備。這樣增加了軟件的復雜度,降低了系統效率而且也限制了Flash 容量。

結合兩類(lèi)閃存的優(yōu)缺點(diǎn),本文中我們選擇NandFlash 作為數據上午數據存儲器,norflash 作為數據記錄儀的程序存儲器。

圖 1:系統整體結構圖圖

圖 2:系統應用軟件流程

數據記錄儀整體包括兩塊,其部分是數據采集模塊一部分是數據存儲模塊,用TLC2578 芯片來(lái)實(shí)現數據采集AD 轉換,系統的調度核心是ARM 處理器,在這里使用S3c2440,ARM 主要負責核心處理和控制。存儲器負責程序和數據的存儲,其中Nand FLASH 存儲數據文件,Nor Flash 負責存儲bootloader,操作系統內核和文件系統,SDRAM 存儲系統運行時(shí)的程序和數據,ARM 通過(guò)GPIO 連接相關(guān)繼電器、觸發(fā)設備、輸出電壓控制設備、以及特定設備采樣A/D 并進(jìn)行驅動(dòng)。

S3C2440 是三星公司的ARM920T 的ARM 控制器:支持32 b 的AMBA 總線(xiàn)接口;帶有MMU,可以進(jìn)行Linux 操作系統的移植;支持大頁(yè)NAND 閃存控制器。NandFlash 芯片選用K9F4G08U0M,這是Samsung 生產(chǎn)的512 MB 的NAND Flash 存儲器。內部存儲結構為(2K+64)字節×32 頁(yè)×4 096 塊,NAND Flash 接口信號比較少,數據線(xiàn)寬度只有8bit,CLE 和ALE 兩個(gè)引腳信號用來(lái)區分總線(xiàn)上的數據類(lèi)型,沒(méi)有地址總線(xiàn)。Nor Flash 采用16MX16 位的E28F128J3A,NORFlash 接口與系統總路線(xiàn)完全匹配,16 個(gè)數據輸入輸出引腳,可以連接在系統總線(xiàn)上。NORFlash 有三個(gè)芯片片選引腳信號,選用

作為片選信號,與處理器

引腳相連。BYTE接高電平,表示Flash 在16 位數據傳輸模式下。

系統軟件組成

本系統的軟件部分包括應用程序和系統程序,應用程序主要是 AD 采集和讀寫(xiě)Flash,見(jiàn)圖2,而系統程序就是應用程序工作的軟件平臺。它由以下部分組成:系統引導程序、嵌入式操作系統linux 內核、文件系統。

系統引導程序負責將操作系統內核固化到Flash 中和系統初始化工作,然后將系統控制權交給操作系統。在本文里我們使用uboot 作為系統引導程序。嵌入式操作系統內核是嵌入式系統加電運行后的管理平臺,負責實(shí)時(shí)性任務(wù)和多任務(wù)的管理,這里選擇嵌入式linux 內核。

文件系統是對一個(gè)存儲設備上的數據和元數據進(jìn)行組織的機制。Linux 文件系統接口實(shí)現為分層的體系結構,從而將用戶(hù)接口層、文件系統實(shí)現和操作存儲設備的驅動(dòng)程序分隔開(kāi)。JFFS2 是專(zhuān)門(mén)針對嵌入式系統中的Flash 存儲器的特性而的一種日志文件系統。YAFFS2 支持大頁(yè)面的NAND 設備,并且對大頁(yè)面的NAND 設備做了優(yōu)化。

軟件平臺固化在Nor Flash 中。根據軟件平臺的內容 對Nor Flash 的地址空間進(jìn)行分區,這里分三個(gè)區,分別存放bootloader、Linux 內核和文件系統。

NandFlash 驅動(dòng)設計

NandFlash 驅動(dòng)程序框架

按照 linux 下驅動(dòng)編寫(xiě)規范編寫(xiě)nand flash 驅動(dòng),其實(shí)主要工作就是實(shí)現下面這個(gè)結構體中的函數。

s3c2440_nand_drive 這個(gè)結構體用于向內核注冊Nand Flash 設備,它會(huì )被platform_driver_register 函數調用到。其中s3c2440_nand_probe 是最重要的,它完成對nand 設備的探測。

Nand_scan 是在初始化nand 的時(shí)候對nand 進(jìn)行的一步非常好重要的操作,在nand_scan 中會(huì )對我們所寫(xiě)的關(guān)于特定芯片的讀寫(xiě)函數重載到nand_chip 結構中去,并會(huì )將mtd_info 結構體中的函數用nand 的函數來(lái)重載,實(shí)現了mtd 到底層驅動(dòng)的聯(lián)系。并且在nand_scan 函數中會(huì )通過(guò)讀取nand 芯片的設備號和廠(chǎng)家號自動(dòng)在芯片列表中尋找相應的型號和參數,并將其注冊進(jìn)去。

NandFlash 讀頁(yè)操作函數

NandFlash 讀數據操作以頁(yè)為單位,讀數據首先寫(xiě)入讀數據命令00H(如圖3),然后輸入要讀取頁(yè)的地址,接著(zhù)從數據寄存器中讀取數據,最后進(jìn)行ECC 校驗。

NandFlash 寫(xiě)操作

寫(xiě)操作其實(shí)就是對頁(yè)進(jìn)行編程命令。見(jiàn)圖4,首先寫(xiě)入80h 開(kāi)始編程模式,接下來(lái)寫(xiě)入地址和數據; 最后寫(xiě)入10h 表示編程結束。程序如下:

圖3:讀NandFlash 流程

圖4: 寫(xiě)NandFlash 流程

NAND Flash 塊擦除

本論文所用到的Nand Flash 的塊大小是32X(2k+64)Byte,整塊擦除。命令代碼流程:首先寫(xiě)入60h 進(jìn)入擦寫(xiě)模式,然后輸入塊地址,接下來(lái)寫(xiě)入D0h, 表示擦寫(xiě)結束。

測試結果

在測試 Nand Flash 的讀寫(xiě)速度時(shí),我們通過(guò)TFTP 將數據下載到RAM 中,Nand Flash 進(jìn)行讀、編程、擦寫(xiě)測試。這樣可以比較真實(shí)的測試Nand Flash 的讀寫(xiě)速度,測試結果表明從NandFlash 讀4MBbytes 的數據所用的時(shí)間是3886ms,向Nand Flash 寫(xiě)4Mbytes 數據所用的時(shí)間是14026ms,擦除NandFlash 中的4MByte 需要的時(shí)間是6 毫秒。這個(gè)速度還是比較理想的,完成對32 路AD 采集過(guò)來(lái)數據的實(shí)時(shí)存儲是足夠的。而且512MByte 的數據存儲空間對于數據記錄儀而言是一個(gè)非常大的容量。

結論

測試結果表明數據記錄儀存儲速度是比較理想的,完成對AD 采集過(guò)來(lái)數據的實(shí)時(shí)存儲是足夠的。而且512MByte 的數據存儲空間對于數據記錄儀而言是一個(gè)非常大的容量。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>