USB標準要求
發布時間:2008/12/23 0:00:00 訪問次數:1021
在usb接口的通信協議中,由于主機取得絕對的主控權,所以對于設備而言,只有“聽命行事”。因此,主機與設備之間就必須遵循某種已溝通的特定命令格式,以達到通信的目的。這個命令的格式就是usb規范中所制定的“標準要求”。這個標準要求的設置、清楚與取得都須通過控制傳輸的數據交易來達成。
在控制傳輸設置層的數據交易中包含了令牌封包→數據封包→握手封包這3個封包階段。其中的數據封包就是放置“標準要求”的地方。它是一個8字節的data1數據封包。表1列出了標準要求的要求形態內容。
表1 執行設置層數據交易時,標準要求的要求形態內容
事實上,表1的8字節放置于跟隨在setup令牌封包后的數據封包字段內。除此之外,表1的數據格式還須與表2的“標準要求”配合在一起才金額以執行完整的標準要求。
表2內的8字節放置于跟隨在setup令牌封包后的數據封包字段內。為了取得這8字節的標準設各要求,一般的usb單片機通常使用一個數組或特定的fifo來存儲這個重要的setup數據;而在ez-usb ex單片機中,使用定義為setup[7]數組來加以存儲。
表2 標準要求的格式
若以之前所舉的get_descriptor為例,就可以了解一個設備要求執行的過程。可以從圖41和表2了解到brequest的類型,而在此圖中以get_descriptor為例,利用wvalueh字段值延伸至device(設備)、conπguration(配置)以及string(字符串)等取得描述符標準要求,即分別為取得設備描述符、取得配置描述符以及取得字符串描述符等的標準要求。
綜合了描述符與設各要求的章節,可以歸納一些重點,也就是說,這些設各要求與描述符在控制傳輸時,放置于何處呢?用戶可以了解到設各要求放置于設置層的數據封包內的數據域位中:
設置層→數據封包→數據域位→設備要求
而描述符則放置于數據層的數據封包的數據域位中:
數據層→數據封包→數據域位→描述符
因此,用戶必須執行一個完整的控制讀取或寫人傳輸,才可執行標準要求,以及取得真正所要的描述符內容。可以這樣說,標準要求是個“命令”,而描述符所內含的內容才是所要取得的“數據”。當然,這個數據層可以根據描述符的數目,而以8字節為一組的方式,依序讀取數個數據層的數據封包內的數據域位內含值。圖2為控制傳輸的意義與目的。
換句話說,對于控制讀取傳輸而言,setup封包(設置層),其后所跟隨的數據封包的內含值,為所要設置的標準設各要求。在in封包(數據層),其后所跟隨的即為所要接收的設各的各種描述符。而out令牌封包(狀態層),其后所跟隨的數據封包的內含值為空的,以說明整個控制傳輸已經結束了。
以下,針對bmrequesttype[4:0]位,再區分為3種類型:標準設備要求、標準配置要求以及標準端點要求。這些標準要求與各個描述符有相當大的關系。
圖1 標準要求的架構示意圖
圖2 控制傳輸的意義與目的
歡迎轉載,信息來源維庫電子市場網(www.dzsc.com)
在usb接口的通信協議中,由于主機取得絕對的主控權,所以對于設備而言,只有“聽命行事”。因此,主機與設備之間就必須遵循某種已溝通的特定命令格式,以達到通信的目的。這個命令的格式就是usb規范中所制定的“標準要求”。這個標準要求的設置、清楚與取得都須通過控制傳輸的數據交易來達成。
在控制傳輸設置層的數據交易中包含了令牌封包→數據封包→握手封包這3個封包階段。其中的數據封包就是放置“標準要求”的地方。它是一個8字節的data1數據封包。表1列出了標準要求的要求形態內容。
表1 執行設置層數據交易時,標準要求的要求形態內容
事實上,表1的8字節放置于跟隨在setup令牌封包后的數據封包字段內。除此之外,表1的數據格式還須與表2的“標準要求”配合在一起才金額以執行完整的標準要求。
表2內的8字節放置于跟隨在setup令牌封包后的數據封包字段內。為了取得這8字節的標準設各要求,一般的usb單片機通常使用一個數組或特定的fifo來存儲這個重要的setup數據;而在ez-usb ex單片機中,使用定義為setup[7]數組來加以存儲。
表2 標準要求的格式
若以之前所舉的get_descriptor為例,就可以了解一個設備要求執行的過程。可以從圖41和表2了解到brequest的類型,而在此圖中以get_descriptor為例,利用wvalueh字段值延伸至device(設備)、conπguration(配置)以及string(字符串)等取得描述符標準要求,即分別為取得設備描述符、取得配置描述符以及取得字符串描述符等的標準要求。
綜合了描述符與設各要求的章節,可以歸納一些重點,也就是說,這些設各要求與描述符在控制傳輸時,放置于何處呢?用戶可以了解到設各要求放置于設置層的數據封包內的數據域位中:
設置層→數據封包→數據域位→設備要求
而描述符則放置于數據層的數據封包的數據域位中:
數據層→數據封包→數據域位→描述符
因此,用戶必須執行一個完整的控制讀取或寫人傳輸,才可執行標準要求,以及取得真正所要的描述符內容。可以這樣說,標準要求是個“命令”,而描述符所內含的內容才是所要取得的“數據”。當然,這個數據層可以根據描述符的數目,而以8字節為一組的方式,依序讀取數個數據層的數據封包內的數據域位內含值。圖2為控制傳輸的意義與目的。
換句話說,對于控制讀取傳輸而言,setup封包(設置層),其后所跟隨的數據封包的內含值,為所要設置的標準設各要求。在in封包(數據層),其后所跟隨的即為所要接收的設各的各種描述符。而out令牌封包(狀態層),其后所跟隨的數據封包的內含值為空的,以說明整個控制傳輸已經結束了。
以下,針對bmrequesttype[4:0]位,再區分為3種類型:標準設備要求、標準配置要求以及標準端點要求。這些標準要求與各個描述符有相當大的關系。
圖1 標準要求的架構示意圖
圖2 控制傳輸的意義與目的
歡迎轉載,信息來源維庫電子市場網(www.dzsc.com)
上一篇:JTAG接口的結構組成
上一篇:RTC模塊的軟件設計
熱門點擊