USB2.0令牌、事务及传输抓包分析
+ -

OUT令牌包的设备端事务响应流程

2022-07-05 30 0
欢迎加入官方QQ群:952873936或联系站长进行技术交流。

USB主机发送OUT令牌给设备,用于向设备端发送数据。

USB设备收到主机发送的PID为OUT的令牌包后,设备需要对OUT令牌包进行校验。

  • 如果这个packet中的设备地址信息和端点号信息有效, 并且端点为Valid状态

    • USB硬件从硬件buf中把数据搬移到用户可访问的packet buffer中
    • USB硬件核对收到的CRC无误,就发出ACK握手包
    • 如果CRC有误,就不会发出ACK握手包,并置位ERR@USB_ISTR;一般USB模块会自动恢复来准备接收下一次传输
    • 如果收到的数据长度超过了分配的空间,硬件回复STALL,置位溢出错误,但不产生中断
  • 如果该端点状态不是valid

USB外设收到主机返回的应答( PID为ACK的握手包)后:

  • 硬件

    • toggle DTOG_RX@USB_EPnR
    • 硬件把该端点设置为invalid状态(STAT_RX=NAK
    • 硬件置位CTR_RX,产生中断
  • 软件

    • 通过检查EP_ID和DIR@USB_ISTR来识别是哪个端点上的通信
    • 响应CTR_RX中断:
    • 标志清零;
    • 软件对收下来的数据进行处理;
    • 软件重新设置STAT_RX=VALID来重新把该EP设置到接收valid状态

OUT事务示例

0 篇笔记 写笔记

USB2.0 OUT令牌包
USB2.0 OUT令牌用于主机向设备发送数据,令牌后跟数据包,当数据发送完成后设备需返回ACK包。OUT令牌包格式OUT令牌包格式由8位的包标识字段PID,7位的地址字段ADDR、4位的段点字段和5位的循环字段CRC共24位3字节组成。包标识字段PID:定义了数据传输方向为USB主机到USB......
OUT令牌包的设备端事务响应流程
USB主机发送OUT令牌给设备,用于向设备端发送数据。USB设备收到主机发送的PID为OUT的令牌包后,设备需要对OUT令牌包进行校验。如果这个packet中的设备地址信息和端点号信息有效, 并且端点为Valid状态USB硬件从硬件buf中把数据搬移到用户可访问的packet buffer......
作者信息
USB中文网
B站搜索 站长漫谈 看视频。
pnpon内核开网,USB中文网,
busrom硬核技术网站长
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!