摘 要:由于CPCI总线的高速数据传输,基于CPCI总线控制卡的设计必须考虑信号完整性问题。从PCB走线、电源和时钟电路3方面进行了信号完整性设计,提出了总线接口芯片9054的PCB走线长度,并给出时钟电源的滤波电路以及电源滤波电容的配置方法。实验结果表明:经过完整性设计的控制卡时钟电路,信号质量明显改善;控制卡电源电压波动小于5%,主机与控制卡通讯速率达到117.97MByte/s,接近理论极限值。验证了基于CPCI总线控制卡信号完整性设计的正确性。

1 引  言当今电子设备运行速度越来越快,系统设计的复杂性和集成度也大规模提高,高速电路产生的传输线效应和信号完整性问题经常会使基于传统方法设计的数字电路无法工作。在过去的低速时代,电平跳变时信号上升时间较长,器件间的互连线不至于影响电路的功能;但在今天的高速时代,随着IC输出开关速度的提高,几乎所有设计都遇到了信号完整性问题。所谓信号完整性就是系统中信号的质量,即在要求的时间内,信号能不失真地从源端传送到接收端。

信号完整性问题分为4类:

1)单一网络的信号完整性;

2)2个或多个网络间的串扰;

3)电源和地分配中的轨道塌陷;

4)来自整个系统的电磁干扰和辐射。

信号完整性问题的表现形式有振铃、反射、近端串扰、开关噪声、非单调性、地弹、电源反弹、衰减、容性负载等。涉及的知识较多,是一个跨学科的知识体系。信号完整性技术主要应用于计算机应用、通信设备、数字高清视频、高速集成电路设计等一切与高速信号传输有关的领域[1-4]。

CPCI总线是能够满足高速数据传输要求的一种局部总线协议。它以最高33MHz的时钟频率操作,在32位数据总线下,以峰值传输速率132 MB/s进行工作。由于CPCI总线高速的数据传输速率,其总线接口芯片PCI9054的开关速度很高,所以基于CPCI总线控制卡的PCB板设计必须考虑信号完整性问题。由于高速PCB设计涉及的信号完整性问题很多,所以本文只选了PCB走线、电源和时钟电路设计3方面阐述信号的完整性问题,并结合控制卡给出应用实例。最后对时钟信号、电源信号及主机与控制卡通信速率进行了测试,验证了基于CPCI总线控制卡信号完整性设计的正确性。

2 控制卡结构基于CPCI总线控制卡的结构如图1所示。控制卡采用DSP2812做处理器,采用PCI9054作为CPCI总线接口芯片,PCI9054与DSP的接口电路在FPGA内实现,采用AD7864作为A/D采集芯片,采用16C754作为串行通信接口芯片。具有CPCI总线接口、RS422接口、A/D采集接口、I/O接口和调宽波输出接口。

图1 基于CPCI总线控制卡的结构

3 PCB走线设计

传导系统对于输入信号的响应,在很大程度上取决于系统的尺寸是否小于信号中最快的电气特性的有效长度。信号在导线中传输,如果存在阻抗突变就会发生信号反射。如果走线很短,在源端信号还没上升到高电平时,反射信号就已经回到源端,那么发射信号就被淹没在上升沿中,信号波形没有太大的改变;如果走线很长,发射端信号已经到达高电平,反射信号才到达源端,那么反射信号就会叠加在高电平位置,从而造成干扰。走线长度有一个临界值,大于这个值,返回信号叠加在高电平处,小于这个值反射信号被上升沿淹没。这个临界值就是临界长度,也就是能把反射信号的干扰控制在可容忍的范围内的走线长度。如果连线长度小于临界长度,则电路主要表现为一个集总系统的特性;反之则为分布电路,分布电路连接线要求加端接电阻[5]。

试验中发现的经验数据为:当信号在PCB走线上的时延高于信号上升沿的20%时,信号会产生明显的振铃。信号在PCB走线上传输需要一定的时间,在普通FR4板材上传输速率约6inch/ns。查CPCI总线接口芯片9054数据手册,信号上升时间不小于1ns。对于上升时间为1ns的方波信号来说,PCB走线长度大于1.2inch时,信号就会有严重的振铃。所以临界长度就是1.2inch,即所有与芯片9054的连线应小于1.2inch。

4 时钟电路设计在数字系统中,时钟信号的翻转比其他任何信号都快,而且负载也最重。电源噪声是引起时钟抖动的最大原因之一,因此要对时钟电源加滤波电路。加电源滤波的时钟电路如图2所示。

