协议学习-USB

USB,Universal Serial Bus,即通用串口总线

USB是用差分的方法进行传输的,就是在发送端两条信号线上发送幅值一样但是相位相反的信号,然后在接收端将这两个信号进行减法运算,就会得到相位相同幅值翻倍的信号。将两条信号线进行扭在一起,根据电磁学的原理,可以近似认为两条线受到的干扰信号的幅值和相位是相同的,所以在进行减法运算的时候就会将干扰信号给去除掉,提高其抗干扰的能力。
在这里插入图片描述

USB的编码方式为NRZI(Non Return to Zero Invert,不归零就反向),NRZI编码是一种映射一个二进制信号的方法,编码后电平只有正负电平之分,没有零电平,所以也是不归零编码。当数据为0时,电平翻转,数据为1时,电平不翻转。
在这里插入图片描述
上面的USB要传输的数据,下面的就是通过NRZI编码后的数据。
那为什么要使用NRZI编码呢?
我们来了解一下RZ 编码(Return-to-zero Code,归零编码)
在这里插入图片描述
信号线上就会出现三中电平,高电平、低电平还有零电平。每次传输完一个高电平或者低电平之后都会归零,接受端在归零之后对信号进行采样,这样就不需要单独的时钟信号,所以也叫自同步信号。但是这有个问题,就是信号一般的带宽都用来归零了,太浪费了。

我们把归零这个步奏给去了,那便是NRZ 编码(Non-return-to-zero Code)
在这里插入图片描述
NRZ编码可以充分利用信号的带宽了,但却失去了自同步的性质。
NRZI编码和NRZ编码一样没有归零的步奏,但NRZI是利用信号的翻转来表示逻辑0,信号不变来表示逻辑1的,因为是将翻转本身作为一种通知的机制,所以发送的是相位相反的信号,它所代表的数据序列也是完全一样的,这与USB进行差分传输模式是相匹配的,这也就是为什么用NRZI编码而不用NRZ编码的原因。
在这里插入图片描述

NRZI编码和NRZ编码一样也是没有自同步的性质的,那么NRZI编码是如何进行信号采集的呢?我们要想采集信号,主要就是要知道它发送的频率是多少,我们可以先发送一个同步头,内容是 0101010 的方波,让接受端通过这个同步头计算出发送者的频率,然后再用这个频率来采样之后的数据信号。

在 USB 中,每个 USB 数据包,最开始都有个同步域(SYNC),这个域固定为 0000 0001,这个域通过 NRZI 编码之后,就是一串方波,接受者可以用这个 SYNC 域来同步之后的数据信号。但是这个频率是有误差的,不可能完全一样,还是需要在后面进行不断调整。因为逻辑 0 会造成电平翻转,所以接受端在接受数据的同时,根据接收到的翻转信号不断调整同步频率,来保证数据传输正确。但如果电平长时间不变化(也就是信号一直是逻辑1),那就难免出现错误(将逻辑1的个数给数错)。所以USB在发送数据前要经过位填充处理( bit-stuffing),在 6 个连续的逻辑 1 后面插入一个逻辑 0 ,接收端遇到6个输入逻辑1,且后面紧接的是逻辑0时,自动将其删除(强制插0来避免数错逻辑1)。

端点:一个数据缓冲区。每一个端点有着唯一的地址,且有着不同的传输特性(输入端点、输出端点、配置端点、批量传输端点)
帧:一个时间概念。在USB中一帧就是1mS,一帧为一个独立单元,包含了一系列的动作。
上行:设备→主机
下行:主机→设备

USB的传输结构
一条
一条USB传输线由电源线、地线、D+、D-组成。D+、D-是差分信号输入线,使用的是3.3V的电压(与CMOS的5V电平不同),电源线和地线可以给设备提供5V的电压,最大电流为500mA。

USB的数据格式
USB的数据是由二进制数字串构成的,数字串构成域(7种域),域构成包,包构成事务(IN,OUT,SETUP),事务构成传输(中断传输、并行传输、批量传输、控制传输)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
PID标识码有16种
在这里插入图片描述

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

禾末飞雁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值