??? 摘? 要: 在目標(biāo)識(shí)別" title="目標(biāo)識(shí)別">目標(biāo)識(shí)別" title="雷達(dá)目標(biāo)識(shí)別" title="雷達(dá)目標(biāo)識(shí)別">雷達(dá)目標(biāo)識(shí)別">雷達(dá)目標(biāo)識(shí)別系統(tǒng)中,以大容量" title="大容量">大容量CF卡作為移動(dòng)存儲(chǔ)介質(zhì)" title="存儲(chǔ)介質(zhì)">存儲(chǔ)介質(zhì),,利用TI公司的DSP TMS320C5402把目標(biāo)識(shí)別結(jié)果以FAT16格式的文件用一種簡(jiǎn)化的低風(fēng)險(xiǎn)方式存放在CF卡中,。?
??? 關(guān)鍵詞: CF卡,;TMS320C5402;FAT16,;文件系統(tǒng)" title="文件系統(tǒng)">文件系統(tǒng)?
?
??? 在某機(jī)載雷達(dá)目標(biāo)識(shí)別系統(tǒng)的先期測(cè)試中,,需要大容量的存儲(chǔ)介質(zhì)對(duì)目標(biāo)識(shí)別結(jié)果進(jìn)行存儲(chǔ),以便進(jìn)行后期的分析,,同時(shí)要求能把數(shù)據(jù)安全方便地從存儲(chǔ)介質(zhì)中傳到PC機(jī)上,。為此,本文設(shè)計(jì)了利用TI公司的DSP TMS320C5402和CF卡實(shí)現(xiàn)大容量雷達(dá)目標(biāo)識(shí)別結(jié)果的安全存儲(chǔ)方案,,這樣得到的分析結(jié)果只需要一個(gè)讀卡器就可以方便地從CF卡中讀出,。即使文件系統(tǒng)出了錯(cuò),仍可以利用TMS320C5402把數(shù)據(jù)安全讀出,,這樣就避免了重做實(shí)驗(yàn)造成不必要的浪費(fèi),,降低了風(fēng)險(xiǎn),。?
1 雷達(dá)目標(biāo)識(shí)別板卡簡(jiǎn)介?
??? 用于測(cè)試的某機(jī)載雷達(dá)目標(biāo)識(shí)別板卡硬件功能框圖如圖1所示。?
?
?
??? 雷達(dá)目標(biāo)識(shí)別信息由CPCI總線傳輸至目標(biāo)識(shí)別板,,信號(hào)調(diào)理后再傳輸至目標(biāo)識(shí)別系統(tǒng),,由4片TS101對(duì)雷達(dá)目標(biāo)識(shí)別信息進(jìn)行識(shí)別,處理后的結(jié)果數(shù)據(jù)在FIFO中緩沖后,,由TMS320C5402控制寫(xiě)入CF卡,。整個(gè)系統(tǒng)的邏輯由CPLD EPM3256控制完成。?
2 CF卡與TMS320C5402硬件接口設(shè)計(jì)?
??? CF卡能支持三種接口訪問(wèn)模式:Memory Card模式,、I/O Card模式和True IDE模式,。由于True IDE模式和IDE接口硬盤(pán)的訪問(wèn)方式一致,都遵從ATA標(biāo)準(zhǔn),,考慮到以后可能會(huì)擴(kuò)展到用硬盤(pán)存儲(chǔ)目標(biāo)識(shí)別結(jié)果,故筆者采用的是True IDE模式,。CF卡和TMS320C5402硬件接口如圖2所示,。?
?
?
??? 在實(shí)際的電路中,地址譯碼和或門(mén)都在CPLD EPM3256中實(shí)現(xiàn),,其具體譯碼表如表1所示,。?
?
?
??? 在完成硬件接口后,C5402通過(guò)表2所示的譯碼地址對(duì)ATA寄存器進(jìn)行讀寫(xiě)(采用邏輯塊尋址,,具體參見(jiàn)參考文獻(xiàn)[1]),。?
?
?
3 CF卡的讀寫(xiě)和FAT16文件的創(chuàng)建?
3.1 CF卡的讀寫(xiě)?
??? CF卡的讀寫(xiě)以扇區(qū)為單位,每扇區(qū)為512B,,每次可讀寫(xiě)1個(gè)或多個(gè)連續(xù)的扇區(qū),。本文設(shè)計(jì)時(shí)使用邏輯塊尋址方式(LBA)訪問(wèn)CF卡數(shù)據(jù)。讀寫(xiě)操作時(shí)首先指定讀寫(xiě)的扇區(qū)數(shù)和LBA地址,,然后向命令寄存器發(fā)出讀命令(20H)或?qū)懨睿?0H),,等待CF卡就緒后,即狀態(tài)寄存器為58H時(shí)就可通過(guò)數(shù)據(jù)寄存器連續(xù)讀寫(xiě)數(shù)據(jù)了,,當(dāng)狀態(tài)寄存器變?yōu)?0H時(shí)完成一次讀或?qū)懖僮鳌?
3.2 FAT16文件系統(tǒng)原理?
??? 對(duì)于使用FAT16文件系統(tǒng)的CF卡,,應(yīng)由以下幾個(gè)分區(qū)組成:MBR區(qū)、DBR區(qū),、FAT區(qū),、FDT表、DATA區(qū),。MBR區(qū),,也是邏輯扇區(qū)0,它包含了CF卡的結(jié)構(gòu)信息,;DBR區(qū)存放FAT文件系統(tǒng)的重要參數(shù)和引導(dǎo)程序,;FAT區(qū)記錄著文件存放的位置信息,。在FAT16文件系統(tǒng)中,文件占用磁盤(pán)空間的基本單位是簇(cluster),。簇的大小為2的n次方個(gè)扇區(qū),,在筆者使用的CF卡中為32個(gè)扇區(qū),即16KB,。同一個(gè)文件的數(shù)據(jù)不一定完整存放在磁盤(pán)的一個(gè)連續(xù)區(qū)域內(nèi),,而往往分成若干個(gè)簇,采用鏈?zhǔn)酱鎯?chǔ),;FDT表記錄著根目錄下每個(gè)文件的文件名,、屬性、文件開(kāi)始簇號(hào)以及文件的長(zhǎng)度,;DATA區(qū)才是真正的存儲(chǔ)數(shù)據(jù)的地方,,其每個(gè)扇區(qū)與簇號(hào)有著一個(gè)對(duì)應(yīng)的關(guān)系。?
3.3 簡(jiǎn)化的低風(fēng)險(xiǎn)FAT16文件的創(chuàng)建?
??? 創(chuàng)建文件時(shí),,需要提供文件的文件名,、擴(kuò)展名、文件大小,。對(duì)于通常的寫(xiě)文件,,首先會(huì)檢測(cè)FDT表中是否已經(jīng)存在該文件,然后查找空閑的FDT表項(xiàng),,之后搜尋空閑簇,,并且將首簇填寫(xiě)到FAT表的起始簇中,同時(shí)修改下一簇號(hào),,直到最后一個(gè)簇寫(xiě)入0xFFFF,以表示文件結(jié)束,,最后將數(shù)據(jù)填寫(xiě)到每簇所對(duì)應(yīng)的數(shù)據(jù)扇區(qū)中。這種方法效率較低,,尤其是當(dāng)空閑簇不連續(xù),,會(huì)導(dǎo)致數(shù)據(jù)存儲(chǔ)不連續(xù);如果FDT表出現(xiàn)錯(cuò)誤則不易恢復(fù)數(shù)據(jù),。?
??? 在實(shí)際使用中,,筆者提出一種簡(jiǎn)化的低風(fēng)險(xiǎn)存儲(chǔ)方式。首先把卡格式化,,然后設(shè)置要寫(xiě)的文件大小為2MB,,屬性為.dat,文件名設(shè)為從1開(kāi)始,,寫(xiě)完一個(gè)文件之后自動(dòng)生成文件名為2的文件,。依次類(lèi)推,直到把卡寫(xiě)滿。由于之前卡里沒(méi)文件,,卡的空閑簇就是連續(xù)的,,這樣就不用去搜索空閑的FDT表和FAT表,數(shù)據(jù)在DATA區(qū)的存儲(chǔ)也是連續(xù)的,,提高了存儲(chǔ)效率,。如果FDT表出了問(wèn)題,DATA區(qū)的數(shù)據(jù)可不按文件格式而按邏輯扇區(qū)連續(xù)讀出,,從而降低了風(fēng)險(xiǎn),,流程如圖3所示。?
?
?
????? 本文描述了CF卡與TMS320C5402之間的接口設(shè)計(jì)以及FAT16文件系統(tǒng)原理和文件創(chuàng)建流程,。該系統(tǒng)目前已經(jīng)在某機(jī)載雷達(dá)目標(biāo)識(shí)別系統(tǒng)上調(diào)試成功,。由于采用的是1G的CF卡,該系統(tǒng)在傳輸速率為50KB/s的情況下可以工作數(shù)小時(shí),,存儲(chǔ)了大量的數(shù)據(jù),,并且很方便地把數(shù)據(jù)讀出進(jìn)行分析,即使在文件系統(tǒng)遭到損害的情況下,,只要卡的物理結(jié)構(gòu)沒(méi)被損壞仍可以連續(xù)讀出數(shù)據(jù),,真正實(shí)現(xiàn)了對(duì)大容量數(shù)據(jù)的安全存儲(chǔ)。?
參考文獻(xiàn)?
[1] CompactFlash Association.CF+ and CompactFlash Specification Revision 4.1,,2006.?
[2] Texas Instruments Inc..TMS320C54X系列DSP的CPU與外設(shè).清華大學(xué)出版社,2006.?
[3] Miguel Hernandez.CompactFlash Memory Card Interface to?the TMS320VC54x,,2001.?
[4] 鄧劍,,楊曉非,廖俊卿.FAT文件系統(tǒng)原理及實(shí)現(xiàn).計(jì)算機(jī)與數(shù)字工程,,2005,,33(9).