浓毛老太交欧美老妇热爱乱,蜜臀性色av免费,妺妺窝人体色www看美女,久久久久久久久久久大尺度免费视频,麻豆人妻无码性色av专区

位置:51電子網(wǎng) » 技術(shù)資料 » 單 片 機(jī)

單片機(jī)兼容USB2.0規(guī)范的描述符

發(fā)布時(shí)間:2008/12/18 0:00:00 訪問次數(shù):539

  除了上述所介紹的描述符類型外,若用戶想要將1.x規(guī)范的設(shè)各兼容2.0規(guī)范,就必須對(duì)描述符作若干的修正。在雙速度設(shè)各中,如 何通過讀取其描述符來檢測(cè)設(shè)備的目前速度,就是一個(gè)非常重要的課題。

  如表1所列,為1.x規(guī)范設(shè)備要與2.0規(guī)范設(shè)備兼容時(shí),所須修改的描述符字段。其中,用戶會(huì)發(fā)現(xiàn)僅具各等時(shí)端點(diǎn)的設(shè)各須去修 改等時(shí)端點(diǎn)描述符的內(nèi)容,而在設(shè)備描述符中,唯一也是僅須去修改的字段是bcddevice,且將其更改為0200h。

  在此須知道,設(shè)備的預(yù)設(shè)上,必須要求無等時(shí)的帶寬。這是因?yàn)檫@些接口并沒有使

  用等時(shí)傳輸?shù)臄?shù)據(jù),若設(shè)各想要去執(zhí)行等時(shí)傳輸,它必須支持至少一個(gè)接口設(shè)置,其中還須內(nèi)含至少一個(gè)端點(diǎn)描述符。而有部分1.x 設(shè)備也已經(jīng)符合了這個(gè)要求。所以說,若沒有使用等時(shí)傳輸,也就無須更改這些字段設(shè)置值。

  在2.0規(guī)范中對(duì)于已存在的字段的若干位,增加了2個(gè)新的描述符與功能。但是如表1所列,所使用到的新描述符僅用在雙速度的設(shè) 各上。而所存在的描述符也與規(guī)范1.x向下兼容。

