標(biāo)題: FAT16/32學(xué)習(xí)筆記 [打印本頁]

作者: aabbcc    時(shí)間: 2014-11-22 15:44
標(biāo)題: FAT16/32學(xué)習(xí)筆記
   原先是用RAMTRON的鐵電作為存儲單元,數(shù)據(jù)量有限,如果數(shù)據(jù)量大上去就要增大容量,價(jià)格昂貴。外掛一個(gè)海量存儲上GU盤。有專用的USB HOST芯片,譬如FTDI新出品的VNC1L家族芯片,資料少,全是E文;國內(nèi)的南京沁恒,CH375芯片。出于節(jié)省開發(fā)時(shí)間的原則考慮,直接選用南京沁恒的基于CH375 這款USB HOST芯片的U盤讀寫模塊。MCUU盤模塊之間是三線制異步串口通訊。
  硬件連接U盤模塊的16pin9pinINT#)——GND15pin14pinSTA#)——+5V,12pinSIN)——TXD(MCUMAX232),11pin(SOUT)——RXD(MCUMAX232)。具體參考南京沁恒資料。
    U盤讀寫模塊一開始運(yùn)行CH37XDL.EXE模塊參數(shù)設(shè)置文件,設(shè)置成三線異步串口,數(shù)據(jù)的字節(jié)順序?yàn)榇蠖四J剑ㄐ《四J綄τ谝?font face="Times New Roman">MCU作為訪問來說不方便),U盤插拔時(shí)自動(dòng)中斷通知,添加數(shù)據(jù)后自動(dòng)更新文件長度(實(shí)際做還是連續(xù)保存幾次數(shù)據(jù)后再程序自動(dòng)更新,否則數(shù)據(jù)每變動(dòng)一次就更新文件長度,FLASH擦寫10W次后就OVER了,延長使用壽命),看門狗數(shù)據(jù)間隔超時(shí)啟動(dòng),默認(rèn)的BAUD除數(shù)是120,只有4800的波特率,改為60,調(diào)試時(shí)是9600,以后正式做改為10,使通信波特率為57600),然后點(diǎn)擊“重新配置模塊”,將新參數(shù)燒錄進(jìn)去。
  因?yàn)楸颈緵]有COM口,以前用FT232BL自制一個(gè)VCP電路出來,現(xiàn)在用深圳埃網(wǎng)通的MS1001S的串口服務(wù)器虛擬了個(gè)串口出來,插上U盤測試。然后用南京沁恒的模塊調(diào)試V1.5摸索測試。
  插上U盤,串口自動(dòng)接收到0x15,查CH375HM.H頭文件里的定義是#define ERR_USB_CONNECT 0x15,即是檢測到USB設(shè)備連接事件磁盤已連接,拔掉接收到0x82,是ERR_DISK_DISCON,磁盤斷開或尚未連接的狀態(tài)碼。
  點(diǎn)擊DISKSIZE命令,#define CMD_DiskSize 0x72,串口發(fā)送0x57 0xAB 0x72 0x00,
0x57 0xAB是三線制時(shí)的同步碼,3+1串口模式通訊時(shí)有STA#線通知MCU是命令還是數(shù)據(jù)。
手頭正好有個(gè)KINGMAX2G U盤,DISKSIZE命令發(fā)出后,返回的數(shù)據(jù)是0x00 0x04 0x00 0x3c 0x3F 0XFF,其中第一個(gè)0x00代表命令發(fā)送狀態(tài)成功,第二個(gè)0x04代表返回的參數(shù)有4個(gè)字節(jié),接下來的4個(gè)字節(jié)的參數(shù)0x003C3FFF是該物理磁盤的總扇區(qū)數(shù),每扇區(qū)通常為512字節(jié),即該U盤總空間物理容量是(0x3C3FFF+1)*512 = 2,021,654,528。即是通常所說2G容量U盤。
為驗(yàn)證,把U盤插上電腦,用專業(yè)的WINHEX 15.1 SR-8軟件查看該U盤的一些基本物理信息,如圖(1)所示。Total Capacity 2,021,654,528 bytes,與使用U盤讀寫模塊DISKSIZE查詢后的信息一致。另外借助專業(yè)的WINHEX分析軟件,開始全面了解FAT16/FAT32文件系統(tǒng)存儲機(jī)制。


作者: aabbcc    時(shí)間: 2014-11-22 15:48


通過MCU訪問U盤,將數(shù)據(jù)存入U(xiǎn)盤,而后上位機(jī)通過專門的軟件再讀取保存的歷史數(shù)據(jù),由于牽涉到FAT16和FAT32的,NTF格式?jīng)]研究,研究了三天,發(fā)現(xiàn)蠻好玩的,借助于專業(yè)的分析軟件WINHEX,根據(jù)那些數(shù)值破譯那些文件信息,真是蠻好玩的,尤其是了解知道FAT文件機(jī)制后,不借助專門的數(shù)據(jù)恢復(fù)軟件,自己手動(dòng)修改其中的一些數(shù)值信息,就能恢復(fù)剛刪除的文件,蠻有成就感的,呵呵。

鑒于QQ日志這個(gè)破落戶排版和粘帖回復(fù)圖片的極大不方便,咨詢了田陽后準(zhǔn)備自己租個(gè)BLOG虛擬主機(jī),再用WORDPRESS自己設(shè)計(jì)個(gè)個(gè)性BOLG,呼呼。QQ空間就跟它88了

作者: 夢追逍遙10    時(shí)間: 2014-12-3 20:20
不錯(cuò)不錯(cuò),加油
作者: 554323er    時(shí)間: 2014-12-18 22:36
想學(xué) 想學(xué) 想學(xué)




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1