目录:
一、差分布线的原则
1、差分布线的基本原则
2、USB3.0硬件设计举例
二、Altium_Designer差分线设置
三、参考
一、差分布线的原则
1、差分布线的基本原则
将高速差分对互相平行布线时,它们之间应该保持恒定距离。这个距离有助于实现指定的差分阻抗。应尽量减少因焊盘入口而扩大指定间距的区域,差分对应对称布线。
图1.1 对称布置差分对并保持信号平行
在设计的时候不应该在差分对之间放置任何组件或过孔。即使信号如下图所示对称布线。在差分对之间放置元件和过孔可能会导致 EMC 问题和阻抗不连续。
图1.2 不要在差分之间放置组件或者过孔
一些高速差分对需要串联耦合电容,电容应对称放置。电容和焊盘产生阻抗不连续性。0402 电容尺寸 0603。必须避免使用 0805 或 C型等封装较大的封装。
图1.3 对称放置耦合电容
由于过孔在阻抗中引入了巨大的不连续性,因此必须减少过孔的数量并且应该对称放置。
图1.4 对称放置过孔
布线差分对时,2条走线布线应该在同一层,以满足阻抗要求。如下图所示,此外,走线中应包含相同数量的过孔。
图1.5 在同一层布线对并放置相同数量的过孔
差分线走线中换层打孔设计需要在信号过孔区域打对应的地孔增加信号的回流路路径,不打地空对应下图中的蓝色回流路径。
图1.6 差分线换层增加地孔
空间允许时优先绕线,其次打孔处理。
图1.7 差分绕线
2、USB3.0硬件设计举例
1)概述
USB3.0 相比 2.0 在硬件物理连接上有较大的改变,采用的是 RX/TX 全双工链路设计,由 2对差分信号组成,同时向下兼容 USB2.0,所以整个接口有 3对差分信号,分别为 USB3_RXM/USB3_RXP,USB3_TXM/USB3_TXP,USB2_DM/USB2_DP,USB3.0 的传输速率可达到 5Gbps,相比 USB2.0 480Mbps 有比较大的提供。
2)硬件原理设计
如下图为 USB3.0 的 Data 数据连接原理图,从电路上可以看是 USB2.0 为半双工,数据收发在一对差分信号上传输。USB3.0 为全双工,收发信号为独立的传输路径;其次,由于 Sink 端的直流偏置电压和 Source 端的直流偏置电压不一样,故要需要串入 AC 耦合电容,电容一般取 100nF,一般靠近驱动端放置,电容在设计上要求 ESR、ESL(非常重要)尽量小。
USB3.0 的 Host 的 RX 连接到 Device Tx,Host 的 Tx 连接到 Device 的 Rx,类似于我们常用的交叉 UART 接口的连接。
3)PCB Layout设计
硬件连接上相对比较简单,最终需要 PCB Layout 设计来保证信号的完整性,接下来从 PCB 层叠结构、阻抗控制、走线要求等细节上说明 USB3.0 的设计的注意事项。
(1)PCB层叠结构要求
以下是4层板的层叠结构图,可通过 Si9000 计算出差分对所约束的线宽线距。对于 PCB 阻抗线的定义,受那些物理参数影响,请自行查阅相关内容。
(2)USB差分阻抗控制要求
参考 USB PHY 手册,基于上图的层叠结构,计算出差分信号所要求的线宽线距,本文为ASM1153 为例进行阐述:
ASM1153 为 USB3.0 转 Sata 接口的桥芯片,要求 USB3.0 的差分阻抗为 85Ω,USB2.0 为 90Ω,差分对等长公差在 ±5mil。
(3)PCB走线要求
5Gbps 的速率需要以高速线的设计规则来严格把关走线,充分考虑 PCB 的设计细节。
①PCB出线要求尽可能平等出差,具体走线参考下图:
②走线换层需要在信号过孔旁边增加地过孔,用于信号的回流(高速通用规则)。
③USB 信号测试点的放置建议如下图,“一”字形放置在路径上,非Y字形或T字形放置,并且测试焊盘如果走线不连续的较大焊盘,请将相邻层的 GND 层垂直于测试焊盘掏空,避免出现影响信号的寄生电容或等效电容。
测试点的焊盘尺寸,应尽可能的小,如果必需要放置测试点的话,比照 0402 封装的焊盘尺寸或直接将测试点放置在信号线的过孔上。
④关于等长匹配蛇形线的走线方式,建议按下图方式走线。
⑤USB3.0 的 P/M 如果走线上有交差,可以将差分对的 P/M 交换,USB3.0 允许 P/M 反转。
二、Altium_Designer差分线设置
首先在原理图中将差分线对用差分符号进行标记,Place -> Directives ->Differerntial Pair,放置在差分线上,注意网络命名规则,如下图B_IO5_P和B_IO5_N,除了后缀 _P 和 _N 不一样,前面的字符名字必须一样,这样原理图就会自动识别到差分线对。
将网表导入到 PCB 中后,在 PCB 这一栏中,就可以找到所有差分对了,按照如下图操作即可。
找到差分线之后,接下来就是设置规则。如果差分线对比较多的话,可以归类。
可以看到所有差分都归为了<All Differential Pair>。
我们可以新建一个差分类,并对其进行命名,方便管理。
这里就可以看到刚才差分线分类。
设置线宽、线间距规则:
到这一步时,对差分线对命名一个具体名字,建议“_USB_ ”前后加下划线区分开来,后面看就比较明显一点。
然后设置差分线对的容忍度,也就是长度差别控制在多少范围内,一般设置是 5mil。
设置线宽、线间距设置好,点“next”直到完成结束设置。
设置好之后,可以在规则里面查看一下。
设置好规则之后,按下图中的这个图标进行差分对走线。
走完线后,分别任意修改两根线至自己满意的程序。这里可以查看差分线的具体长度。
刚才设置的容忍度是5mil, 也就是0.127mm,这里两根线长度相差明显超过了0.127mm,找到Tools->Interactive Length Tuing (单端线 交互式长度调整),快捷键 T+ R。
鼠标上会跟随找一个“十字”图形,选中差分线对中的那根短线。
拉出的形状可能不是很好看,或是拉不出来。
按 Tap 键,调出长度编辑框,这里主要设置 Target Length ,先选中 From Net,然后再选中 USB_D_P, 因为 USB_D_P 比 USB_D_N 长,所以目标长度直接以 USB_D_P 的长度为目标。
Target Length 长度就设置为 55.647mm。
也可以选中 From Rutes 中的规则范围来自动设置长度。
我觉得重要的参数是调整 Gap Increment 这个值,调小点,选中“弧度”。
设置好目标长度后,点击 OK,如果线拉不出来,或是线不好看,不是蛇形线, 可以适当按下面的快捷键。
(1)快捷键 : “ 1 ” 与 “ 2 ” ,改变蛇行线的拐角与弧度;
(2)快捷键 : “ 3 ” 与 “ 4” 改变蛇行线的宽度;
(3)快捷键: “ , ” 与 “ . ”改变蛇行线的幅度。
蛇形线拉不出来很有可能就是线间距、线宽、幅度等造成的,所有这几个按键都试试。
鼠标沿着线缓动,直到右边进度条显示绿色为止(如上图),绿色表示长度已到达目标范围了。结果长度基本上保持一样了,一对差分线等长就画好了。
有时候需要几对差分线长度也要控制在5mi范围内。
规则设置和上面一样,如下面的一组差分类做等长就需要用到 Interactive Diff Pair Length Tuning (差分线交互式长度调整)。
在差分线对旁边放置辅助线,方便拉蛇形线时保持在同一侧方向。
三、参考
1、11 Best High-Speed PCB Routing Practices
星光不问赶路人,岁月不负有心人。觉得不错,动动发财的小手点个赞哦!