<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 大容量SD卡在海洋數(shù)據(jù)存儲(chǔ)中的應(yīng)用

          大容量SD卡在海洋數(shù)據(jù)存儲(chǔ)中的應(yīng)用

          作者: 時(shí)間:2010-06-14 來源:網(wǎng)絡(luò) 收藏
          2.2 1.x與2.0標(biāo)準(zhǔn)的識(shí)別

          由于HC的出現(xiàn),SD1.x滿足不了SDHC的容量要求,標(biāo)準(zhǔn)已經(jīng)升級(jí)為SD2.0。但也因此出現(xiàn)了許多電子設(shè)備無法驅(qū)動(dòng)的情況,如何識(shí)別SD1.x與SD2.0就顯得尤為重要。SD2.0的SPI模式初始化流程如圖3所示。



          判斷是否為SD2.0卡,CMD8(SD2.0新增的命令)是關(guān)鍵。若卡是SD2.0,則發(fā)送CMD8將會(huì)返回有效響應(yīng);若是SD1.x,則返回非法響應(yīng),這樣就可以識(shí)別的類型。

          SD1.x與SD2.0的最大不同在于命令地址的表示。SD1.x的地址單位是字節(jié),而SD2.0的地址單位是扇區(qū),地址仍然采用32位4個(gè)字節(jié)來表示。因此在讀寫操作時(shí)應(yīng)該根據(jù)不同的卡對(duì)地址進(jìn)行相應(yīng)的處理,若是SD1.x則寫入字節(jié)地址,若為SD2.0則寫入扇區(qū)地址。

          3 FAT32文件系統(tǒng)

          目前有3種FAT文件系統(tǒng):FAT12、FAT16和FAT32。它們的區(qū)別在于文件分配表(File Allocation Table,F(xiàn)AT)中每一表項(xiàng)的大小(也就是所占的位數(shù)):FAT12為12位,F(xiàn)ATl6為16位,F(xiàn)AT32為32位。本設(shè)計(jì)選擇FAT32文件系統(tǒng)。

          由于文件在硬盤上占用的器空間以簇為最小單位,F(xiàn)AT32文件系統(tǒng)不適合管理容量低于512 MB的器。簇如果太大,存儲(chǔ)小文件會(huì)浪費(fèi)大量的存儲(chǔ)空間;如果太小,F(xiàn)AT表會(huì)變大,不方便管理。綜合考慮,F(xiàn)AT32每簇大小為4 KB。

          3.1FAT32文件系統(tǒng)結(jié)構(gòu)

          FAT32文件系統(tǒng)可以分為以下幾部分;保留區(qū)(reserved region),存放FAT文件系統(tǒng)的重要參數(shù)和引導(dǎo)程序;FAT區(qū)(FAT region),記錄簇(cluster)的使用情況;根目錄區(qū)(root directory region),記錄根目錄信息,F(xiàn)AT32文件系統(tǒng)舍棄了這個(gè)區(qū),根目錄區(qū)可以指定為任意一個(gè)簇;文件目錄區(qū)(file and directory data region),是各種文件實(shí)際存放的區(qū)域。

          保留區(qū)中的BPB表從扇區(qū)0偏移11個(gè)字節(jié)開始,共占25字節(jié)。表2是格式化為FAT32文件系統(tǒng)的8 GB首扇區(qū)中讀出的BPB參數(shù)內(nèi)容。



          在保留區(qū)之后是FAT區(qū),存有文件分配表。一般文件系統(tǒng)中有2份文件分配表FAT1和FAT2,每份FAT表占用空間的大小可從BPB表中查得。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();