99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

簡單歸納USB設(shè)備開發(fā)必備的基礎(chǔ)知識

Geehy極海半導(dǎo)體 ? 來源:Geehy極海半導(dǎo)體 ? 2023-10-16 10:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

二、USB的低速模式和全速模式,采用的是電壓傳輸模式。高速模式,則采用的是電流傳輸模式。

a、USB傳輸速率:USB1.1是12M/s;USB2.0是480M/s (其他通信接口:PS2 10M/s;并口 8M/s; R-232 20KB/S)高速 480M/s,全速12M/s,低速1.5M/s

b、平時無數(shù)據(jù)傳輸時,總線處于空閑狀態(tài)。當(dāng)需要傳輸一次事務(wù)時,主機(jī)發(fā)送一個令牌包,它可以是OUT令牌包、IN令牌包或者是PING令牌包,其中PING令牌包是USB2.0高速模式輸出特有的,全速模式和低速模式?jīng)]有這個令牌包。

c、USB拓?fù)浣Y(jié)構(gòu),一個HOST做多可接6層,每層最多允許接5個Device,總共同時可接127個Device(實際不會做到那么多)。

d、 USB信號編碼方式:反向不歸零編碼(0變1不變)

三、USB描述符間的關(guān)系

a、設(shè)備描述符--決定了有多少種配置

b、配置描述符--定義了有多少個接口

c、接口描述符--定義了該接口有多少個端點

d、(類特殊描述符,如果有,在接口描述符之后)

e、端點描述符--定義端點的大小、類型

(主機(jī)首先會獲取設(shè)備描述符,再獲取配置描述符,再獲取接口描述符,根據(jù)配置描述符中的配置集合總長度,一次將配置描述符、接口描述符、類特殊描述符(如果有)、端點描述符一次讀回)

f、字符串描述符--是單獨獲取,主機(jī)發(fā)送字符串描述符請求以及字符串索引號、語言ID來獲取對應(yīng)的字符串描述符。

四、USB設(shè)備的枚舉過程

a、檢測到USB插入,就對設(shè)備進(jìn)行復(fù)位,復(fù)位后USB設(shè)備再總線上的地址為0。USB主機(jī)往地址0的設(shè)備的端點0發(fā)送設(shè)備描述符的標(biāo)準(zhǔn)請求(控制傳輸?shù)慕⑦^程)。然后,USB設(shè)備收到請求,按照主機(jī)要求返回設(shè)備描述符給到主機(jī)。主機(jī)成功獲取并確認(rèn)正確后就返回一個0長度的確認(rèn)數(shù)據(jù)包給設(shè)備,從而進(jìn)入到下一階段的設(shè)置地址階段。

b、主機(jī)對設(shè)備再復(fù)位一次。這時進(jìn)入設(shè)置地址階段。USB主機(jī)往地址0發(fā)出一個設(shè)置地址的請求(控制傳輸?shù)慕⑦^程),新設(shè)備地址包含在建立過程的數(shù)據(jù)包中。主機(jī)分配一個地址給剛插入的設(shè)備。USB設(shè)備收到這個建立過程后,就進(jìn)入到狀態(tài)過程,因為這個控制傳輸沒有數(shù)據(jù)過程。設(shè)備等待主機(jī)請求狀態(tài)返回一個輸入令牌包,收到輸入令牌包后,設(shè)備就返回0長度的狀態(tài)數(shù)據(jù)包。主機(jī)收到并確認(rèn),返回ACK應(yīng)答包給設(shè)備,設(shè)備收到ACK后就開始啟用新地址。

c、主機(jī)再次獲取設(shè)備描述符(使用新設(shè)備地址,而不是地址0)。需要獲取全部18字節(jié)的設(shè)備描述符,如果端點0最大包小于18字節(jié),主機(jī)則對此請求數(shù)據(jù)輸入,發(fā)送多個IN令牌包。

d、主機(jī)獲取配置描述符,再根據(jù)配置描述符的描述獲取配置集合總長度(獲取配置集合)。配置集合包括配置描述符、接口描述符、類特殊描述符(如果有)、端點描述符等。后三個不能單獨獲取,要以集合方式返回。

