基于PC主机北桥的长时间不间断高速采集和存储的系
引言
由于现在的PCI、CPCI、VME等系统的持续传输速度很难超越400MB/s,因此要完成实时、长时间的采集存储功能,本设计选择实现一种基于PCI-E的系统,PCI-E是第三代接口通信协议(3GPIO)。传统的PC主机北桥只有一个高速的PCI-E X16接口,本文使用带G31北桥的芯片组的技嘉主板GA-G31M-ES2C为例来进行讨论,虽然G31-ICH7芯片组在南桥上可提供4个PCI-E ×1接口,但是由于其他I/O端口资源的占用,该主板在北桥上仅提供了一个PCI-E ×16的插槽,南桥也只提供一个PCI-E ×1插槽。因此如果只采用G31/ICH7芯片组的电脑建立一个PCI-E采集存储系统,它只能实现PCI-E 1.0 单通道的采集存储系统,带宽就被限制在200MB/s内。而这种格局主要是由于计算机北桥只提供一个PCI-E插槽,不能同时满足高速采集和存储的连接需要,因此扩展主机北桥上的PCI-E接口,将整个采集存储都建立在北桥上变得至关重要。
系统结构分析
Intel(英特尔)公司最新的双通道DDR3内存以及下一代双×16 PCI-E 2.0的计算机芯片组技术提供了一种更新的个人电脑的架构,这些技术被应用到X38、X48和X58等计算机芯片组中。本文以X58为例,图1为X58芯片组的系统架构。
图1 X58芯片组的系统架构
X58芯片组搭配新南桥ICH10或ICH10R,可支持四条PCI-E ×16插槽(其中两条符合PCI-E 2.0规范),根据通道数的要求可组成四种不同模式,当然它只支持双图形处理器(GPU)协同运行的技术CrossFire,仍不支持Scalable Link Interface(SLI)技术。SLI技术是主板能够同时使用两块同型号PCI-E显卡的一种技术,同时芯片间通信通过类似AMD HyperTransport总线技术的QPI总线技术完成,借助PCI-E通道可带来最高25.6GB/s的双向带宽,而现在的前端总线Front Side Bus(FSB)则被彻底弃用。我们可以直接运用X58芯片组构建一个高速实时的系统,但由于现阶段很少有能够完全利用PCI-E ×16带宽的采集卡,因此将资源进行分割,利用多块采集模块组成一个采集系统,通过PCI-E Switch扩展接口的方法可以将X58芯片组扩展成为一个更高速、兼容更多模块的采集存储系统。
DMI(Direct Media Interface)直接媒体接口是Intel公司开发用于连接主板南北桥的总线,取代了以前的Hub-Link总线。DMI采用点对点的连接方式,时钟频率为100MHz,由于它基于PCI-E总线,因此具有PCI-E总线的优势。DMI实现了上行与下行各1GB/s的数据传输率,总带宽达到2GB/s,但DMI还要与其他I/O设备进行通信,因此如果选择南桥的PCI-E端口进行传输,传输速度将受到很大的限制,理想情况下至多只能实现1GB/s的传输存储速度。因此,本系统在计算机中DMI以上的结构中完成数据的传输和存储。我们可以将连接在芯片G31 GMCH的PCI-E ×16端口通过一个PCI-E Switch进行扩展,扩展后的结构相当于主机北桥提供了多个高速的PCI-E接口,形成一个类似于图1中的X58架构,从而使整个传输存储过程不受DMI双向2GB/s速度的影响。
利用北桥PCI-E扩展技术,将所有的采集卡和存储卡都连接到主机的北桥端,可使整个数据传输不受主机DMI等的速度瓶颈限制,如果只是使用PCI-E ×4对系统进行扩展,理想的有效数据传输速度也可达800MB/s,而且由于PCI-E协议是双向同时传输的,因此将采集卡和存储卡同时连接到一个端口并不会影响其传输和存储的效率。
系统设计
PCI-E Switch
PCI-E Switch为整个系统提供扩展端口,系统中所有的PCI-E接口都是通过PCI-E Switch芯片扩展出来的,类似的可以看成将多个PCI-E插槽直接连接到主机的北桥上。图2为含PCI-E的拓扑结构图,通过Switch可以将一个上游设备口扩展多个下游端口,此外PCI-E Switch还可以级联。通过一个多通道的PCI-E Switch可扩展构建一个多采集卡多存储设备的实时高速采集存储系统。
图2 含PCI-E Switch的拓扑结构图
本方案采用的是PLX公司的一块PCI-E Switch芯片PEX8616,它是一款可以设置4个接口并拥有16个通道的PCI-E Switch芯片,并可设置每个接口的通道数。其支持透明桥(TB)、非透明桥(NTB)两种方式,即可以支持两个及以上的多主机系统和多智能I/O端口的模块。PEX8616每个通道含有两个虚拟端口,且支持热插拔。由于主要目的是将北桥上的PCI-E ×16插槽扩展成为多个PCI-E接口。因此,本系统中将其分为四个PCI-E ×4的接口。端口号为0、1、5和6,将与主机连接的端口0设置为上游端口,其余三个端口则为下游端口,连接采集卡和RAID存储卡。
PCI-E数据传输方式包含地址路由和ID路由等方式,PCI-E设备在系统中都有一个ID,根据所处的
- 基于单片无操作系统的 USB 主机控制器接口(06-06)
- 超超临界机组AGC控制技术的研究与应用(06-01)
- 基于PC主机北桥的长时间不间断高速采集和存储的系统介绍(10-16)
- 电脑主机内部结构图(01-25)
- USB 3.0高速传输技术产品发展应用趋势(10-08)
- 使用功率MOSFET封装技术解决计算应用的高功耗问题(05-04)