自在自线亚洲а∨天堂在线-中文字幕一区视频播放-扒开双腿猛进入喷水高潮叫声-欧美日本亚洲一区二区-老熟妇高潮偷拍一区二区-国产精品高清一区二区不卡-午夜色福利视频一区二区三区-亚洲国产成人精品福利在线观看-亚洲欧美成人一区二区在线电影

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
TMS320F206對(duì)基于FAT32文件系統(tǒng)IDE硬盤的文件操作
TMS320F206對(duì)基于FAT32文件系統(tǒng)IDE硬盤的文件操作
 更新時(shí)間:2008-8-3 15:57:36  點(diǎn)擊數(shù):9
【字體: 字體顏色



  向硬盤中寫入一個(gè)文件首先要做的就是在根目錄下建立文件的文件目錄項(xiàng),無論文件目錄項(xiàng)的存儲(chǔ)位置還是文件本身的存儲(chǔ)位置,都需要由系統(tǒng)在硬盤上查找空閑簇。找到這些空閑簇之后需要在FAT1中建立一個(gè)鏈表,并且在FAT2中備份。
  因?yàn)镕AT32文件系統(tǒng)管理的硬盤空間一般都比較大,所以如果從頭至尾逐個(gè)查詢每一簇是否空閑將浪費(fèi)很多時(shí)間。這里對(duì)FAT32特有的“文件系統(tǒng)信息”扇區(qū)加以利用:從BPB參數(shù)中可以找到該扇區(qū)在保留扇區(qū)中的位置,通常為第1扇區(qū)。該扇區(qū)中有一個(gè)重要的參數(shù):起始空閑簇號(hào),在該扇區(qū)的偏移量為1ECH,共占用4 B。其中的內(nèi)容為硬盤中被占用的簇的最大簇號(hào),如果該值是FFFFFFFFH,則表示系統(tǒng)對(duì)最大簇號(hào)不知情,那么尋找空閑簇只好從頭找起。當(dāng)然寫完文件后,要將這個(gè)參數(shù)的內(nèi)容變?yōu)楫?dāng)前值,并且在BPB參數(shù)的備份區(qū)中也要更新此參數(shù)。
  寫文件子程序所需變量除了已經(jīng)獲知的參數(shù)外,還定義了:當(dāng)前簇號(hào)(4 B),用于存儲(chǔ)寫入過程中當(dāng)前簇的簇號(hào);空閑簇號(hào)(4 B),用于存儲(chǔ)查找到的空閑簇號(hào);m(4 B),n(4 B),分別用來計(jì)數(shù)。由于程序結(jié)構(gòu)比較復(fù)雜,所以這里將這個(gè)子程序分為兩部分加以說明,分別是:利用起始空閑簇號(hào)和FAT查找空閑簇、在根目錄中建立目錄項(xiàng)和文件寫入。
  利用起始空閑簇號(hào)和FAT查找空閑簇,將空閑簇號(hào)和當(dāng)前簇號(hào)作為參數(shù)傳遞給子程序的后續(xù)部分,具體程序流程為圖2所示。在根目錄中建立目錄項(xiàng)和文件寫入的程序流程圖如圖3所示。





3.3 刪除文件
  刪除文件比較簡單,只需要找到文件目錄項(xiàng)所在位置將第一個(gè)字節(jié)變?yōu)?EH,然后將FAT中對(duì)應(yīng)的鏈表中各項(xiàng)清零即可。

4 TMS320F206對(duì)IDE硬盤的讀寫
4.1 電氣接口
  硬盤IDE接口用一條40線的電纜來轉(zhuǎn)接信號(hào),包括16根數(shù)據(jù)線(D0~D15),3根地址線(DA0~DA2)以及接口控制線(CS0,CS1,DIOW,DIOR,IORDY,INTRQ,IOCS16,DMARQ,DMACK,RESET)[3]。將16根數(shù)據(jù)線同TMS320F206芯片的數(shù)據(jù)線相連;CS0,CS1與地址線分別同DSP芯片的低5位相連;控制信號(hào)可以由時(shí)序電路產(chǎn)生。