表1 1.x規(guī)范與2.0規(guī)范兼容所須改變的描述符類型及其字段

  而高速設(shè)備必須以全速的方式來響應(yīng)設(shè)備列舉的標(biāo)準(zhǔn)要求的過程,以及也可能具備與全速完全兼容的功能。

  前面的章節(jié)有提及過,如果一個(gè)具備與高速兼容的設(shè)備連接至1.x規(guī)范主機(jī),或如果介于主機(jī)與設(shè)備之間使用1.x規(guī)范集線器,就必 須使用全速的功能。

  而對(duì)于應(yīng)用程序與設(shè)備驅(qū)動(dòng)程序通常無須知道這雙速度設(shè)備是使用何種速度,因?yàn)樗械膽?yīng)用程序與設(shè)備驅(qū)動(dòng)程序若與速度相關(guān)的 都可以以較低階的方式來加以處理。事實(shí)上,windows操作系統(tǒng)沒有直接的方法可以知道設(shè)備的速度是什么,但是,還是有一些小技巧,可以讓主機(jī)知道有一些設(shè)備仍可提供相關(guān)信息。

  例如,如果設(shè)備具有批量端點(diǎn),用戶即可通過設(shè)備列舉,以主動(dòng)的方式去取得并檢查端點(diǎn)描述符的信息。其中,對(duì)maxpacksize字段 來說,若設(shè)置為512(個(gè)字節(jié)),即可知道目前所連接上的是高速設(shè)備。這是因?yàn)槿僭O(shè)備不能設(shè)置這個(gè)數(shù)值。若以此方式來推演, 假設(shè)沒有批量端點(diǎn),也可以使用中斷端點(diǎn)與等時(shí)端點(diǎn)所設(shè)置的maxpacksize字段,同樣地,用戶也可用來判斷此設(shè)備是屬于哪一種速 度。其中,針對(duì)中斷端點(diǎn)的maxpacksize字段來說,若設(shè)置超過64的數(shù)值,就可表示目前是高速設(shè)備。但是,若高速設(shè)各也有可能設(shè) 置為64,或更低的maxpacksize值。再者同樣的道理,對(duì)于等時(shí)端點(diǎn)的maxpacksize字段來說,若設(shè)置為1 024的數(shù)值,表示目前連接 上的是一個(gè)高速設(shè)各。但是,相對(duì)的高速設(shè)備也有可能設(shè)置為l 024或更低的maxpacksize值。因此,這種方式并不能絕對(duì)保證此設(shè)備 一定是高速設(shè)備。

  如果用戶曾經(jīng)編寫過固件程序代碼,用戶可以通過配置描述符或other_speed_configuration描述符,利用可選擇性的配置字符串 索引來添加一些與速度相關(guān)的信息。例如,以cypress ez-usb fx2(usb 2.0)的固件范例程序代碼bulkloop來說明。以下列出其描 述符文件的內(nèi)容。

  從這個(gè)程序范例碼中觀察到,可以把描述符分成:highspeedconfigdscr與full-speedconfigdscr兩組,分別設(shè)置高速與全速的各種描述符。其中,設(shè)備描述符的bcd-device字段設(shè)置成:dw 0002h方式(因?yàn)槭莑ittle endian),用來表示高速設(shè)備。

  在稍前所敘述的usb設(shè)備描述符的“設(shè)備群組”字段以及“設(shè)備次群組”字段中,定義了設(shè)備群組。那什么是設(shè)各群組呢?在usb的 文件中,定義了將某種相同屬性的設(shè)備整合在一起的群體,稱之為群組(class)。而將這些相同屬性的設(shè)備組合在一起的優(yōu)點(diǎn)是, 可以同時(shí)開發(fā)該群組以pc主機(jī)為主的驅(qū)動(dòng)程序。

  例如,鼠標(biāo)是屬于人工接口設(shè)備的一種,其群組驅(qū)動(dòng)程序已包含在操作系統(tǒng)下。如果鼠標(biāo)也遵循了設(shè)備群組規(guī)范,那么鼠標(biāo)的制造 商在出售時(shí),根本就無須另外再附一套驅(qū)動(dòng)程序。也就是可以直接使用windows 98 se或windows 2000所內(nèi)建的人工接口設(shè)備的驅(qū)動(dòng) 程序。這樣,硬件的制造商只須專心開發(fā)其硬件電路即可。相對(duì)的,倘若該設(shè)備并不符合人工接口設(shè)備群組,就必須使用含有win32 api調(diào)用的vb、c++或delphi等高級(jí)程序,另外再編寫其驅(qū)動(dòng)程序。

  以下列出usb規(guī)范中所定

  除了上述所介紹的描述符類型外,若用戶想要將1.x規(guī)范的設(shè)各兼容2.0規(guī)范,就必須對(duì)描述符作若干的修正。在雙速度設(shè)各中,如 何通過讀取其描述符來檢測(cè)設(shè)備的目前速度,就是一個(gè)非常重要的課題。

  如表1所列,為1.x規(guī)范設(shè)備要與2.0規(guī)范設(shè)備兼容時(shí),所須修改的描述符字段。其中,用戶會(huì)發(fā)現(xiàn)僅具各等時(shí)端點(diǎn)的設(shè)各須去修 改等時(shí)端點(diǎn)描述符的內(nèi)容,而在設(shè)備描述符中,唯一也是僅須去修改的字段是bcddevice,且將其更改為0200h。

  在此須知道,設(shè)備的預(yù)設(shè)上,必須要求無等時(shí)的帶寬。這是因?yàn)檫@些接口并沒有使

  用等時(shí)傳輸?shù)臄?shù)據(jù),若設(shè)各想要去執(zhí)行等時(shí)傳輸,它必須支持至少一個(gè)接口設(shè)置,其中還須內(nèi)含至少一個(gè)端點(diǎn)描述符。而有部分1.x 設(shè)備也已經(jīng)符合了這個(gè)要求。所以說,若沒有使用等時(shí)傳輸,也就無須更改這些字段設(shè)置值。

  在2.0規(guī)范中對(duì)于已存在的字段的若干位,增加了2個(gè)新的描述符與功能。但是如表1所列,所使用到的新描述符僅用在雙速度的設(shè) 各上。而所存在的描述符也與規(guī)范1.x向下兼容。

