吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

USB數據包的解析

電子工程師 ? 來源:FPGA設計論壇 ? 作者:FPGA設計論壇 ? 2020-09-28 11:40 ? 次閱讀

由域構成的包有四種類型,分別是令牌包、數據包、握手包和特殊包,前面三種是重要的包,不同包的域結構不同,介紹如下:

1、令牌包

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

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

幀起始包的格式:

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

2、數據包

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

SYNC + PID + 0~1023字節 + CRC16

3、握手包
結構最為簡單的包,格式如下:

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

原文標題:USB數據包解析

文章出處:【微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • usb
    usb
    +關注

    關注

    60

    文章

    7981

    瀏覽量

    266117
  • 數據包
    +關注

    關注

    0

    文章

    267

    瀏覽量

    24504

原文標題:USB數據包解析

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    I2C總線數據包結構詳解

    。以下是I2C總線數據包結構的詳解: 一、I2C總線數據包的基本組成 I2C總線上的數據傳輸以數據包為單位進行,每個數據包包含起始信號、設備
    的頭像 發表于 01-17 15:46 ?181次閱讀

    mtu配置步驟詳解 mtu與數據包丟失的關系

    MTU(Maximum Transmission Unit)即最大傳輸單元,是指一種通信協議的某一層上面所能通過的最大數據報大小,單位是字節。MTU配置步驟及其與數據包丟失的關系如下: MTU配置
    的頭像 發表于 12-16 14:33 ?1119次閱讀

    USB協議分析儀的技術原理和應用場景

    信息。 數據顯示:解析后的數據會以圖形化界面展示出來,如波形圖、時序圖、數據包列表等,幫助工程師更直觀地了解USB設備的通信過程。 觸發功能
    發表于 09-24 14:29

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

    DCTCP與DCUDP的登錄數據包和心跳數據包與服務器端是如何交互的?
    發表于 07-25 06:37

    esp8266怎么做才能每秒發送更多的數據包呢?

    數據包的速度,即每秒大約 50 個 UDP 數據包。高波特率唯一改變的是,在數據包較大的情況下,我可以以與輕量級數據包相同的速度發送數據包
    發表于 07-22 08:00

    使用AT SAVETRANSLINK時UDP數據包丟失怎么解決?

    Android 發送一個小 UDP 數據包(5 字節)。這個小數據包被我的微控制器在UART上接收到。微控制器將更大的數據包(可變長度,約 100 字節)發送回 UART。ESP在UART上接
    發表于 07-18 07:17

    能否在ESP結束之前通過串行端口停止傳入的UDP數據包的傳輸以解析下一個UDP數據包?

    丟棄在ESP完成之前不需要的數據包,以便通過串行端口發送它以接收下一個數據包, 如果沒有,我必須按順序讀取所有傳入的數據包,需要的和不需要的, 而且波特率不足,主機處理器開銷大, 我能否在 ESP 結束之前通過串行端口停止傳入
    發表于 07-16 06:18

    請問如何使用AT CIPSEND或AT CIPSENDBUF發送多個數據包?

    我可以使用 AT CIPSEND 發送單個數據包。但是我必須發送一系列二進制數據包。如何使用AT CISEND或AT CIPSENDBUF發送多個數據包,什么是正確的算法? 到目前為止,我嘗試
    發表于 07-15 07:37

    NONOS如何檢查是否實際發送了UDP數據包?

    我發現進入深度睡眠通常無法傳輸發送的最后一個 UDP 數據包。我現在將睡眠延遲 30 毫秒,這是一個黑客。 我寧愿有一種方法來檢查是否可以休眠,或者以其他方式能夠注冊指示數據包已發送的回調(無線電發送緩沖區為空)。 說清楚:我需要知道是 ESP 發送了它,而不是像 U
    發表于 07-12 06:14

    在AN65974中短數據包和零長數據包是什么意思?

    在 AN65974 中,短數據包和零長數據包是什么意思? 非常感謝!
    發表于 05-30 07:41

    在Fx3控制器中,USB數據包中的數據有效載荷無法正常發送的原因?

    在 Fx3 控制器中,在流式傳輸過程中,從主機收到了意外的端點停止請求。 在調試過程中,我發現 USB 數據包中的數據有效載荷無法正常發送,請問出現這種錯誤的原因是什么。 下面附有錯誤圖像和完整的
    發表于 05-28 06:37

    如何在AIROC GUI上獲取良好數據包和總數據包

    使用 IQxel-MW LifePoint 作為發生器并發送波形BT_1DH5_00001111_Fs80M.iqvsg,但無法在 AIROC 工具中接收數據包。 以下是從 IQxel 發送
    發表于 05-22 06:39

    請問高端網絡芯片如何處理數據包呢?

    隨著網絡芯片帶寬的持續提升,其內部數據包處理單元的工作負載也隨之增加。然而,如果處理單元無法與網絡接口的傳入速率相匹配,將無法及時處理數據包,這不僅會導致數據包隨機丟失,更會降低網絡的吞吐量。
    的頭像 發表于 04-02 16:36 ?706次閱讀
    請問高端網絡芯片如何處理<b class='flag-5'>數據包</b>呢?

    STM32H7接收數據包異常,一接收的數據出現兩發送的內容怎么解決?

    );__HAL_UART_DISABLE_IT( huart1, DMA_IT_HT); 2、發送數據包1
    發表于 03-08 08:05

    DPDK在AI驅動的高效數據包處理應用

    傳統的數據包處理方式是數據包先到內核最后再到用戶層進行處理。這種方式會增加額外的延遲和CPU開銷,嚴重影響數據包處理的性能。 DPDK 繞過內核,在用戶空間中實現快速數據包處理。
    的頭像 發表于 02-25 11:28 ?1061次閱讀
    DPDK在AI驅動的高效<b class='flag-5'>數據包</b>處理應用
    爱拼网| 百家乐官网程序软件| 百家乐天上人间| 大发888娱乐鸿博娱乐| 太阳城百家乐官网杀祖玛| 百家乐翻天qvod粤语| 澳门葡京赌场美女| 在线百家乐官网下| 大发888娱乐场怎样下载 | 盐城百家乐的玩法技巧和规则| 金城百家乐官网玩法| 澳门百家乐赢钱窍门| 博狗足球开户| 新澳门百家乐官网的玩法技巧和规则| 太阳城的故事| 电玩城百家乐官网技巧| 南宁百家乐的玩法技巧和规则 | 百家乐官网翻天百度影音| 大发888游戏平台88| 百家乐官网高手看百家乐官网| 百家乐程序软件| 百家乐官网网址讯博网| 百家乐园游戏77sonci...| 台安县| 个人百家乐策略| 百家乐官网电子作弊器| 广州百家乐扫描分析| 百家乐官网游戏补牌规则| 362百家乐的玩法技巧和规则| 百家乐官网规则博彩正网| 太原百家乐的玩法技巧和规则| 百家乐官网连长| 大发888赌博| 乐享百家乐官网的玩法技巧和规则 | 百家乐官网技术下载| 百家乐赌机玩法| 百家乐官网攻略投注法| 试玩百家乐的玩法技巧和规则| 赌博百家乐官网赢钱方法| 大发888网页ban| 属猪属蛇做生意怎么样|