USB標(biāo)準(zhǔn)要求
發(fā)布時(shí)間:2008/12/23 0:00:00 訪問(wèn)次數(shù):1035
在usb接口的通信協(xié)議中,由于主機(jī)取得絕對(duì)的主控權(quán),所以對(duì)于設(shè)備而言,只有“聽(tīng)命行事”。因此,主機(jī)與設(shè)備之間就必須遵循某種已溝通的特定命令格式,以達(dá)到通信的目的。這個(gè)命令的格式就是usb規(guī)范中所制定的“標(biāo)準(zhǔn)要求”。這個(gè)標(biāo)準(zhǔn)要求的設(shè)置、清楚與取得都須通過(guò)控制傳輸?shù)臄?shù)據(jù)交易來(lái)達(dá)成。
在控制傳輸設(shè)置層的數(shù)據(jù)交易中包含了令牌封包→數(shù)據(jù)封包→握手封包這3個(gè)封包階段。其中的數(shù)據(jù)封包就是放置“標(biāo)準(zhǔn)要求”的地方。它是一個(gè)8字節(jié)的data1數(shù)據(jù)封包。表1列出了標(biāo)準(zhǔn)要求的要求形態(tài)內(nèi)容。
表1 執(zhí)行設(shè)置層數(shù)據(jù)交易時(shí),標(biāo)準(zhǔn)要求的要求形態(tài)內(nèi)容
事實(shí)上,表1的8字節(jié)放置于跟隨在setup令牌封包后的數(shù)據(jù)封包字段內(nèi)。除此之外,表1的數(shù)據(jù)格式還須與表2的“標(biāo)準(zhǔn)要求”配合在一起才金額以執(zhí)行完整的標(biāo)準(zhǔn)要求。
表2內(nèi)的8字節(jié)放置于跟隨在setup令牌封包后的數(shù)據(jù)封包字段內(nèi)。為了取得這8字節(jié)的標(biāo)準(zhǔn)設(shè)各要求,一般的usb單片機(jī)通常使用一個(gè)數(shù)組或特定的fifo來(lái)存儲(chǔ)這個(gè)重要的setup數(shù)據(jù);而在ez-usb ex單片機(jī)中,使用定義為setup[7]數(shù)組來(lái)加以存儲(chǔ)。
表2 標(biāo)準(zhǔn)要求的格式
若以之前所舉的get_descriptor為例,就可以了解一個(gè)設(shè)備要求執(zhí)行的過(guò)程?梢詮膱D41和表2了解到brequest的類(lèi)型,而在此圖中以get_descriptor為例,利用wvalueh字段值延伸至device(設(shè)備)、conπg(shù)uration(配置)以及string(字符串)等取得描述符標(biāo)準(zhǔn)要求,即分別為取得設(shè)備描述符、取得配置描述符以及取得字符串描述符等的標(biāo)準(zhǔn)要求。
綜合了描述符與設(shè)各要求的章節(jié),可以歸納一些重點(diǎn),也就是說(shuō),這些設(shè)各要求與描述符在控制傳輸時(shí),放置于何處呢?用戶可以了解到設(shè)各要求放置于設(shè)置層的數(shù)據(jù)封包內(nèi)的數(shù)據(jù)域位中:
設(shè)置層→數(shù)據(jù)封包→數(shù)據(jù)域位→設(shè)備要求
而描述符則放置于數(shù)據(jù)層的數(shù)據(jù)封包的數(shù)據(jù)域位中:
數(shù)據(jù)層→數(shù)據(jù)封包→數(shù)據(jù)域位→描述符
因此,用戶必須執(zhí)行一個(gè)完整的控制讀取或?qū)懭藗鬏敚趴蓤?zhí)行標(biāo)準(zhǔn)要求,以及取得真正所要的描述符內(nèi)容?梢赃@樣說(shuō),標(biāo)準(zhǔn)要求是個(gè)“命令”,而描述符所內(nèi)含的內(nèi)容才是所要取得的“數(shù)據(jù)”。當(dāng)然,這個(gè)數(shù)據(jù)層可以根據(jù)描述符的數(shù)目,而以8字節(jié)為一組的方式,依序讀取數(shù)個(gè)數(shù)據(jù)層的數(shù)據(jù)封包內(nèi)的數(shù)據(jù)域位內(nèi)含值。圖2為控制傳輸?shù)囊饬x與目的。
換句話說(shuō),對(duì)于控制讀取傳輸而言,setup封包(設(shè)置層),其后所跟隨的數(shù)據(jù)封包的內(nèi)含值,為所要設(shè)置的標(biāo)準(zhǔn)設(shè)各要求。在in封包(數(shù)據(jù)層),其后所跟隨的即為所要接收的設(shè)各的各種描述符。而out令牌封包(狀態(tài)層),其后所跟隨的數(shù)據(jù)封包的內(nèi)含值為空的,以說(shuō)明整個(gè)控制傳輸已經(jīng)結(jié)束了。
以下,針對(duì)bmrequesttype[4:0]位,再區(qū)分為3種類(lèi)型:標(biāo)準(zhǔn)設(shè)備要求、標(biāo)準(zhǔn)配置要求以及標(biāo)準(zhǔn)端點(diǎn)要求。這些標(biāo)準(zhǔn)要求與各個(gè)描述符有相當(dāng)大的關(guān)系。
圖1 標(biāo)準(zhǔn)要求的架構(gòu)示意圖
圖2 控制傳輸?shù)囊饬x與目的
歡迎轉(zhuǎn)載,信息來(lái)源維庫(kù)電子市場(chǎng)網(wǎng)(www.dzsc.com)
在usb接口的通信協(xié)議中,由于主機(jī)取得絕對(duì)的主控權(quán),所以對(duì)于設(shè)備而言,只有“聽(tīng)命行事”。因此,主機(jī)與設(shè)備之間就必須遵循某種已溝通的特定命令格式,以達(dá)到通信的目的。這個(gè)命令的格式就是usb規(guī)范中所制定的“標(biāo)準(zhǔn)要求”。這個(gè)標(biāo)準(zhǔn)要求的設(shè)置、清楚與取得都須通過(guò)控制傳輸?shù)臄?shù)據(jù)交易來(lái)達(dá)成。
在控制傳輸設(shè)置層的數(shù)據(jù)交易中包含了令牌封包→數(shù)據(jù)封包→握手封包這3個(gè)封包階段。其中的數(shù)據(jù)封包就是放置“標(biāo)準(zhǔn)要求”的地方。它是一個(gè)8字節(jié)的data1數(shù)據(jù)封包。表1列出了標(biāo)準(zhǔn)要求的要求形態(tài)內(nèi)容。
表1 執(zhí)行設(shè)置層數(shù)據(jù)交易時(shí),標(biāo)準(zhǔn)要求的要求形態(tài)內(nèi)容
事實(shí)上,表1的8字節(jié)放置于跟隨在setup令牌封包后的數(shù)據(jù)封包字段內(nèi)。除此之外,表1的數(shù)據(jù)格式還須與表2的“標(biāo)準(zhǔn)要求”配合在一起才金額以執(zhí)行完整的標(biāo)準(zhǔn)要求。
表2內(nèi)的8字節(jié)放置于跟隨在setup令牌封包后的數(shù)據(jù)封包字段內(nèi)。為了取得這8字節(jié)的標(biāo)準(zhǔn)設(shè)各要求,一般的usb單片機(jī)通常使用一個(gè)數(shù)組或特定的fifo來(lái)存儲(chǔ)這個(gè)重要的setup數(shù)據(jù);而在ez-usb ex單片機(jī)中,使用定義為setup[7]數(shù)組來(lái)加以存儲(chǔ)。
表2 標(biāo)準(zhǔn)要求的格式
若以之前所舉的get_descriptor為例,就可以了解一個(gè)設(shè)備要求執(zhí)行的過(guò)程?梢詮膱D41和表2了解到brequest的類(lèi)型,而在此圖中以get_descriptor為例,利用wvalueh字段值延伸至device(設(shè)備)、conπg(shù)uration(配置)以及string(字符串)等取得描述符標(biāo)準(zhǔn)要求,即分別為取得設(shè)備描述符、取得配置描述符以及取得字符串描述符等的標(biāo)準(zhǔn)要求。
綜合了描述符與設(shè)各要求的章節(jié),可以歸納一些重點(diǎn),也就是說(shuō),這些設(shè)各要求與描述符在控制傳輸時(shí),放置于何處呢?用戶可以了解到設(shè)各要求放置于設(shè)置層的數(shù)據(jù)封包內(nèi)的數(shù)據(jù)域位中:
設(shè)置層→數(shù)據(jù)封包→數(shù)據(jù)域位→設(shè)備要求
而描述符則放置于數(shù)據(jù)層的數(shù)據(jù)封包的數(shù)據(jù)域位中:
數(shù)據(jù)層→數(shù)據(jù)封包→數(shù)據(jù)域位→描述符
因此,用戶必須執(zhí)行一個(gè)完整的控制讀取或?qū)懭藗鬏敚趴蓤?zhí)行標(biāo)準(zhǔn)要求,以及取得真正所要的描述符內(nèi)容?梢赃@樣說(shuō),標(biāo)準(zhǔn)要求是個(gè)“命令”,而描述符所內(nèi)含的內(nèi)容才是所要取得的“數(shù)據(jù)”。當(dāng)然,這個(gè)數(shù)據(jù)層可以根據(jù)描述符的數(shù)目,而以8字節(jié)為一組的方式,依序讀取數(shù)個(gè)數(shù)據(jù)層的數(shù)據(jù)封包內(nèi)的數(shù)據(jù)域位內(nèi)含值。圖2為控制傳輸?shù)囊饬x與目的。
換句話說(shuō),對(duì)于控制讀取傳輸而言,setup封包(設(shè)置層),其后所跟隨的數(shù)據(jù)封包的內(nèi)含值,為所要設(shè)置的標(biāo)準(zhǔn)設(shè)各要求。在in封包(數(shù)據(jù)層),其后所跟隨的即為所要接收的設(shè)各的各種描述符。而out令牌封包(狀態(tài)層),其后所跟隨的數(shù)據(jù)封包的內(nèi)含值為空的,以說(shuō)明整個(gè)控制傳輸已經(jīng)結(jié)束了。
以下,針對(duì)bmrequesttype[4:0]位,再區(qū)分為3種類(lèi)型:標(biāo)準(zhǔn)設(shè)備要求、標(biāo)準(zhǔn)配置要求以及標(biāo)準(zhǔn)端點(diǎn)要求。這些標(biāo)準(zhǔn)要求與各個(gè)描述符有相當(dāng)大的關(guān)系。
圖1 標(biāo)準(zhǔn)要求的架構(gòu)示意圖
圖2 控制傳輸?shù)囊饬x與目的
歡迎轉(zhuǎn)載,信息來(lái)源維庫(kù)電子市場(chǎng)網(wǎng)(www.dzsc.com)
熱門(mén)點(diǎn)擊
- USB接口內(nèi)部結(jié)構(gòu)
- USB封包格式
- A/D轉(zhuǎn)換過(guò)程
- USB通信協(xié)議——傳輸類(lèi)型
- JTAG接線描述
- A/D變換類(lèi)型
- 外部DMA請(qǐng)求/應(yīng)答協(xié)議
- USB硬件原理圖
- USB通信協(xié)議——錯(cuò)誤檢查
- 存儲(chǔ)空間管理單元(MMU)
推薦技術(shù)資料
- AMOLED顯示驅(qū)動(dòng)芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計(jì)
- GB300 超級(jí)芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個(gè)最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究