USB之SE0、SE1

很早就了解USB传输的信号采用NRZI编码,但对SE0、SE1、差分0、差分1这些状态的电平不了解。这次查阅了USB2.0协议,在这里简明记录一下。
在USB协议中,电平是一个“范围”。但我这里就直接用典型值代替了。

low/full-speed:

  • 差分1:D+ 3.3V, D- 0V
  • 差分0:D+ 0V, D- 3.3V
  • SE0: D+ 0V, D- 0V
  • SE1: D+ > 0.8V, D- > 0.8V
    ** J K Idle 在full-speed与low-speed不同。 **
  • Data J: low-speed: 差分1, full-speed: 差分0
  • Data K: low-speed: 差分0, full-speed: 差分1
  • Idle: low-speed:类似于差分0(data J), full-speed:类似于差分1(data J)。所以Idle都是J,但电平不同。
  • Suspend:Idle超过3ms。所以LS和FS的Idle都是J但电平不同。
  • Resume:Data K。所以LS和FS的resume都是K但电平不同。
  • disconnect: SE0 > 2.5us (at downstream port only)
  • connect: Idle > 2ms (at downstream port only)
  • reset: SE0超过10ms

high-speed

  • 差分1 :Dp 360~440mV,Dm 0mV
  • 差分0 :与1相反
  • J :差分1
  • K :差分0
  • chirp J :Dp比dDm电平高,类似于J,具体电平约束稍不同。
  • chirp K :Dp比Dm电平低,类似于K,具体电平约束稍不同。
  • Idle :与FS LS不同,HS的Idle Dp Dm都是0V左右。
  • connect :参考“speed如何确定”。
  • disconnect :当device断开,host侧会因为端接电阻的消失而Dp Dm的振幅变大,所以host可检测到设备disconnect。
  • HS设备的Rest与suspend无法直接区分。HS设备看到Idle后须返回full-speed,具体方法是打开Dp的上拉电阻并断开端接电阻,然后采样DpDm,如果发现full-speed J,则可断定为suspend,如果发现SE0,则可断定为Reset。
  • 如何区分Disconnect与Reset、Suspend ?

参考资料

USB2.0协议,7.1.7
USB2.0协议,7.3.2

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值