基于RTCORBA技术的嵌入式代理服务器设计

发布者:雅逸之风最新更新时间:2012-10-22 来源: 21ic 关键字:RTCORBA  代理服务器  现场总线 手机看文章 扫描二维码
随时随地手机看文章

引言

现场控制网络技术、信息网络集成技术和分布式实时技术的发燕尾服和成熟,使集成信息网络和现场控制网络的分布式实时测控网络成为未来工业测控系统的发展方向。在这这样一个测控网络中,实现异构网络无缝互联的关键是代理服务器。使用基于实时中间件的代理服务器,既能满足实时互联的要求,又使代理服务器屏蔽了底层测控设备的实现细节,减少了系统开发的难度;同时,基于面向对象技术,各种测控设备的连接与安装难度也大幅度降低。

本文使用Linux+RTCORBA的系统架构设计一个嵌入式代理服务器,用于LON网到以太网的互联,并且使用基于ARM7的单片机实现了该嵌入式代理服务器。

1 RTCORBA技术简介

CORBA是OMG推出的一个重要的工业规范,是OMA(Object Model Architecture)的核心部分。OMA所采用的方法,是为面向对象的应用提供一个公共框架,如果符合这一框架,就可以在多种硬件平台和操作系统上建立一个异质的分布式应用环境。
OMG在制订CORBA规范时,首先考虑的是互操作性,用以解决异种平台上的不同对象的协作问题;所以,需要将CORBA规范进行扩展,以满足分布式实时应用的需要和测控系统的实时性要求。在1999年3月,OMG发布了实时CORBA1.0规范。OMG已将它作为CORBA3.0规范的一部分。

实时CORBA对原有的规范进行了扩展,定义了标准的接口和QoS策略,其扩展的具体内容为:

*将客户的CORBA::Current接口扩充为RTCORBA::Current接口;

*将服务器的PDA扩充为RTPOA;

*将ORB扩充为RTORB;

*增添了RTCORBA::Priority接口和RTCORBA::PriorityMapping接口;

*增添了RTCORBA::Threadpool接口;

*增添了Scheduling Service。

这些扩展可具体分为对处理器资源、内存资源和通信资源的管理三个部分。

2 嵌入式代理服务器设计与实现

代理服务器屏蔽了底层测控设备的实现细节,向上层提供统一的数据服务,在测控网络中起着纽带的作用。为了实现分布式实时测控网络,其中核心的问题之一就是实现一个代理服务器。由于代理服务器需要应用于工业现场,要求能在较宽温度范围内工作,并且还要求封装牢固(抗振和防冲击)、导轨安装、电源冗余、DC供电等。另外,从低功耗、低成本、小何种的角度来看,使用嵌入式系统都优于使用通用系统,故本文选用嵌入式系统来实现代理服务器。

整个代理服务器可以分为硬件平台层、操作系统层、实时中间件层和应用程序四个层次来实现,如图1所示。

2.1 硬件平台

在这种方案中,代理服务器一方面通过各种驱动或服务程序与现场设场设备实时交换数据,另一方面通过ORB与应用程序交换数据。代理服务器可以提供对LON现场总线、常规通用工业串行通信总线RS485/RS232、常用DCS/PLC等多种现场控制协议的支持,其硬件框图如图2所示。通过使用代理服务器,屏蔽了底层的现场总线通信协议,使用面向对象的方法将每一个现场设备都实现为网络中的一个分布式对象;通过对象方法调用向上层应用提供统一的服务,使得上层应用可以直接通过调用代理服务器中的对象方法来控制底层测控设备。[page]

(1)微处理器模块

微处理器模块包含所有使得微处理器能够正常工作的部分。它包括微处理器、Flash、SDRAM、电源、JTAG接口电路、复位电路和晶振电路。根据需求,我们选用三星公司的基于16/32位ARM7TDMI核的S3C4510B微处理器。它专为以太网通信系统而设计,具有低成本和高性能的特点,并集成了多种外围器件。

(2)10M/100Mbps以太网通信模块

