硬件设计:接口--USB2.0电路设计
参考资料:USB2.0通信原理及电路设计
一、USB2.0物理特性
1.1、USB接口
USB连接器包含4条线,其中VBUS、GND用于提供5V电源,电流可达500mA;而D+、D-用于USB数据传输。
D+、D-是一组差分信号,差分阻抗为90欧,具有极强的抗干扰性;若遭受外界强烈干扰,两条线路对应的电平会同时出现大幅度提升或降低的情况,但二者的电平改变方向和幅度几乎相同,所以两者之间的电压差值可始终保持相对稳定。
扩展:USB OTG(即USB On-The-Go)技术在完全兼容USB2.0标准的基础上,增添了电源管理(节省功耗)功能,它允许设备既可作为主机,也可作为外设操作,实现了在没有主机的情况下,设备与设备之间的数据传输。例如数码相机直接连接到打印机上,通过OTG技术,连接两台设备间的USB口,将拍出的相片立即打印出来。
USB OTG接口中有5条线:
2条用来传送数据D+ 、D-;
2条是电源线VBUS、GND;
1条是ID线,用于识别不同的电缆端点,mini-A插头(即A外设)中的ID引脚接地,mini-B插头(即B外设)中的ID引脚浮空。当OTG设备检测到接地的ID引脚时,表示默认的是A设备(主机),而检测到ID引脚浮空的设备则认为是B设备(外设)。
1.2、反向不归零编码(NRZI)
反向不归零编码(Non Return Zero Inverted Code)的编码方式非常简单,即用信号电平的翻转代表“0”,信号电平保持代表“1”。这种编码方式既可以保证数据传输的完整性,还不需要传输过程中包含独立的时钟信号,从而可以减少信号线的数量。
但是当数据流中出现长“1”电平时,就会造成数据流长时间无法翻转,从而导致接收器丢失同步信号,使得读取的时序发生严重的错误;所以在反向不归零编码中需要执行位填充的工作,当数据流中出现连续6个“1”电平就要进行强制翻转(即自动添加一位“0”电平),这样接收器在反向不归零编码中最多每七位就会出现一次数据翻转,从而保证了接收器的时钟同步,同时接收器端会扔掉自动填充的“0”电平,保证了数据的正确性(即使连续6个“1”电平后为“0”电平,NRZI仍然会填充一位“0”电平);
USB的数据包就是采用反向不归零编码方式,所以在总线中不需要时钟信号。
1.3、检测低速/全速或高速设备的原理
USB2.0支持三种类型的传输速率:1.5Mbps(低速)、12Mbps(全速)、480Mbps(高速);其采用在D+或D-信号线上增加上拉电阻的方式来识别低速和全速设备,如图1;
图1 低速/全速设备电路连接方式
当host主控制器或集线器的下行端口上没有USB设备连接时,其D+、D-信号线上的15K下拉电阻使得这两条数据线的电压都是0V;
当有低速设备连接时,由于device D-信号线上接有1.5K的上拉电阻,所以主机将检测到D-信号线处于高电平状态;
当有全速或高速设备连接时,由于device D+信号线上接有1.5K的上拉电阻,所以主机将检测到D+信号线处于高电平状态;所以主机可以识别到设备的连接及传输速率类型,
1.4、检测全速/高速设备的原理
至于是全速设备与高速设备的区别,是通过后续的握手来识别,具体可阅读USB2.0速度识别;
二、USB2.0电路设计及防护
2.1、电路滤波设计要点
USB接口的电路滤波设计如图2所示;
L1为滤波磁珠,用于滤除电源上的干扰,磁珠阻抗选择范围为100Ω/100MHz~1000Ω/100MHz,典型值取600Ω/100MHz,磁珠在选取时通流量应符合电路电流的要求;
L2为共模滤波电感,用于滤除差分信号上的共模干扰,磁珠阻抗选择范围为60Ω/100MHz~120Ω/100MHz,典型值取90Ω/100MHz;
C1、C2为电源滤波电容,用于滤除电源上的干扰。C1、C2两个电容在取值上要相差100倍,典型值为10uF+0.1uF;小电容用于滤除电源上的高频干扰,大电容用于滤除电源线上的纹波干扰;
C3为接口地和数字地之间的跨接电容,典型值为1000pF/2KV,容值也可根据实际测试情况进行调整;
图2 USB接口电路设计
2.2、电路防护设计要点
USB接口的电路防护设计如图2所示;
D1、D2、D3能快速泄放静电干扰,防止在热插拔过程中产生的大量干扰能量对电路进行冲击,导致内部电路工作异常。D1、D2、D3选用TVS管,反向关断电压为5V,结电容小于5pF;
三、USB2.0 PCB Layout规则
1、D+、D-以差分方式布线,并通过连续的参考平面层,保证阻抗的一致性,信号线的差分阻抗Z=90Ω±15%;
2、常规USB接口规定电流为500mA,但是VBUS走线需能承受1A的电流(采用1盎司铜箔的情况下线宽为20mil),以防止过流事件发生;
3、D+、D-的走线必须等长,长度误差不超过5mil;并且不能走直角,需要用钝角或者圆弧走线,同时尽量不换层布线,保证阻抗的连续性;
4、USB信号同其他CLK或者差分信号走线间隔应>20mil;
5、ESD保护器件和共模电感应该尽可能地靠近接口;
6、避免在晶振、晶体、时钟信号发生器、功率电感、安装孔、磁性器件或IC的下方或附近进行USB数据信号线布线;