4.2 直接讀寫IDE硬盤
  前文中講到了許多讀取硬盤的操作,對(duì)于怎樣具體直接讀寫IDE硬盤,這里只做一個(gè)簡單的介紹。
  IDE硬盤尋址 IDE硬盤是通過磁頭、柱面和扇區(qū)組織起來的,可以通過這3個(gè)參數(shù)來惟一的確定一個(gè)扇區(qū),這種尋址方式叫作物理尋址(CHS方式)。另外,為了尋址簡便,每一個(gè)扇區(qū)都有其對(duì)應(yīng)的邏輯地址(LBA),F(xiàn)AT32文件系統(tǒng)中的扇區(qū)地址都是采用的邏輯地址。
  PIO方式讀寫硬盤 對(duì)硬盤的操作是通過向硬盤的命令寄存器組中的寄存器寫入命令來實(shí)現(xiàn)的。硬盤控制器命令長度為7 B。其中前6 B為參數(shù),最后1 B為命令碼[3]! 
    讀命令的執(zhí)行 在硬盤驅(qū)動(dòng)器空閑的情況下,TMS320F206把操作碼發(fā)送到命令寄存器中,然后等待硬盤驅(qū)動(dòng)器發(fā)出的DRQ數(shù)據(jù)請求信號(hào),檢測到DRQ后,將DIOR和IOCS16信號(hào)置低,檢測IORDY信號(hào)是否有效,如09有效,則從數(shù)據(jù)線上讀取當(dāng)前數(shù)據(jù),然后繼續(xù)檢測IORDY信號(hào),再讀數(shù)據(jù),直到請求扇區(qū)的所有數(shù)據(jù)讀取完畢。
  寫命令同讀命令類似,只是在檢測到IORDY命令后將要寫入的數(shù)據(jù)送到數(shù)據(jù)線上。

5 本設(shè)計(jì)中的幾點(diǎn)技術(shù)細(xì)節(jié)
  (1)由于FAT中的所有數(shù)據(jù)的組織都是低位在前、高位在后,而DSP系統(tǒng)中處理數(shù)據(jù)恰好相反,所以在向硬盤讀取數(shù)據(jù)之后和寫入數(shù)據(jù)之前要進(jìn)行高低位的轉(zhuǎn)換。
  (2)雖然在FAT32的FAT中每個(gè)簇號(hào)都是由4 B共32位來表示,但是真正有效的只是低28位,所以在進(jìn)行簇號(hào)判斷之前最好先屏蔽高4位。
  (3)由于讀取硬盤數(shù)據(jù)的最小單位是扇區(qū),所以文中提到的提取某字節(jié)的內(nèi)容時(shí),要先將該字節(jié)所在扇區(qū)讀入,再取其內(nèi)容。
  以上幾點(diǎn)技術(shù)細(xì)節(jié)是筆者在實(shí)驗(yàn)中的體會(huì),在程序設(shè)計(jì)中這幾點(diǎn)不容忽視,否則會(huì)造成判斷錯(cuò)誤或程序繁瑣。

6 結(jié)語
  本設(shè)計(jì)實(shí)現(xiàn)了DSP芯片基于FAT32對(duì)IDE硬盤的文件操作,使得硬盤作為大數(shù)據(jù)量的存儲(chǔ)器件運(yùn)用到嵌入式系統(tǒng)并且實(shí)現(xiàn)了同PC機(jī)之間的數(shù)據(jù)兼容。由于建立文件系統(tǒng)的工作由Windows系統(tǒng)完成,所以大大減少了DSP芯片的工作量,主程序采用子程序調(diào)用的模式,使得程序結(jié)構(gòu)簡單且易于維護(hù)。
<--→參考文獻(xiàn)CH(開始)-->



  參考文獻(xiàn)


[1]FAT:GeneraloverviewofOn-disk format[M].Microsoft Corporation,1999:8-25.
[2]李剛.TMS320F206 DSP結(jié)構(gòu)、原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2002.
[3][德]Friedhelm Schmidt.SCSI總線和IDE接口:協(xié)議、應(yīng)用和編程[M].北京:中國電力出版社,2001.

[1]



  • 上一篇: 基于DSP的遠(yuǎn)程網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的實(shí)現(xiàn)
  • 下一篇: 怎樣用單片機(jī)驅(qū)動(dòng)LED數(shù)碼管顯示
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1