关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > CPCI总线的分布式系统设计应用

CPCI总线的分布式系统设计应用

作者:时间:2010-11-23来源:网络收藏

大规模应采用网络架构,同时应具有开放性和良好的可扩展性,以适应不断变化的环境和需求;中各模块分工处理不同类型数据,应具有相对的独立自主性,同时又在不同的层次上相互关联,能实现相互访问和协同工作;也应具有良好的集成性,在功能层次上需要有效的组件构造框架,在组件层次上则应有统一的数据交互平台[1]。

本文引用地址:http://www.eepw.com.cn/article/162663.htm

基于以上分析,我们选用作为系统的数据通信平台。技术是PCI技术和成熟的欧式卡组装技术的结合,在电气、逻辑和软件功能方面,它与PCI标准完全兼容,又突破了PCI标准4个插槽的限制,相较于VME总线模块价位低,具有开放性、易于扩展、高密度等优点,同时达到99.999%的高可用性。采用总线技术以及硬件接口规范,能运用其多模块插卡式的优点,支持多业务的处理,并实现模块化数据处理单元的无缝连接,为分布式数据交换提供高速、可靠的保证,非常适合作为分布式系统业务处理通信平台,也适于在通信及嵌入式系统中的广泛[2-4]。

本文给出一种基于CPCI总线的通信系统,系统采用分布式网络架构,支持多种分组交换业务的处理及数据交互。文章首先给出系统结构及原理设计,并针对分布式业务处理模块跨总线通信的难点,提出基于“抽屉机制”的报文存储和地址信息维护策略,描述了数据无干扰传输等关键技术的实现,最后给出技术总结和展望。

2.系统总体设计

2.1系统结构特点

我们所设计的分布式系统结构如图1所示。系统中不同设备板卡独立对相应业务数据进行处理,将其转化为统一的IP数据进行互通,并维护各自的路由表独立完成数据转发。系统将与特定业务网络的接口分布到各种设备板卡中进行标准的接入信道适配,并将各类网络数据分布到各板卡进行处理和转发,实现了集中配置与分布式接入和数据处理的完美结合。

在CPCI分布总线架构中,背板为总线交换提供物理连接、电路保证,背板上系统插槽提供总线仲裁、时钟分配和背板上各板卡重新启动等功能;外设插槽上可安放简单的接口板、智能从属装置或总线控制装置[2,3]。每块CPCI板卡均有处理器和嵌入式实时系统,处理器采用Motorola的PowerPC-860,同时采用PLX公司的9054和9056PCI桥芯片在PowerPC-860和CPCI总线之间架起一条高效稳定的传输桥梁。PLX9054/9056芯片实现了CPCI主控设备的功能,支持PCI2.2规程,简化了对连接PowerPC的设计,兼容性较好,很容易扩展成66MHz时钟及64bit的PCI总线,特别是PLX9056内嵌总线仲裁器,能减小系统规模,使系统更稳定[5]。


图1数据通信系统结构图

2.2系统资源共享与信息互通

系统采用基于CPCI的单总线多处理器/多操作系统的分布式架构,系统中各块板卡均拥有独立的CPU和操作系统、地址和内存空间以及独立的I/O和中断,可独立完成数据操作,每块板卡可看作一台计算机主机。分布式系统形成的拓扑结构为一个全连通的网络,网络中每个节点都能够直接访问其它节点;从CPCI总线传输的角度看,所有插槽上的板卡都是对等的,都能够充当master主动发起总线传输。针对这种基于总线的分布式架构,我们设计了跨总线的内存访问机制,将系统中其它板卡的系统内存或者设备内存(比如内存扩展卡)映射到本地地址空间,然后以与系统内存相同的方式访问被映射的内存,这样每块板卡都能够访问到总线上其他板卡的内存资源了。

2.3统一规范的访问接口

异构网络通过标准信道适配接入分布式系统,语音、X.25、串口数据等非IP数据经由数据适配模块转换成IP数据,系统中各板卡的嵌入式实时系统对数据进行处理和交互。各种异构网络挂接在嵌入式系统中相应网络设备上,网络设备驱动调用CPCI总线驱动提供的统一接口实现实时系统与总线之间的数据传输。发送数据时,网络设备驱动通过总线驱动控制桥芯片进行地址转换、数据转发、中断产生等工作,生成相应的总线操作将数据送往总线;接收数据时,总线驱动响应中断,接收总线上相应地址段的数据,在中断服务程序中进行数据解析、地址转换、数据转发、其他中断产生等操作。我们采用Linux操作系统,其网络系统主要是基于UNIX的socket机制,系统协议栈和驱动程序之间通过专门的数据结构(sk_buff)传递数据。实时系统内核与CPCI总线间数据传输流程如图2所示:


图2数据传输流程图

3.关键技术

3.1报文存储的“抽屉机制”

系统中各板卡共用一条CPCI总线,我们提出基于“抽屉机制”的报文存储策略,以保证板卡间数据无干扰传输。在板卡加入系统的初始化阶段,系统板为总线上每块板卡分配独立的PCI总线地址区间,其他板卡向其发送数据时将数据写往指定地址区域。一块板卡会接收来自不同板卡的数据,为避免各板卡往同一基址发送数据所引起的干扰,同一板卡地址区域内又为其他板卡分配大小相同的独立读写空间,我们将它命名为“抽屉”。这样来自某板卡的数据会被送到其对应“抽屉”,每次数据依序存放而非覆盖,以保证板卡数据处理时间。当数据长度超出抽屉剩余空间时,则似环状buffer从头开始存放。“抽屉机制”如图3所示,左边方块代表总线上不同板卡,右边则是PCI总线地址空间。板卡B对应地址范围从a点到e点,其中ab点之间空间仅用于板卡A向B进行数据传送,bc点之间空间仅用于板卡C向B进行数据传送,以此类推。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