现代微电子学为实验物理学、工程学和其他应用中的分布式系统发展提供了新的可能。用于数据采集(DAQ)且与网络相互连接的新型模块化微处理器系统和分布式控制应用正被人们提出并讨论。高功率多功能的特定(用于通信和DSP)微处理器与分布式存储器一起作为实时系统来运作。用于数字信号处理(DSP)和控制应用的嵌入式模块化系统在工业标准(工业计算机系统(ICS)ISA机箱(MicroPC)有两个/四个插槽或cPCI有四至八个插槽)中发展起来。多处理器系统能有效应用于分布式控制,人们正在研究用于此系统的实时多处理器核和操作系统(OS)以适应实验研究和工程技术应用中的可能发生的各种应用场合。
人们正考虑将具有有源底板的紧凑型工业计算机系统(ICS)和具有无源底板的基于紧凑型PCI的系统(cPCI/PXI)通过以太网连接起来作为嵌入式实时系统用于控制应用场合。人们也考虑将分布式系统与系统区域网络(SAN)连接起来作为具备并行流水线数据处理能力的高级模块系统用于数据采集和控制应用场合。在对数据采集、触发和控制子系统进行联合建模的基础上,人们考虑将实验物理学和工程子系统结合起来。
1、具备有源底板的嵌入式模块化实时系统
微型机由许多元件(插入到底板上)组成,包括CPU、存储器、磁盘驱动器和串口/并口。一些计算机基于IBM PC(ISA总线)插件模块,另一些作为在单个板上的独立系统(无底板)来实现,其他的则是基于底板总线(VME/VXI)的单板计算机(SBC)。
基于底板的微型机可以用于数据采集、过程控制和不同的研发项目,但是一般情况下,由于其过大的体积而不将它作为智能元件嵌入到设备中去。二十世纪八十年代,计算机板被大规模集成芯片所限制,集成电路因具有先进的性能而占领了整个计算机板市场,而后发展为单片机或DSP。PC/104和PC/104-Plus 模块趋向于由支持嵌入式Linux的标准PC台式机和笔记本电脑组件来组成。PC/104-Plus增加了使用board-to-board总线(120 针)的PCI总线。
在基于PC的非桌面嵌入式系统上,人们对IBM PC兼容性的兴趣日益增加:
·PC芯片级和外围的兼容性能使成本更低、结构更简单、支持更容易,
·PC兼容性提供了PC机操作系统(MS-DOS, Windows, Linux)、语言和工具等优势。
由于新型接口(USB, FireWire, 蓝牙)、架构(MIPS, PowerPC, ARM)和操作系统(RTLinux, RTEMS)的出现,嵌入式单板计算机(SBC)平台能够更好地服务于嵌入式模块化实时系统:
·增加了嵌入式智能,许多应用需要有对用户友好的图形和语音界面;
·增加了需要进行相互连接(TCP/IP, PPP, HTTP, FTP)的电子设备的需求;
·USB正在取代串口、并口和PS/2接口,以太网随处可见,FireWire (IEEE-1394)正开始被使用;
·处理器(高度集成了基于ARM, MIPS, PowerPC和x86的面向应用的片上系统) 正在开发中;
Linux用于所有的计算处理,它提供了低成本、开源的解决方案,支持开放性标准、网络连接、通信、Internet和其他功能。
有人提议将基于小型工业计算机系统(ICS)的具有两个插槽的紧凑型模块化系统作为嵌入式控制器端(CS)和工作虚拟端(VS)通过10/100M以太网在分布式网络中连接起来。每个虚拟端(VS)都是基于Windows 或/和 Linux,每个控制器端(CS)都是基于RT-Linux并且用于数据采集,监测和控制。两个PCI插槽中的一个用于基于DSP的数据采集和控制模块,另一个则用于扩展或另外的以太网连接。
通常,在硬件和软件上,现场总线用经济的模块化方法来取得不同的应用成果。今天,大多数计算机将传统的网络(10/100M以太网、FireWire、USB)作为标准的连接。现场总线的概念对于所有电子设备来说应该是透明的。串行总线(USB、 FireWire)用于中高速的I/O连接。SCI的相互连接支持可扩展的多处理器集群和高性能模块化实时系统。
另一版本的紧凑型CS随着具有基本通信处理器模块的四个插槽的Micro PC机箱发展起来,此处理器模块也包括了动态和静态的存储芯片和一套标准接口(CAN总线、RS232及其它)。实时操作系统(RT-Linux, RTEMS)可用于数据采集和控制应用场合。
2、具备无源底板的嵌入式模块化实时系统
Euro -card(3U格式)是国际标准(IEEE 1101.1)。VME总线允许16位数据以3U格式传送(6U板支持全数据总线带宽)。与VME(3U)相比,cPCI(3U)是个性能更高且更有效率的系统,而在VME体系结构中实现PC功能困难重重。3U cPCI总线性能优于3U VME。
与嵌入式PC板格式相比,cPCI/PXI总线支持single-wide板和double-wide板中的全32位或64位数据传输。cPCI/PXI也提供了一些优势。cPCI/PXI提升了系统的灵活性,将PCI插槽数由4个提高到了8个。cPCI为工业环境(如VME)所设计,而PXI为仪器使用系统(如VXI)所设计。3U cPCI无源底板比较小但可以增大。使用底板的方法使维护和升级3U cPCI模块变得更为简单。cPCI/PXI(3U)板支持工业自动化所需要的I/O,而工业自动化也需要分布式I/O。
cPCI支持现场总线用于数据采集、控制、监测和进程报告。为了满足工业应用的需要,cPCI系统支持高级的用于cPCI单板计算机上的网络连接功能(10/100M以太网、 USB、FireWire和现场总线)。模块性能够帮助人们进行最广泛的应用并提供了基于cPCI/PXI的SBC支持的灵活性。
嵌入式模块化cPCI/PXI(3U)系统硬件有如下优势:
1)小型规格(220针,2mm连接器)体现了它是个对抗控制应用场合中冲击和振动的良好平台。
2)完整的PC模块(带有图形、快速以太网、IEEE1394、USB、现场总线、flash存储器和128M的SDRAM)能够建立在紧凑型且具灵活性的 3U平台上。
3)降低功耗是减小成本的重要步骤,追求更小型的处理器几何尺寸降低了功率级。研究显示,通过3U cPCI实现的控制设备消耗的功率通常低于20W。
4)另外,带有64位总线的8插槽cPCI底板通过使用机架和EMI屏蔽附件提供了经济型底板(无源的和有源的)。现代嵌入式计算机的解决方案需要基于Windows的软件来完成用于控制应用 (RT-Linux, RTEMS, QNX, OS-9, VxWork)的人机连接、网络连接、文件管理和确定性的实时软件。
用于与PC兼容的嵌入式SBCs的Linux支持倾向于以正常方式使用芯片来提供,包括一些特定的功能如:显示控制器模式、LCD面板控制信号、PCMCIA、板上固态磁盘和非标准的功能(看门狗定时器)。
3、与SAN相互连接的分布式系统
由于在分布式数据处理系统中,大量并行处理器受到总线的限制,所以可扩展一次性接口(SCI)就成为一个用于高级多处理器体系结构的最好的系统区域网络 (SAN)而发展起来。随后,第一个具有硬件一致性的基于SCI的高性能模块化多处理器系统被开发出来。根据多级物理模型,人们提出将用于高性价比系统的基于标准紧凑型PC (PC-board)和链路模块(如Dolphin)的高级集成化实时系统高效SAN体系结构用于实验物理研究中的高性能数据采集、控制和分布式数据处理。组建高性价比实时系统的一个最佳方法是使用工业计算机系统MB(ICS MB)、PC MB 或 cPCI/PXI,并根据实际的应用场合通过不同的拓扑连接到SAN中。
分布式并行数据处理模型包括对称多处理(SMP)、大规模并行处理(MPP)和机群系统(RMC和NUMA)。RMC(映射内存集群)是一个在节点和通信连接之间具有内存复制功能和内存传输机制的集群系统。
借助系统区域网络(SAN)的链路模块,分布式集成系统的高模块化结构能够支持分布式处理器和内存之间的高效交互作用。SAN包括以下几个级:
1)核心级由一套内核处理器、存储器、I/O控制器所组成,它们之间相互连接。与同一板上的片外存储器相比,新型单芯片微型机具有更短的通信链路,更易访问和更短的数据传输时间。
2)系统模型的紧凑型板结构的原子级(A模块)包括用于特定目的和一般目的的处理器。用于数据采集和控制的最简高效实时系统可以以具有单核、双核或三核处理器的标准PC MB为基础。在同一总线上,处理器模块有数量限制。对称多处理(SMP)是用于多处理器的基本软件模型。
3)分子级(宏观结构)取决于系统拓扑结构。大量多处理器节点可以通过SAN(“大总线”模型)连接到大型(千处理器)系统中以支持分布式集成实时系统用于数据采集、控制和数据处理应用。
4)分布式系统的相互连接基于链路、桥接和开关模块(L模块、B模块和S模块)。通信速度的成本比针脚和板空间的成本下降地更快。传统的通信基于总线,这限制了处理器的数目。
一个可行的解决方案是在许多独立的点对点连接上使用基于包的信号,这可以解决总线瓶颈的问题,但也带来了新的问题——如何保持系统中共享内存模型的cache一致性。
处理器模块之间的弱相互作用基于消息传送(以太网)。中级相互作用基于集群中使用的外部存储设备(磁盘、磁带)。处理器核之间的强相互作用基于直接读取分布式存储器,并在SCI上实现,SCI也支持处理器模块之间的弱相互作用。SCI的强相互作用包括小包交易(有回显地发送和响应分离的包)。包格式包括写 xx、读xx、移动xx和锁定命令,此处xx表示允许的数据块长度(数据字节数目,在数据包头的右方)。
可扩展性是增强多处理器实时系统性能(与千处理器系统相连接)的一个问题。
SAN架构的分布式存储器模型能支持并行流水线数据处理(计算)作为SMP模型运行于单个地址空间。64位地址支持每个节点上的256T字节。
Cache 一致性支持分布式并行数据处理实时系统中所有处理器的数据可用性。实时系统包含有许多处理器,它们尝试着修改单个数据或与此同时将数据的备份保存到自己的 cache中。通过软件或硬件实现的一致性阻止多处理器在同一时刻尝试修改同样的数据,硬件一致性支持高性能(高价格)而软件一致性则提供了高性能(低价格)。
模块化实时系统的拓扑结构应该基于一套精选过的模块来发展系统以达到最优化地解决确定问题的目的。它应该是个具有矩阵探测器的用于数据采集的矩阵或是用于3D图像的3D拓扑结构。在控制领域,系统应该需要有个类似于大型机器(线性或环形)结构的拓扑。
基于SAN的分布式系统应该共享64位SCI地址,高16位用于在适当的节点转发数据包。系统拓扑可以在简易环、多环、桥接或交换器的基础上实现处理器之间的并行流水线的强相互作用。SCI基于点到点的连接并支持同一时间内所有处理器模块的事务。商用Dolphin的L模块提供了每秒800M字节的双向 SCI连接用于移动大量的具有小型应用-应用潜力(2.3毫秒)的分布式数据并且减少了用于多点应用的最好的可扩展性的节点控制信息。
基于网络的分布式实时系统包括下面节点:连接到虚拟端(VS)的控制器端(CS)收集实时数据并输出控制数据。具有一个以太网端口的简易CS基于具有两个 PCI插槽的紧凑型ICS MB用于数据采集和控制模块。另一个端口用于扩展或另外的以太网连接。VS应该支持专业级的仿真、监测和测试。虚拟仪器和标准应用软件基于基本的操作系统 (Windows、Linux),借助于10/100M以太网,它们工作于连接到大量安装有RTLinux的分布式CS的VS上。每个VS应该能够达到多服务器级。
可扩展模块化实时系统的联合通用模型集成了基于相互连接的网络(以太网)和SAN(SCI)的数据采集、触发和控制系统。对于控制技术领域中的工程系统来说,具有两个PCI插槽的紧凑型ICS MB (A模块)和以太网是个不错的平台。而对于实验物理领域中的高性能数据采集和触发系统来说,基于嵌入式cPCI/PXI且与SAN(SCI)相互连接的节点是个不错的平台。