91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

USB數(shù)據(jù)包的解析

電子工程師 ? 來源:FPGA設(shè)計論壇 ? 作者:FPGA設(shè)計論壇 ? 2020-09-28 11:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

由域構(gòu)成的包有四種類型,分別是令牌包、數(shù)據(jù)包、握手包和特殊包,前面三種是重要的包,不同包的域結(jié)構(gòu)不同,介紹如下:

1、令牌包

分為輸入包、輸出包、設(shè)置包和幀起始包(注意這里的輸入包是用于設(shè)置輸入命令的,輸出包是用來設(shè)置輸出命令的,而不是放數(shù)據(jù)的)其中輸入包、輸出包和設(shè)置包的格式都是一樣的:

SYNC + PID + ADDR + ENDP + CRC5(五位的校驗碼)

幀起始包的格式:

SYNC + PID + 11位FRAM + CRC5(五位的校驗碼)

2、數(shù)據(jù)包

分為DATA0包和DATA1包,當(dāng)USB發(fā)送數(shù)據(jù)的時候,如果一次發(fā)送的數(shù)據(jù)長度大于相應(yīng)端點(diǎn)的容量時,就需要把數(shù)據(jù)包分為好幾個包,分批發(fā)送,DATA0包和DATA1包交替發(fā)送,即如果第一個數(shù)據(jù)包是DATA0,那第二個數(shù)據(jù)包就是DATA1。但也有例外情況,在同步傳輸中(四類傳輸類型中之一),所有的數(shù)據(jù)包都是為DATA0,格式如下:

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

3、握手包
結(jié)構(gòu)最為簡單的包,格式如下:

SYNC + PID
握手包包括 ACK、NAK、STALL以及NYET 四種,其中 ACK 表示肯定的應(yīng)答,成功的數(shù)據(jù)傳輸。NAK 表示否定的應(yīng)答,失敗的數(shù)據(jù)傳輸,要求重新傳輸。STALL表示功能錯誤或端點(diǎn)被設(shè)置了STALL屬性。NYET表示尚未準(zhǔn)備好,要求等待。

原文標(biāo)題:USB數(shù)據(jù)包解析

文章出處:【微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

責(zé)任編輯:haq

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

    關(guān)注

    60

    文章

    8441

    瀏覽量

    284663
  • 數(shù)據(jù)包
    +關(guān)注

    關(guān)注

    0

    文章

    270

    瀏覽量

    25605