图2 时钟电路

对于任何LC电路的组合,20dB的衰减频率为:

因此可计算出该电路在14MHz以上的频带,可以使电源噪声减少20dB。电路中,电阻R 的作用是防止滤波器谐振,并且R 与C、L 的关系为:

时钟信号也是最容易产生反射的信号,反射回来的信号会在源端和终端之间形成多次反射,加上传输线效应引起的过大的电感和电容,会导致信号振荡,即在一个逻辑电平附近上下振荡,导致系统失败。由于走线长度大于临界长度,需要在尽量靠近驱动端的位置串联1个10~75Ω的电阻,作为源端端接器,解决信号反射问[6]。总线接口芯片9054与FPGA通过高速时钟分配器共用一个30MHz时钟振荡器,走线长度大于临界长度1.2inch,根据经验设计中采用22Ω端接电阻。

5 电源完整性设计

5.1 电源完整性设计原理

在数字设备中,电源系统应该达到2个基本目的:为数字信号转换提供稳定的电压参考和为所有的逻辑器件分配电源。电源系统设计有3条准则:

1)在门电路之间采用低阻抗的地连接;

2)任何2个门电路电源引脚之间的阻抗应该与地引脚之间的阻抗一样低;

3)在电源和地之间必须有一条低阻抗路径。

连接电源和电路之间的走线称作电源分配线。两条平行电源分配线间的电感为:

式中:X为线长,H 为两线的平均间距,D为线直径,L为电感。

电源分配线对于低频信号阻抗非常小,满足电源和地的低阻抗连接;随着工作频率的上升,电源分配线的电感开始带来麻烦,这时需要在线路板上布放一个大的旁路电容,这个电容与电源并联,提供了电源和地之间的低阻抗连接;在一些更高频率下,旁路电容由于其安装引脚电感的影响失去了效果。为了弥补大旁路电容的缺陷,可以在电路板上安装比较小的旁路电容阵列。其总容量小于大的旁路电容。这样电源分配线、大旁路电容、小旁路电容阵列组成的多级电源分配系统,在整个工作频率范围内,为每个逻辑器件提供了一个低的电源源端阻抗。

5.2 控制卡电源完整性设计遵循以上原则,PCB设计采用4层板结构。中间2层为电源层和地层,外边2层为信号层,这样就满足了电源低阻抗连接和地低阻抗连接的2条准则。设计中采用了目标特性阻抗的方法确定退耦电容。目标特性阻抗是电源系统的瞬态阻抗,是对快速变化的电流表现出来的一种阻抗特性;也就是能满足负载最大瞬态电流供应,且电压变化不超过最大容许波动范围的情况下,电源系统自身阻抗的最大值[9]。信号完整性的几乎所有公式都是建立在近似基础上的,可以把控制卡看作一个有450个逻辑门的CMOS电路。已知每个CMOS门电路的负载是10pF,平均转换时间是5ns,器件允许电压波动为5%,电源的供电电感是20nH。电源完整性设计主要由5部分组成:目标阻抗计算、电源线频率范围确定、大旁路电容计算、大旁路电容最高有效频率计算和工作频率高于最高有效频率时所需电容值计算。

5.2.1 目标阻抗计算

电路板上预期的供电电流的最大阶越变化:

电路能容忍的电源供电噪声的最大值:

由式(4)、(5)2式得出,最大共路阻抗:

5.2.2 电源线频率范围确定由已知电源供电电感等于20nH,得出电源线适合的频率:

5.2.3 大旁路电容值计算旁路电容计算公式如下:

实际应用中取标准值10μF。

5.2.4 大旁路电容最高有效频率计算假设电容有一个5nH 的串联电感,则旁路电容的最高有效频率为:

5.2.5 工作频率高于最高有效频率时所需电容值计算1)电路在转折频率下的电感

2)表面安装电容的典型串联电感是1nH ,达到总电感所需旁路电容数目:

3)电容阵列总的阻抗必须小于Xmax,则最小总阵列电容:

4)阵列中每个元件的电容

通过以上计算得出,要实现电路的电源完整性设计,需要在电源和地之间布置一个10μF的电容和11个0.15μF的电容。

5.3 电源完整性设计总结

