技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 嵌入式文件系統(tǒng)在觸摸屏中的應(yīng)用

嵌入式文件系統(tǒng)在觸摸屏中的應(yīng)用

時(shí)間:2009-12-28 16:20:17來源:yangliu

導(dǎo)語:?本文介紹在觸摸屏工業(yè)圖形顯示器系統(tǒng)中文件系統(tǒng)的設(shè)計(jì)和應(yīng)用。該系統(tǒng)采用嵌入式領(lǐng)域應(yīng)用最為廣泛的存儲(chǔ)設(shè)備-flash作為系統(tǒng)的存儲(chǔ)器,本文件系統(tǒng)是結(jié)合它的特性進(jìn)行設(shè)計(jì)的

摘  要: 32位微處理器芯片的出現(xiàn),使得嵌入式系統(tǒng)迅速發(fā)展。文件系統(tǒng)是操作系統(tǒng)的核心,本文介紹在觸摸屏工業(yè)圖形顯示器系統(tǒng)中文件系統(tǒng)的設(shè)計(jì)和應(yīng)用。該系統(tǒng)采用嵌入式領(lǐng)域應(yīng)用最為廣泛的存儲(chǔ)設(shè)備-flash作為系統(tǒng)的存儲(chǔ)器,本文件系統(tǒng)是結(jié)合它的特性進(jìn)行設(shè)計(jì)的。

關(guān)鍵詞: 嵌入式系統(tǒng); 文件系統(tǒng); Flash

1. 前言

  近幾年來,嵌入式操作系統(tǒng)得到飛速的發(fā)展,從支持8位微處理器到16位、32位甚至64位,從支持單一的微處理器芯片到支持多品種微處理器芯片,從只有實(shí)時(shí)內(nèi)核到除了內(nèi)核外還提供其它功能模塊如:高速文件系統(tǒng)、TCP/IP網(wǎng)絡(luò)系統(tǒng)、GUI系統(tǒng)等。嵌入式操作系統(tǒng)的文件系統(tǒng)是指嵌入式操作系統(tǒng)中文件的組織與管理結(jié)構(gòu),它是嵌入式操作系統(tǒng)的核心。從外部看來,文件系統(tǒng)是一組文件和目錄的操作。文件可以被讀寫,目錄可以被創(chuàng)建和刪除。而在內(nèi)部看,文件系統(tǒng)卻迥然不同。文件系統(tǒng)的設(shè)計(jì)者,必須考慮到存儲(chǔ)區(qū)如何分配以及系統(tǒng)如何記錄文件、使用了哪些塊等。文件系統(tǒng)的可靠性和性能也是一個(gè)重要問題。文件系統(tǒng)是操作系統(tǒng)的核心,不同的操作系統(tǒng)其文件系統(tǒng)也不盡相同,這主要體現(xiàn)在文件存儲(chǔ)空間的動(dòng)態(tài)分配機(jī)制上,各種文件系統(tǒng)各有自己的特點(diǎn)。本文將介紹基于嵌入式實(shí)時(shí)操作系統(tǒng)µCOS-II的嵌入式應(yīng)用實(shí)例中的文件系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)方法。

