《FPGA全程进阶---实战演练》之搞定阻抗匹配
笔者最近几天在做视频采集板卡时,视频显示端打算采用 USB2.0接口+上位机 显示,其中USB需要做阻抗匹配。通常情况下USB的阻抗值需要做到90Ω±10%。下面就讲解一下关于阻抗匹配的知识,哪里说得不对的,还望大家批评指正。
在高速电路中,如USB、HDMI、DDR、LVDS设计中往往要注意阻抗匹配问题,高频信号在传输线中传播时所遇到的阻力称为特性阻抗,包括容抗,感抗,阻抗。为了保证信号在传输过程中不发生反射现象,信号尽量保持完整,降低传输损耗,要对印刷电路板进行阻抗匹配。阻抗匹配的目的主要在于传输线上所有高频微波信号都能达到负载点,不会有信号反射回源头。其中通常情况下,USB/DDR的阻抗值保持在90Ω±10%。HDMI/LVDS保持在100Ω±10%。
影响阻抗的关键因素如图25.1所示,主要有:线宽(W),线距(S),线厚(T),介质常数(Dk/Er),介质厚度(H),那么阻抗和线宽(W),线距(S),线厚(T),介质常数(Dk/Er)成反比,和介质厚度(H)成正比。
图25.1 阻抗影响因素
图25.2 阻抗相关因素
阻抗匹配的方法:1.凭经验值;2.交给PCB厂商;3.结合SI9000进行系统的理论计算。那么本节主要是讲解关于SI9000的使用。
图25.3所示是不同板厚各参数的设置,此图不是标准,仅此作为讲解用,由图中可见1.2mm厚的板子和1.6mm的板子也就是绝缘层的厚度不一样而已,其他参数保持一致。若是用过Altium的朋友,应该还记得在设置层的时候,有一个core和Prepreg,如图25.4所示,core和prepreg的区别在于,虽都是绝缘材料,但core可以两面均有铜箔走线,prepreg为纯绝缘材料,不走任何铜箔线。
图25.3 四层板不同板厚各参数
图25.4 altium中四层板各参数
图25.5 是SI9000界面的一些介绍。
图25.5 SI9000界面
通常会将电源层和地层作为信号层电流回流路径和阻抗参考层,一般采用地层作为参考层或电流回流路径。如果必须采用电源层作为参考或信号回流的路径,注意不要让高速信号走线耦合噪声到电源平面。
那么下面就结合基于USB视频采集板卡说明一下阻抗的计算以及线宽和间距问题。
图25.6 USB2.0硬件搭建
如上图25.6所示是USB2.0硬件电路图,其中DPLUS和DMINUS布线的好坏直接决定了最终的传输速度。关于USB硬件布线以及相关的设计,读者可以参考Cypress相关文件内容。如图25.7所示。
图25.7 相关参考资料
在PCB面板上,USB的D+(DPLUS)D-(DMINUS)就是两根导线,一般平行放置,影响D+(DPLUS)与D-(DMINUS)差分阻抗的因素和之前提到的一样。
借助电磁波原理中微波传输带的2D模型来计算,单根阻抗计算公式如下:
差分阻抗模型如下图25.8所示。
图25.8 差分阻抗模型
差分阻抗计算公式如下:
了解了上述的原理之后,我们可以直接采用SI9000此软件去计算,不用去记住那些繁琐公式,不过从上述公式中,也可以看出阻抗的影响因素和一开始提到的影响因素是一致的。
笔者设计的四层板的排列方式:top layer(signal layer)---power plane (inner plane)---GND layer ---bottom layer (signal layer),所以笔者在计算阻抗时,电源层和地层均可选择参考平面,上下对称,所以计算top layer(signal layer)---power plane (inner plane)即可,当然也可以计算GND layer ---bottom layer (signal layer)。
打开SI9000软件(软件可以网上下载),先计算单端阻抗,实际的模型中,厂商往往会在顶层涂一层绿油,所以实际模型如下图25.9所示:
图25.9 单端阻抗
笔者设计的单端阻抗相关参数如图25.10所示,计算出来的结果是单端阻抗值69.73,一般情况下,单端阻抗要保留一定的余量。笔者tolerance一项没有设置,这个具体应该要和PCB厂商沟通,所以此参数能够满足我们设计的要求。
图25.10 单端阻抗参数
单端阻抗搞定之后,接下来需要计算差分阻抗,这个参数尽量要保持在90Ω±10%范围内。SI9000选择界面如图25.11所示。
图25.11 差分阻抗
设计好之后需要设置相关参数,如下图25.12所示:
图25.12 差分阻抗相关参数
间距为6mil,线宽为15mil,core层的厚度为12.6mil,计算出来的结果为89.72Ω,满足在90Ω±10%范围内。
计算完上述参数之后,就要开始布线,那么在原理图中需要设置差分对。如图25.13所示。定义方式为在菜单栏中选择 place ---directives ---differential pair即可,还需要注意的是,在命名时需要定义为*_N和*_P的格式,其中N和P部分大小写。
图25.13 差分对的定义
定义完参数之后,需要对差分对的规则进行设置,如图25.14所示,点击rule wizard。
图25.14 规则设置
根据上面的计算,线宽为15mil最好,所以设置线宽为15mil。
图25.15 线宽设置
考虑到PCB布线时,D+(DPLUS)和D-(DMINUS)线的长度小于70mm,以20~30mm较宜,并且D+(DPLUS)和D-(DMINUS)线的长度差应尽量小于2mm,防止信号时滞。所以在图25.16中所示,换算成mil值为80mil。
图25.16 允许长度差范围
图25.17为间距设置,优选6mil间距。
图25.17 间距设置
接下来利用差分对布线功能布线即可。
《FPGA全程进阶---实战演练》之搞定阻抗匹配的更多相关文章
- 《FPGA全程进阶---实战演练》第三十二章 Signal Tap II 应用实例
还有几天就要交文章终稿了,三年的研究生生活也快要结束了,时间飞快,岁月如梭,但学习技术的热情仍然不能松懈,不懂的东西太多,需要实时保持奋斗!!过些天会继续更新<FPGA全程进阶---实战演练&g ...
- 《FPGA全程进阶---实战演练》第十二章 二进制码与格雷码PK
大家在写程序的时候,可能会听闻,什么独热码,什么格雷码,什么二进制码等等,本节意在解释这几种编码之间的区别和优势以及用verilog怎么去实现,下面先介绍这几种编码的区别. 1 基础理论部分 1.1 ...
- 《FPGA全程进阶---实战演练》第一章之如何学习FPGA
对于很多初学者,大部分都是急于求成,熟不知越是急于求成,最终越是学无所成,到头来两手空空,要学好FPGA,必须弄懂FPGA本质的一些内容. 1.FPGA内部结构及基本原理 FPGA是可以编程的,必须通 ...
- 《FPGA全程进阶---实战演练》第二章之硬件平台的搭建
学习FPGA,多多少少应该要懂得硬件电路的设计,这样不单单增加了自己的技能,而且还能够对FPGA的硬件实现有更好的了解. 1 模块划分 对于一个基本的FPGA硬件平台,常用的几个电路部分:(1)电源电 ...
- 《FPGA全程进阶---实战演练》第五章 基于74HC595的LED操作
1基础理论部分 1.1分频 分频,是的,这个概念也很重要.分频是指将一单一频率信号的频率降低为原来的1/N,就叫N分频.实现分频的电路或装置称为“分频器”,如把33MHZ的信号2分频得到16.5MHZ ...
- 《FPGA全程进阶---实战演练》第四章之实验平台软硬件使用简介
本章主要是讲解读者在进行FPGA逻辑设计之前的准备工作,需要下载Quartus II软件和 Modelsim 软件,一个是用来进行FPGA逻辑设计,一个是用来对逻辑进行理论分析与验证. 1.1 qua ...
- 《FPGA全程进阶---实战演练》第十一章 VGA五彩缤纷
1基础理论部分 VGA(video graphics array)即视频图形阵列,是IBM在1987年随PS/2一起推出的使用模拟信号的一种视频传输标准.VGA相比与现在的视频传输接口来说已经过时,不 ...
- 《FPGA全程进阶---实战演练》第九章 计数器要注意
本小节我们来做一个好玩的事情,就是计数器,还记得在做LED自加实验时我们就曾经提到过关于计数器的相关议题,那么这节我们就来讨论讨论. 探讨一下如下的问题:请用verilog记八个数的写法,分析这个可以 ...
- 《FPGA全程进阶---实战演练》第一章之FPGA介绍
1 什么是FPGA FPGA也即是Field Programmable Gate Array的缩写,翻译成中文就是现场可编程门阵列.FPGA是在PAL.GAL.CPLD等可编程器件的基础上发展起来的新 ...
随机推荐
- 面试知识点——Java
目录 Java容器 hashmap实现原理 java多线程 jvm内存模型 java 垃圾回收机制 对象存活状态检查 垃圾收集算法 垃圾收集器 内存分配与回收策略 java nio Java容器 ha ...
- PhotoshopCC 2017安装破解 + cuterman
之前安装了PhotoshopCC 2017版本的软件,但是绿色版的(安装简介.使用方便).但是在随着Adobe公司对设计的不断追求和工具的不断更新,更加强大.更加优秀的设计插件和工具不断出新,最近朋友 ...
- BZOJ2243[SDOI2011]染色——树链剖分+线段树
题目描述 给定一棵有n个节点的无根树和m个操作,操作有2类: 1.将节点a到节点b路径上所有点都染成颜色c: 2.询问节点a到节点b路径上的颜色段数量(连续相同颜色被认为是同一段), 如“112221 ...
- Windbg SOS 加载技巧(.net framwork 2.0)
1.打开windbg,加载dump.使用命令确定dump的clr版本:lm vm mscorwks 或者lm vm clr(!eeversion可以查看加载后的sos版本) 2.找到对应的mscorw ...
- HDU 4786 Fibonacci Tree 最小生成树
Fibonacci Tree 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=4786 Description Coach Pang is intere ...
- linux 修改时间和时区
linux系统时间有两个,一个是硬件时间,即BIOS时间,就是我们进行CMOS设置时看到的时间,另一个是系统时间,是linux系统Kernel时间.当Linux启动时,系统Kernel会去读取硬件时钟 ...
- elastic-job详解(五):自定义任务参数
在elastic-job详解(三):Job的手动触发功能一文中讲到了如何手动触发一个Job,但是我们手动触发的时候常常需要输入一些参数.举个栗子:我们有个日统计报表,每天凌晨统计一次,统计上一天的数据 ...
- java中继承和多态的理解
继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父 ...
- jQusery .基础
1.jQusery 的基本用法 <%@ page language="java" contentType="text/html; charset=UTF-8&quo ...
- 使用 OpenSessionInViewFilter 配置加载
1.使用 OpenSessionInViewFilter