表1 1.x規(guī)范與2.0規(guī)范兼容所須改變的描述符類型及其字段

  而高速設(shè)備必須以全速的方式來響應(yīng)設(shè)備列舉的標(biāo)準(zhǔn)要求的過程,以及也可能具備與全速完全兼容的功能。

  前面的章節(jié)有提及過,如果一個(gè)具備與高速兼容的設(shè)備連接至1.x規(guī)范主機(jī),或如果介于主機(jī)與設(shè)備之間使用1.x規(guī)范集線器,就必 須使用全速的功能。

  而對(duì)于應(yīng)用程序與設(shè)備驅(qū)動(dòng)程序通常無須知道這雙速度設(shè)備是使用何種速度,因?yàn)樗械膽?yīng)用程序與設(shè)備驅(qū)動(dòng)程序若與速度相關(guān)的 都可以以較低階的方式來加以處理。事實(shí)上,windows操作系統(tǒng)沒有直接的方法可以知道設(shè)備的速度是什么,但是,還是有一些小技巧,可以讓主機(jī)知道有一些設(shè)備仍可提供相關(guān)信息。

  例如,如果設(shè)備具有批量端點(diǎn),用戶即可通過設(shè)備列舉,以主動(dòng)的方式去取得并檢查端點(diǎn)描述符的信息。其中,對(duì)maxpacksize字段 來說,若設(shè)置為512(個(gè)字節(jié)),即可知道目前所連接上的是高速設(shè)備。這是因?yàn)槿僭O(shè)備不能設(shè)置這個(gè)數(shù)值。若以此方式來推演, 假設(shè)沒有批量端點(diǎn),也可以使用中斷端點(diǎn)與等時(shí)端點(diǎn)所設(shè)置的maxpacksize字段,同樣地,用戶也可用來判斷此設(shè)備是屬于哪一種速 度。其中,針對(duì)中斷端點(diǎn)的maxpacksize字段來說,若設(shè)置超過64的數(shù)值,就可表示目前是高速設(shè)備。但是,若高速設(shè)各也有可能設(shè) 置為64,或更低的maxpacksize值。再者同樣的道理,對(duì)于等時(shí)端點(diǎn)的maxpacksize字段來說,若設(shè)置為1 024的數(shù)值,表示目前連接 上的是一個(gè)高速設(shè)各。但是,相對(duì)的高速設(shè)備也有可能設(shè)置為l 024或更低的maxpacksize值。因此,這種方式并不能絕對(duì)保證此設(shè)備 一定是高速設(shè)備。

  如果用戶曾經(jīng)編寫過固件程序代碼,用戶可以通過配置描述符或other_speed_configuration描述符,利用可選擇性的配置字符串 索引來添加一些與速度相關(guān)的信息。例如,以cypress ez-usb fx2(usb 2.0)的固件范例程序代碼bulkloop來說明。以下列出其描 述符文件的內(nèi)容。

  從這個(gè)程序范例碼中觀察到,可以把描述符分成:highspeedconfigdscr與full-speedconfigdscr兩組,分別設(shè)置高速與全速的各種描述符。其中,設(shè)備描述符的bcd-device字段設(shè)置成:dw 0002h方式(因?yàn)槭莑ittle endian),用來表示高速設(shè)備。

  在稍前所敘述的usb設(shè)備描述符的“設(shè)備群組”字段以及“設(shè)備次群組”字段中,定義了設(shè)備群組。那什么是設(shè)各群組呢?在usb的 文件中,定義了將某種相同屬性的設(shè)備整合在一起的群體,稱之為群組(class)。而將這些相同屬性的設(shè)備組合在一起的優(yōu)點(diǎn)是, 可以同時(shí)開發(fā)該群組以pc主機(jī)為主的驅(qū)動(dòng)程序。

  例如,鼠標(biāo)是屬于人工接口設(shè)備的一種,其群組驅(qū)動(dòng)程序已包含在操作系統(tǒng)下。如果鼠標(biāo)也遵循了設(shè)備群組規(guī)范,那么鼠標(biāo)的制造 商在出售時(shí),根本就無須另外再附一套驅(qū)動(dòng)程序。也就是可以直接使用windows 98 se或windows 2000所內(nèi)建的人工接口設(shè)備的驅(qū)動(dòng) 程序。這樣,硬件的制造商只須專心開發(fā)其硬件電路即可。相對(duì)的,倘若該設(shè)備并不符合人工接口設(shè)備群組,就必須使用含有win32 api調(diào)用的vb、c++或delphi等高級(jí)程序,另外再編寫其驅(qū)動(dòng)程序。

  以下列出usb規(guī)范中所定

相關(guān)IC型號(hào)

熱門點(diǎn)擊

 

推薦技術(shù)資料

硬盤式MP3播放器終級(jí)改
    一次偶然的機(jī)會(huì)我結(jié)識(shí)了NE0 2511,那是一個(gè)遠(yuǎn)方的... [詳細(xì)]
版權(quán)所有:51dzw.COM
深圳服務(wù)熱線:13751165337  13692101218
粵ICP備09112631號(hào)-6(miitbeian.gov.cn)
公網(wǎng)安備44030402000607
深圳市碧威特網(wǎng)絡(luò)技術(shù)有限公司
付款方式


 復(fù)制成功!