前言
USB芯片的电路和PCB设计参考及注意事项,含CH34X、CH37X等系列芯片的电路设计说明。涉及工作稳定性和抗干扰以及USB-HOST带电热插拔。基于 USB 芯片的电路及 PCB 设计的重要注意事项 版本:2E
1、摘要
本文主要针对以下因电路及 PCB 设计不佳而引起的故障现象进行分析和解答
⑴、关于 USB 设备带电热插拔以及 ESD 保护:(重要)
用 CH374、CH375 设计的 USB-HOST 电路中,当某些 USB 设备带电插入时,工作不正常或者芯片发热
⑵、关于设计 3.3V 甚至 3V 的 USB 产品:
用 CH372、CH374、CH375、CH341 等 USB 芯片设计 3.3V 电源电压的 USB 产品时需要注意的事项
⑶、关于 USB 主从模式切换:
用 CH374、CH375 设计的 USB-HOST 和 USB-DEVICE 产品中,如何识别并进行 USB 主从模式切换
⑷、关于工作稳定性和抗干扰:(重要)
用 CH372、CH375、CH341 等 USB 芯片设计的 USB 产品,如何提高可靠性和抗干扰能力
2、USB 设备带电热插拔
2.1. 故障现象
在使用 CH375 评估板的过程中,或者在自行设计的 USB-HOST 产品中,某些 USB 设备带电插入时:
① 导致 CH375 复位或者单片机复位(尤其是采用μP 监控电路的单片机系统)
② CH375 或者单片机突然工作不正常,失去控制
③ CH375 芯片的工作电流突然增大并且持续如此,时间长了芯片发热烫手甚至芯片损坏
2.2. 原因分析
USB 支持动态带电插拔,以 CH375 评估板使用 U 盘为例。由于 U 盘内部都有电源退耦电容,当 U 盘刚插入 USB-HOST 插座时,评估板必然要对其充电,由于瞬间充电电流很大(微秒级瞬间峰值可达几安培),所以导致主机端的电源电压 VCC 突降(用高速的数字存储示波器可以看出,越靠近 USB 插座的位置,电源电压降得越严重),这个电压突降过程可能只有几十微秒甚至几百纳秒,但是一旦被 CH375 或者 uP 监控电路检测到,就会被当作电源上电或者电源下电,从而有可能导致 CH375 和单片机被复位。并且,由于 U 盘插入过程引起的电压突降是一种不确定的瞬时状态,例如几十纳秒的电压突降,所以有可能使 CH375 或者单片机不完全复位,从而工作不正常。
另外,由于 CH375 的 V3 引脚接有电容,在 U 盘插入过程中,如果 CH375 的 VCC 引脚的电源电压突降到 2.5V 以下,而 CH375 的 V3 引脚被其外接电容保持在 3.5V 以上,出现 CH375 的普通引脚电压超过电源引脚 VCC 的特殊情况,那么将容易导致 CMOS 电路 CH375 出现大电流闩锁,芯片发热,长时间还会损坏。
如果 CH375 的 V3 引脚不接电容,则不会出现大电流,V3 引脚的电容用于内部电源节点退耦,改善 USB 传输过程中的 EMI,通常容量是在 4700pF 到 0.1uF 范围,建议容量为 0.01uF,即 103 电容。
由于有些 USB 设备内部的电源退耦电容较小,或者内部串有限流电阻或者电感,所以只有少数峰值电流较大的 USB 设备会在某些条件下出现上述现象,而且这种情形还与 PCB 中 USB 电源线的布线有关。
还有一种意外情况(不是设计原因)就是,USB 插座或 USB 线损坏或者焊接原因导致 USB 信号线 D+或D-与 VCC 之间短路、USB 信号线 D-与 GND 之间短路,这种情况会引起 CH375 芯片发热甚至损坏。
2.3. 解决方法(以下几种任选一种,或者多种并用更加可靠)
最核心的一句话就是:在 USB 设备插拔的过程中,确保 CH375 和单片机的电源电压保持不变
2.3.1. 给 USB 插座单独供电,使 USB 设备刚插上时的电容充电过程不影响单片机和 CH375。变通方法是,将 5V 主电源分别通过两个独立的限流电感后(或者在 PCB 中电源线分开走),一组提供给 CH375和单片机等,另一组提供给 USB 插座。注意,在电感后面应该有退耦电容或者负载,防止 USB 设备拔出时由电感产生过冲高电压。这种方法更适合连接消耗电流较大的 USB 外置硬盘。
2.3.2. 在 USB 插座前串接限流电阻或电感,并在 USB 插座电源上并联储能用的电解电容。例如,在 CH375评估板的原理图中,电容 C23 用于储能,电阻 R1 用于限制 USB 设备刚插入时的瞬时电流,由于一般 U 盘的正常工作电流只有几十毫安,所以串接几欧姆的电阻对其影响不大,建议电阻值在 0.47Ω到 5Ω之间,阻值大些更安全,但是要确保 USB 设备正常工作时的电源电压大于 4.5V。如果用电感也可以限制电流突变,防止电源电压突降,但是用电感在 USB 设备拔出后,容易在 USB 插座中产生过冲高压,所以需要接储能电容。(注意,在第一版 CH375 评估板的原理图中已经标出 USB插座的限流电阻 R1 为 1Ω,建议将其换为阻值 3.3Ω的电阻或者保险电阻)
2.3.3. 参考目前计算机的解决方法:USB 端口的电源供给是通过保险电阻或限流电感提供的,这些能够限制瞬时电流。对于计算机前面板的 USB 端口,由于本身通过一段较长的连接线,自然减弱了对主电源的影响,而且计算机的 5V 电源功率很大,连续供电电流都在 20A 以上,所以不易受影响。
2.4. 参考电路
下面是作为 USB 主机端处理 USB 插座电源及信号的一些参考电路图,参考了一些计算机主板的做法,用于较为严格的应用环境,常规应用可以不必如此复杂,或者在此基础上进行简化。
2.4.1. 下图为较严格的设计图
在 USB 电源供给线中串接保险电阻或者自恢复保险丝 F1,一般 500mA 以下,最大 1A。
串联电感 L1 限制峰值电流,感抗在 47uH 到 200uH 之间,直流电阻应该不超过 3 欧姆,尽量小些。
在 USB 插座的电源上并联独立的储能电容 C16 缓解电压瞬时下降。
在 USB 信号线 D+和 D-上串接共扼电感 T1,减少信号干扰。
上图是共扼电感样图,在一些计算机的主板中可以见到。
U13 为μP 监控电路,为单片机和 CH37X 提供可靠的上电复位。
U12 为 ESD 保护器件/瞬变电压抑制器件,内部一般为高速二极管阵列,在频繁带电插拔 USB 设备的应用中和静电较强的环境下,建议使用此类器件保护 CH37X 的 USB 信号引脚,型号为 CH412Z 或者CH412A 或者 NUP4301MR6T1(引脚不同)等,注意不能选用内有电阻的器件。CH412 能够承受 15KV的 HBM 人体模型 ESD 冲击,具体设计可参考 CH412 芯片手册。
如果不外加任何专用 ESD 保护器件,CH37X 也能够承受 4KV 左右的 HBM 冲击,CH374 能够承受 8KV 左右的 HBM 冲击。
电容 C14 用于 CH37X 电源退耦,实际电路还应该在 U13 附近连接 0.1uF 退耦电容。
该图适用于 5V 电源电压,如果 VCC 为 3.3V,那么应该将 CH375 的 9 脚与 28 脚短路。
图中 X1 是频率为 12MHz 的石英晶体,需要两个振荡电容 C11 和 C12,也可以用 12MHz 有源晶振。
2.4.2. 另外一种参考电路
在 USB 电源供给线中串接保险电阻 R2,根据 U 盘最大消耗电流选择限流,一般 100mA 以下。
在 USB 插座的电源上并联独立的储能电容 C26 缓解电压瞬时下降。
在 USB 信号线 D+和 D-上串接电阻(0 到 5 欧姆范围内),可选。
在 USB 信号线 D+和 D-上并接高频二极管 D21-D24,实现简单的 ESD 保护,注意,二极管的所有引线必须尽可能短,当然也可以使用专用 ESD 保护芯片 CH412A 代替这 4 只二极管。
电容 C25 是可选的,用于为 CH37X 提供上电复位,大多数电路不需要使用 C25。
该图适用于 5V 电源电压,如果 VCC 为 3.3V,那么应该将图中 CH375 的 9 脚与 28 脚短路。
3、设计 3.3V 的 USB 产品
CH372、CH374、CH375、CH341 等 USB 芯片都支持 5V 电源电压和 3.3V 电源电压,当电源电压为 3.3V时除了以下几点要求之外,其它要求都与 5V 电源电压时完全相同。
① 与 USB 芯片相连接的所有电路的电源电压都必须不高于 3.3V,
例如μP 监控电路、有源晶振、MCU 单片机、SRAM 等电源电压都必须为 3.3V 或者更低。
② USB 芯片的 VCC 引脚与 V3 引脚必须短接,必须同时输入 3.3V 电源电压。
③ 用 CH37X 设计 USB-HOST 产品时,提供给 USB 插座的电源应该仍然是符合 USB 规范的 5V 电源。
④ 如果使用 ESD 保护器件/瞬变电压抑制器件,那么其正电压应该是 3.3V(例如图中 CH412A 的 VCC)。
⑤ CH374 还支持 3V 电源电压,其电路设计及注意事项与 3.3V 时相同。
4、USB 主从模式切换
如果使用一个 CH37X 同时实现 USB-HOST 和 USB-DEVICE 主从两种 USB 通讯,那么单片机系统应该自行决定主从模式,主模式通常用于控制其它 USB 设备(例如读写 U 盘),从模式通常用于连接到计算机。单片机决定当前主从模式可以依赖于下述 4 种方法之一:操作人员的选择、5 针 USB 插座的 ID 信号、双 USB插座主从判断电路、单 USB 插座主从判断电路。注意:单片机中的判断程序应该有去抖动处理。
4.1. 操作人员的选择比较容易实现。
例如,单片机使 CH37X 芯片默认工作于主机模式,当有 USB 设备插入时 CH37X 会中断通知单片机然后处理;当单片机接收到操作人员的控制指令时,使 CH37X 切换到设备模式,以便作为 USB 设备与计算机通讯。
4.2. 用 5 针 USB 插座的 ID 信号
是指使用 OTG 协议中的 5 针 USB 插座,向单片机提供一个额外的主从识别信号,由单片机判断后控制 CH37X 切换工作模式。
4.3. 双 USB 插座主从判断电路如下,
端口 P4 仅用于连接 USB 设备,端口 P42 仅用于连接计算机,两者不能同时使用。空闲情况下,STATUS 为低电平,单片机使 CH37X 工作于主机模式,当有 USB 设备插入P4 时 CH375 会自动通知单片机然后处理。
当端口 P42 连接到计算机的 USB 端口时,计算机的USB提供5V电源使STATUS为高电平,所以单片机使 CH375 切换到设备模式。
4.4. 基于 CH374U 芯片的完全独立双 USB 插座主从判断电路如下,
端口 P7 仅用于作为 USB-HOST 连接 USB设备,端口 P72 仅用于作为 USB-DEVICE 连接计算机,两者可以同时连接,但不能同时使用。
4.5. 单 USB 插座主从判断电路如下,
空闲情况下,节点 4V7 的电压比 USB 插座的电源电压高,比较器 U31输出 STATUS 为低电平,单片机使 CH375 工作于主模式,当有 USB 设备插入 P3 时 CH375 会自动通知单片机然后处理。当 P3 连接到计算机的 USB 端口时,计算机的 USB 提供 5V 电源使 USB 插座的电源电压比节点 4V7 的电压高,比较器 U31 输出 STATUS 为高电平,所以单片机使 CH375 切换到从模式。
图中,电阻 R3 用于产生压差以便比较,D31 和 D32 为压降在 0.3V 左右的肖特基二极管,型号不限,可选用 1N5817 或 BAT54XV2T1(电流小于 100mA)等,D32 使节点 4V7 的电压低于计算机的 USB 电源电压,D31 用于避免输出较大电流时电阻 R3 压降太大,Z1 和 Z2 为两个性能相同的普通 LED 发光二极管,用于将输入共模比较电压降到比较器 LM393 可以接受的范围。注意,作为 USB 主机端口,输出 USB 电源电压约为 4.3V 到 4.8V,部分 USB 设备可能不适用。
5、工作稳定性和抗干扰
因为 USB 信号属于模拟信号,所在 CH372、CH375、CH341 等 USB 芯片内部包含数字电路和一些模拟电路,另外,USB 芯片中还包含时钟振荡及 PLL 倍频电路,以上 3 种电路的公共地端在芯片内部已经连接在一起并连接到芯片外部的 GND 引脚。
如果 USB 芯片有时工作不正常、或者 USB 数据传输随机性的失败、或者抗干扰能力差,那么就应该考虑 USB 芯片是否稳定工作。影响 USB 芯片工作稳定性的三大因素是:
① 时钟信号不稳定。这是主要原因,下面将详细分析。
② 时钟信号受干扰。解决方法:PCB 设计时尽量不在晶体及振荡电容附近走线,尤其是不要走继电器、电动机等带有瞬时冲击电流的电源线和强信号线;在晶体及振荡电容周边布置 GND 铺铜屏蔽干扰;可以将晶体外壳接地(人手碰到晶体外壳会引入干扰);或者使用有源晶振等。
③ USB 信号受干扰。解决方法:PCB 设计时使 USB 信号线 D+和 D-平行布线,最好在两侧布置 GND 铺铜,减少干扰。应该使用符合 USB 规范的 USB 传输线(有屏蔽),不能使用普通排线或者线缆。
5.1. 时钟信号不稳定
时钟信号不稳定通常是 PCB 布线中 GND 走线不佳。参考下图,该图适用于 CH372、CH374、CH375、CH341、CH340 等 USB 芯片。图中有 6 个接地点,分别是 A、B、C、D、E、F,设计电路及 PCB 时应该尽量避免这 6个 GND 点之间存在电压差(主要是指数字电路中的高频毛刺电压,也就是数字噪声)。
解决方法是:①尽量缩短这 6 个点之间的距离;②类似模拟电路设计中的单点接地;③大面积 GND 铺铜及 GND 多点过孔 VIA 降低高频信号阻抗。图中最关键的是 E 点、F 点与 D 点之间不能存在高频毛刺电压差,可以用示波器探头地接 D 点测量时钟输入端 XI 引脚的 12MHz 时钟波形是否有抖动。
5.2. 参考 PCB 设计 1(需要多加几个 GND 过孔后 GND 铺铜)
下图适用于 CH375 或 CH341 或 CH374 芯片,由于 GND 引脚紧靠 XI 引脚和 XO 引脚,所以比较容易走线。
5.3. 参考 PCB 设计 2(需要多加几个 GND 过孔后 GND 铺铜)
下图适用于 CH372 或 CH374 芯片,GND 引脚借助过孔 VIA 及冗余 GND 线连接时钟振荡电路等。
5.4. 参考 PCB 设计 3(需要多加几个 GND 过孔后 GND 铺铜)
下图适用于 CH372 或 CH374 芯片,GND 走线和时钟信号线都比较短,时钟信号受到 GND 屏蔽保护。
5.5. 不良设计
下图中 CH372 的 GND 引脚 D 点远离电容 C1 和 C2 的 GND 端 E 点和 F 点,并且 C1 和 C2 的 GND 端与单片机 MCU 的 GND 连接,所以 MCU 的数字噪声将被引入 CH372 的 XI 引脚和 XO 引脚。建议改为:在 C1 和 C2 的GND 端与 CH372 的 GND 引脚之间连接短线甚至断开 MCU 的 GND(实际上这几个 GND 之间仍然是物理相通的)。
客观的讲,CH372、CH375、CH341 等 USB 芯片对时钟的稳定性要求较高,稍有不稳定就会影响 USB 传输甚至不工作。如果只是个人做 USB 实验,下图中的这块 PCB 仍然能够在 99.9%的情况下正常工作。如果是做批量产品的生产,那么强烈建议改进这块 PCB 的布线以提高稳定性。