目录
概要
阻抗控制:90Ω差分阻抗±10%
AC耦合电容:100nF
USB2.0: 5V,500mA
USB3.0: 5V,1A
USB拓扑
电路设计
另外还有共模电感部分,解决EMC问题,这里没涉及,所以没有画出来。
电源部分:
1.由于USB是外部接口,考虑到用户使用的各种复杂条件,防止有短路的情况影响到板卡自身的电源,所以需要设计限流IC。
这里使用的限流IC还是比较简单的,首先根据负载确定限流IC芯片,USB2.0跟USB3.0跑的最大电流不一样,限流的大小也不一样,需要注意。
笔者以前做设计用过另外一种限流IC,保护时能输出状态IO,这个信号可以连接到板卡的SOC,或者MCU等,以进行状态检测。
2.电容
因为USB设备拔插的时候,电压会波动,尤其是插入的时候,需要较大的电流,需要在接口附近使用较大的电容,防止电压被拉低。为了电源的干净,也可以增加两枚小电容。
信号部分:
USB信号走的是差分信号,为了保护,需要在链路上增加TVS管,理论上每个元器件都有一定的容性,所以选用TVS管的时候,尽量选择容性负载小一些的,对信号影响最小。保护电压不必太大,考虑USB差分信号幅值大小来选型即可,下图是TVS管的典型参数
考虑到PCB走线阻抗的连续性,TVS管在板卡的位置,距离USB座子不宜太远也不宜太近。太远不利于TVS,太近则会导致阻抗跌落。
USB规格书说明
协议层
协议层在主机和设备间定义了end-to-end通讯规则。超速协议在主机和设备端点(endpoint) 之间提供应用数据信息交换。这个通讯关系叫做管道(pipe)。
它是主机导向的协议,意味着主机决定什么时候在主机和设备间进行应用数据传输。设备可以通过一个特定端点向主机发起异步请求服务,所以它不是一个轮询协议(USB2.0为轮询协议)。
数据可以连续突发传输,提高总线效率。
对某些传输类型(块传输),协议提供流控支持。
SS设备可以异步发送,通知主机,设备的功能状态发生改变。而不是轮询的方式。设备端点可以通过设备异步发送的“ready”包(ERDY TP)通知主机进行数据发送与接收,主机对于“ready”通知,如果有有效的数据发送或者缓存接收数据,会添加管道。
主机发送包含主机时间戳的特殊包头(ITP)到总线上,该值可以用于保持设备和主机同步(如果需要的话)。
超速USB电源管理:
链路电源管理的关键点是:
·设备向主机发送异步“ready”通知
· 包是有路由路径的,这样就允许不参与数据通讯的链路进入或仍旧停留在低电源状态。
· 如果包送到一个处于低电源状态的端口,这个端口会切换到退出低电源状态并指示这是个切换事件。
HUB设备
因为USB3.0向下兼容USB2.0,为支持USB3.0双总线结构,USB3.0 HUB在逻辑上是两个HUB的组合:一个USB2.0 HUB和一个USB3.0 HUB。连接到上游端口的电源和地线是共享的。
集线器参与到一个端到端的协议中,所承当的工作:
·路由选择输出的包到下游端口。 ·输入包混合传递到上游端口
·当不在低功耗状态下时,向所有下游端口广播时间戳包(ITP)
·当在一个低功耗状态的端口检测到包时,集线器将目标端口转变成退出低功耗状态, 通知主机和设备(带内)包遭遇到了一个在低功耗状态的端口。
主机(Hosts):
一个USB3.0主机通过主控器和USB设备互连。为了支持USB3.0双总线结构,USB3.0 主控器必须包括超速(USB3.0)和USB2.0部分,这样可以同时管理每一个总线上主机和设备间的控制、状态和信息交换。
主机含有几个根下行端口实现超速USB和USB2.0,主机通过这些端口:
·检测USB设备的连接和移除;
·管理主机和设备间的控制流;
·管理主机和设备间的数据流;
·收集状态和活动统计;
·对连接的设备供电; USB系统软件继承了USB2.0的结构,包括:
·设备枚举和配置;
·规划周期性和异步数据传输;
·设备和功能电源管理; ·设备和总线管理信息。