e、此外,字符串描述符,報告描述符等,有的話都是要單獨獲取的。

五、USB包結(jié)構(gòu)

包的6部分組成

a、同步字段(SYNC)--同步域告訴USB的串行接口引擎數(shù)據(jù)要開始傳輸了。同步主機(jī)端和設(shè)備端的數(shù)據(jù)時鐘。

b、包標(biāo)識符(PID)--標(biāo)識包的類型,總共8位,USB協(xié)議只用到4位(PD0~3),另外4位是PD0~3的取反,用來校驗PID。

c、USB協(xié)議規(guī)定四類包

1、令牌包(token packet.PID1~0為01)

2、數(shù)據(jù)包(data packet.PID1~0為11)

3、握手包(handshake packet.PID1~0為10)

4、特殊包(special packet.PID1~0為00)

d、地址字段(ADDR)

e、數(shù)據(jù)字段(DATA,包括幀號)

f、檢驗字段(CRC)

g、包結(jié)束(EOP)--全速、低速設(shè)備的EOP是一個大約為2個數(shù)據(jù)位寬度的單端0(SE0)信號。SE0就是D-D+都是低電平。

USB2.0定義的各種PID

b497bd40-69a7-11ee-939d-92fbcf53809c.jpg

六、USB四種傳輸類型

a、批量傳輸(批量事務(wù)bulk transation)

i、一次批量事務(wù)有三個階段:令牌包階段、數(shù)據(jù)包階段、握手包階段。每個階段都是獨立的包。

ii、批量輸出事務(wù)

1、發(fā)一個OUT令牌包(包含設(shè)備地址、端點號)

2、發(fā)一個數(shù)據(jù)包(數(shù)據(jù)包類型看數(shù)據(jù)切換位)。地址和端點匹配的設(shè)備就收下這個數(shù)據(jù)包。

3、主機(jī)切換到接受模式,等設(shè)備返回握手包。

* 返回ACK或者NYET(高速模式下),設(shè)備解碼令牌包、數(shù)據(jù)包都正確無誤,并且有足夠緩沖區(qū)來保存數(shù)據(jù)。

* 返回NAK,數(shù)據(jù)正確,并且沒有能力接收下一次傳輸,沒有足夠的緩沖區(qū)保存數(shù)據(jù)。

* 返回STALL,設(shè)備數(shù)據(jù)正確,但是端點處于掛起狀態(tài)。

* 設(shè)備檢測數(shù)據(jù)有錯誤,不做響應(yīng),讓主機(jī)等待超時

iii、批量輸入事務(wù)

1、發(fā)一個IN令牌包(包含設(shè)備地址、端點號)

2、主機(jī)切換到接受狀態(tài),等待設(shè)備返回數(shù)據(jù)。

b、中斷傳輸

跟硬件中斷是不一樣的,不是設(shè)備發(fā)出的一個中斷請求,而是主機(jī)設(shè)備主動保證在不大于某個時間間隔內(nèi)安排一次傳輸。

中斷傳輸用于傳輸數(shù)據(jù)量不大,對時間比較嚴(yán)格的設(shè)備中。如HID設(shè)備的鼠標(biāo)、鍵盤等。

c、同步傳輸

數(shù)據(jù)量大,實時性高的場合。數(shù)據(jù)出錯不重傳,沒有應(yīng)答包。

d、控制傳輸

i、有三個過程:建立過程,可選的數(shù)據(jù)過程,狀態(tài)過程

建立過程--使用建立事務(wù)(一個輸出數(shù)據(jù)的過程),和批量傳輸?shù)妮敵鍪聞?wù)有幾個點不一樣。令牌包不一樣,建立過程使用的是SETUP令牌包,數(shù)據(jù)包類型不一樣,SETUP只能使 用DATA0包,握手包不一樣,只能使用ACK應(yīng)答(除非出錯不應(yīng)答)

數(shù)據(jù)過程--(可選,控制傳輸可能沒有數(shù)據(jù)過程),可以包含一筆或者多筆數(shù)據(jù)事務(wù),和批量傳輸?shù)呐渴聞?wù)一樣??刂茖憘鬏斨?,數(shù)據(jù)過程的所有數(shù)據(jù)事務(wù)都是輸出??刂谱x傳輸中,數(shù)據(jù)過程的所有數(shù)據(jù)事務(wù)都是輸入。

狀態(tài)過程--也是一筆批量事務(wù),跟數(shù)據(jù)過程相反,控制寫傳輸在狀態(tài)過程是一個批量輸入事務(wù)??刂谱x傳輸在狀態(tài)過程是一個批量輸出事務(wù)。狀態(tài)過程只是用DATA1包。

ii、控制傳輸要保證數(shù)據(jù)傳輸?shù)耐暾?。如設(shè)備枚舉過程,各種描述符的獲取、地址信息、設(shè)備配置信息等都是控制傳輸。

b4adf984-69a7-11ee-939d-92fbcf53809c.jpg

七、端點類型和傳輸類型的關(guān)系

a、一個具體的端點,只能工作在一種傳輸模式下。工作在什么模式下的端點,就叫做什么端點。如控制端點、批量端點。

b、端點0是每一個USB設(shè)備都默認(rèn)的控制端點。上電就存在且可用。

八、傳輸類型和端點的最大包長

a、控制傳輸?shù)亩它c

低速模式:固定8字節(jié)

高速模式:固定64字節(jié)

全速模式:8、16、32、64字節(jié)可選

b、同步傳輸?shù)亩它c

低速模式:不支持同步

高速模式:上限1024字節(jié)

全速模式:上限1023字節(jié)

c、中斷傳輸?shù)亩它c

低速模式:上限8字節(jié)

高速模式:上限1024字節(jié)

全速模式:上限64字節(jié)

d、批量傳輸?shù)亩它c

低速模式:不支持批量傳輸

高速模式:固定512字節(jié)

全速模式:8、16、32、64字節(jié)可選







審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • USB接口
    +關(guān)注

    關(guān)注

    9

    文章

    707

    瀏覽量

    56978
  • crc
    crc
    +關(guān)注

    關(guān)注

    0

    文章

    204

    瀏覽量

    30124
  • ACK
    ACK
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    11381
  • USB設(shè)備
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    16701
  • 硬件中斷
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    7032

原文標(biāo)題:APM32芯得 EP.24 | 簡單歸納USB設(shè)備開發(fā)必備的基礎(chǔ)知識

