www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于Flash的大容量高速數(shù)據(jù)記錄儀設(shè)計(jì)

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

  引言

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

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

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


圖 1:系統(tǒng)整體結(jié)構(gòu)圖圖

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

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

  系統(tǒng)軟件組成

  本系統(tǒng)的軟件部分包括應(yīng)用程序和系統(tǒng)程序,應(yīng)用程序主要是 AD 采集和讀寫Flash,見圖2,而系統(tǒng)程序就是應(yīng)用程序工作的軟件平臺(tái)。它由以下部分組成:系統(tǒng)引導(dǎo)程序、嵌入式操作系統(tǒng)linux 內(nèi)核、文件系統(tǒng)。

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

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

  軟件平臺(tái)固化在Nor Flash 中。根據(jù)軟件平臺(tái)的內(nèi)容 對(duì)Nor Flash 的地址空間進(jìn)行分區(qū),這里分三個(gè)區(qū),分別存放bootloader、Linux 內(nèi)核和文件系統(tǒng)。[!--empirenews.page--]

  NandFlash 驅(qū)動(dòng)設(shè)計(jì)

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

  按照 linux 下驅(qū)動(dòng)編寫規(guī)范編寫nand flash 驅(qū)動(dòng),其實(shí)主要工作就是實(shí)現(xiàn)下面這個(gè)結(jié)構(gòu)體中的函數(shù)。


  s3c2440_nand_drive 這個(gè)結(jié)構(gòu)體用于向內(nèi)核注冊(cè)Nand Flash 設(shè)備,它會(huì)被platform_driver_register 函數(shù)調(diào)用到。其中s3c2440_nand_probe 是最重要的,它完成對(duì)nand 設(shè)備的探測(cè)。


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

  NandFlash 讀頁操作函數(shù)

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

  NandFlash 寫操作

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


 


圖3:讀NandFlash 流程


圖4: 寫NandFlash 流程[!--empirenews.page--]


 

  NAND Flash 塊擦除

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

  測(cè)試結(jié)果

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

  結(jié)論

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

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

我們知道 Flash 讀時(shí)序里有五大子序列 CMD + ADDR + MODE + DUMMY + READ,前面的文章中痞子衡講過《串行NOR Flash的Continuous read模式》,Continuous r...

關(guān)鍵字: CMD ADDR Flash

Flash Memory 是一種非易失性的存儲(chǔ)器。在嵌入式系統(tǒng)中通常用于存放系統(tǒng)、應(yīng)用和數(shù)據(jù)等。在 PC 系統(tǒng)中,則主要用在固態(tài)硬盤以及主板 BIOS 中。

關(guān)鍵字: Flash 存儲(chǔ)器 嵌入式系統(tǒng)

(全球TMT2022年8月2日訊)7月28日,為期三天的2022全球閃存峰會(huì)(Flash Memory World)召開。期間,2022年閃存風(fēng)云榜榜單正式發(fā)布,憶聯(lián)一舉斬獲"十大閃存控制器企業(yè)金獎(jiǎng)"榮譽(yù)稱號(hào)。...

關(guān)鍵字: 控制器 PCIE 電腦 Flash

(全球TMT2022年6月28日訊)浪潮存儲(chǔ)基于大量的NAND測(cè)試數(shù)據(jù),在反復(fù)探索和實(shí)踐推理過程中發(fā)現(xiàn)了企業(yè)級(jí)固體硬盤普遍面臨三個(gè)挑戰(zhàn): 首先,NAND特性會(huì)影響數(shù)據(jù)的可靠性。例如NAND中未寫滿數(shù)據(jù)的塊因數(shù)據(jù)保...

關(guān)鍵字: NAND 閃存盤 電壓 Flash

因?yàn)榕_(tái)灣英語里把固體電容稱為Solid而得名。SSD由控制單元和存儲(chǔ)單元(FLASH芯片、DRAM芯片)組成。固態(tài)硬盤在接口的規(guī)范和定義、功能及使用方法上與普通硬盤的完全相同,在產(chǎn)品外形和尺寸上基本與普通硬盤一致(新興的...

關(guān)鍵字: 電容 SSD Flash

TD-SCDMA是英文Time Division-Synchronous Code Division Multiple Access(時(shí)分同步碼分多址)的簡稱,它是以我國知識(shí)產(chǎn)權(quán)為主的、被國際上廣泛接受和認(rèn)可的無線通信國...

關(guān)鍵字: TD-SCDMA HSPA+ 高速數(shù)據(jù)

摘要:闡述了NANDFLASH的工作原理和訪問方式,提出了一種基于51內(nèi)核單片機(jī)存儲(chǔ)、讀取NANDFLASH的實(shí)現(xiàn)方法,給出了K9F2G08UXA與單片機(jī)的接口電路,同時(shí)給出了對(duì)K9F2GO8UXA芯片進(jìn)行讀操作、頁編程...

關(guān)鍵字: 51內(nèi)核 NANDFLASH 塊擦除 頁編程

韓國首爾2021年11月9日 /美通社/ -- 今日,三星宣布成功開發(fā)出其業(yè)界首款基于14納米的下一代移動(dòng)DRAM -- LPDDR5X(低功耗雙倍數(shù)據(jù)速率5X),將引領(lǐng)超高速數(shù)據(jù)服務(wù)市場(chǎng)的增長。 三星成功開發(fā)LPDD...

關(guān)鍵字: 高速數(shù)據(jù) 超高速 三星

摘 要:為解決實(shí)驗(yàn)室某些海洋觀測(cè)類IO設(shè)備價(jià)格昂貴、體積較大、數(shù)量較少的問題,文中設(shè)計(jì)了一款I(lǐng)O設(shè)備模擬器。IO模擬器是一款模擬IO設(shè)備指令與相應(yīng)響應(yīng)的模塊,系統(tǒng)以STM32F103為主控制器件,將Keil MDK-AR...

關(guān)鍵字: 模擬器 STM32 Flash 設(shè)備學(xué)習(xí)

01前言嵌入式軟件中經(jīng)常要存儲(chǔ)一些非易失參數(shù),例如用戶設(shè)置、校準(zhǔn)參數(shù)、設(shè)備運(yùn)行參數(shù)等,通常情況下我們都會(huì)選擇存儲(chǔ)在EEPROM或者SPI-FLASH中。在削減成本考量的情況下,我們可以把存儲(chǔ)器省下來,參數(shù)存儲(chǔ)在內(nèi)部fla...

關(guān)鍵字: Flash 嵌入式

嵌入式軟件

15715 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