| 该板完成了数据上下传输功能;
本想就此结束5年来的该板的出售,可还是有很多人向我提出各种问题让我解决。既然还是有需要的,干脆还是拿出来提供给大家。 (1)该板提供了一些DEMO例子,完成数据的上下传输和内部寄存器以及中断的控制等试验; (2)板载2片SRAM,外扩一些IO口; (3)提供原理图PDF、部分PCB、FPGA源代码、VC源代码、开发文档、开发包等
对该板有5年多的技术支持,碰到过各种各样的问题,多年来用户在全国分布很广,很好的口碑。有问题请与QQ:45178346 联系,有Q必应。 PLX PCI9054 开发板驱动安装引导[原创]PCI开发板(pci数据采集卡,pci运动控制等)(_
|
| 高速PCB设计技术
0
绝大多数PCB是精通PCB器件的工作原理和相互影响以及构成电路板输入和输出的各种数据传输标准的原理图设计师与可能知道一点甚至可能一点也不知道将小小的原理图连线转换成印刷电路铜线后将会发生什么的专业版图设计师相互合作的成果。通常,对最终电路板的成败负责的是原理图设计师。但是,原理图设计师对优秀的版图技术懂得越多,避免出现重大问题的机会就越多。 如果设计中含有高密度的FPGA,很可能会有许多挑战摆放在精心设计的原理图前面。包括数以百计的输入和输出口数量,超过500MHz(某些设计中可能更高) 的工作频率,以及小至半毫米的焊球间距等,这些都将导致设计单元之间产生不应有的相互影响。 并发开关噪声 第一个挑战很可能就是所谓的并发开关噪声(SSN)或并发开关输出(SSO)。大量的高频数据流将在数据线上产生振铃和串扰之类的问题,而电源和地平面上也会出现影响整个电路板性能的地线反弹和电源噪声问题。 为了解决高速数据线上的振铃和串扰,改用差分信号是很好的第一步。由于差分对上的一条线是吸收(Sink)端,另一条提供源电流,因此能从根本上消除感应影响。利用差分对传输数据时,由于电流保持在局部,因此有助于减小返回路径中的感应电流产生的“反弹”噪声。对于高达数百MHz甚至数GHz的射频,信号理论表明,在阻抗匹配时可以传送最大信号功率。而传输线匹配不好时,将会产生反射,只有一部分信号从发端传输到接收设备,而其他部分将在发送端和接收端之间来回反弹。在PCB上差分信号实现的好坏将对阻抗匹配(以及其他方面)起很大的作用。 差分走线设计 差分走线设计建立在阻抗受控的PCB原理上。其模型有点像同轴电缆。在阻抗受控的PCB上,金属平面层可以当作屏蔽层,绝缘体是FR4层压板,而导体则是信号走线对(见图1)。FR4的平均介电常数在4.2到4.5之间。由于不知道制造误差,有可能导致对铜线的过度蚀刻,最终造成阻抗误差。计算PCB走线阻抗的最精确方法是利用场解析程序(通常是二维,有时候用三维),它需要利用有限元对整个PCB批量直接解麦克斯韦方程。该软件可以根据走线间距、线宽、线厚以及绝缘层的高度来分析EMI效应。
100Ω特征阻抗已经成为差分连接线的行业标准值。100Ω的差分线可以用两根等长的50Ω单端线制作。由于两根走线彼此靠近,线间的场耦合将减小线的差模阻抗。为了保持100Ω的阻抗,走线的宽度必须减小一点。结果,100Ω差分线对中每根线的共模阻抗将比50欧略为高一点。 理论上走线的尺寸和所用的材料决定了阻抗,但过孔、连接器乃至器件焊盘都将在信号路径中引入阻抗不连续性。不用这些东西通常是不可能的。有时候,为了更合理的布局和布线,就需要增加PCB的层数,或者增加像埋孔这类功能。埋孔只连接PCB的部分层,但是在解决传输线问题的同时,也增加了板子的制作成本。但有时候根本没有选择。随着信号速度越来越快,空间越来越小,像对埋孔这类的额外需求开始增加,这些都应成为PCB解决方案的成本要素。
如图2所示的横截面是实际差分线版图的最常见图案。在采用带状线布线时,信号被FR-4材料夹在中间。而微带线时,一条导体是裸露在空气中的。因为空气的介电常数最低(Er= 1),故顶层最适合布设一些关键信号,如时钟信号或者高频的SERial-DESerial (SERDES)信号。 微带线布线应该耦合到下方的地平面,该地平面通过吸收部分电磁场线来减小电磁干扰(EMI)。在带状线中,所有的电磁场线耦合到上方和下方的参考平面,这大大降低了EMI。如果可能的话,应该尽量不要用宽边耦合带状线设计。这种结构容易受到参考面中耦合的差分噪声的影响。另外还需要PCB的均衡制造,这是很难控制的。总的来说,控制位于同一层上的线间距还是比较容易的。 去耦和旁路电容器 另一个确定PCB的实际性能是否符合预期的重要方面需要通过增加去耦和旁路电容进行控制。增加去耦电容器有助于减小PCB的电源与地平面之间的电感,并有助于控制PCB上各处的信号和IC的阻抗。旁路电容有助于为FPGA提供一个干净的电源(提供一个电荷库)。传统规则是在方便PCB布线的任何地方都应布置去耦电容,并且FPGA电源引脚的数量决定了去耦电容的数量。但是,FPGA的超高开关速度彻底打破了这种陈规。 在典型的FPGA板设计中,最靠近电源的电容为负载的电流变化提供频率补偿。为了提供低频滤波并防止电源电压下降,要使用大的去耦电容。电压下降是由于设计电路启动时稳压器的响应有所滞后。这种大电容通常是低频响应较好的电解电容,其频率响应范围从直流到几百kHz。 每个FPGA输出变化都要求对信号线充电和放电,这需要能量。旁路电容的功能是在宽频率范围内提供局部能量存储。另外,还需要串联电感很小的小电容来为高频瞬变提供高速电流。而反应慢的大电容在高频电容器能量消耗掉以后继续提供电流。 电源总线上大量的电流瞬变增加了FPGA设计的复杂性。这种电流瞬变通常与SSO/SSN有关。插入电感非常小的电容器将提供局部高频能量,可用来消除电源总线上的开关电流噪声。这种防止高频电流进入器件电源的去耦电容必须非常靠近FPGA(小于1cm)。有时会将许多小电容并联到一起作为器件的局部能量存储,并快速响应电流的变化需求。 总的来说,去耦电容的布线应该绝对的短,包括过孔中的垂直距离。即便是增加一点点也会增加导线的电感,从而降低去耦的效果。
其他技术 随着信号速度的提高,要在电路板上轻松地传输数据变得日益困难。可以利用其他一些技术来进一步提升PCB的性能。 首先也是最明显的方法就是简单的器件布局。为最关键的连接设计最短和最直接的路径已经是常识了,但不要低估了这一点。既然最简单的策略可以得到最好的效果,何必还要费力去调整板上的信号呢? 几乎同样简要的方法是要考虑信号线的宽度。当数据率高达622MHz甚至更高时,信号传导的趋肤效应变得越发突出。当距离较长时,PCB上很细的走线(比如4个或5个mil)将对信号形成很大的衰减,就像一个没有设计好的具有衰减的低通滤波器一样,其衰减随频率增加而增加。背板越长,频率越高,信号线的宽度应越宽。对于长度大于20英寸的背板走线,线宽应该达到10或12mil。 通常, 板子上最关键的信号是时钟信号。当时钟线设计得太长或不好的话,就会为下游放大抖动和偏移,尤其是速度增加的时候。应该避免使用多个层来传输时钟,并且不要在时钟线上有过孔,因为过孔将增加阻抗变化和反射。如果必须用内层来布设时钟,那么上下层应该使用地平面来减小延迟。当设计采用FPGA PLL时,电源平面上的噪声会增加PLL抖动。如果这一点很关键,可以为PLL创建一个“电源岛”,这种岛可以利用金属平面中的较厚蚀刻来实现PLL模拟电源和数字电源的隔离。 对于速率超过2Gbps的信号,必须考虑成本更高的解决方案。在这么高的频率下,背板厚度和过孔设计对信号的完整性影响很大。背板厚度不超过0.200英寸时效果较好。当PCB上为高速信号时,层数应尽可能少,这样可以限制过孔的数量。在厚板中,连接信号层的过孔较长,将形成信号路径上的传输线分支。采用埋孔可以解决该问题,但制造成本很高。另一种选择是选用低耗损的介电材料,例如Rogers 4350, GETEK或ARLON。这些材料与FR4材料相比其成本可能接近翻倍,但有时这是唯一的选择。 还有其他一些用于FPGA的设计技术,它们可以提供I/O位置的一些选择。在关键的高速SERDES设计中,可以通过保留(但不用)相邻的I/O引脚来隔离SERDES I/O。例如,相对于SERDES Rx和Tx, VCCRX# 和 VCCTX#以及球位置,可以保留3x3 或5x5 BGA 球区域。或者如果可能的话,可以保留靠近SERDES的整个I/O组。如果设计中没有I/O限制,这些技术能够带来好处,而且不会增加成本。 …… |
| 计算机系统总线基础
0
一. 总线的概念 在计算机系统中,不同的子系统必须具有连接彼此的接口,比如,内存和处理器需要通信,处理器和I/O设备也需要通信。这些工作都是由总线来完成的。总线就是一条共享的通信链路,它用一套线路来连接多个子系统。下图是一个典型的计算机总线示意图:
总线结构的两个主要优点是功能多和成本低。通过定义一种连接方案,就能够方便的添加新设备,比如我们可以轻松的为自己的笔记本扩展内存条,或者外扩一块硬盘。外围设备也可以在使用同类总线的计算机系统之间移动。而且,因为同一套线路被多个路径共享,所以总线具有较好的成本效益。 二. 控制线路和数据线路 总线通常包括一套控制线路和一套数据线路。控制线路用来传输请求和确认信号,并指出数据线上的信息类型。总线的数据线在源和目的之间传递信息。这种信息可能包括数据、复杂指令或者地址。比如,如果磁盘要把磁盘扇区中的数据写入内存,内存的地址和磁盘的实际数据都会通过数据线来传输。控制总线则指明了在传输过程中每一刻数据线包含的信息种类。一些总线使用两套信号线在一次总线传输中分别传送数据和地址。不管哪种情况下,控制总线都要遵循总线协议,并指出总线传输的内容。由于总线的共享的,所以我们还需要一个协议来决定谁下一个使用。 三. 处理器-内存总线和I/O总线 对于传统的PC机,总线可以分为处理器-内存总线和I/O总线。处理器内存总线长度短,速度通常很高,而且配合内存系统使内存-处理器的带宽达到最大。与之形成对比的I/O总线,它可以很长,可以连接很多类型的设备,并且经常要连接多种具有不同数据带宽的设备。I/O总线一般不和内存直接连接而是通过处理器-内存总线或者背板总线连接到内存上。 I/O总线被用作扩展机器和连接新外设的手段。主流的I/O总线标准有1394和USB等。他们可以把各种外设连接到台式机,从键盘、相机到磁盘。 下图为早期的I/O总线示意图:
四. 总线通信的两种方式:同步和异步 总线的通信的两种基本方式是同步和异步。如果总线是同步的,控制线上就有一个时钟以及一个与该时钟相关的固定的通信协议。比如,为了使处理器-内存总线执行一个从内存总线执行一个读操作。我们需要一个协议能够在第一个时钟周期传输地址和读操作命令,并使用控制线来指明请求的类型。内存可能被要求在第五个时钟周期做出响应,提供数据字。 同步总线主要有两个缺点。第一,总线上的每个设备必须运行在同一个时钟频率下。其次,由于时钟偏差问题,速度很快的同步总线,长度不能太大。处理器-内存总线通常是同步的,因为设备间通信的距离短,数量少,而且准备在快的时钟频率下工作。 异步总线不需要时钟。正因为不需要时钟,所以异步总线可以适应很多不同的设备,异步总线可以延长而不用担心时钟偏差或其他同步问题。1394和USB都是异步总线。为了协调发送者和接受者之间的数据传输,异步总线采用握手协议。握手协议由一系列步骤组成,只有当发送者和接收者达成一致时,才能进行下一步工作。这种协议通过一套附加的控制线路实现的。 |