USB通信技術
- 期刊名字:北京廣播學院學報(自然科學版)
- 文件大小:402kb
- 論文作者:張希英,樊光輝,李傳珍
- 作者單位:北京廣播學院
- 更新時間:2020-10-30
- 下載次數(shù):次
552004年12月.北京廣播學院學報(自然科學版)Dece.2004第11卷第4期JOURNAL OF BEIJING BROADCASTING INSTITUTEVol.11 ,No.4( SCIENCE AND TECHNOLOGY )USB通信技術張希英樊光輝李傳珍(北京廣播學院信息工程學院北京100024)摘要:本文講述了USB通信技術。首先敘述了采用USB總線的優(yōu)點及其協(xié)議規(guī)范版本變動再次描述了USB系統(tǒng)的結構、通信數(shù)據流模型接下來詳細講述了USB的通信傳輸基礎兩種通信方式控制傳輸、中斷傳輸、批量傳輸、同步傳輸四種傳輸類型以及USB設備的枚舉過程。最后是關于USB設備端固件程序的設計思想并以PDIUSBD12為例給出了固件程序設計流程圖。關鍵詞:USB事務;傳輸枚舉中圖分類號:TN911文獻標識碼 A文章編號:1007- 8819( 2004 )4 - 0055-111概述2規(guī)范的版本不管是計算機還是連接的外圍設備,在新品USB有多種規(guī)范的版本經過多次版本的更開發(fā)時保持兼容性是必須的考慮。即使是革命性新后,USB1.0發(fā)表于1996 年1月。USB1.1 則的新外圍設備,也必須使用到所連接計算機提供修訂了1.0版本的問題,并且新增-個新的傳輸?shù)慕涌?。當設計一個外圍設備的接口時,下列是.類型(中斷傳輸2 USB2.0在 2000年4月發(fā)表,該外圍設備應該具備的特性:新增了高速模式。對于支持USB1.1規(guī)范的設備.●穩(wěn)定性:具備自動查錯與除錯的功能使錯最高傳輸率可達12Mb/s而支持USB2. 0規(guī)范的誤的發(fā)生率幾乎為零。設備最高速率可達480Mb/so●便宜讓大部分的用戶都有能力購買●省電在便攜式計算機上節(jié)省電池的消耗。3 USB 系統(tǒng)結構, 有彈性:讓許多不同種類的外圍設備都可以使用這個接口。●一個USB系統(tǒng)主要被定義為三個部分:●快速此接口不可以成為傳輸?shù)钠款i?!馯SB的互連;●容易使用:用戶容易安裝、設置與使用?!馯SB的設備;●操作系統(tǒng)的支持:如果操作系統(tǒng)支持此接●USB的主機??陂_發(fā)者就不必要自行開發(fā)底層的驅動程序來中國煤化工設備與主機之間進行使用此接口。YHCNMHG據在USB主機與USBUSB就是一個符合上述所有條件所開發(fā)出設備之間的流動。在任何USB系統(tǒng)中,只有一個來的最新外圍設備接口。主機。USB和主機系統(tǒng)的接口稱作主機控制器,主機控制器可由硬件、固件和軟件綜合實現(xiàn)。收稿日期2004-06-08USB的主機通過主機控制器與USB設備進行交56北京廣播學院學報(自然科學版)第11卷互。圖1展示了USB通信模型之間基本的信息流與互連關系:客戶功能部件↑USB系統(tǒng)USB設備主機控制器USB總線接口0W2O邏輯的信 息流+→實際的信 息流態(tài)查詢和控制命令的發(fā)送,也可用于用戶自定義4USB通信基礎的命令的發(fā)送。中斷傳輸:用于小批量的點式的,非連續(xù)性的數(shù)據傳輸?shù)膱龊?它是低速設備可以傳輸數(shù)據4.1傳輸基礎的唯一方法。USB通信可以分為兩類:配置通信、應用通批量傳輸用于批量的非實時的數(shù)據傳輸,信。在配置通信中主機通知設備然后使它準備即那些需要一次傳 輸較多的數(shù)據,但傳輸過程對好交換數(shù)據。大部分這類通信發(fā)生在上電或連接時間要求不嚴格的傳輸類型。時主機檢測到外設的時候。應用通信出現(xiàn)在主機同步傳輸:適用于那些要求數(shù)據連續(xù),實時的應用程序與一個檢測到的外設交換數(shù)據的時的,以固定的數(shù)據率產生傳送的場合。候。這些是實現(xiàn)設備目的的通信。例如:對鍵盤傳輸( transfers )和事務( transactions )是經常來說應用通信是發(fā)送按鍵數(shù)據給主機,告訴-一個提到的兩個概念分清這兩個概念是設計USB外應用程序顯示-個特性或執(zhí)行其他動作。設的關鍵。傳輸是指一次完整的發(fā)出請求到該請求被完整的處理結束的整個過程。事務是傳輸中4.2傳輸類型的一個基本元素或者叫-個傳輸?shù)膬冉K。USB共有四種類型傳輸方式:分別為控制傳每一次傳輸由一個或多個事務組成。事務又由包輸中斷傳輸,批量傳輸和同步傳輸??刂苽鬏?組成而包還包含-個包識別器( PID),-個錯誤用于主機對USB外設的配置,,對USB設備的狀校驗位以及有時還有其他信息。如圖2所示。傳輸事務中國煤化工記號包數(shù)據包jMYHCNMHGPID其他信息CRC圖2第4期張希英等:USB通信技術.57事務按照它們的目的和數(shù)據流方向可以分為段有主機發(fā)出SETUP令牌然后主機又發(fā)出數(shù)三種類型SETUP事務、IN事務、OUT事務。它據包,由該數(shù)據包指出本次請求的具體的內容。們都是由一個令牌階段,一個數(shù)據階段和一個握.在握手階段指出本次事務是否成功。各種事務的手階段組成。對于SETUP事務來說,在令牌階組成如圖3所示??偩€空閑SETUPDATAOpATAO或DATA1NAKSTALLDATAO或DATA1NAK STALLACK一+總線空閑一總線空閑- +總線空閑SETUP事務IN事務OUT事務圖3IN事務是從一個設備接收數(shù)據,OUT事務壓。集線器端口的兩根信號線(D+和D- )的每是發(fā)送數(shù)據給其他一個設備。( IN和OUT事務-根都有一個15k的下拉電阻,而一個設備在D的命名是從主機的角度出發(fā)的,在一個IN事務+(為全速設備)和D-(為低速設備)都有一個中數(shù)據是從外設傳輸?shù)闹鳈C的在一個OUT事1.5k的上拉電阻。當一個設備插入到一個端口務中數(shù)據是從主機傳輸?shù)酵庠O的。在一個Setup中時,設備的上拉電阻使信號線為高使得集線器事務中數(shù)據也是從主機傳輸?shù)酵庠O的,但一個可以檢測到一個設備連接.上了。Setup事務是一個特殊情況,因為它啟動一個控4.3.3主機知道了這個新設備制傳輸。任何事務都可以用IN或OUT事務,但每個集線器使用它的中斷流程來報告發(fā)生在只有控制傳輸可以使用Setup事務。在應用程序可以與一個設備通信之前主機集線器上的事件。當主機知道了這個事件,它給需要知道設備支持哪些傳輸類型和終端。主機也集線器發(fā)送一個Get_ Port_ Status 請求來了解更必須分配一個地址給設備。主機通過一個被稱為多的知識。返回的信息告訴主機--個設備是什么時候連接的。枚舉的信息交換來完成這些工作。4.3.4集線器重 新設置這個設備4.3 USB 設備的枚舉過程當主機知道有-一個新的設備時,主機控制器枚舉是使得主機的設備驅動程序能與這個設給集線器發(fā)送一一個 Set_ Port_ Feature 請求,請求備通信的最基本的信息交換。該過程可以由以下集線器來重新設置端口。集線器使得設備的動作完成:USB數(shù)據線處于重啟狀態(tài)至少10ms4.3.1一個設備連到一個 USB端口4.3.5_ 集線器在設備和總線之間建立一個或者系統(tǒng)上電時有一個設備已經插入到一個中國煤化工端口中了。這個端口可以在主機的根集線器上或MHCNMHG_ Port_ Status請求來者在連接主機下游的集線器上。集線器正常給這驗證設備是否激起重啟狀態(tài)。返回的數(shù)據的一位個端口供電這個設備正處于上電狀態(tài)。表示設備是否仍然處于重啟狀態(tài)。當集線器已經4.3.2集線器檢測到這個設備釋放了重啟狀態(tài),設備就處于默認狀態(tài)了。設備集線器監(jiān)視著它的每一個端口的信號線的電的USB寄存器已經處于它們的默認狀態(tài),設備已58北京廣播學院學報(自然科學版)第11卷經準備好通過終端0的默認流程來響應控制傳統(tǒng)INF文件中的信息中的銷售商和產品ID、發(fā)布輸。設備現(xiàn)在可以能與主機通信,使用默認地址號和類信息相匹配。在驅動程序被載入以后,它0h。經常請求設備來重新發(fā)送描述符或者發(fā)送應用于這個設備的類描述符。4.3.6集線器檢測設備速度或者在重啟之前或者在重啟之后集線器通4.3.11主機的設 備驅動選擇一個配置過檢查兩個信號線的電壓來檢測設備的速度。集在從描述符了解了設備后,設備驅動程序發(fā)線器通過測試那根信號線在空閑時有更高的電壓送一個Set_Configuration命令來請求希望的配來檢測一個設備的速度。集線器發(fā)送信息給主置號。設備讀取這個請求并且設置它的配置來匹機,以響應下一個Get_ Port_ Status 請求。配它。設備現(xiàn)在處于配置狀態(tài)并且設備的接口4.3.7主機發(fā)送 一個Get_ Descriptor 請求來已經被使能。主機枚舉是通過給端點0發(fā)送包含標準獲取默認流程的最大包的大小主機發(fā)送請求給設備地址0、終端0。因為主USB請求的控制傳輸.所有的USB設備必須支機-次只列舉一個設備,只有一個設備將響應尋持控制傳輸標準USB請求和端點0。對一一個成址設備地址0的通信。最大包的大小是這個描述功的枚舉來說,設備必須對每一個請求響應返回符的第8位,因此主機只需要讀取頭8B。-個請求的信息以及采取其他請求的動作。USB設Windows主機請求64B但在僅接收-一個包后它備的枚舉過程是在缺省的控制管道進行的每-就開始了狀態(tài)階段。在完成狀態(tài)階段時,主機請步都是在控制傳輸?shù)腟ETUP階段提出請求的。求集線器來重啟這個設備。這里不需要重啟,因而具體的請求在SETUP事務的數(shù)據階段中,用為設備應該可以用響應下--個設置階段的動作來戶可讀取并根據USB協(xié)議來分析該請求然后根處理任何時候的主機放棄-個控制傳輸情況。據分析的結果進入該控制傳輸?shù)臄?shù)據階段。在USB設備的枚舉過程中,主機要讀取USB設備4.3.8主機分配一 個地址的設備描述符配置描述符接口描述符和端點描主機控制器通過發(fā)送一個Set_ Address 請求述符。來分配一個單獨的地址給設備。設備讀取這個請求返回一個確認并且保存新的地址。這個設備5固件設計現(xiàn)在處于一個地址狀態(tài)。從這現(xiàn)在開始的所有通信使用這個新地址。為了實現(xiàn).上述的枚舉過程在設備端需要固件4.3.9主機知道了設備的能力程序的支持。下 面以PDIUSBD12為例講述- -下主機給新地址發(fā)送- 一個Get_ Descriptor 請求固件的設計方法。PDIUSBD12 的固件設計成完來讀取這個設備描述符這次讀取整個部分。全的中斷驅動,當PDIUSBD12 檢測到有相應的這個描述符是-個數(shù)據結構包括終端0的最事務發(fā)生時就中斷CPU處理器調用中斷服務程大包的大小,設備支持的配置號,以及關于這個設備的其他信息。主機把這些信息應用在其后的通D12的固件程序可采用圖4的積木式結構:信中。主機然后通過請求在設備描述符規(guī)定的一主程序 檢查中斷源、處理USB總線事件等等個或多個配置描述符來了解這個設備。中國煤化工廠商請求.4.3.10主機分配和載入一 個設備驅動FYHCNMHG_中國服務程序在主機已經從它的描述符中知道了能夠知道的所有信息后,它開始在一個設備啟動中查找最PDIUSBD12命令接口合適的匹配來管理與設備的通信。在選擇- - 個驅硬件抽象層動時,Windows盡量去與從設備得到的、保存在系圖4第4期張希英等:USB通信技術.59硬件抽象層這是固件中的最低層代碼,它執(zhí)標志位。在讀取D12的數(shù)據后.先要利用行對PDIUSBD12和硬件與I/O相關的訪問。當Acknowlege命令對主機進行回應,然后再清除與其它CPU平臺接口時這部分代碼需要修改或D12的緩存。這兩個命令處理順序不能交換,因增加。為在沒有回應主機前不能夠清除掉D12的緩存,PDIUSBD12命令接口利用這些命令實現(xiàn)對這樣就不能接收新的數(shù)據。D12的控制。開始中斷服務程序:處理USB的各種事務。這是固件程序設計的重點,當D12接收到主機交換數(shù)↓據的中斷請求時D12便中斷CPU進入中斷服務程序。在中斷服務程序中首先檢查引起中斷的中標志位清零斷源進入相應的處理程序進行中斷處理。標準請求:USB設備必須對這11種標準請求做出響應這11種標準代碼可以查詢設備的能Select Control Out力和狀態(tài)以及選擇配置。當收到請求時程序通Endpoint過解析接收到的請求把要發(fā)送的數(shù)據存放到發(fā)送緩沖器中。設備不必執(zhí)行每一個請求;它只需要以一種可以理解的方式對請求做出響應。Read Buffer.廠商請求:一個供應商也可以與特定設備進行的傳輸控制而定義請求。主程序完成D12的初始化。在USB通信過程中需要處理多種事務,有些.Acknowledge aSetup事務的處理需要特別注意,設計者往往忽視下面on Control In and .分別介紹。Control Out5.1 D12初始化過程1.D12的中斷寄存器清零Clear Buffer2. Set Address Enable3. Set Endpoint Enable4. Disconnect保存bmRequestType.5.延時1~2秒鐘bRequest、wValue、6.ConnectwLength5.2 Setup Transaction 處理流程對于Setup Transaction 的處理需要注意,在讀取D12的FIFO數(shù)據前必須要選擇端點,為了調用數(shù)據包角析函數(shù)使以后的SetupPacket數(shù)據包能夠被接收要用中國煤化工Acknowledge Setup命令使能Control In 和MHCNMHG_Control Out端點。當D12接收到一個數(shù)據包時結束一個內部端點緩存滿標志有效。后續(xù)的數(shù)據包將不能夠被接收必須通過ClearBuffer命令來清除60北京廣播學院學報(自然科學版)第11卷. 5.3 Control In Transaction處理流程Control In handler標志位清零< 發(fā)送標志位有效?二es," 發(fā)送0長度數(shù)據包wLength=0?發(fā)送標志位清零LengthYes發(fā)送最大長度數(shù)據包paxPacketSize?發(fā)送剩殺數(shù)孤選撣端點、把數(shù)據寫入D12|使緩沖區(qū)有效| Control In handler結束在Control In Transaction處理過程中注意,備的小的元素:首先是整個設備然后是每個配.要發(fā)送的數(shù)據是端點0能傳送的最大數(shù)據包的整置接著是每個配置的接口,最后是每個接口的終數(shù)倍時在傳送完所有的數(shù)據后必須向主機發(fā)送端。對于字符串描述符是可選的。關于描述符是零長度數(shù)據包。設計者可以配置的,可以根據設備的通信能力和要求來定義需要的描述符。5.4 Get Descriptor命令處理流程在列舉過程中,被請求的描述符逐步涉及設Get Descriptor<獲取 設備描述符?發(fā)送設備描述符發(fā)送該配置所有描獲取配置描述符?述符<獲取字 符串描述符發(fā)送字符 串描沭符中國煤化工MYHCNMHG出錯,返回STALLGet Descriptor 結束第4期張希英等:USB通信技術.61下面為D12的描述符定義:const unsigned char Device_ Descriptor[ ]= {// device descriptor : 18 bytes0x12 ,//device_ bL ength0x01 ,//bDescriptor0x10 ,//bcdUSBL//bcdU JSBM0xff,//bDeviceClass0xff ,//bDeviceSusbcalss//bDeviceProtocal0x08 ,//bMaxPacketSize0x71 ,//idVendorL0x04 ,//idVendorM0x00 ,//idProductL//idProductM0x30 ,//bcdDevicel//bcdDeviceM// iManufacturer//iProduct//iSerialNumber//bNumConfigurations};const unsigned char Configuration - Descripto[ ]= {//Configuration[ )escriptor 9 bytes0x09 ,//config - bLength0x02 ,//bDescritptorType0x2e,//wTotalLengthL//wTotalLengthM0x01,//bNumInterfaces//bConfigurationValue0x00,//iConfiguration Value0xc0 ,//bmAttributes100 ,//MaxPower Max. Power is 100x2 = 200mA中國煤化工// InterfaceDescriptor 9 bytesMHCNMHG//interface - bLength//inter bDesccriptorType//bInterfaceNumber//bAlternateSetting62北京廣播學院學報(自然科學版)第11卷0x04,// bNumEndpoints0xff,//bInterfaceCalss0xff ,//bInterfaceSubclass//bInterfaceProtocal0x00 ,//ilnterface//EndpointDescriptor1 .7 bytes0x07 ,//endpt1 - bLength0x05 ,//endpt1 - bDescriptorType0x01 ,//endpt1 - bmAttributes iendpoint 1 is bulk transmit0x10 ,//dndpt1 - MaxPacketSizeL//endpt1 - MaxPacketSizeM endpoint 1 max buffer is 16 bytes//endpt1 - bInterval ; 10 msec polling the endpoint 10x81 ,//endpt1 - bEndpointAddress iendpoint 1 is out endpoint0x02 ,//endpt1 - bmAttributes endpoint 1 is bulk transmit0x10,//endpt1 - MaxPacketSizeL//EndpointDescriptor2 7 bytes//endpt22 - bLength//endpt22 - bDescriptorType0x82 ,//endpt22 - bEdnpointAddress//endpt22 - bmAttributes0x40,//endpt22 - MaxPacketSizeL0x00,//endpt22 - MaxpacketsizeM//endpt22 - bInterval .//endpt22 - bDexscriptorType0x02,//endpt22 - bmAgtttributes0x40 ,//endpt22 - MaxPackasSiroL中國煤化工//endpt22 - Maxp0x00//endpt22 - bInteTYHCNMHG}const unsigned char String - Descripto[ ]= {第4期張希英等:USB通信技術.63//StringDescriptor0x04 ,//str- Length0x03 ,//str- Type .0x09 ,//str - propertyL0x04//str - propertyM}:5.5 Set Address命令處理流程的IN事務,,如果設備沒有要發(fā)送到主機的數(shù)據Set Address時這時設備進入掛起狀態(tài)為了避免這種情況出現(xiàn)當沒有數(shù)據要發(fā)送時可以發(fā)送零長度的數(shù)據↓報。設置新的地址同時利用D12開發(fā)時有兩個突出的優(yōu)點軟連接和GoodLink接口。所謂的軟連接就是把發(fā)送0長度的數(shù)據包D12內部集成的1.5K的上拉電阻連接到數(shù)據線D+上通過此特性可以使設備CPU有充足的時Set Address結束間進行初始化同時也避免頻繁的插拔USB數(shù)據通過這個請求主機指定以后與設備通信的地線。GoodLink 接口可以連接發(fā)光二極管,當設備址。值字段是要設置的設備的新的地址。允許值枚舉成功后發(fā)光二極管常亮,當D12進行傳送數(shù)為1到127。當上電或連接后集線器使能一個端據時發(fā)光二極管閃爍??诙丝谑褂媚J地址0直到它從主機接收到一5.6 Main IN端點處理流程個Set_ Address 請求。這個請求和大部分的其他請求不同因為設備直到通過發(fā)送零長度數(shù)據包系統(tǒng)中把D12的主端點作為通信IN端點,完成請求的狀態(tài)階段后才執(zhí)行這個請求。主機發(fā)當主機從D12讀取數(shù)據時,系 統(tǒng)控制器把要傳送送狀態(tài)階段標志包到默認地址,因為設備必須在的數(shù)據寫入D12的主端點緩存中。因為對于D12改變地址之前發(fā)送這個包。完成這個請求后,所的主端點來說每一次通信最 大數(shù)據幀為64個字有通信都使用這個新地址。一個使用默認地址0節(jié)所以在處理函數(shù)中首先判斷要發(fā)送的數(shù)據長的設備處于默認狀態(tài)。在完成Set_ Address 請求度是否大于64 ,如果系統(tǒng)沒有要發(fā)送的數(shù)據,當設置一個非0的新地址后,設備進入地址狀態(tài)。收到主端點的IN中斷時,必須發(fā)送0長度的數(shù)一個設備必須在接收到請求后的50毫秒內發(fā)送據幀,否則D12將會進入掛起狀態(tài)。當發(fā)送的數(shù)交換包并且它必須在完成狀態(tài)階段后的2毫秒據長度小于64時通過-次中斷就可以把數(shù)據傳送到主機。內完成請求。另外要注意的是當USB設備接收主機發(fā)送清除中斷標志位Wlength>=64中國煤化工TYHCNMHGWlength-=0二寫入D120個字節(jié)寫入DI2 Wlength個字節(jié)←結束92北京廣播學院學報(自然科學版)第11卷The Exploration of Information Management in TVSeries' Producing and ManufacturingWANG Can LIANG Zheng-li( Media Management School , Beiing Broadcasting Institute , Beijing 100024 P R China )Abstract : the information - technology - based Management Information System had been widelyapplied in various fields of enterprise manufacturing. TV Series is a kind of special commodity ,thus introducing the management information technology into TV Series' manufacturing , whichis rooted in media market , may enhance the performance and efficiency of management in TVSeries' producing. This article analyzes the business processof TV Series' producing and poses anidea of a management information system ,MIS - TVS , which adaptable to TV Series .manufacturing.Key word :TV - Series ; Business Administration ; Management Information System ; MRP- II( Manufacture Resources Planning )(責任編輯韓月珍)(上接第64頁)USB Communication TechnologyZHANG Xi - ying FAN Guang - hui LI Chuan - zhen( Information Technology Schol , Beijing Broadcasting Institute , Beijing 100024 P. R. China)Abstract : This paper introduced USB communication technology. Firstly , This paper describedthe virtue of the USB and protocol alteration about the USB ; Secondly ,described the structure ofthe USB system and communication module of the USB ; Thirdly , introduced the transferringbase of the USB communication ,two communication modes ,control transfers ,interrupttransfers,bulk transfers , synchronous transfers and中國煤化工umeration processof USB ;Lastly , this paper introduced the design ofevice and show the.MYHCNMHG"flow chart of the software about the USB chip - PDIUSBDI2 .Key words : USB ; transactions ; transfers ; enumeration(責任編輯龍學鋒)
-
C4烯烴制丙烯催化劑 2020-10-30
-
煤基聚乙醇酸技術進展 2020-10-30
-
生物質能的應用工程 2020-10-30
-
我國甲醇工業(yè)現(xiàn)狀 2020-10-30
-
JB/T 11699-2013 高處作業(yè)吊籃安裝、拆卸、使用技術規(guī)程 2020-10-30
-
石油化工設備腐蝕與防護參考書十本免費下載,絕版珍藏 2020-10-30
-
四噴嘴水煤漿氣化爐工業(yè)應用情況簡介 2020-10-30
-
Lurgi和ICI低壓甲醇合成工藝比較 2020-10-30
-
甲醇制芳烴研究進展 2020-10-30
-
精甲醇及MTO級甲醇精餾工藝技術進展 2020-10-30











