色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          U盤(pán)基本工作原理

          作者: 時(shí)間:2012-04-18 來(lái)源:網(wǎng)絡(luò) 收藏

          基本

          一、基本

          通用串行總線(xiàn)(Universal serial Bus)是一種快速靈活的接口,
          當(dāng)一個(gè)USB設(shè)備插入主機(jī)時(shí),由于USB設(shè)備硬件本身的原因,它會(huì)使USB總線(xiàn)的數(shù)據(jù)信號(hào)線(xiàn)的電平發(fā)生變化,而主機(jī)會(huì)經(jīng)常掃描USB總線(xiàn)。當(dāng)發(fā)現(xiàn)電平有變化時(shí),它即知道有設(shè)備插入。
          當(dāng)USB設(shè)備剛插入主機(jī)時(shí),USB設(shè)備它本身會(huì)初始化,并認(rèn)為地址是0。也就是沒(méi)有分配地址,這有點(diǎn)象剛進(jìn)校的大學(xué)生沒(méi)有學(xué)號(hào)一樣。
          正如有一個(gè)陌生人闖入時(shí)我們會(huì)問(wèn)“你是什么人”一樣,當(dāng)一個(gè)USB設(shè)備插入主機(jī)時(shí),,它也會(huì)問(wèn):“你是什么設(shè)備”。并接著會(huì)問(wèn),你使用什么通信協(xié)議等等。當(dāng)這一些信息都被主機(jī)知道后,主機(jī)與USB設(shè)備之間就可以根據(jù)它們之間的約定進(jìn)行通信。
          USB的這些信息是通過(guò)描述符實(shí)現(xiàn)的,USB描述符主要包括:設(shè)備描述符,配置描述符,
          接口描述符,端點(diǎn)描述符等。當(dāng)一個(gè)括入主機(jī)時(shí),你立即會(huì)發(fā)現(xiàn)你的資源管理器里多了一個(gè)可移動(dòng)磁盤(pán),在Win2000下你還可以進(jìn)一步從主機(jī)上知道它是愛(ài)國(guó)者或是朗科的。這里就有兩個(gè)問(wèn)題,首先主機(jī)為什么知道插入的是移動(dòng)磁盤(pán),而不是鍵盤(pán)或打印機(jī)等等呢?另外在Win2000下為什么還知道是哪個(gè)公司生產(chǎn)的呢?其實(shí)這很簡(jiǎn)單,當(dāng)USB設(shè)備插入主機(jī)時(shí),主機(jī)首先就會(huì)要求對(duì)方把它的設(shè)備描述符傳回來(lái),這些設(shè)備描述符中就包含了設(shè)備類(lèi)型及制造商信息。又如傳輸所采用的協(xié)議是由接口描述符確定,而傳輸?shù)姆绞絼t包含在端點(diǎn)描述符中。
          USB設(shè)備分很多類(lèi):顯示類(lèi),通信設(shè)備類(lèi),音頻設(shè)備類(lèi),人機(jī)接口類(lèi),海量存儲(chǔ)類(lèi).特定類(lèi)的設(shè)備又可分為若干子類(lèi),每一個(gè)設(shè)備可以有一個(gè)或多個(gè)配置,配置用于定義設(shè)備的功能。配置是接口的集合,接口是指設(shè)備中哪些硬件與USB交換信息。每個(gè)與USB交換信息的硬件是一個(gè)端點(diǎn)。因些,接口是端點(diǎn)的集合。
          U盤(pán)應(yīng)屬于海量存儲(chǔ)類(lèi)。
          USB海量存儲(chǔ)設(shè)備又包括通用海量存儲(chǔ)子類(lèi),CDROM,Tape等,U盤(pán)實(shí)際上屬于海量存儲(chǔ)類(lèi)中通用海量存儲(chǔ)子類(lèi)。通用海量存儲(chǔ)設(shè)備實(shí)現(xiàn)上是基于塊/扇區(qū)存儲(chǔ)的設(shè)備。
          USB組織定義了海量存儲(chǔ)設(shè)備類(lèi)的規(guī)范,這個(gè)類(lèi)規(guī)范包括4個(gè)獨(dú)立的子類(lèi)規(guī)范。主要是指USB總線(xiàn)上的傳輸方法與存儲(chǔ)介質(zhì)的操作命令。
          海量存儲(chǔ)設(shè)備只支持一個(gè)接口,即數(shù)據(jù)接口,此接口有三個(gè)端點(diǎn)Bulk input ,Bulk output,中斷端點(diǎn)
          這種設(shè)備的接口采用SCSI-2的直接存取設(shè)備協(xié)議,USB設(shè)備上的介質(zhì)使用與SCSI-2以相同的邏輯塊方式尋址

          二、 Bulk-Only傳輸協(xié)議
          當(dāng)一個(gè)U盤(pán)插入主機(jī)以后,主機(jī)會(huì)要求USB設(shè)備傳回它們的描述符,當(dāng)主機(jī)得到這些描述符后,即完成了設(shè)備的配置。識(shí)別出USB設(shè)備是一個(gè)支持Bulk-Only傳輸協(xié)議的海量存儲(chǔ)設(shè)備。這時(shí)應(yīng)可進(jìn)行Bulk-Only傳輸方式。在此方式下USB與設(shè)備之間的數(shù)據(jù)傳輸都是通過(guò)Bulk-In和Bulk-Out來(lái)實(shí)現(xiàn)的。
          在這種傳輸方式下,有三種類(lèi)型數(shù)據(jù)在USB和設(shè)備傳送,它們是命令塊包(CBW),命令執(zhí)行狀態(tài)包(CSW)和普通數(shù)據(jù)包。CBW是主機(jī)發(fā)往設(shè)備的命令。格式如下:
          其中dCBWSignature的值為43425355h,表示當(dāng)前發(fā)送的是一個(gè)CBW。
          DCBWDataTransferLength:表示這次CBW要傳送數(shù)據(jù)長(zhǎng)度。
          BmCBWFlags:表示本次CBW是讀數(shù)據(jù)還是寫(xiě)數(shù)所
          BBWCBLength:表示命令的長(zhǎng)度。
          CBWCB:表示本次命令內(nèi)容。也即是SCSI命令。
          當(dāng)設(shè)備從主機(jī)收到CBW塊以后,它會(huì)把SCSI命令從CBW中分離出來(lái),然后根據(jù)要求執(zhí)行,執(zhí)行的結(jié)果又以CSW的形式發(fā)給主機(jī)。
          CSW的格式如下:
          其中dCSWSignature的值為53425355h,表示當(dāng)前發(fā)送的是一個(gè)CSW。
          DCSWTag:必須和CBW中dCBWTag一樣。
          DCSWDataResidue:還要傳送的數(shù)據(jù)。
          BCSWStatue:命令執(zhí)行狀態(tài),命令正確執(zhí)行時(shí),為0。

          三、 SCSI命令集

          在Bulk-Only的命令塊包(CBW)中,有一段CBECB內(nèi)容,它就是SCSI命令塊描述符。其內(nèi)容如下:
          Operation Code:是SCSI命令操作代碼。
          Logical Block Address:邏輯塊地址,對(duì)U盤(pán)而言應(yīng)是扇區(qū)。前面已經(jīng)講過(guò):通用海量存儲(chǔ)設(shè)備是一個(gè)基于塊/扇區(qū)存儲(chǔ)的設(shè)備,因此在SCSI中要提供這個(gè)參數(shù)是很顯然的。
          transfer length:為要傳送的扇區(qū)數(shù)
          SCSI中直接存取類(lèi)型的存儲(chǔ)介質(zhì)的傳輸命令有很多,如:
          INQUIRY:其操作碼為12H
          Test Unit Ready:其操作碼為00H
          Format Unit:其操作碼為04H
          .......
          這里以INQUIRY命令為例:
          INQUIRY命令描述符如下:
          INQUIRY的結(jié)果是



          關(guān)鍵詞: U盤(pán) 工作原理

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