一些器件手册上要求对每个电源引脚加去耦电容或者在芯片周围放置一定数量的电容。2种方法都是正确的,只不过处理问题的角度不同。很多芯片制造商在参考设计中给出的都是局部去耦方式。芯片商关心的是如何提高他所提供的特定器件的性能;也就是说,关注点在器件本身,并没有从整个电路系统的角度来处理电源去耦问题。在实践中会发现,如果对每一个电源引脚都单独去耦是不现实的,空间根本就不够。设计中的方法是从整个电源分配系统的角度进行电源去耦设计。原则是在感兴趣的频率范围内,使整个电源分配系统阻抗最低;最终目标是用最少的电容达到目标阻抗要求,减轻安装和布线的压力。

6 实  验6.1 时钟信号测试用示波器观测控制卡上9054的时钟信号,加端接器后的时钟信号如图3所示,将22Ω电阻短接后的时钟信号如图4所示。

图3 有端接电阻的时钟信号

图4 没有端接电阻的时钟信号

由图4可以发现,由于反射的原因使得信号的波形非常不理想,存在严重的过冲、下冲和因此而形成的振铃效应,电平信号的判断很容易出现错误,这样的设计会导致整个系统设计的失败[10]。再看加端接器后的时钟信号波形图3,可以发现信号的质量得到明显改善,整个链路的信号完整性得到了保证。

6.2 电源信号测试用示波器观测控制卡电源信号,得到3.3V电源波形如图5所示,1.8V电源波形如图6所示。

图5 3.3V电源波形

图6 1.8V电源波形

由图5、6可见:3.3V电源波动小于0.1V,1.8V电源波动小于0.1V,均满足器件允许电压波动小于5%的指标。

6.3 控制卡通信速率测试在主机应用程序与控制卡通信期间,利用逻辑分析仪观测PCI9054本地端的ADS#和BLAST#引脚,获得数据传输时间,就可计算出主机和控制卡之间的数据传输速率。PCI9054工作于C模式,主机采用无限突发的方式读取256个字节数据,信号波形如图7所示。

图7 DMA无限突发读

由图7可见,主机利用无限突发DMA方式读取数据,在数据传输过程中总线一直被占用。由数据传输周期2.17μs,计算出无限突发数据传输速率117.97MByte/s;由于设计中PCI9054采用30MHz时钟晶振,其最大通讯速率为120MByte/s。实验测得数据传输速率接近理论极限值,所以基于CPCI总线控制卡的性能达到预期目的。

7 结  论信号完整性问题是硬件设计中的核心问题。在理论基础上,建立简化的数学、物理模型是解决问题的关键。总结的高速PCB设计规则经实践验证能够满足信号完整性要求。因此只要在设计之初对所有影响信号质量的因素通过一定的设计技术来控制,就可以减小信号畸变,实现信号完整性设计。(参考文献略)

深 圳 励 知 科 技 

高 速 射 频 PCB 设 计 专 家

PCB设计、仿真、制板、SMT一站式

www.szenctech.com

业务联系

15989459034

sales@szenctech.com

关注励知