2.文件系統(tǒng)簡介

  目前嵌入式操作系統(tǒng)分商用和免費(fèi)兩種。在國內(nèi)市場占有率第一的商用操作系統(tǒng)是VxWorks,免費(fèi)的操作系統(tǒng)包括µCOS-II ,QNX和linux。由于商用操作系統(tǒng)價(jià)格昂貴,所以很多的研究機(jī)構(gòu)使用免費(fèi)操作系統(tǒng)。本嵌入式系統(tǒng)的操作系統(tǒng)采用的是對(duì)研究機(jī)構(gòu)免費(fèi)使用的µCOS-II。μC/OS-II是Jean Labrosse編寫的一個(gè)免費(fèi)的、源碼公開的嵌入式實(shí)時(shí)內(nèi)核。對(duì)于開發(fā)計(jì)算機(jī)嵌入式應(yīng)用產(chǎn)品來說是一個(gè)實(shí)用價(jià)值很高的實(shí)時(shí)嵌入式操作系統(tǒng)ERTOS。

  FAT(File allocation table)文件分配表,是一個(gè)應(yīng)用了幾十年的商業(yè)化軟件產(chǎn)品,其MS-DOS 文件系統(tǒng)技術(shù)成熟、結(jié)構(gòu)簡單、系統(tǒng)資源開銷小,易于在嵌入式系統(tǒng)的硬件平臺(tái)上實(shí)現(xiàn)。它不用于表示引導(dǎo)區(qū)、文件目錄表的信息,也不真正存儲(chǔ)文件內(nèi)容,只反映磁盤空間當(dāng)前的使用情況,是這個(gè)文件系統(tǒng)的核心。文件在磁盤的分布情況是以簇鏈的方式記錄在FAT中。每個(gè)文件都有自己的存儲(chǔ)簇,可以是連續(xù)的也可以是不連續(xù)的,通過FAT表來實(shí)現(xiàn)其完整性。

  JFFS2是為在嵌入式系統(tǒng)中使用flash存儲(chǔ)設(shè)備而專門設(shè)計(jì)的一種日志文件系統(tǒng),作為一種日志結(jié)構(gòu)的文件系統(tǒng),它的文件由一長串節(jié)點(diǎn)組成,每個(gè)節(jié)點(diǎn)包含文件的部分信息。垃圾收集技術(shù)是JFFS2的重要部分,其原理是當(dāng)需要增添新內(nèi)容時(shí),就在節(jié)點(diǎn)鏈表的末端添加新的節(jié)點(diǎn)、存儲(chǔ)新的內(nèi)容;若要修改文件的某部分,JFFS2將該部分標(biāo)記為廢棄,并在節(jié)點(diǎn)鏈表末端添加修改后的內(nèi)容。JFFS2如此不斷地在flash上添加新的內(nèi)容,當(dāng)flash上的存儲(chǔ)空間用完時(shí),系統(tǒng)就回收標(biāo)記為廢棄的空間,該過程就稱為垃圾收集。

3. Flash的特性

  Flash具有高密度和良好的存取速度等優(yōu)點(diǎn),是嵌入式領(lǐng)域應(yīng)用最為廣泛的存儲(chǔ)設(shè)備。 它在讀取方面與普通的SRAM 存儲(chǔ)器類似,一般可以實(shí)現(xiàn)完全隨機(jī)的讀取,最大的不同在于寫操作方面。Flash存儲(chǔ)器的寫操作需要經(jīng)過“擦除— 寫入”兩個(gè)操作過程。本系統(tǒng)使用的flash是sst39VF160型,如果希望對(duì)某一個(gè)單元進(jìn)行寫入時(shí),首先必須對(duì)這個(gè)存儲(chǔ)單元所在的扇區(qū)(Sector)或塊(Block)執(zhí)行擦除操作,擦除操作成功完成后,整個(gè)扇區(qū)或塊的數(shù)據(jù)內(nèi)容都被清空。一般被設(shè)置成0XFF;然后對(duì)目的單元所在的扇區(qū)或塊執(zhí)行寫入操作,這就意味著修改數(shù)據(jù)比單獨(dú)的寫和讀操作需要更多的時(shí)間。為了提高flash利用率,減少碎片,本系統(tǒng)定義了簇,它是寫操作的最小單位,并規(guī)定每簇占256type。Sst39VF160的大小是1M×16bit,分32個(gè)塊(Block,32kword),分512個(gè)扇區(qū)(Sector,2kword),包含8192個(gè)簇。

  Sst39VF160提供了Sector-Erase,Block-Erase和Chip-Erase三種擦除方式,Chip-Erase是把整個(gè)Flash擦除,內(nèi)容設(shè)置為1;Block-Erase和Sector-Erase分別以塊和扇區(qū)為單位刪除flash,而且flash的擦除次數(shù)是有限的。當(dāng)一個(gè)塊或扇區(qū)提前達(dá)到擦除次數(shù)的上限時(shí)將導(dǎo)致整個(gè)flash無法使用。通常上限為每個(gè)塊可擦除100000次。為了避免任意一個(gè)塊在其它塊之前達(dá)到這個(gè)極限,文件系統(tǒng)必須保證擦除次數(shù)在各擦除塊之間盡可能均勻分布,這一過程稱為“均衡磨損 (Wear Leveling) 。 ”

4.觸摸屏的簡介:

  觸摸屏工業(yè)圖形顯示器,簡稱觸摸屏,它是一種連接人和設(shè)備(主要是PLC)的人機(jī)界面(Human and Machine Interface/Man and Machine Interface ,簡稱HMI/MMI)。它是用來替代傳統(tǒng)的控制面板和鍵盤的智能化操作顯示器,是工業(yè)場合常用的操作臺(tái),一般用來連接PLC、變頻器等設(shè)備。