这个模块用来与以太网通信。S3C4510B内嵌了一个以太网控制器,支持媒体独立接口(MII)和缓冲DMA接口(BDI),可在半双工或全双工模式下提供10M/100Mbps以太网接入。实际上芯片已经包含以太网MAC控制,但未提供物理层接口,需要外接一块物理层芯片。

本系统使用RTL8201作为以太网的物理层接口芯片。它的主要功能包括物理编码子层、物理媒体附件、双绞线物理媒体子层、10BASE-TX编码/编解码器和双绞线媒体访问单元等;同时,带有MII接口,可以简单方便地与S3C4510B连接,如图3所示。

S3C4520B的MAC控制器可以控制31个RTL8201,每个RTL8201都必须有不同的PHY地址(00001B~11111B)。系统复位时,由锁存引脚9、10、12、13、15的初始状态确定PHY地址。但是,由于锁存引脚也复用为LED引脚,故不能直接接电路或地。

(3)LON现场总线通信模块

代理服务器作为LON现场总线中的一个节点与现场检测设备通信,所以LON现场总线通信模块要包括与LON网络通信和与S3C4510B通信的功能。

LonWorks总线通信模块主要由神经元芯片、LonWorks双绞线网络收发器、程序存储器、数据存储器等组成。在该代理服务器的应用中,实际上仅仅把Neuron(TMPN3150)芯片作为通信处理器用,由其按照LonTalk协议与LonWorks网络上的所有智能节点进行通信,同时将通过并行口与主CPU通信。它将从S3C4510B接收到的来自以太网络的其它网段数据或上层控制命令通过特定的寻址方式由LonWorks收发器传向LonWorks网,或将从LonWorks网上接收到的LonTalk协议报文由通用I/O发给S3C4510B,再由S3C4510B进行处理。由于开发Neuron芯片时采用的Neuron C(专门为Neuron芯片设计的编程语言,从ANSI C中派生出来的)语言,故内存占用大。另外,作为通信协议处理器使用要求有大量的数据缓冲区进行数据交换,而仅仅利用TMPN3150内部的2KB RAM容量是均无不够的,因此我们扩展了外部存储器Flash和RAM。由于采用Flash,可以非常方便地修改用户程序。

LON现场总线通信模块原理如图4所示。

2.2 操作系统层

操作系统层不仅仅是操作系统软件,它一般包括两个部分:

①引导加载程序,包括固化在固件(firmware)中的boot代码(可选)和Boot Loader两大部分;

②内核和文件系统,包括 Linux内核、根文件系统和建立于Flash内存设备之上的文件系统。

(1)Linux内核

作为候选的一种嵌入式操作系统,嵌入式Linux以其引入注目的优势,极大地吸引电子设计工程师从自己书写的或专用的RTOS转移到Linux。UClinux是专为那些没有MMU(内存管理单元)的嵌放式处理器开发的嵌入式Linux。

www.uclinux.org为uClinux提供了GNU的交叉编译器,包括以下组件:

*Gcc交叉编译器,即在宿主机上开发编译目标上可运行的二进制文件;

*Binutils辅助工具,包括objdump、as、ld等;

*Gdb调试器。

使用这些工具搭建了嵌入式应用开发平台后,就可以在标准的Linux平台上开发应用了。搭建了开发平台主要有以下几步:

①获得uClinux-dist的源码包;

②建立ARM交叉编译环境;

③针对硬件修改配置;

④编译内核;

⑤内核加载运行。

(2)BootLoader

