Tuesday, December 25, 2007

科技:USB Descriptor Hierarchy

一:是誰?(Device descriptor):包括屬於哪一個 Class (這會決定 PC端要不要額外從客戶提供的安裝驅動程式?)PID(Product ID) and VID(Vendor ID) 等,還有一個對下一層的描述:Number of Configuration。因為一個裝置可能有多種Configurations ,譬如一個人機介面(HID)包括 了滑鼠與鍵盤。一般多種Configurations 在PC端要安裝的是 Composite Driver !

二:在上層描述了Configuartion 之後,當然就是要解釋Configuration, 這包括了:裝置屬性:耗多少電?是Self-Power 或 Bus Power ?這項描述簡單的範例就是:一樣是碟機,有光碟機,硬碟機或是可移動磁碟機等。最後又是一個對下層的描述:Number of Interface 。

三:在上層描述了Interface 之後,當然就是要解釋Interface,這包括了:Interface class 及 interface protocol 等,最後又是一個對下層的描述:Number of Endpoint 。例子:一樣是MSDC 中您可能用BOT(Bulk Ony Transfer)或CBI(Control/Bulk/Interrupt)方式傳啊!其實描述到這裡,整個USB裝置就浮現在眼前了。

四:在上層描述了Endpoint 之後,當然就是要解釋Endpoint, 這包括了:Endpoint 數量與傳輸方向,每一個Endpoint 只能管一個上傳或下傳。及傳輸種類:Control or Bulk or Isochronous or Interrupt!既然叫 Endpoint,就是說它已經也是裝置描述的最後一項了。

--->USB Descriptors:
------>Specification Release
------>Class information
------>Device Protocol
------>Max Packet Size for EP0
------>VID/PID
------>Number of Configurations:
----------->Device Attributes
----------->Maximum Power
----------->Number of Interfaces:
-------------->Interface Class
-------------->Interface Protocol
-------------->Number of Endpoints:
------------------>Address of Endpoint
------------------>Direction of Endpoint
------------------>Attribute of Endpoint
------------------>Maximum Packet size

(資料來源)

No comments: