新聞中心

        usb基礎知識

        作者: 時間:2016-11-28 來源:網(wǎng)絡 收藏
        1、端點:位于USB設備或主機上的一個數(shù)據(jù)緩沖區(qū),每個端點有其唯一的地址,有不同的傳輸特性(輸入、輸出、配置、批量傳輸端點)

        幀: 是一個時間概念,在USB中,一幀就是1MS,包含了一系列總線動作。USB

        本文引用地址:http://www.104case.com/article/201611/322917.htm

           將一幀分為好幾份,每份就是USB的一個傳輸動作。

        上行:設備到主機為上行,主機到設備為下行。

        2、數(shù)據(jù)在USB中的發(fā)送是由低位到高位發(fā)送的。

        3、USB的數(shù)據(jù)格式:

            數(shù)字串構成域(有七種),域再構成包,包再構成事務(IN、OUT、SETUP),事務最后構成傳輸(中斷傳輸、并行傳輸、批量傳輸和控制傳輸)。

            域:

        名稱

        意義

        同步域(SYNC)

        固定為0000 0001

        用于同步

        標識域(PID)

        四位標識符+四位標識符反碼

        表明包的類型和格式,共16種

        地址域(ADDR)

        7位地址

        設備在主機上的地址(注1)

        端點域(ENDP)

        4位

        幀號域(FRAM)

        11位

        每個幀都有其編號,最大為0x800

        數(shù)據(jù)域(DATA)

        校驗域(CRC)

            注:1、地址000 0000被命名為零地址,是任何一個設備第一次連接到主機時,在被主機配置、枚舉前的默認地址,由此可以知道為什么一個USB主機只能接127個設備的原因。

            2、端點域有4位,所以一個設備最多有16個端點。

           包:

           

        令牌包

        SYNC+PID+ADDR+ENDP+CRC5(五位的校驗碼)(輸入、輸出、設置)

        SYNC+PID+11位FRAM+CRC5(五位的校驗碼)(幀起始包)

        數(shù)據(jù)包

        SYNC+PID+0~1023字節(jié)+CRC16

        握手包

        SYNC+PID

        特殊包

           事務:

             IN:令牌包、數(shù)據(jù)包、握手包

             OUT:令牌包、數(shù)據(jù)包、握手包

             SETUP:令牌包、數(shù)據(jù)包、握手包 這8個字節(jié)的內(nèi)容就是標準的USB設備請求命令(共有11條

          

        傳輸:

            傳輸由IN、OUT、SETUP中的事務構成,有中斷傳輸、批量傳輸、控制傳輸、  

            同步傳輸、控制傳輸,其中中斷傳輸和批量轉輸?shù)慕Y構一樣,同步傳輸有最簡單的結構,而控制傳輸是最重要的也是最復雜的傳輸。

        1、    中斷傳輸:由OUT事務和IN事務構成,用于鍵盤、鼠標等HID設備的數(shù)據(jù)傳輸中

        2、     批量傳輸:由OUT事務和IN事務構成,用于大容量數(shù)據(jù)傳輸,沒有固定的傳輸速率,也不占用帶寬,當總線忙時,USB會優(yōu)先進行其他類型的數(shù)據(jù)傳輸,而暫時停止批量轉輸。

        3、     同步傳輸:由OUT事務和IN事務構成,有兩個特殊地方,第一,在同步傳輸?shù)腎N和OUT事務中是沒有返回包階段的;第二,在數(shù)據(jù)包階段所有的數(shù)據(jù)包都為DATA0

        4、   控制傳輸:最重要的也是最復雜的傳輸,控制傳輸由三個階段構成(初始設置階段、可選數(shù)據(jù)階段、狀態(tài)信息步驟),每一個階段可以看成一個的傳輸,也就是說控制傳輸其實是由三個傳輸構成的,用來于USB設備初次加接到主機之后,主機通過控制傳輸來交換信息,設備地址和讀取設備的描述符,使得主機識別設備,并安裝相應的驅動程序,這是每一個USB開發(fā)者都要關心的問題

        令牌包:

        0x01輸出(OUT)啟動一個方向為主機到設備的傳輸,并包含了設備地址和標號

        0x09輸入(IN)啟動一個方向為設備到主機的傳輸,并包含了設備地址和標號

        0x05幀起始(SOF)表示一個幀的開始,并且包含了相應的幀號

        0x0d設置(SETUP)啟動一個控制傳輸,用于主機對設備的初始化

        數(shù)據(jù)包:

        0x03偶數(shù)據(jù)包(DATA0),

        0x0b奇數(shù)據(jù)包(DATA1)

        握手包:

        0x02確認接收到無誤的數(shù)據(jù)包(ACK)

        0x0a無效,接收(發(fā)送)端正在忙而無法接收(發(fā)送)信息

        0x0e錯誤,端點被禁止或不支持控制管道請求

        特殊包0x0C前導,用于啟動下行端口的低速設備的數(shù)據(jù)傳輸



        關鍵詞: usb基礎知

        評論


        技術專區(qū)

        關閉
        主站蜘蛛池模板: 泸定县| 铅山县| 新密市| 天祝| 宜宾县| 青岛市| 田林县| 安龙县| 习水县| 托克逊县| 衡水市| 宽城| 同心县| 资阳市| 清镇市| 钟山县| 鱼台县| 赤水市| 安岳县| 高邮市| 泊头市| 怀柔区| 南投县| 邻水| 巨野县| 读书| 瓮安县| 鞍山市| 泰顺县| 乳源| 大庆市| 元阳县| 建德市| 安阳市| 绥阳县| 曲水县| 延安市| 嘉义市| 彭水| 汉阴县| 彝良县|