文章出處:【微信號:geehysemi,微信公眾號:Geehy極海半導(dǎo)體】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    C語言基礎(chǔ)知識科普

    C語言是單片機(jī)開發(fā)中的必備基礎(chǔ)知識,本文列舉了部分STM32學(xué)習(xí)中比較常見的一些C語言基礎(chǔ)知識。
    發(fā)表于 07-21 10:58 ?2091次閱讀

    電子工程師必備基礎(chǔ)知識手冊

    本帖最后由 gk320830 于 2015-3-7 17:27 編輯 電子工程師必備基礎(chǔ)知識手冊
    發(fā)表于 08-15 22:59

    FPGA基礎(chǔ)知識,初學(xué)者必備。

    FPGA基礎(chǔ)知識,初學(xué)者必備。
    發(fā)表于 11-27 15:03

    HarmonyOS開發(fā)必備知識

    這篇文檔帶領(lǐng)大家掌握HarmonyOS開發(fā)的一些必備基礎(chǔ)知識:1、應(yīng)用基礎(chǔ)知識;2、應(yīng)用配置文件;3、資源文件;4、應(yīng)用數(shù)據(jù)管理;5、應(yīng)用權(quán)限管理注:文檔和視頻中所有的圖片及代碼截圖皆
    發(fā)表于 09-10 17:39

    數(shù)控電源必備基礎(chǔ)知識--軟件測試的藝術(shù)

    數(shù)控電源必備基礎(chǔ)知識--軟件測試的藝術(shù)資料來自網(wǎng)絡(luò)資源
    發(fā)表于 05-04 22:57

    【資料】HarmonyOS開發(fā)必備基礎(chǔ)知識

    HarmonyOS開發(fā)必備基礎(chǔ)知識回復(fù)帖子查看資料下載鏈接:[hide][/hide]
    發(fā)表于 08-12 11:47

    電工必備基礎(chǔ)知識

    電工必備基礎(chǔ)知識1、左零右火。2、三相五線制用顏色黃、綠、紅、淡藍(lán)色分別表示U、V、W、N 保護(hù)接地線雙顏色(PE)。3、變壓器在運(yùn)行中,變壓器各相電流不應(yīng)超過額定電流;最大不平衡電流不得超過
    發(fā)表于 09-02 08:32

    USB基礎(chǔ)知識

    USB基礎(chǔ)知識 USB的重要關(guān)鍵字: 1、端點:位于USB設(shè)備或主機(jī)上的一個數(shù)據(jù)緩沖區(qū),用來存放和發(fā)送
    發(fā)表于 05-02 13:44 ?1251次閱讀

    電子工程師必備基礎(chǔ)知識

    電子工程師必備基礎(chǔ)知識(一) 運(yùn)算放大器通過簡單的外圍元件,在模擬電路和數(shù)字電路中得到非常廣泛的應(yīng)用。運(yùn)算放大器有好些個型號,在詳細(xì)的性能參數(shù)上有幾個差別,但原理和應(yīng)用方法一樣。
    的頭像 發(fā)表于 04-24 12:35 ?1.6w次閱讀

    硬件工程師必備要了解哪些基礎(chǔ)知識

    硬件工程師必備基礎(chǔ)知識 目的:基于實際經(jīng)驗與實際項目詳細(xì)理解并掌握成為合格的硬件工程師的最基本知識。
    發(fā)表于 10-30 08:00 ?0次下載

    OpenVINO開發(fā)配置應(yīng)必備哪些基礎(chǔ)知識?

    通過第一篇文章我們已經(jīng)了解什么是OpenVINO,它的諸多功能與全應(yīng)用場景支持人工智能落地的能力。本篇我們將重點介紹OpenVINO開發(fā)流程與開發(fā)必備基礎(chǔ)知識與相關(guān)API函數(shù)對象。
    的頭像 發(fā)表于 05-18 09:10 ?2118次閱讀
    OpenVINO<b class='flag-5'>開發(fā)</b>配置應(yīng)<b class='flag-5'>必備</b>哪些<b class='flag-5'>基礎(chǔ)知識</b>?

    Arduino入門必備基礎(chǔ)知識(基礎(chǔ)認(rèn)證考前總結(jié))

    Arduino入門必備基礎(chǔ)知識(基礎(chǔ)認(rèn)證考前總結(jié))
    發(fā)表于 11-15 20:51 ?16次下載
    Arduino入門<b class='flag-5'>必備</b><b class='flag-5'>基礎(chǔ)知識</b>(基礎(chǔ)認(rèn)證考前總結(jié))

    12張圖讀懂模電、數(shù)電必備的電路基礎(chǔ)知識(入門必備)

    12張圖讀懂模電、數(shù)電必備的電路基礎(chǔ)知識(入門必備)
    發(fā)表于 02-10 11:12 ?204次下載
    12張圖讀懂模電、數(shù)電<b class='flag-5'>必備</b>的電路<b class='flag-5'>基礎(chǔ)知識</b>(入門<b class='flag-5'>必備</b>)

    電子工程師必備基礎(chǔ)知識

    電子發(fā)燒友網(wǎng)站提供《電子工程師必備基礎(chǔ)知識.pdf》資料免費(fèi)下載
    發(fā)表于 11-20 11:29 ?47次下載
    電子工程師<b class='flag-5'>必備</b><b class='flag-5'>基礎(chǔ)知識</b>

    鴻蒙開發(fā)設(shè)備開發(fā)基礎(chǔ)知識

    鴻蒙開發(fā)基礎(chǔ)知識講解
    的頭像 發(fā)表于 01-29 18:44 ?1487次閱讀
    鴻蒙<b class='flag-5'>開發(fā)</b>【<b class='flag-5'>設(shè)備</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>基礎(chǔ)知識</b>】