音频信号转为开关控制信号_基于CPCI总线控制卡的信号完整性设计相关推荐

  1. 音频信号转为开关控制信号_盘点模拟量信号和开关量信号区别与应用

    提起PLC和变频器,相信很多的电工老师傅都非常了解,甚至于每天都在接触PLC和变频器,老师傅们都知道开关量控制和模拟量控制是PLC和变频器经常使用的2种控制方式,都应用非常广泛. 但是对于一些刚入门学 ...

  2. pcie总线连接两台电脑_基于PCIE总线多主互连系统的设计与实现

    女 , 山东人 , 工程师 , 研究方向为计算机应用 : 孙大东 (1980 ) , 男 , 吉林辽源人 , 硕 士 , 高级工程师 , 研究方向为嵌入式系统网络 : 张明庆 (1980 ) , 男 ...

  3. pcie总线与cpci总线_基于通用PCI接口功能芯片和热插拔控制器实现CPCI总线控制的设计...

    CPCI总线简介 CPCI总线是一个开放式.国际性技术标准,由PCI总线工业计算机制造商组织PICMG(PCI Industrial Computer Manufacturer Group)负责制定和 ...

  4. 基于cPCI总线的嵌入式遥测前端处理器系统设计

    介绍了基于cPCI总线的新一代嵌入式遥测前端处理器的体系结构设计和通用OEM硬件选择,重点介绍了多功能双路PcM分路器板的设计与实现,简述了遥测前端处理器中的软件. 遥测数据处理系统在航空.航天等军工 ...

  5. 基于GPIB总线的无线电频谱监测系统的设计delphi多线程超时控

    随着通信技术的发展,无线电资源作为公共资源的一种,需要国家有关部门对其进行有效的分配和.设计界面友好.运行稳定.实时反应迅速的监测软件是对无线电资源进行有效配置的重要环节,也是国家和信息安全保障的重要 ...

  6. 基于STM32蓝牙控制的app智能台灯设计

    提示:记录毕设 文章目录 前言 一.任务书 1.1设计(研究)目标: 1.2设计(研究)内容: 二.代码思路 三.硬件设计 3.1总体设计 3.2蓝牙部分设计 四.联系我们 五.部分代码 喜欢请点赞哦 ...

  7. lin通讯从节点同步间隔场_基于LIN总线的汽车分级制网络结构

    原标题:基于LIN总线的汽车分级制网络结构 1.引言 汽车总线中通讯节点和数据流量持续增加,节点日益复杂,使得汽车总线在重量.布置.成本.通信效率等方面面临困境,走出这一困境的出路在于实行汽车总线的网 ...

  8. can协议crc计算_基于CAN总线的CRC校验码的原理与实现

    基于CAN总线的CRC校验码的原理与实现 王鹏 [摘 要]CAN总线又称为控制器局域网技术,属于工业现场总线,应用范围很广.CAN系统中通常 采用反馈重发机制对通信过程进行差错控制.当接收端反馈给发送 ...

  9. stm32采集脉冲信号_基于STM32+FPGA的数据采集系统的设计与实现

    引言 由于火控系统工作环境特殊,所需采集信号复杂多样,传统的以微控制器或PC为主的采集系统往往难以胜任.针对上述问题,提出了一种基于STM32+FPGA的数据采集系统的设计方案,该方案不仅能够完成对多 ...

  10. 一直在构建工作空间_基于用户场景构建的建筑工程弱电设计工作设想

    [摘要]因为弱电产品更新速度快,功能差异变化大,往往会出现设计成果同预期有所区别的情况.针对类似情形,文章提出借鉴发展变化更加迅速的互联网行业中产品设计的理念,通过业主方或者设计方构建用户场景的手段, ...

最新文章

  1. cad沿线插入块 lisp_CAD制图软件中如何快速绘制推拉窗平面简图
  2. 关注点分离之RestTemplate的错误处理
  3. 测试思想-好东西与大家分享-1
  4. 关于Java中的线程安全(线程同步)
  5. KDE Applications 19.04 发布,包含大量更新
  6. 201521123070 《JAVA程序设计》第13周学习总结
  7. 王道408数据结构——第七章 查找
  8. 深度学习目标检测之 YOLO v2
  9. 我们应该如何写好HTMLCSS
  10. MVVM js 库JsRender/JsViews和knockoutjs介绍
  11. 深入理解Yii2.0 (2)事件Event
  12. Windows游戏加速外挂-变速齿轮 学习笔记-【第一篇】
  13. WordArt怎样把endnote的关键词生成词云
  14. 软件开发价格估算方法
  15. 矩形碰撞公式,以前还做j2me时就用到的公式,为了方便查找,这里记一下
  16. 南京邮电大学MOOC高级程序语言设计(C++)第五章编程题答案
  17. 【AVISO 测高数据获取:注册与利用FileZilla下载】
  18. Ubuntu mate自启脚本/命令+关闭图形桌面
  19. 转载:汽车ABS、EBD、ESP、TCS、HDC、HHC、这些英文都有什么用处?
  20. 2016年BYOD四大趋势

热门文章

  1. java设计文件查重,【java】查重类的实现
  2. 3dmax卸载工具_3Dmax软件无法安装?3Dmax软件正确卸载方法,重装无忧
  3. 编写一个程序,新建一个文件:d:\abc.txt,从键盘输入abc.txt内容(不超过100个字符)。然后新建另外一个文件:d:\def.txt,将abc.txt的前10个字符复制到def.txt上
  4. 自抗扰控制的入门学习(一)—— 前言
  5. TCP粘包/拆包概述
  6. html入门圣思园视频,Java Web学习历程-(基于圣思园视频教程)
  7. ansys变形太夸张_ANSYS大变形典例:线性与非线性分析差别巨大,如何选择?
  8. Html post易语言服务器,POST其实很简单 15 易语言模块之精易模块
  9. 闲鱼x-sign, x-mini-wua算法签名接口调用
  10. matlab双线性插值双三次插值对CUFED5进行处理