EPA通信协议在uC - OS-II中的设计与实现-_第1页
EPA通信协议在uC - OS-II中的设计与实现-_第2页
EPA通信协议在uC - OS-II中的设计与实现-_第3页
EPA通信协议在uC - OS-II中的设计与实现-_第4页
EPA通信协议在uC - OS-II中的设计与实现-_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、邮局订阅号:82-946360元/年技术创新 嵌入式系统应用PLC 技术应用200例您的论文得到两院院士关注EPA 通信协议在C/OS-II 中的设计与实现Design and Im plem entation of EPA Com m unication Protocol on Em bedded C/OS-II(1.清华大学;2.中国安全生产科学研究院谷海波1,2杨佃福1桂康1GU HAIBO YANG DIANFU GUI KANG摘要:本文提出了一种基于C/OS-II 嵌入式系统的EPA 通信协议的实现方案。简要介绍了EPA 通信协议和模型,针对在以C/OS-II 嵌入式系统为平台实现

2、EPA 设备通信的需求,提出了设计思路及其构建方法,并在实验系统上得到应用。关键词:EPA;EPA 通信协议;C/OS-II 嵌入式系统;多任务中图分类号:TP393文献标识码:A Abstract:This paper brings forward an implementation of EPA communication protocol based on embedded C/OS II.It briefly intro-duces the EPA communication protocol and model,brings forward a system design and c

3、onstruction method which focuses on theneeds of EPA devices communication based on embedded C/OS II.The method has been applied on a laboratorial system.Key words:EPA,EPA communication protocol,embedded C/OS-II,multi-task文章编号:1008-0570(200701-2-0001-031引言用于工业测量与控制系统的EPA 系统结构与通信规范(以下简称EPA 是基于工业以太网的实时

4、通信规范,它有效地解决了以太网通信的确定性通信问题,进而可以应用于多种工业领域,构成各种工业测量与控制系统。该规范将收录在制定中的实时以太网国际标准IEC61784-2中,成为我国首例具有自主知识产权的现场总线标准;开发和实现EPA 通信协议是应用EPA 系统的基础和前提。C/OS-II 是一种占先机制的实时多任务嵌入式操作系统,具有源码公开、可移植、可固化、可裁剪等特点,已经得到广泛的应用。相对于同为源码公开的Clinux ,它具有内核小、实时性高等特点,更适合于控制应用。C/OS-II 作为EPA 通信协议的实现平台,能够较大的提高系统资源利用率,利用优先级划分获得较好的实时响应性能,其任

5、务间多种通信方法有助于实现各实体协议状态机。2EPA 通信协议与模型EPA 系统采用ISO/OSI 开放系统互连模型(ISO 7498的第一、二、三、四和七层,并增加用户层。系统中除了采用普通以太网协议组件外,有些层增加了部分实体,以适应EPA 通信的需求:增加的用户层包含EPA 功能块应用进程与非实时应用进程。应用层增加了由EPA 系统管理实体、EPA 应用访问实体和EPA 套接字映射实体组成的EPA 协议,三个实体分别实现EPA 设备管理、应用通信服务、应用层与UDP/IP 软件实体之间的映射接口和报文优先发送管理、报文封装、响应信息返回、链路状况监视等功能。在MAC 层和IP 层之间增加

6、EPA 通信调度管理实体,对EPA 设备向网络上发送的报文进行调度管理。调度策略采用分时发送机制,将报文分为周期报文和非周期报文,按预先组态的调度方案,在相应的时间段内发送,以避免碰撞。各设备网络时间由时间同步组件维护其一致性。EPA 管理信息库为各层协议实体提供操作所需信息,包括设备描述对象,链接对象等。按照EPA 通信协议,每个EPA 设备由至少一个功能块实例、EPA 应用访问实体、EPA 系统管理实体、EPA 套接字映射实体、EPA 链接对象、通信调度管理实体以及UDP/IP 协议等几个部分组成。各个实体和对象通过互相调用,协同完成设备间通信过程如图1示:图1EPA 通信模型3实现平台本

7、文实现EPA 通信协议的硬件结构如图2所示,通信卡CPU 为Rabbit2000微处理器,它是Rabbit 半导体公司所生产的8位微处理器,工作主频22.1MHZ ,工作电压5V ,具有40个通用I/O 引脚。内建日历、时钟、看门狗、定时器、多级中断、双DMA 通道,数据存储为128K 静态存储器和256K 动态存储器,可外扩48MB Flash ,对于通信协议栈和小型控制应用,其存储空间是足够的。由zworld 公司提供的基于Dynamic C 的软件开发平台集编程、编译、链接、调试、下载于一体,提供完善的TCP/IP 协议栈,支持全功能RS232/485通信,配备了各种I/O 驱动函数库;

8、谷海波:硕士研究生基金项目:国家863计划基金资助(2003AA4120301-技术创新中文核心期刊微计算机信息(嵌入式与SOC 2007年第23卷第1-2期360元/年邮局订阅号:82-946现场总线技术应用200例嵌入式系统应用文件管理系统可在Flash 或SRAM 上建立数据文件,便于存储系统或用户数据;开源的协议库不但缩短了软件开发周期,而且便于修改以更好的实现EPA 通信协议。通信卡通过以太网模块接口与EPA 网络相连,通过串口RS-232与电动执行器连接形成一个底层IO 设备,挂接在EPA网络上进行测试。图2硬件平台示意图Rabbit2000支持协作式(使用costate 和占先式

9、(移植C/OS-II 多任务模式,选择占先式模式基于以下两点考虑:(1对于EPA 设备来说,系统实时性是一个很重要的指标,表现在经过组态后功能块模块的执行时间精度、通信调度发送周期性报文的时间精度,以及时钟同步的精度,而且这几个参数在很大程度上影响了网络带宽利用率。C/OS-II 具有任务执行时间的可确定性,可以很好的满足系统的实时性要求。(2EPA 设备可以直接在通信卡的接口上进一步开发实现,同时需要增加用户层任务进程,而Rabbit2000是8位微处理器,资源比较有限,因此基于任务可扩展性考虑,也应该采用占先式任务调度方式。4软件设计与实现4.1通信协议的模块化设计从数据处理角度上看,EP

10、A 设备通信是对控制过程所需要数据进行处理和通过EPA 网络传输的过程,发送方从上到下各层依次对应用进程或者管理服务数据进行处理和封装,接收方则进行解包和处理,将服务数据交给应用进程。因此,协议软件设计主要是系统各模块对服务数据的处理程序的设计。EPA 通信卡的功能主要包含系统管理、应用服务、时钟同步、实时调度等。需要编写的功能模块有EPA 服务栈模块、套接字映射模块、时间同步模块、通信调度模块。(1EPA 服务栈模块:系统管理服务包括设备查询、设备声明等服务,应用访问服务包括域操作服务、事件操作服务、变量操作服务,各种服务对相应的服务报文进行处理。以域下载服务为例说明服务栈的实现流程如图3示

11、。(2EPA 套接字映射模块:对服务栈数据进行封装,并作为与UDP 层之间的数据接口,其接口函数包括创建与关闭EPA 套接字函数、发送应用服务报文与响应报文函数,发送系统管理报文与响应报文函数,从UDP 层接收应用服务与系统管理报文函数等。EPA 套接字开UDP 套接字的实现语句如下:if (!udp_open (&gEPA_AP_Sock,EPA_AP_PORT,-1,EPA_AP_PORT,NULLSockErr=1;else SockErr=0;(3时钟同步服务的实现采用IEEE 1588精确时钟同步协议,该协议用于分布式系统中的设备通过以太网的亚微秒级时钟同步。设备与主时钟通过

12、交换同步报文而实现同步,同步报文分为同步信息(Sync、附加信息(Follow_Up、延时请求(De-lay_Req、延时响应(Delay_Rsp四种报文。同步过程分两个阶段,第一阶段通过Sync 和Follow_Up 报文测量时间偏差,第二个阶段通过Delay_Req 和Delay_Rsp 测量延迟(网络延迟和协议栈延迟,进一步校正偏差。为了进一步减少协议栈带来的延迟,可以让时间同步服务尽量接近物理层,这里通过修改TCP/IP 库文件实现。图3域下载服务流程(4实时调度的实现,包括时间中断调度函数判断是否到达本设备的周期报文发送时间或非周期报文发送开始时间,以及报文发送函数实现对几个优先级的

13、数据队列报文发送等。4.2在C/OS-II 中的实现在完成各个模块的编写之后,通信协议在C/OS-II 系统中的实现主要是根据应用要求进行任务的创建、划分以及任务间通信与调度的设计。因为C/OS-II 在Rabbit2000中的移植已经由Dynamic 开发平台实现,这里不再详细介绍。模块与任务之间非一一对应关系,因为模块是基于功能进行划分,而任务是基于时间优先级进行划分。划分任务优先级就是确定任务实时性要求的过程。实时性要求越高的,则任务优先级越高,其对应的优先级号越低。C/OS-II 共支持最多56个用户任务,对于本系统来说是绰绰有余的。按照优先级由高到低次序的任务划分与调度方案如下:(1

14、设备管理任务:完成设备的上电与初始化组态,之后根据设备状态机,在设备为正常可操作状态下被挂起,直到设备状态被其他事件改变后由信号量激活。(2周期性报文发送任务:由时间调度任务在宏周期内本设备周期性报文发送时间到达时产生中断激活而进入就绪状态,在中断退出后成为最高优先级任务被执行,立即发送周期性报文,发送完毕即挂起等待下一次激活。(3非周期性报文发送任务:与任务(2相似,在非周期报文发送时间到被激活,通过调度算法发送非周期性报文。以上两个任务由于不会在同一时间段执行,因此实际运行时的优先级是等同的。(4功能块调度任务:在组态的功能块调度时间到达时被激活,或者在控制回路中上一个功能块执行之后被激活

15、,立刻执行后挂起。由于首先要确保EPA 网络通信的确定性,所以此通信卡SRAM FLASH32kHZ osc32kHZ osc RABBIT 2000以太网模块RS-232EPA 网桥电动执行器2-邮局订阅号:82-946360元/年技术创新 嵌入式系统应用PLC 技术应用200例您的论文得到两院院士关注任务的优先级低于前两个任务。(5时间调度任务:通过对网络时间的判断,在到达以上三个任务的执行时间时进入时间中断函数,给相应的任务发送信号量,使任务进入就绪状态,中断退出即可以执行就绪的高优先级任务。根据时间精度的要求设置内核调用OSTimeTick 的频率,可以通过#define OS_TIC

16、KS_PER_SEC 256,实现每秒256次的Tick 频率。(6普通报文接收任务:套接字映射实体侦听来自EPA 网络的报文并根据需要调用相应的应用层服务处理报文,设为每100ms 执行一次。(7时钟同步任务:独立接收与发送时间同步报文,以确保设备时间与网络时间的同步。由于主时钟发送Sync 报文周期为2秒一次,所以其优先级可以低于时间调度任务,设为每2秒执行一次。(8串口通信任务:与电动执行器进行周期性的串口通信,根据电动执行器的物理特性,通信频率设为每秒2次,其通信方法在后文中介绍。各任务之间采用全局变量或者消息机制进行通信,以完成任务状态机的变化。任务堆栈则根据各任务的实际需要分配,这

17、里不再详述。5测试为了测试通信协议的实现,使用通信卡的RS-232串口与某型电动执行器的异步串行通信接口相连,形成一个EPA 现场设备。EPA 通信卡接收来自EPA 网络的阀位指令并通过串行口传送给电动执行器,电动执行器接到阀位指令后向网板发出应答帧,双方各自一收一发完成一个周期的通信。通信中网板是主节点,电动执行器为从节点,每周期通信均是由通信卡发起,电动执行器响应。通过EPA 网桥将该设备加入EPA 网络进行测试,经过专家组的验收,该实验系统成功通过了一致性测试、互可操作性测试等服务测试,时钟同步精度也达到了毫秒级,基本上实现了EPA 通信卡的功能。6结束语系统实时性要求越高,对硬件的要求

18、也越高,如果要求时钟同步精度和通信调度发送报文的时间精度达到实际应用的水平,并且进一步提高EPA 设备通信的可靠性,则需要采用硬件实现的方法,即开发EPA 专用通信芯片,在芯片级实现通信协议,预计EPA 芯片很快会面世。相信在众多研究机构与厂商的共同努力下,EPA 的推广应用将会取得丰硕的成果。本文作者创新点:针对EPA 通信协议提出了一种新的实现方法,此方法基于C/OS-II 嵌入式操作系统,用多任务的方式实现了各个协议实体及其调度。参考文献:1阳宪惠工业数据通信与控制网络M.北京:清华大学出版社,2003.62(美拉伯罗斯著,邵贝贝等译.嵌入式实时操作系统C/OS-II (第二版M.北京:

19、北京航空航天大学出版社,20033阮冬茹,谢东光.基于EPA 的工业以太网确定性研究J.微计算机信息,2006,3-1:102作者简介:谷海波,男,1981年生,汉族,硕士研究生,主要研究方向为工业以太网及其嵌入式应用.E-mail:hapostar;杨佃福,男,1954年生,汉族,副教授,主要研究方向为现场总线、工业以太网.E-mail:ydf-dau 。Biography:Gu Haibo,male,the Han nationality,graduate student of Tsinghua University,major in Industry Ethernet and its E

20、m-bedded Application.(100084北京清华大学自动化系谷海波杨佃福桂康(100029北京中国安全生产科学研究院谷海波通讯地址:(100029北京朝阳区惠新西街17号中国安全生产科学研究院515谷海波(收稿日期:2006.9.27(修稿日期:2006.10.26(上接第5页3.6TC35i 关机模式时的系统功耗利用GSM 模块实现远程数据传输一般有四种方式,一是终端定时发送,一是手动操作终端发送,三是终端保持供电随时等待接收指令,四是终端定时开启等待接收指令。GSM 模块只需要在发送短信,和等待接收短信时供电,其他时间可以让模块处于关机或休眠模式。TC35i 可以用AT 指

21、令ATSMSO 实现关机模式,通过大于100ms 的/IGT 低电平信号从关机模式唤醒。经测试,当关机模式时,5V 电源的输出电流小于1mA 。4结语使用GSM 模块可以为很多通信应用提供经济、高效的解决方案。但GSM 模块瞬间电流较大,对电源的要求较高。本文对降压稳压器、电容选择、功耗等做了实际的分析比较,提出了一个高效率低压差低噪声的供电方案,该方案具有适应低电压小功率电源,抑制噪声能力强,负载瞬态响应好的优点,可以为GSM 模块在有限电源能力下的推广应用提供借鉴。本文的创新点:本文从具体的工程项目(铁路冷藏车厢温度远程监控系统出发,研究了GSM 模块在小功率电源状况下的供电方案,并从原理、数学计算、实际测试等方面做出了分析,给出了一个经过实际检验的可靠方案。参考文献:1T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论