找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] PCIExpress推动平静演化

[复制链接]
admin 发表于 2013-4-1 02:21:15 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
PC下一代内部外设总线以其良好的性能和扩展能力,正在悄悄地颠覆PC与嵌入计算业。
  
         PCIe(PCI Express)正在悄悄进入PC和嵌入计算市场,在提升PCI总线带宽限制的同时仍能使用传统软件。
  
         PCIe 规格的改进速度快于实现速度,从而给系统设计者提出了短暂的挑战。
  
         开发者必须仔细考虑主板和BIOS选择,以确保它们可以实现最佳性能。
  
         PCIe电缆连接提供了很多新的系统扩展机会。
          技术正在静悄悄地转换,而大多数用户、PC 业以及嵌入计算业对此并不知晓。用于附加卡的 PCI(外设部件互连)总线由于负担过重,正在缓慢让位于串行 PCIe(PCI Express)。这种改变为台式、膝上型和嵌入式计算系统带来了新的功能和性能水平,但也产生了一些短期的设计挑战,因为技术的进步快于其采纳速度。
   IPLVmy070817174703510201106101549271172.jpg
          PCI总线现在已近15岁,接近自己的寿限。随着处理器时钟速度和 I/O 需求的日益增长,PCI总线开发出更高的速度和更宽的总线来提升系统性能。但是,正像所有其它的并行总线结构一样,随着 PCI 的每一步发展,信号时滞和扇出的问题也在增长。这一总线几年前就达到了它的极限,促使 PCISIG(PCI 特殊兴趣小组)去开发下一代版本,它可以支持传统应用和软件。PCISIG 的答案就是 PCIe,这是一个交换式串行总线结构,其较底层硬件将基本架构的变化与上层软件掩蔽起来。
    PCIe 中的链路由通道构成,它承载系统之间的高速、双向和串行的点对点数据传输。这些链路有可比例缩放的带宽,可以用 1、2、4、8、 或 16 个通道来满足一台外设的性能需求。PCIe 链路中的硬件负责处理并行与串行格式之间的转换,多个通道的时钟和同步,错误检测与纠正,以及一系列可能需要对驱动程序、应用软件和操作系统作修改的其它任务。结果,设计者可以在几乎不为用户所知的情况下实现 PCIe 总线。
    由于这种不可见性,PC 业悄悄地使自己的电路板和硅片设计转向了 PCIe,而消费者没有注意到这种转移。2007 年 2 月的 PCISIG 集成商列表指出了 PCIe 采纳的进展程度,列表中近三分之一的部件与硅 IP(知识产权)都是满足端点控制器的需求。另外三分之一是带有原生 PCIe 接口的图形设备,来自于 AMD、ATI Technologies 和 Nvidia。剩下的多数是主机根或 I/O 根复合交换机或连接来自 Intel、NEC、PLX Technology 和 Via Technologies较老式 PCI 和 PCI-X 总线的桥。只有少数是外设功能,如采用原生 PCIe 接口的串行 ATA 或以太网控制器。在电路板市场上,PCIe 集成商列表中有近 100 种图形板待售品,而其它功能的数量均不超过几种。
        图形主导
    这种产品分布形态表明,至少对 PC 来说,推动采纳 PCIe 的应用是高性能图形。其它大带宽 PC 应用(如以太网、Fiber Channel、InfiniBand 和串行 ATA)也接受 PCIe,但热情程度要低得多。这种态势说明 PCI 将与 PCIe 总线一起在 PC 中继续共存多年,处理那些对接纳 PCIe 来说太慢的外设功能。例如,快速地看一眼本地电子商店现有的主板,几乎所有 PC 主板都至少有一个 PCIe 卡槽,但仍保留了多个 PCI 槽。
    但这些有关 PC 产品的调查并不是事情的全部。例如,PCMCIA(个人计算机内存卡国际协会)也已采纳 PCIe 作为其 ExpressCard 标准的一个接口,该标准有望取代 CardBus 成为笔记本电脑内插卡。这种采纳扩展了 PCISIG 所定义的 PCIe 适用性,而且不仅只有这种扩展性。在 PCIe 硅芯片产品中,有 Cadence、Mentor 和 Synopsys 等公司用于定制芯片设计的硅 IP,以及 Altera、Lattice Semiconductor 和 Xilinx 等公司用于FPGA 的IP。这种 IP 的可用性(尤其是针对 FPGA 的内核)指明了一个巨大的定制器件市场,以及采用 PCIe 接口的电路板市场,如来自 Adlink 和 National Instruments 的数据采集板。通常情况下,这些定制设计都面向嵌入计算市场。
    长久以来,PC 的低成本、广泛适用性、高性能和庞大的支持架构一直吸引着开发者在嵌入计算应用中采用 PC 标准和技术。比如,当 PCI 总线出现时,嵌入系统界就在 PCI 技术基础上,建立了 CompactPCI、PXI(仪器 PCI 扩展)和 SHB(系统主控板)无源背板嵌入计算架构。甚至还产生了一个新的商业机构:PICMG(PCI 工业计算机制造商集团)。
    同样的事情也出现在 PCIe 上。果然不出所料,CompactPCI Express、PXI Express 和 SHBe 都已经采纳了 PCIe 总线标准。另外,可以使用 PCIe 的新架构也正在出现。例如,在高要求的电信市场上,PICMG 定义了 ATCA(先进电信计算架构)背板,以及 AMC(先进中间卡)模块,因此可以将 PCIe 作为一种接口。总之,现在有超过 60 种电路板外形尺寸和一系列带有 PCIe 总线接口的连接器配置可用于工业和嵌入计算(见图1)。
           快速发展
    PCIe规格的发展要快于设计者实现它的速度。最初的PCIe1.0规格出现在2002年,一年后出现了1.0a版,而2005年推出了1.1版。由于新硅片的设计时间一般要18个月以上,很多现有的芯片实现仍然只遵循1.0a版规格,只有少量遵循1.1版规格。所幸,两次修订之间只有少许差别,因此它们是兼容的。
    但与此同时,PCISIG在继续发展PCIe规格。 2.0版在2007年1月面市,它对原规格作了几处重大修改。最引人注目的一点是提高了串行数据速率。原 PCIe 规格要求,通道在每个方向以 2.5 Gbps 速率通信;PCIe 2.0 将这一速率加倍到 5 Gbps。为保持 1.1与2.0接口之间的互操作性,规格将速度提升作为选项,并包含了一个LTSSM(链路训练与状态机)速率协商功能,以判断一个链路的两端支持哪种速度。
    但速度的提升并不是 PCIe 2.0中唯一的新特性。除了带有一个开发者在 Version 1.0a 和 1.1 器件设计时所发现问题的勘误表以外,2.0版规格还增加了新的功能。其中之一是可选编程能力,以及信令超时情况下的一个强制失效机制。这个功能有助于开发人员实现更长信号延迟的设计,高于在主板环境下的预期水平。另一个可选功能是功能级的复位指令,这样系统软件就可以单独复位电路板,而不是简单地复位整个电路板。增加的第三个功能是使用 ACS(访问控制服务)来支持 PCIe 总线上的对等通信(见图2)。
    不过 PCISIG 并没有就此止步。2007 年 2 月,它发布了一个在一根电缆上延长 PCIe 总线的标准(见附文“多机箱的 PCI Express”)。它还对规格作了其它工作,将图形卡的功率提高到 300W,为内插卡建立了新的尺寸标准,以及提供 I/O 虚拟化方法。这种虚拟化工作是一个两步过程,它使一个 PCIe 系统同时表现为多个使用共享硬件的机器。第一步是定义一个单根平台(single-root platform),使多个操作系统和应用程序可以运行在单一硬件平台上,而外表看还是网络中多台机器在工作。第二步是定义一个多根结构(multiroot structure),使多个处理器可以共享外设硬件。
   
   stGLvS070817174703681201106101549271173.jpg
         PC 之外的PCIe
    所有这些对 PCIe 规格的创新与改进都在PC市场内外极大地扩展了PCIe的应用。另外它们还创建了一些设计关注点,虽然它们最终会获得解决,但对今天试图应用该技术的开发人员形成挑战。今天最大的挑战之一就是引导固件或 BIOS,它负责在加电以后启动计算平台。
    据固件供应商 Phoenix Technologies 的 BIOS 工程副总裁 Trevor Western 说,挑战的重点是 BIOS 应如何支持不提供 PCIe 或没有正确实现 PCIe 的操作系统和设备。PCIe 提供了与 PCI 的逆向兼容性,使 BIOS 开发者至少可以将系统配置成好像内含的一切都是 PCI,但这种方案过于保守。PCIe 具备一些标准没有严格定义以及实现时可能变型的能力,如同步传输。据 Western 说,使用这些功能是有风险的。实现中的一个错误都会在启动时使系统锁死。
    Western 还指出,常见的操作系统(如 Windows XP 和 Windows 2000 Server)并不能明确地支持 PCIe 的附加特性,如热插拔、电源管理以及 MSI(消息服务中断)。结果,BIOS 供应商通常要在使用这些程序的计算机中禁用一些 PCIe 功能,除非客户请求这种支持。有些 BIOS 版本还允许你在系统配置时打开 PCIe 功能。不过,开发人员应清楚自己系统使用的 OS,以避免在制作自己外设或嵌入系统时感到失望。例如,如果 OS 或 BIOS 不支持 MSI,则系统应回复到 PCI 的 IRQ(中断请求)格式,且不能获得 PCIe 的全部性能。
    但 Western 指出,这种情况是暂时的,只针对较老的主板、BIOS 版本,以及使用这种老式软件的计算机。Windows Vista 和即将上市的 Longhorn 服务器软件都支持 PCIe 的额外功能,如同系统的 BIOS 将为它们所设计的那样。他还提到,获专利的嵌入式操作系统和基于Linux 的系统已成功实现了 PCIe 支持。
          BIOS 带来的挑战
    不过,嵌入式计算行业已经发现了 PCIe 开发者会遇到的其它 BIOS 挑战。其中之一是枚举问题,即在引导期间为外设分配地址、内存和中断资源。由于 PCIe 是一种交换架构,BIOS 必须通过交换设备的搜寻来定位和确认另一侧的外设。根据不同的实现方法,这个过程可能会使 BIOS 发现的外设请求资源多于自己的处理能力,尤其是在一个级联中有多个交换机时。于是,系统可能无法恰当地枚举。
    另一个对使用交换结构的挑战是扩频时钟。为了降低 EMI,PCIe 物理层可以使用一种围绕标称 2.5 GHz 速率略有变化的时钟进行运行。这种变化将时钟边沿的能量频谱扩展到一个大约 2.5 GHz 的频段内,而不是集中在时钟频率点上。用这种方式扩展频谱可以降低任何一个频率上的峰值能量级,使系统 EMI 保持在规定的限度内。不幸的是,PCIe 交换机可能并不支持通过其端口使用这种技术,因此 BIOS 供应商一般会禁止这个功能。
    嵌入系统界也为台式机或服务器设计使用的主板保持谨慎。开发人员报告说,有些主板可能具备能处理 8通道或16通道卡连接器的插槽,但可能只向这些槽传送4个通道。拥有较大的连接器能够使这些电路板插入系统的可能性达到最大程度,但没有传送所有通道则使主板无法获得高性能板的顶级性能。
    今后几年中,系统设计者将继续面对这些挑战。标准开发者现在只是在解决 PCIe 1.1 采用中产生的问题。PCIe 2.0 已经出现,但还没有可用的硅片或软件能使开发者实现它的各种特性,并且还没有相关体验揭示出那些不可避免地困扰所有新规格的模糊与错误。此外,在两种 PCIe 接口的转换期间,两者必须共存,使供应商将自己的产品从一个版本移植到另一个版本,并使客户逐步地接受它们。
    开发者将不可避免地面临和应对这些挑战。PCIe 总线的性能与特性将有足够的能力保证台式机、服务器和嵌入计算系统快速接纳 PCIe。PCIe 已经悄悄地进入了几乎所有类型的计算系统,并将最终取代 PCI。一切都只是时间问题。
        --------------------------------------------------------------------------------
  附文:多机箱的PCI Express
    PCISIG(外设部件互连特殊兴趣小组)为 PCIe(PCI Express)增加的一个新功能是能够将总线扩展到机箱外。PCISIG 在 2007 年 2 月发布了 PCIe External Cabling Specification(PCIe 外部接线规范),针对总线扩展的连接器、引脚和电缆接线作了标准化。它同时规定了信号电平和噪声预算标准,以确保不同供应商实现之间的互操作性。很多公司已经利用这种功能,建立了通过 PCIe 电缆连接到主控 PC 的扩展系统,如 One Stop Systems 公司。经验表明,用一根简单电缆就可以将 PCIe 总线延长到 7m,而带有主动降噪的电缆则可以实现 10m 以上的距离。例如,Avnet 称它为 Xilinx 建立了电缆扩展器评估套件,在使用美国国家半导体信号调节芯片时可以实现 15m 的距离。
    就总线扩展来说,PCIe 的串行特点带来了一个方便的附加特性:无需作转换。计算机外设总线通常很像处理器的外部地址总线和数据总线,都保持自己的并行特性。由于时滞和信号完整性问题,以及含大量导线电缆的高成本,并行总线结构不太容易扩展到机箱外 1m 以上。如要扩展总线,就需要在并行总线和其它更适合传输的格式之间作转换。PCIe 不存在这种情况。这种总线本身就是串行的,适用于长距离传输,因为它是自我时钟同步,并在使用一条以上通道时自动处理时滞问题。由于它不需要转换,PCIe 电缆的扩展就不会增加延迟,可以在扩展时提供完整的系统性能。
    但一根 PCIe 电缆并不简单的是 PCIe 总线镜像。电缆中确实包含差分 PCIe 信号对,但它亦带有额外的边带信号。边带信号包括一个差分 100 MHz 基准时钟,以及单端复位、电路板预置和上电信号。它们还带有单端信号返回和数个地。电缆还可能有其它的可选信号,如 3.3V 电源,和用于有源连接器的电源返回线(有源连接器提供降噪功能,以最大限度延长电缆长度),以及唤醒信号。保留的信号可以用作未来扩展。这类 PCIe、边带和保留信号(一个通道 18 根导线到 16 个通道 136 根导线)意味着系统设计者在选择扩展总线速度时,必须考虑电缆尺寸的影响。
  
  打开电缆新的选项
    PCIe 在电缆上的扩展能够开发出并行系统总线结构无法实现的系统与架构。系统 I/O 是通过 PCIe 的电缆应用而出现重大变化的功能之一。例如,使用 One Stop Systems 公司的 MaxExpress 四通道 PCIe 扩展产品,开发者能建立多机箱的系统,用单个 PCIe 主机可以控制多达 100 个插入板。
  PCIe电缆的其它应用是总线和外形尺寸转换。例如,你可以使电缆通过ExpressCard端口,用一个总线桥接卡将一台笔记本电脑连接到一个CompactPCI 机箱。然后笔记本电脑就可以用作系统的主控制器,此时笔记本电脑实际成为了CompactPCI 系统的一部分。同样,CompactPCI Express系统也可以加入无源背板扩展,而 PCI-X 板可以通过笔记本电脑作连接。这些方案都只要求每种类型的机箱上有一个 PCIe 电缆接口,就可以连接各种类型的外形尺寸和总线,构成一个单一系统。
    第三种可能性是通过一个 PCIe 电缆建立一个主机-主机连接。在一个端点使用一台不透明的交换机,两个计算系统就能将自己的系统总线连接起来,用于通过 PCIe 电缆的高速、低延迟数据传输。采用 16 通道电缆可以实现高达 32 Gbps 的数据速率,而延迟等效于一个系统的附加卡对另一个附加卡的延迟。
    这些应用只是 PCIe 电缆的开始。PCISIG 正在定义 I/O 虚拟化和先进交换的工作,将为 PCIe 带来网络式的特性以及所有的优点。你将能把 PCIe 系统连接起来,构成强大的  
网络,而没有协议转换的性能限制。此外,这些系统可以是各种平台和外形尺寸的混合体,它们只需拥有一个共同的特性:一个 PCIe 电缆端口。 本文来源:EDN     作者:Richard A Quinnell
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2025-1-10 17:34 , Processed in 0.063632 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表