圖1 觸摸屏系統(tǒng)



  主要的功能包括:

  ·設(shè)備監(jiān)視功能 以數(shù)據(jù)曲線、圖形或動(dòng)畫的形式來反映設(shè)備的內(nèi)部狀態(tài);

  ·設(shè)備控制功能 通過觸摸操作來改變?cè)O(shè)備(如PLC的寄存器)的內(nèi)部寄存器,從而參與控制過程;

  · 數(shù)據(jù)記錄功能 通過標(biāo)準(zhǔn)的大容量CF卡存儲(chǔ)配方數(shù)據(jù),實(shí)時(shí)采樣的數(shù)據(jù)和歷史報(bào)警信息。

  通常,在上位機(jī)(pc)用組態(tài)軟件(HMI/MMI)設(shè)計(jì)控制系統(tǒng),然后將系統(tǒng)(包括系統(tǒng)文件、畫面文件、通訊協(xié)議等)下載到觸摸屏,此時(shí)PC和觸摸屏是上位機(jī)和下位機(jī)的關(guān)系。觸摸屏運(yùn)行時(shí)實(shí)時(shí)與PLC 通訊,根據(jù)情況讀寫PLC寄存器,并把寄存器值的變化在顯示器內(nèi)部以圖形、畫面、曲線等形式表現(xiàn)出來,此時(shí)觸摸屏和PLC是主機(jī)和從機(jī)的關(guān)系。

5.文件系統(tǒng)

  本論文嵌入式系統(tǒng)使用的CPU是三星的ARM7系列的S3C44B0,存儲(chǔ)器采用的是sst39VF160型flash,操作系統(tǒng)選用的是實(shí)時(shí)操作系統(tǒng)µCOS-II。該文件系統(tǒng)在基本結(jié)構(gòu)上與MS-DOS的FAT文件系統(tǒng)類似。本flash文件系統(tǒng)的基本結(jié)構(gòu)如表1所示:

表1 本Flash文件系統(tǒng)的結(jié)構(gòu)



  Flash的空間分配如表2:

表2 Fl ash 空間分配



  Flash前面的32k存放bootloader程序,bootloader程序是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。通過這段小程序,可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。

  簇表記錄了除文件首簇以外文件使用的所有簇的情況(文件的首簇使用情況記錄在文件分配表中),簇表的序號(hào)與文件所使用的簇號(hào)有一一對(duì)應(yīng)的關(guān)系。圖2給出了本文件系統(tǒng)中簇表和文件分配的關(guān)系,配合這個(gè)例子,可以清楚的了解簇表在文件系統(tǒng)中的作用及文件系統(tǒng)是如何利用簇表來完成工作的。例子中文件的起始簇號(hào)為4,占用4個(gè)簇的空間(第4簇到第7簇)。


圖2 簇表和文件分配的關(guān)系



  根據(jù)簇表可以知道某簇的使用情況,是使用還是未使用。在進(jìn)行文件操作時(shí),根據(jù)文件分配表中找到文件的起始簇,然后在簇表中查出鏈接簇號(hào)。簇表內(nèi)容見表3。