引导加载程序是系统加电后运行的第一段软件代码。在PC中引导加载程序由BIOS(其本质就是一段固件程序)和位于硬盘MBR中的OS Boot Loader(如LILO和GRUB等)一起组成。而在嵌入式系统中,通常并没有像BIOS那样的固件程序(有的嵌入式CPU也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由Boot Loader来完成。在一个基于ARM7TDMI核的嵌入式系统中,系统在上电或复位时都从地址0x00000000处开始执行,而在这个地址处安排的通常就是系统的Boot Loader程序。[page]

通过Boot Loader,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。Boot Loader是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,我们需要设计与实现自己专有的Boot Loader。

在我们的系统中,内核映像与根文件系统映像都被加载到RAM中运行。之所以这样是因为,虽然在嵌入式系统中内核映像与根文件系统映像也可以直接在ROM或Flash这样的固态存储设备中直接运行,但这种做法无疑是以运行速度的牺牲为代价的,会影响到实时应用。

Boot Loader分为stage1和stage2两大部分。依赖于CPU体系结构的代码,比如设备初始化代码等,通常都放在stage1中,而且通常都用汇编语言来实现,以达到短小精悍的目的;而stage2则通常用C语言来实现,这样可以实现较复杂的功能,而且代码会具有更好的可读性和可移植性。

2.3 ORB

目前基于CORBA规范的产品有很多,著名的就有Orbix2000、JacORB、MICO、Visibroker、ORBit、TAO等。这些产品各有优缺点。这几种ORB产品中,TAO(The ACE ORB)是美国华盛顿大学的Douglas C.Schmidt博士领域开发的一个实时CORBA平台,是基于ACE创建的。它是一个开放源码项目,是完全免费的。使用C++语言开发,符合CORBA标准,而且还为高性能需求的实时系统进行了优化。因此,需要在Linux上安装ACE/ATO开发环境,ACE和TAO可以协同工作来提供复杂中间件解决方案。

2.4 应用程序开发

在基于中间件的分布式测控系统中,应用软件的编写发生了极大的变化。我们只需使用IDL编写统一的接口,就不必每次使用都考虑实现细节。

一个实时CORBA应用在逻辑上分为客户和服务器两个部分。客户端向服务器端主动发起服务请求,服务器端则被动接收服务请求。一个实时CORBA应用的客户端常包含多个服务请求(方法调用);除此外,还包含在本地执行的代码。在服务器端,则包含了这个方法的实现。在我们的这个系统中,代理服务器就是一个服务器端,测控网络中其它的工作站则是客户端。它们调用代理服务器上的方法,以获取现场检测数据和修改现场设备的参数。

    在服务器端,一般每个现场设备对应一个实时对象。这个对象提供操作这个对象(设备)的方法和对象的性质。如果客户端需要操作某一个设备,它只需请求调用代理服务器上这个设备所对应的实现对象的方法,代理服务器所获得的数据以返回值的形式传给客户端,这样就完成了一次服务。实际上,这些实时对象作为现场设备的代码,对上层应用屏蔽了设备实现的复杂性,提供统一的服务。

ORB机制可以透明地实现传送请求给对象,并将响应返回给提出请求的客户。通过使客户不再管理方法激活的具体实现,从而简化了分布式应用程序。当客户激活一个方法,ORG负责定位对象实现并透明的激活。将请求传输给对象实现并返回结果。通常ORB包括对象实现、对象定位和对象通信机制。这些特性允许应用开发者更多地关心其本身的应用领域的开发,而较少考虑低级的分布系统程序设计。但是,为了提高更丰富的功能,不应该仅仅使用CORBA默认的定位、通信机制,还需要使用到CORBA的各种对象服务。

在我们的实现中,设备对象都有自己的状态信息,这些信息都将通过事件服务来传递。在使用事件服务之前,应先启动事件服务器。在我们的系统中使用的是TAO的事件服务器。启动事件服务器后,命名服务器将注册到智能代理中,并将事件服务通常的IOR定入一个文件。然后可以使用这个IOR文件启动事件提供者程序和使用者程序。

3 总结

分布式中间件技术在信息技术领域已经得到了广泛应用。使用分布式中间件技术可以方便地开发、集成、升级和维护各种应用系统,大大降低了构建应用系统的代价,并极大地提高了生产效率。开发和应用分布式实时测控系统也必将成为起来测控网络的发展方向。

本文使用基于RTCORBA中间件技术的代理服务器来连接两种异构网络,实现LON网到Ethernet的互联,并且具备了数据透明传输、无缝互操作、实时的特性,在测控网络中具有极大的使用价值和广阔的发展前景。

 


参考文献:
[1]. ARM7TDMI datasheet http://www.dzsc.com/datasheet/ARM7TDMI_139812.html.
[2]. S3C4510B datasheet http://www.dzsc.com/datasheet/S3C4510B_589499.html.
[3]. RTL8201 datasheet http://www.dzsc.com/datasheet/RTL8201_586322.html.
[4]. ROM datasheet http://www.dzsc.com/datasheet/ROM_1188413.html.

关键字:RTCORBA  代理服务器  现场总线 引用地址:基于RTCORBA技术的嵌入式代理服务器设计

上一篇:USB海量存储类设备功能在ARM系统中的应用
下一篇:基于ARM体系的嵌入式系统BSP的程序设计

推荐阅读最新更新时间:2024-03-16 13:11

基于现场总线的开放式网络化数控系统的设计
  目前开放化是数控系统的研究热点。开放式的技术基础就是系统的模块化,然而这种模块化的设计在实现数控系统增量式功能拓展的同时,往往因追求密集的软硬件设计而造成数控系统体积庞大,接口繁杂,功能重叠等负面效应。集中式模块化设计中模块间的模拟量及并行连线的方式,也使得数控系统的整体结构变得复杂,在造成信息交互密集的情况下,系统的实时性得不到有效保证。另外,随着工业现场环境和控制对象本身的日益庞杂,数控系统已从简单的运动轨迹控制器转变成贯穿数字化制造全过程的系统级平台。数控设备在实现高速、高精、高效的加工自动化的过程中,对加工过程实时可控的要求越来越高,因此状态监测也成为数控研究的一个重要方向。   与此同时,以Profibus为代表
[嵌入式]
基于RS422A现场总线的温控网络控制系统
一. 概述   RS-422A总线是EIA公布的“平衡电压数字接口电路的电气特性”标准,这个标准是为改善RS-232C标准的电气特性,又考虑与RS-232C兼容而制定的。RS422A是工业界广泛使用的双向、差动平衡驱动和接收传输线标准接口 ,它以全双工方式通信 ,支持多点连接 ,允许创建多达 32个节点的网络,具有传输距离远 (最大传输距离为 1200m) ,传输速率快 ( 1200m时为 100kbit/s)等优点 ,相对于其它总线,如FF、CAN、LonWorks等而言,具有结构简单、成本低廉、安装方便、与传统的DCS兼容等特点;此外,市场上很多现场仪表都有RS422A总线接口,因此采用该总线可以很容易地开发一些中小型网络测
[工业控制]
基于RS422A<font color='red'>现场总线</font>的温控网络控制系统
基于PROFIBUS总线的食品生产自动控制系统
1 引言 现场总线是一种连接智能现场设备和自动化系统的开放式,数字化双向多点通讯的底层控制网络。现场总线有多种如CC - LINK,CAN,DE - VICENET,PROFIBUS等,其中PROFIBUS总线是一种最重要的,应用最广泛的现场总线,它已经成为一个在IEC61158和IEC61784中通用的开放标准。PROFIBUS现场总线网络有三种协议方式,分别为FMS,DP和PA。PROFIBUS - DP现场总线符合EN50170标准,是一种能为流程工厂的所有自动化系统和装置提供点到点兼容一致性的通讯平台和现场总线网络。果冻食品生产的设备众多,且分散在不同车间现场,需要检测和控制的 I/O通道有几千点之多,因此本系统中采用 PR
[嵌入式]
西门子PLC与ABB变频器之间的现场总线通讯技术
1、引言   Profibus是目前工控系统中最成功的现场总线之一,得到了广泛的应用。它是不依赖于生产厂家的、开放式的现场总线,各种各样的自动化设备均可通过同样的接口协议进行信息的交换。 Profibus-DP现场总线 (Distributed I/O System-分布式I/O系统)是一种经过优化的模块,有较高的数据传输率,适用于系统和外部设备之间的通信,远程I/O系统尤为合适。它允许高速度周期性的小批量数据通信,适用于对时间要求苛刻的自动化控制系统中。Profibus-DP现场总线系统可使许多现场设备(如PLC、智能变送器、变频器)在同一总线进行双向多信息数字通讯,因此可方便地使用不同厂家生产的控制测量系统相互连接成通讯网络。济
[嵌入式]
基于嵌入式实时操作系统的现场总线网关的设计
一、引言         随着现场总线技术的不断发展,诸如计算机技术、通信技术等不断地引入到自动控制领域,大大地促进了新一代控制系统——现场总线控制系统(FCS)的发展。     随着嵌入式系统与网络的日益结合,在嵌入式实时操作系统(RTOS)中引入TCP/IP协议栈,以支持嵌入式设备接入网络,成为嵌入式领域重要的研究方向。        本文将介绍基于嵌入式实时操作系统的现场总线网关的设计。其中所介绍的现场总线是WorldFIP现场总线;实时操作系统(RTOS)是μC/OS-Ⅱ。 二、WorldFIP现场总线和μC/OS-Ⅱ简介     l.WorldFIP现场总线简介    WorldFIP FCS是一种用于自动化系统的现场总
[嵌入式]
基于现场总线的X射线能谱分析仪软件设计
X射线荧光分析仪近年来广泛应用于建材、冶金、采矿等行业,可对物料或产品成份组成和含量进行快速、无损的物理分析,其分析结果不仅依赖于该仪器的各项技术指标,还取决于所使用的分析方法。因此,自从X射线荧光分析仪研制成功以后,无论在国际还是在国内,分析方法和软件开发的研究成为改善仪器分析精度、扩大使用范围的主要研究内容。近年来,随着现场总线技术的不断发展,传统化学分析方法因其无法实现数字化自动输入逐渐被现代电子测量分析仪器所取代,本文结合实践经验对开发应用于自动化生产总线结构中的X射线荧光分析仪物质成分定量分析的能谱分析方法和软件开发做一探讨。 1 能谱分析 1.1 基本测量原理 高能光子(X射线)或高速带电粒子轰击样品中的原子
[测试测量]
基于<font color='red'>现场总线</font>的X射线能谱分析仪软件设计
阀门现场总线控制系统简介
阀门现场总线控制系统简介 随着现代工业自动化的飞速发展,用户对过程控制系统的要求也越来越高。阀门现场总线控制系统是根据用户需要最新发展起来的“FCS”(现场控制系统),能很好地解决现场最常见的有关干扰噪声、控制距离和接点容量等方面的问题,在阀门和执行器应用领域内有巨大的潜在市场和发展前景。 阀门现场总线控制系统的优点: 一、安装费用少 阀门执行器现场总线控制系统接线简单,所用电缆少,费用一般只有常规控制系统的40%左右。在常规控制系统中,接到每台阀门或执行器上的电缆芯数少则六、七根,最多的可达二十二根,而在阀门执行器现场总线控制系统中,气动法兰蝶阀,所有阀门或执行器的连接只需要两、三根电缆即可完成。 二、接入的现场装置多 根据系统要
[嵌入式]
用单片机设计现场总线转换网桥
    摘要: 讨论工业控制系统设备连接转换网桥的基本概念和工业控制系统对网桥的基本要求。在此基础上,提出转换网桥和网络转换的概念,并给出工业控制系统和现场总线技术对网桥和网络转换的基本要求。通过讨论,提出用MC68HC05C8设计的三种总线系统连接类型,并针对这三种连接类型,提出网桥模块和网络转换的基本结构。     关键词: 现场总线 通信 工业控制 网桥 近年来随着现场总线技术的进步与发展,出现了工业控制系统连接网桥的概念以及相应的产品。应当说,网桥概念和产品的出现标志着解决“开放式”系统问题的开始,同时也是彻底实现信息化现场总线技术的开始。 目前,工业控制现场总线中的网桥设备所起的作用,是实现不同信
[网络通信]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved