ic卡數(shù)據(jù)循環(huán)存儲(chǔ)以及文件管理

ic卡數(shù)據(jù)循環(huán)存儲(chǔ)以及文件管理

ID:25330707

大小:50.00 KB

頁(yè)數(shù):4頁(yè)

時(shí)間:2018-11-19

ic卡數(shù)據(jù)循環(huán)存儲(chǔ)以及文件管理_第1頁(yè)
ic卡數(shù)據(jù)循環(huán)存儲(chǔ)以及文件管理_第2頁(yè)
ic卡數(shù)據(jù)循環(huán)存儲(chǔ)以及文件管理_第3頁(yè)
ic卡數(shù)據(jù)循環(huán)存儲(chǔ)以及文件管理_第4頁(yè)
資源描述:

《ic卡數(shù)據(jù)循環(huán)存儲(chǔ)以及文件管理》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)

1、IC卡數(shù)據(jù)循環(huán)存儲(chǔ)以及文件管理.freel存儲(chǔ)器,在數(shù)據(jù)記錄系統(tǒng)中,用來(lái)保存當(dāng)前時(shí)刻以前一段時(shí)間內(nèi)的多組數(shù)據(jù)。使用時(shí)設(shè)計(jì)成首尾地址相接的環(huán)型存儲(chǔ)結(jié)構(gòu),實(shí)現(xiàn)數(shù)據(jù)文件的循環(huán)存儲(chǔ)。文章介紹循環(huán)存儲(chǔ)器的結(jié)構(gòu)、循環(huán)存儲(chǔ)的實(shí)現(xiàn)方法以及文件管理的過(guò)程;指出該方法的優(yōu)越性。關(guān)鍵詞:eeprom循環(huán)存儲(chǔ)i2c總線ic卡絕大多數(shù)的ic卡采用的都是i2c總線型的eeprom存儲(chǔ)器。在現(xiàn)場(chǎng)數(shù)據(jù)記錄系統(tǒng)中,經(jīng)常需要保存的是當(dāng)前時(shí)刻之前一段時(shí)間內(nèi)的數(shù)據(jù)。由于eeprom單字節(jié)寫(xiě)入時(shí)間太長(zhǎng),不易采用數(shù)據(jù)在存儲(chǔ)器中內(nèi)整體位置移動(dòng)的方法

2、管理;而單純采用自存儲(chǔ)器頂端向下順序?qū)懭氲姆椒?會(huì)出現(xiàn)存儲(chǔ)器寫(xiě)滿的現(xiàn)象。為解決這個(gè)問(wèn)題,我們?cè)O(shè)計(jì)了環(huán)型存儲(chǔ)的管理方法,使用首尾相接的存儲(chǔ)環(huán),配合以目錄管理功能,完成順的循環(huán)寫(xiě)入,實(shí)現(xiàn)了eeprom存儲(chǔ)器內(nèi)文件的的高效保存和管理。1存儲(chǔ)器及文件目錄結(jié)構(gòu)這里以1片4kb的i2c總線型eeprom為例。微處理器采用atmel的at89s52;eeprom的0000h~003fh作為ic卡內(nèi)文件的目錄管理區(qū),為直線結(jié)構(gòu);目錄區(qū)最多可以記錄30個(gè)數(shù)據(jù)文件。存儲(chǔ)器及目錄結(jié)構(gòu)如圖1所示。0040h~0fffh設(shè)計(jì)成首

3、尾相接的環(huán)型存儲(chǔ)結(jié)構(gòu),.freel的40h~7fh作為eeprom文件目錄區(qū)的映像,系統(tǒng)復(fù)位后由單片機(jī)將eeprm中0000h~003fh的內(nèi)容讀出并記入到該映像區(qū)。每一組現(xiàn)場(chǎng)數(shù)據(jù)作為一個(gè)記錄文件輸入后,單片機(jī)都要及時(shí)修改目錄映像中當(dāng)前文件的結(jié)束地址。每建立一個(gè)新文件記錄,映像區(qū)整個(gè)數(shù)據(jù)都要向地址增大方向移動(dòng)2個(gè)字節(jié),超出7dh的自動(dòng)丟棄。新建立的文件首位地址記入40h~43h,最后將該映像再重新寫(xiě)回到eeprom目錄區(qū)。文件目錄中只有當(dāng)前文件記錄了起始地址和結(jié)束地址。當(dāng)前文件的起始地址是前一文件結(jié)束地

4、址的下一個(gè)地址,因此在前文件只記錄其起始地址。目錄區(qū)沒(méi)有文件的空間用#0ffh填充。另外,每一個(gè)文件的長(zhǎng)度不應(yīng)超過(guò)文件數(shù)據(jù)存儲(chǔ)區(qū)的總長(zhǎng)度。單個(gè)文件的長(zhǎng)度越短,存儲(chǔ)器可存儲(chǔ)的文件數(shù)越多。存儲(chǔ)器的大小可視一般記錄文件和系統(tǒng)要求而定。2存儲(chǔ)器清除及文件建立在ic卡第一次使用之前,首先應(yīng)該通過(guò)功能程序?qū)⒖▋?nèi)目錄管理區(qū)清空,即將0000h~003dh寫(xiě)入#0ffh.。003eh寫(xiě)入#00h,表示卡內(nèi)沒(méi)有文件。003fh寫(xiě)入自定義的卡編寫(xiě),這一過(guò)程需要0.6s完成。只有使用經(jīng)過(guò)初始清除處理的ic卡,才能保證后續(xù)文件

5、建立和數(shù)據(jù)寫(xiě)入的正確性。文件的建立依賴于系統(tǒng)的功能指令。當(dāng)系統(tǒng)得到建立新文件的指令時(shí),立即啟動(dòng)新文件建立程序,完成文件起始地址配置以及目錄區(qū)管理,具體過(guò)程見(jiàn)圖2。圖23文件寫(xiě)入及目錄管理文件數(shù)據(jù)的寫(xiě)入按照i2c總線規(guī)約逐字節(jié)寫(xiě)入。特殊之處在于,每寫(xiě)完一個(gè)字節(jié)之后,地址指針加1,調(diào)整后的指針如果超過(guò)0fffh,則重新高速為0040h,這將意味著“吃掉“(覆蓋掉)最早建立的文件或其它在前文件。這里,通過(guò)目錄管理了程序找出被“吃掉”的文件,并將從目錄中刪除。由于在所選用存儲(chǔ)時(shí)已經(jīng)有效使存儲(chǔ)空間遠(yuǎn)大于單個(gè)文件的

6、長(zhǎng)度,因此不會(huì)出現(xiàn)同一個(gè)文件“吃掉”自身的情況。只有當(dāng)多個(gè)文件的總長(zhǎng)度超過(guò)存儲(chǔ)空間時(shí),才會(huì)出現(xiàn)在前文件被“吃掉”的現(xiàn)象。不過(guò),被吃掉的文件永遠(yuǎn)是最早形成的文件,是按照系統(tǒng)設(shè)計(jì)已經(jīng)可以丟棄的文件。目錄管理的主要功能是:實(shí)時(shí)統(tǒng)計(jì)ic卡內(nèi)實(shí)際文件的數(shù)量,記載新建立的文件,及時(shí)刪除已經(jīng)被覆蓋掉的文件。文件檢索過(guò)程只有目錄映像區(qū)進(jìn)行,根據(jù)文件目錄映像區(qū)的結(jié)構(gòu),讀出所有已記錄的在前文件的地址,與當(dāng)前文件地址比較。如果所檢查的在前文件地址進(jìn)入當(dāng)前文件首尾地址范圍內(nèi),則認(rèn)定為該文件已經(jīng)被當(dāng)前文件覆蓋,應(yīng)用從目錄中刪除。

7、由于存儲(chǔ)器空間被安排成環(huán)狀結(jié)構(gòu),會(huì)出現(xiàn)當(dāng)前文件的結(jié)尾地址大于開(kāi)始地址的情況,因此不能簡(jiǎn)單地根據(jù)地址的絕對(duì)大小判斷覆蓋問(wèn)題??紤]到單一文件的長(zhǎng)度遠(yuǎn)小于存儲(chǔ)數(shù)據(jù)空間,以及目錄映像區(qū)文件次序的前后排列關(guān)系,我們采取自前一文件到最早文件的次序檢索方法。如果遇到某個(gè)文件被覆蓋,則后續(xù)文件一定被覆蓋。由于在前文件的起始地址存在大于或小于當(dāng)前文件結(jié)尾地址的情況,因此應(yīng)分兩種情況進(jìn)行分析,統(tǒng)計(jì)出有效文件的數(shù)量并找到到被覆蓋的文件,將其從目錄中刪除,過(guò)程見(jiàn)圖3。r2為文件數(shù)量計(jì)數(shù)器,初值為零。圖3結(jié)語(yǔ)eeprom循環(huán)寫(xiě)入

8、的方法避免了大塊數(shù)據(jù)在存儲(chǔ)器內(nèi)移動(dòng)的問(wèn)題,同時(shí)消除了存儲(chǔ)器寫(xiě)滿后影響后續(xù)寫(xiě)入的問(wèn)題,充分使用了存儲(chǔ)空間;文件檢索和目錄修改在ram映像區(qū)完成,加快了程序運(yùn)行速度。循環(huán)寫(xiě)入方案在運(yùn)達(dá)公司一種記錄棋譜的電子棋盤(pán)中已經(jīng)得到了應(yīng)用,實(shí)用可靠。此方法在類似產(chǎn)品或記錄設(shè)備中具有相當(dāng)?shù)膶?shí)用價(jià)值。

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。