原文標(biāo)題:USB數(shù)據(jù)包解析

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    CW32R030可以兼容BLE及XN297L數(shù)據(jù)包,請問這個XN297L數(shù)據(jù)包是什么?

    CW32R030可以兼容BLE及XN297L數(shù)據(jù)包,請問這個XN297L數(shù)據(jù)包是什么?
    發(fā)表于 01-20 06:37

    BLE 藍(lán)牙空中報文格式與解析(廣播

    BLE 廣播數(shù)據(jù)格式解析說明 ...... 矜辰所致
    的頭像 發(fā)表于 01-04 17:28 ?1916次閱讀
    BLE 藍(lán)牙空中報文格式與<b class='flag-5'>解析</b>(廣播<b class='flag-5'>包</b>)

    bk3633 usb 設(shè)備如何讀取主機(jī)向端點(diǎn)0 發(fā)送數(shù)據(jù)包

    bk3633 usb 設(shè)備如何讀取主機(jī)向端點(diǎn)0 發(fā)送數(shù)據(jù)包
    發(fā)表于 12-30 13:03

    串口DMA接收數(shù)據(jù)包丟失怎么解決?

    RTT串口DMA接收數(shù)據(jù),超過緩沖區(qū)后為什么會吞掉一個數(shù)據(jù)包呢,不能每次處理完后清除緩沖區(qū)數(shù)據(jù)嗎,感覺接收的數(shù)據(jù)是累計的,累計滿之后會重新覆蓋,在最后一個
    發(fā)表于 09-29 07:50

    請問DCTCP與DCUDP 的登錄數(shù)據(jù)包和心跳數(shù)據(jù)包與服務(wù)器端是如何交互的?

    DCTCP與DCUDP 的登錄數(shù)據(jù)包和心跳數(shù)據(jù)包與服務(wù)器端是如何交互的?
    發(fā)表于 08-06 06:29

    USB3014遇到寫入字節(jié)限制,當(dāng)寫入數(shù)據(jù)的長度為1024字節(jié)或其整數(shù)倍時,無法完成寫入操作怎么解決?

    關(guān)于 USB3014 寫入 1024 字節(jié)或其整數(shù)倍的問題,我了解到以下信息: 文檔中提到,如果外部主設(shè)備始終寫入滿數(shù)據(jù)包(如 1024 字節(jié)或其整數(shù)倍),則無需使用 PKTEND# 信號
    發(fā)表于 07-28 08:28

    藍(lán)牙數(shù)據(jù)通道空口數(shù)據(jù)包

    ? 與藍(lán)牙廣播相對應(yīng),藍(lán)牙數(shù)據(jù)包是另一種Bluetooth LE packet。藍(lán)牙數(shù)據(jù)包是藍(lán)牙數(shù)據(jù)信道空中的簡稱,表示空中
    發(fā)表于 06-03 10:51

    Bluetooth LE Link Layer數(shù)據(jù)包解析

    ,因此文章取名“詳解Bluetooth LE空口格式—兼Bluetooth LE link layer協(xié)議解析
    發(fā)表于 06-03 10:28

    能否使用兩個 FX3 設(shè)備實現(xiàn) USB 數(shù)據(jù)包嗅探、插入和移除?

    能否使用兩個 FX3 設(shè)備實現(xiàn) USB 數(shù)據(jù)包嗅探、插入和移除?如果需要,除了兩個 FX3 設(shè)備外,還需要哪些硬件(如果有的話)?
    發(fā)表于 05-26 07:16

    更改最大數(shù)據(jù)包大小時無法識別USB設(shè)備如何解決?

    將生產(chǎn)者 EP 端點(diǎn)描述符中的最大數(shù)據(jù)包大小從 1024 字節(jié)更改為 512 字節(jié)時,無法識別 USB 設(shè)備。 請告知如何解決這個問題。
    發(fā)表于 05-20 08:13

    使用CyU3PDmaChannelCommitBuffer提交超過1024字節(jié)數(shù)據(jù)usb異常大怎么解決?

    你好,我正在嘗試使用fx3實現(xiàn)USB3Vision設(shè)備,但是當(dāng)我使用CyU3PDmaChannelCommitBuffer函數(shù)提交超過1024字節(jié)數(shù)據(jù)時,主機(jī)獲取到的USB數(shù)據(jù)包變得非
    發(fā)表于 05-13 06:11

    是否可以在安裝了CY7C65213的電路板上生成USB2.0測試數(shù)據(jù)包波形?

    是否可以在安裝了 CY7C65213 的電路板上生成 USB2.0 測試數(shù)據(jù)包波形? 如果可能的話,請告訴我如何做,因為我有測量設(shè)備和合規(guī)套件。 請注意,我們不打算獲得USB標(biāo)志認(rèn)證,而是確認(rèn)安裝在板上的CY7C65213的波形
    發(fā)表于 05-06 08:29

    如何定義輪詢間隔和最大數(shù)據(jù)包大小?

    LPC5516 SDK 和 dev_hid_generic_lite_bm 示例: 我相信輪詢間隔和最大數(shù)據(jù)包大小是在 usb_device_descriptor.c 中定義的: uint8_t
    發(fā)表于 04-04 07:20

    為UART、MCXA142實現(xiàn)ISP通信的主機(jī)端,發(fā)送Ping數(shù)據(jù)包并收到預(yù)期的響應(yīng),發(fā)送和接收數(shù)據(jù)包的典型順序是什么?

    我想為 UART、MCXA142 實現(xiàn) ISP 通信的主機(jī)端。我發(fā)送 Ping 數(shù)據(jù)包并收到預(yù)期的響應(yīng)。發(fā)送和接收數(shù)據(jù)包的典型順序是什么? 此刻,我的照片是這樣的: 1. 發(fā)送 Ping 2. 接收 Ping 響應(yīng) 3. 在成幀
    發(fā)表于 04-03 08:05

    為什么無法通過demo_feature_L2_bridge_vlan上的PFE轉(zhuǎn)發(fā)VLAN標(biāo)記的以太網(wǎng)數(shù)據(jù)包

    - PC1 使用 ICMP 應(yīng)答進(jìn)行響應(yīng) 對于第二個用例,我看不到正在路由的數(shù)據(jù)包。PC1 不響應(yīng) PC0 發(fā)送的 ARP 請求。我還嘗試發(fā)送硬編碼數(shù)據(jù)包(PC0 和 PC1 的 src 和 dst
    發(fā)表于 03-25 08:05