找回密码
 立即注册
楼主: wuzhengmin

今天开始学习STC-USB-CDC

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-11-01 12:17:15
已绑定手机

7

主题

590

回帖

1052

积分

金牌会员

积分
1052
发表于 3 天前 | 显示全部楼层
USB通信的时域构成
从时间角度来着,USB通信由一系列帧构成每一帧都有一个帧开始(SOF),随后是一个或多个数据操作每一个数据操作都由一系列数据包构成一个数据包由一个同步信号开始,结尾是一个数据包结束(EOP)信号一个数据操作至少有一个令牌数据包
截图202510302053105073.jpg
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-11-01 12:17:15
已绑定手机

7

主题

590

回帖

1052

积分

金牌会员

积分
1052
发表于 3 天前 | 显示全部楼层
每一次数据传输都会有一个帧:
截图202510302103565756.jpg
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-11-01 12:17:15
已绑定手机

7

主题

590

回帖

1052

积分

金牌会员

积分
1052
发表于 3 天前 | 显示全部楼层
不同的数据包
数据操作是对数据包进行交换的操作,该操作使用了三种一个令牌数据包
一个数据数据包(可选)一个握手数据包

下图为一次通信主机与设备的数据包收发类型,其中令牌包和握手包由主机发送数据包由设备发送
截图202510302112158742.jpg
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-11-01 12:17:15
已绑定手机

7

主题

590

回帖

1052

积分

金牌会员

积分
1052
发表于 3 天前 | 显示全部楼层
数据包的结构如图所示,可作为数据包的模板,具体的数据包构成需要依据具体的数据包类型


PID数据包ID,共8位,其分为4个类型位和4个错误检测位。这些位将数据传输定义为IN/OUT/SETUP/SOF
截图202510302115564175.jpg
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-11-01 12:17:15
已绑定手机

7

主题

590

回帖

1052

积分

金牌会员

积分
1052
发表于 3 天前 | 显示全部楼层
主要注意数据包没有标准模版:

共8位,其分为4个类型位和4个错误检测位。

ADDR可选的设备地址,共7位,最多可支持127个设备
ΕΡ
可选的端点地址,共4位,最多支持16个端点。USB规范支持多达32个端点。虽然4位地址最多仅支持16个端点,但我们具有一个IN PID和一个OUT PID,它们各自使用了端点地址1到16,因此共有32个端点注:它表示端点的地址,而不是端点的编号PAYLOAD DATA可选的加载数据,0到1023字节
CRC
(可选)5或16位
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-11-01 12:17:15
已绑定手机

7

主题

590

回帖

1052

积分

金牌会员

积分
1052
发表于 3 天前 | 显示全部楼层
数据包类型共有四种,数据包类型由PID决定
令牌(token)数据包:
开始数据操作、指定与传输有关的设备、始终由主机发送数据
(data)数据包:
传输加载数据、由主机或设备发送
握手(handshake)数据包:
确认己接收到无错误的数据、由接收方发送
特殊数据包:
支持多种不同的速度、由主机传输给集线器设备
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-11-01 12:17:15
已绑定手机

7

主题

590

回帖

1052

积分

金牌会员

积分
1052
发表于 3 天前 | 显示全部楼层
令牌数据包始终由主机发送,用于定义总线上的数据传输令牌数据包的类型取决于所执行的传输类型主机向设备发送IN令牌数据包,用于从设备读取数据主机向设备发送OUT令牌数据包,用于将数据从主机传输给设备主机向设备发送SETUP令牌数据包,用于将主机的请求传输给设备SOF令牌数据包用于确定帧的起始位置
截图202510302153047200.jpg
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-11-01 12:17:15
已绑定手机

7

主题

590

回帖

1052

积分

金牌会员

积分
1052
发表于 3 天前 | 显示全部楼层
数据数据包
加载数据的大小会因传输类型的不同而异,数据大小的范围为0到1024字节
在每一个数据数据包成功传输后,数据包ID在DATAO和DATA1之间切换,数据包由一个16位CRC结束


DATAO和DATA1是数据包的ID在STC32中:DATA0是数组{0,0},DATA1是数组{1,0}

截图202510302157288490.jpg
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-11-01 12:17:15
已绑定手机

7

主题

590

回帖

1052

积分

金牌会员

积分
1052
发表于 3 天前 | 显示全部楼层
握手数据包
握手数据包指示数据操作的结束



每个握手数据包都带有一个8位数据包ID,并由传输中的接收方发送
不同USB速度都有不同的握手数据包响应选项所支持的类型由USB速度决定
截图202510302202226463.jpg
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-11-01 12:17:15
已绑定手机

7

主题

590

回帖

1052

积分

金牌会员

积分
1052
发表于 3 天前 | 显示全部楼层
握手数据包
截图202510302203348430.jpg
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-11-2 09:27 , Processed in 0.125751 second(s), 92 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表