通信中间件设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
通信中间件设计
通信中间件产品设计
一、概
述 ..................................................................... .................... 1 二、背景需
求 ..................................................................... ............. 2 三、通信中间件的设计思
想 .......................................................... 3 四、通信中间件的设
计 (4)
,一,总体设
计 ..................................................................... (4)
,二,分层设
计 ..................................................................... (5)
,三, 通信中间件的数据流
程 (6)
五、中间件的应用和发
展 (7)
一、概述
基于嵌入式系统的跨平台实现互通、互连、互操作及通用性的特
殊要求~我们根据中间件的设计思想计划研制开发多种基于嵌入式技
术的各设备之间进行网络互连的通信中间件产品。
通信中间件产品的设计思想、设计过程以及通信流程进行了介
绍。
二、需求分析
工业测量和控制设备在工业控制领域的应用越来越广泛~几乎涵盖了工业控制领域的各个方面。而作为工业测量和控制的基本单元~通信的功能是十分必要的。通过网络将设备与远程控制台联结起来~可以实现将运行期间采集到的数据发送至控制台~工程人员也可以对设备进行配置与监控。
测控设备使用了很多的接口与系统连接~例如RS-232、485、USB、
接口。通过这些接口可以实现设备与设备之间、Ethernet模拟量等
设备与系统之间、系统与系统之间的互通互连。可以看出~通信要求在不同的系统体系、不同的通信模块、不同的通信接口之间实现的~但是由于现在各种接口有着各自的通信协议~相互之间没有一种通用的软件协议。在系统设计中还必须考虑接口协议、具体的芯片结构~这给应用系统和软件开发带来了很大的不便。
为了更好地开发和应用在异构平台上运行的系统软件~解决系统与式设备、设备与设备之间的互通互连和互操作的问题~需要根据网络体系结构技术思想研制开发多种标准的、独立于通信介质、支持多种设备、多种系统的通信中间件产品。
通信中间件产品基于不同介质、不同电气特性和不同协议的网络、设备之上~屏蔽了不同通信接口的差异~能够对各种标准的数据传输接口进行透明转换传输。
2
三、通信中间件的设计思想
通信中间件是位于系统平台和设备硬件平台,通信介质/协议,之间解决系统网络互连的中间适配层~如图所示。该层向下屏蔽掉硬件网络通信接口平
台,RS232/485、USB、以太网、Modem等,的差异~即基于不同介质、不同电气特性
和不同协议的网络、设备之上~能够对各种标准的数据传输接口进行透明传输~向上为应用层提供一个统一的标准接口~应用层的开发基于该接口进行。通信中间件的核心思想就是定义一组接口通信的标准~以及为这一标准提供通信基础设施~软件系统均遵照这种标准来构造应用程序~使得符合通信中间件规范的接口通信有着很强的互操作性。
图1 通信中间件
首先~当系统通信接口平台改变时~只需改变通信中间适配层的几个参数~只要保持通信中间件层对应用层的接口定义不变~就可以直接将应用程序移植过去运行。所有代码只需编写一次就可在任何系统上运行~大大缩短了系统研制的周期~提高了开发效率~同时还保证了系统的高伸缩性、易升级性和稳定性。
其次~通信中间件屏蔽了底层设备平台的差异~提供了标准的封
3
装接口。当底层设备接口改变时~不用修改应用系统~只需在通信中间件层次增加新的通信接口~即可实现对新设备接口的适配~从而就能保证系统在线运行情况下~接入各种新设备~以系统不变的情况下可以灵活应对各种各样的设备~实现各种设备与系统的互通、互连、互操作的目的~实现系统的高兼容性、高扩展性。
四、通信中间件的设计
,一,总体设计
其系统设计的总体结构框图如下:
图2 系统体系结构框图
中间件的的硬件平台采用基于微处理器的嵌入式系统平台~底层通信接口包括RS-232串行口、以太网接口、Modem及扩展接口、模拟接口等。
中间件通信适配层定义和设计支持各种通信接口的通用通信协议。该层具备通信协议的主要特征,数据帧格式、检错纠错、流量控制等,~向下与各种通信接口模块相适配~向上提供与通信接口无关
4
的统一接口。
应用平台是用户利用通信中间件通过各种通信接口以及通信协议实现数据、命令和消息的传递。
,二,分层设计
利用分层体系结构思想设计通信中间件~在设计中~将其分为三层结构:API 层、socket层、driver层。这种分层式设计思想可以将每一层协议的实现细节对相邻协议层加以屏蔽~提供服务访问接口进行层间数据传递~各层数据独立封装。发送和接收端的各层协议存在逻辑上的点对点连接。
总体分层设计如图所示:
图3 XCOM的分层设计
driver层,设备驱动层,:
中间件定义了一系列的设备驱动函数来建立与物理层的接口及与socket层的接口。通过建立设备驱动数据结构来控制设备的通信。在数据结构中定义相应的函数指针用以调用相应的设备通信函数。
socket层,设备抽象层,:
该层定义关于通信控件设备的一些信息属性~如:通信控件设备驱动信息属性、数据包信息属性、通信设备socket信息属性、消息
5
属性等~及数据处理函数:数据的编译码、数据的打包及读写数据缓存操作和系统目标析构函数。
API层,程序接口层,
针对用户的应用程序接口API向用户提供中间件的初始化、接口操作、以及用户API三大功能。中间件的初始化函数向用户提供系统的初始化及释放功能,控件接口操作函数向用户提供对设备控件初始化操作~当初始化完成后~对底层的操作对用户是透明的,API向用户提供对消息的基本操作功能。
用户在使用数据对象时只能访问由通信软件提供的一个标准用户程序接口~其他所有有关对象的信息则保存在驱动层中。对用户而言~这些对象信息已被隐藏封装起来~屏蔽了底层操作。而对于底层驱动的设计是指当底层通信接口改变时~不用修改应用程序~只需在driver层增加相应的通信接口控件驱动即可实现对新接口的适配~通过软件的通用性达到其设计目的。