表3 簇表



  系統(tǒng)信息表:存放媒質(zhì)信息和最重要的文件系統(tǒng)信息。媒質(zhì)信息諸如flash存儲(chǔ)器的類型、容量,劃分成多少個(gè)區(qū)塊,每區(qū)塊包含多少個(gè)扇區(qū)等。文件系統(tǒng)信息包括版本信息、保留區(qū)塊的數(shù)目和位置、文件分配表和文件登記表所在的位置和大小、數(shù)據(jù)區(qū)域的位置和大小等。

  簇表:本flash系統(tǒng)定義256type為一簇,簇表存放著flash存儲(chǔ)器的簇的占用與空閑情況。FAT文件系統(tǒng)中有12 位、16 位、32位三種不同的FAT 格式??紤]到在微處理器上實(shí)現(xiàn)的方便及本系統(tǒng)使用的flash是16bit,所以將簇表固定為16位的格式。由于flash的前32k用來固定存放bootloader,簇表的前128項(xiàng)被閑置,現(xiàn)在用來存放系統(tǒng)信息表內(nèi)容。

  數(shù)據(jù)區(qū)域:用于存放文件的數(shù)據(jù)內(nèi)容。本flash文件系統(tǒng)中,數(shù)據(jù)分配的最小單位是簇,而扇區(qū)(sector)是一個(gè)基本擦除單位。

  本flash文件系統(tǒng)提供:文件系統(tǒng)的格式化,文件的打開、關(guān)閉、刪除、建立、讀、寫。針對(duì)系統(tǒng)的特點(diǎn)和需求,本文件系統(tǒng)未提供目錄訪問功能。

  文件系統(tǒng)運(yùn)行時(shí),首先上位機(jī)通過Jtag口把bootloader程序燒寫flash中,然后上位機(jī)通過RS232串口將系統(tǒng)下載到下位機(jī),下載過程中生成文件系統(tǒng)。簇表類似FAT格式,當(dāng)文件系統(tǒng)要建立文件時(shí),它總是首先進(jìn)入簇表,然后搜索簇表尋找可用簇,盡量找連續(xù)的可用簇(其簇表項(xiàng)值為0),并將該簇簇號(hào)作為該文件的起始簇號(hào)寫到文件分配表中的起始簇號(hào)項(xiàng)中,并將數(shù)據(jù)存入該簇中。如果一個(gè)連續(xù)空簇還未存下此文件則找下一個(gè)連續(xù)空簇,這樣就形成了一個(gè)簇鏈。前一個(gè)簇對(duì)應(yīng)的簇表項(xiàng)中總是記錄著下一個(gè)簇的簇號(hào),而在最后一個(gè)簇表項(xiàng)中填入文件結(jié)束標(biāo)志0xFFFF,訪問文件時(shí),順著這條扇區(qū)鏈就可以找到全部文件的內(nèi)容。

  為了解決flash存在先擦除再寫的缺陷和“均衡磨損”問題。本文件系統(tǒng)在修改某個(gè)畫面文件并下載到下位機(jī)時(shí),文件系統(tǒng)檢查到flash存在這個(gè)文件的舊數(shù)據(jù),這個(gè)時(shí)候,遵循先寫后擦除的原則。即在簇表尋找未使用的空簇,寫入新的文件數(shù)據(jù),同時(shí),修改簇表,將存放原來文件對(duì)應(yīng)的簇表項(xiàng)置0x1111(臟數(shù)據(jù)),自動(dòng)修改文件分配表,將該文件的起始簇由原來的簇號(hào)改為現(xiàn)在的簇號(hào)。雖然不能完全達(dá)到“均衡磨損”,但在一定程度上緩解了這個(gè)問題,滿足實(shí)際的需求。當(dāng)文件比較多而flash的空間緊張時(shí),借鑒JFFFS2文件系統(tǒng)的垃圾集回收技術(shù)的思想,規(guī)定當(dāng)空的扇區(qū)數(shù)少于6個(gè),激活一個(gè)任務(wù),開始回收臟空間,始終保證系統(tǒng)有至少6個(gè)扇區(qū)的空間使用。

6.結(jié)論

  本文件系統(tǒng)針對(duì)flash本身先擦除再寫的缺陷和“均衡磨損”的特性,同時(shí)結(jié)合了FAT文件系統(tǒng)和JFFF2文件系統(tǒng)的特點(diǎn),實(shí)現(xiàn)了對(duì)文件的組織與管理,保證了系統(tǒng)的正常運(yùn)行。

  本文件系統(tǒng)應(yīng)用于觸摸屏產(chǎn)品當(dāng)中,實(shí)際運(yùn)行效果良好,同時(shí),也可以作為其他嵌入式文件系統(tǒng)的參考。

[參考文獻(xiàn)]

  [1].李桂良,劉發(fā)貴,JFFS2文件系統(tǒng)的關(guān)鍵技術(shù)及其在嵌入式系統(tǒng)的應(yīng)用,計(jì)算機(jī)應(yīng)用,2003年7月

  [2] 董明,劉加等,適宜于嵌入式多媒體應(yīng)用的Flash文件系統(tǒng),電子技術(shù)應(yīng)用,2002年第9期

  [3] Jean J.Labrosse 著,邵貝貝等譯,嵌入式實(shí)時(shí)操作系統(tǒng)µCOS-II ,北京航空航天大學(xué)出版社,2003年5月

  [4] sst39VF160技術(shù)手冊(cè)

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:基于VxWorks嵌入式操作系統(tǒng)的...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)