EPA通信协议在μC/OS-II嵌入式系统中的设计与实现

发布者:玉树琼花最新更新时间:2013-11-30 来源: dzsc关键字:EPA通信协议  μCOS-II  嵌入式系统 手机看文章 扫描二维码
随时随地手机看文章
  1. 引言

  《用于工业测量与控制系统的EPA系统结构与通信规范》(以下简称EPA)是基于工业以太网的实时通信规范,它有效地解决了以太网通信的确定性通信问题,进而可以应用于多种工业领域,构成各种工业测量与控制系统。该规范将收录在制定中的实时以太网国际标准IEC61784-2中,成为我国首例具有自主知识产权的现场总线标准;开发和实现EPA通信协议是应用EPA系统的基础和前提。

  μC/OS-II是一种占先机制的实时多任务嵌入式操作系统,具有源码公开、可移植、可固化、可裁剪等特点,已经得到广泛的应用。相对于同为源码公开的μClinux,它具有内核小、实时性高等特点,更适合于控制应用。μC/OS-II作为EPA通信协议的实现平台,能够较大的提高系统资源利用率,利用优先级划分获得较好的实时响应性能,其任务间多种通信方法有助于实现各实体协议状态机。

  2. EPA通信协议与模型

  EPA系统采用ISO/OSI开放系统互连模型(ISO 7498)的第一、二、三、四和七层,并增加用户层。系统中除了采用普通以太网协议组件外,有些层增加了部分实体,以适应EPA通信的需求:

  增加的用户层包含EPA功能块应用进程与非实时应用进程。应用层增加了由EPA系统管理实体、EPA应用访问实体和EPA套接字映射实体组成的EPA协议,三个实体分别实现EPA设备管理、应用通信服务、应用层与UDP/IP软件实体之间的映射接口和报文优先发送管理、报文封装、响应信息返回、链路状况监视等功能。在MAC层和IP层之间增加EPA通信调度管理实体,对EPA设备向网络上发送的报文进行调度管理。调度策略采用分时发送机制,将报文分为周期报文和非周期报文,按预先组态的调度方案,在相应的时间段内发送,以避免碰撞。各设备网络时间由时间同步组件维护其一致性。EPA管理信息库为各层协议实体提供操作所需信息,包括设备描述对象,链接对象等。

  按照EPA通信协议,每个EPA设备由至少一个功能块实例、EPA应用访问实体、EPA系统管理实体、EPA套接字映射实体、EPA链接对象、通信调度管理实体以及UDP/IP协议等几个部分组成。各个实体和对象通过互相调用,协同完成设备间通信过程如图1示:


  3. 实现平台

  本文实现EPA通信协议的硬件结构如图2所示,通信卡CPU为RABBIT2000微处理器,它是Rabbit半导体公司所生产的8位微处理器,工作主频22.1MHZ,工作电压5V,具有40个通用I/O引脚。内建日历、时钟、看门狗、定时器、多级中断、双DMA通道,数据存储为128K静态存储器和 256K 动态存储器,可外扩4~8MB FLASH,对于通信协议栈和小型控制应用,其存储空间是足够的。


  由zworld公司提供的基于Dynamic C的软件开发平台集编程、编译、链接、调试、下载于一体,提供完善的TCP/IP协议栈,支持全功能RS232/485通信,配备了各种I/O驱动函数库;文件管理系统可在FLASH或SRAM上建立数据文件,便于存储系统或用户数据;开源的协议库不但缩短了软件开发周期,而且便于修改以更好的实现EPA通信协议。

  通信卡通过以太网模块接口与EPA网络相连,通过串口RS-232与电动执行器连接形成一个底层IO设备,挂接在EPA网络上进行测试。

  RABBIT2000支持协作式(使用costate)和占先式(移植μC/OS-II)多任务模式,选择占先式模式基于以下两点考虑:

  (1)对于EPA设备来说,系统实时性是一个很重要的指标,表现在经过组态后功能块模块的执行时间精度、通信调度发送周期性报文的时间精度,以及时钟同步的精度,而且这几个参数在很大程度上影响了网络带宽利用率。μC/OS-II具有任务执行时间的可确定性,可以很好的满足系统的实时性要求。

  (2)EPA设备可以直接在通信卡的接口上进一步开发实现,同时需要增加用户层任务进程,而RABBIT2000是8位微处理器,资源比较有限,因此基于任务可扩展性考虑,也应该采用占先式任务调度方式。[page]

  4. 软件设计与实现

  4.1 通信协议的模块化设计

  从数据处理角度上看,EPA设备通信是对控制过程所需要数据进行处理和通过EPA网络传输的过程,发送方从上到下各层依次对应用进程或者管理服务数据进行处理和封装,接收方则进行解包和处理,将服务数据交给应用进程。因此,协议软件设计主要是系统各模块对服务数据的处理程序的设计。EPA通信卡的功能主要包含系统管理、应用服务、时钟同步、实时调度等。需要编写的功能模块有EPA服务栈模块、套接字映射模块、时间同步模块、通信调度模块。

  (1)EPA服务栈模块:系统管理服务包括设备查询、设备声明等服务,应用访问服务包括域操作服务、事件操作服务、变量操作服务,各种服务对相应的服务报文进行处理。 以域下载服务为例说明服务栈的实现流程如图3示。


  (2)EPA套接字映射模块:对服务栈数据进行封装,并作为与UDP层之间的数据接口,其接口函数包括创建与关闭EPA套接字函数、发送应用服务报文与响应报文函数,发送系统管理报文与响应报文函数,从UDP层接收应用服务与系统管理报文函数等。EPA套接字开UDP套接字的实现语句如下:

  if(!udp_open(&gEPA_AP_Sock, EPA_AP_PORT, -1, EPA_AP_PORT, NULL))

  SockErr=1;

  else SockErr=0;

  (3)时钟同步服务的实现采用IEEE 1588精确时钟同步协议,该协议用于分布式系统中的设备通过以太网的亚微秒级时钟同步。设备与主时钟通过交换同步报文而实现同步,同步报文分为同步信息(Sync)、附加信息(Follow_Up)、延时请求(Delay_Req)、延时响应(Delay_Rsp)四种报文。同步过程分两个阶段,第一阶段通过Sync和Follow_Up报文测量时间偏差,第二个阶段通过Delay_Req和Delay_Rsp测量延迟(网络延迟和协议栈延迟),进一步校正偏差。为了进一步减少协议栈带来的延迟,可以让时间同步服务尽量接近物理层,这里通过修改TCP/IP库文件实现。

  (4)实时调度的实现,包括时间中断调度函数——判断是否到达本设备的周期报文发送时间或非周期报文发送开始时间,以及报文发送函数——实现对几个优先级的数据队列报文发送等。

  4.2 在μC/OS-II中的实现

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

  (1)设备管理任务:完成设备的上电与初始化组态,之后根据设备状态机,在设备为正常可操作状态下被挂起,直到设备状态被其他事件改变后由信号量激活。

  (2)周期性报文发送任务:由时间调度任务在宏周期内本设备周期性报文发送时间到达时产生中断激活而进入就绪状态,在中断退出后成为最高优先级任务被执行,立即发送周期性报文,发送完毕即挂起等待下一次激活。

  (3)非周期性报文发送任务:与任务(2)相似,在非周期报文发送时间到被激活,通过调度算法发送非周期性报文。以上两个任务由于不会在同一时间段执行,因此实际运行时的优先级是等同的。

  (4)功能块调度任务:在组态的功能块调度时间到达时被激活,或者在控制回路中上一个功能块执行之后被激活,立刻执行后挂起。由于首先要确保EPA网络通信的确定性,所以此任务的优先级低于前两个任务。

  (5)时间调度任务:通过对网络时间的判断,在到达以上三个任务的执行时间时进入时间中断函数,给相应的任务发送信号量,使任务进入就绪状态,中断退出即可以执行就绪的高优先级任务。根据时间精度的要求设置内核调用OSTimeTick的频率,可以通过#define OS_TICKS_PER_SEC 256,实现每秒256次的Tick频率。

  (6)普通报文接收任务:套接字映射实体侦听来自EPA网络的报文并根据需要调用相应的应用层服务处理报文,设为每100ms执行一次。

  (7)时钟同步任务:独立接收与发送时间同步报文,以确保设备时间与网络时间的同步。由于主时钟发送Sync报文周期为2秒一次,所以其优先级可以低于时间调度任务,设为每2秒执行一次。

  (8)串口通信任务:与电动执行器进行周期性的串口通信,根据电动执行器的物理特性,通信频率设为每秒2次,其通信方法在后文中介绍。

  各任务之间采用全局变量或者消息机制进行通信,以完成任务状态机的变化。任务堆栈则根据各任务的实际需要分配,这里不再详述。

  5. 测试

  为了测试通信协议的实现,使用通信卡的RS-232串口与某型电动执行器的异步串行通信接口相连,形成一个EPA现场设备。EPA通信卡接收来自EPA网络的阀位指令并通过串行口传送给电动执行器,电动执行器接到阀位指令后向网板发出应答帧,双方各自一收一发完成一个周期的通信。通信中网板是主节点,电动执行器为从节点,每周期通信均是由通信卡发起,电动执行器响应。

  通过EPA网桥将该设备加入EPA网络进行测试,经过专家组的验收,该实验系统成功通过了一致性测试、互可操作性测试等服务测试,时钟同步精度也达到了毫秒级,基本上实现了EPA通信卡的功能。

  6. 结束语

  系统实时性要求越高,对硬件的要求也越高,如果要求时钟同步精度和通信调度发送报文的时间精度达到实际应用的水平,并且进一步提高EPA设备通信的可靠性,则需要采用硬件实现的方法,即开发EPA专用通信芯片,在芯片级实现通信协议,预计EPA芯片很快会面世。相信在众多研究机构与厂商的共同努力下,EPA的推广应用将会取得丰硕的成果。

  本文作者创新点:针对EPA通信协议提出了一种新的实现方法,此方法基于μC/OS-II嵌入式操作系统,用多任务的方式实现了各个协议实体及其调度。

关键字:EPA通信协议  μCOS-II  嵌入式系统 引用地址:EPA通信协议在μC/OS-II嵌入式系统中的设计与实现

上一篇:嵌入式Linux字符设备驱动的设计与应用
下一篇:嵌入式Linux的GDB远程调试的实现

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

单片机在嵌入式系统应用中的抗干扰措施
  单片机在嵌入式系统应用中,抗干扰性能是系统可靠性的重要指标,抗干扰设计是单片机系统研制中不可忽视的一个重要内容。本文根据笔者在实际工作中的体会,就单片机在嵌入式系统应用中的抗干扰问题进行探讨,并给出了排错设计、容错设计的一些方法和措施。   随着科学技术的迅速发展,单片机在各个领域中的应用越来越广泛。在众多的应用系统中共同面临的一个问题,就是它在应用系统中的可靠性,这就要求我们在设计时应根据现场具体情况,在硬件设计、线路板设计、软件设计等方面来采取相应的抗干扰措施。    一、抗电源干扰的措施   大部分单片机嵌入式系统都采用市电电源供电,在应用系统中一个很重要的干扰就来自电源。市电的各种干扰,如雷电、大容量感性负载的起
[应用]
Linux 2.6 内核的嵌入式系统应用
随着多媒体技术与通讯技术相结合的信息技术的快速发展和互联网的广泛应用,PC 时代也过渡到了后PC时代。在数字信息技术和网络技术高速发展的后PC时代,嵌入式技术越来越与人们的生活紧密结合。 操作系统为用户使用计算机及其外部设备提供最基本的接口程序,管理计算机上的资源。随着应用领域的扩大,为了适应不同的应用场合,考虑到系统的灵活性、可伸缩性以及可裁剪性,一种以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统——嵌入式操作系统随之延生。 Linux 操作系统是一种性能优良、源码公开且被广泛应用的免费操作系统,由于其体积小、可裁减、运行速度高、良好的网络性能等优点,可以
[单片机]
在ARM11嵌入式系统下实时网络通信和LCD显示的实现
引言 ARM11主频为533 M Hz ,最高可达667 MHz,较ARM7主频提高了10倍,且拥有更丰富的片上资源,处理速度更快,功能更强。基于上述特点,ARM11可完全适应实时性较强的网络终端的设计。 在以ARM11为核心的网络终端设计中,需要LCD在终端实时显示网络通信的各项参数和设备工作状态,LCD的显示内容依靠网络传输数据中的指令来控制,而网络终端的操作数据也要通过网络传输到计算机,因此网络通信和LCD显示需要很强的实时性才能合理使用计算机和ARM11的资源,从而提高系统的运行效率。 该文以ARM11处理器S3C6410为平台,基于Linux操作系统设计了一种在ARM11内核直接控制LCD显示的方法,并采
[单片机]
在ARM11<font color='red'>嵌入式系统</font>下实时网络通信和LCD显示的实现
机器人技术和机器学习正成为嵌入式系统的下一大趋势
机器人技术和正成为嵌入式系统硬件和供应商的下一个重大事件。 嵌入式系统可以通过网络连接和()来传递信息、共享资源。无论是智能,低能耗,边缘设备,中间网关还是计算节点,都需要基于可靠性和安全性的多核片上系统(SoC)架构。 因此,嵌入式系统行业似乎将进入两个关键领域:智能和自治。 一些感兴趣的领域是机器学习和所谓的“物联网机器人”。在机器学习领域,一种称为神经形态处理器或脑启发计算的新型计算架构将成为主流。 目前基于冯·诺依曼的结构缺乏处理的功能和性能,但新的处理技术,如SNNaker和BrnScaleS,将模仿大脑的生物结构和行为,能够实时模拟10亿个神经元。 但是,有效开发将需要新的语言和编译器等嵌入式
[机器人]
一种改进型UML在嵌入式系统中的应用
    随着计算机技术、网络技术和通信技术的迅速发展,当前的信息社会已从当初传统的个人计算机时代进入了后PC时代;而后PC时代的主要特征就是以嵌入式系统的广泛应用与发展为标志的。     关于嵌入式系统的定义虽然有很多种,不过国内普遍认可的定义是: 以应用为中心,以计算机技术为基础,软硬件可裁剪,适合应用系统对功能、可靠性、成本、体积和功耗要求的专用计算机系统。       嵌入式系统主要是使用微型的芯片及其固化的软件,嵌入在其他系统中,以达到对其他系统进行智能化或信息化实时控制等目的。       当前,嵌入式系统已在工业控制、航空航天、国防以及信息家电等领域得到广泛的应用,并发挥了重要作用,而且越来越多的领域都迫切需要嵌入式
[嵌入式]
嵌入式系统联谊会嵌入式系统新技术论坛顺利召开
2010年7月28日下午,嵌入式系统联谊会在北京首享科技大厦举办了本年度的第2次活动——嵌入式系统新技术论坛。论坛邀请嵌入式领域的专家和学者三十多位,到场听众百余人,旨在探讨嵌入式技术对于创新型应用的帮助,进一步学习和了解嵌入式新技术。 联谊会发起人何立民教授为新技术论坛致辞,接下来7位演讲人作了精彩的主题报告,并与现场来宾进行问答互动。 Intel中国研究院刘东博士介绍了基于FPGA的光互联系统仿真平台,指出平衡、高效的系统是设计面临的挑战,I/O是光互联技术的下个重点,采用FPGA仿真并在其上实现核和I/O控制器。Xilinx公司谢凯年博士探讨了嵌入式系统软硬件协同设计面临的机遇与挑战,提出嵌入
[嵌入式]
<font color='red'>嵌入式系统</font>联谊会<font color='red'>嵌入式系统</font>新技术论坛顺利召开
嵌入式系统应对安全级别的设计
  新闻总是乐于报道安全系统遭到攻击的事件:操作系统漏洞、非法入侵政府网络、笔记本电脑的信用卡帐户信息被窃等等。安全性不仅仅涉及到笔记本电脑和服务器,嵌入式领域也越来越关注安全性问题,例如交通灯、家庭安全系统、烟雾探测器、ATM、收银机等,由此看来,风险无处不在。   嵌入式系统需要安全保护的原因有多种,某些应用中,政府部门需要对敏感数据进行保护,例如:病历、信用卡信息等。有时还会对销售流程进行安全保护,例如,公司可能以低于成本价出售打印机,通过打印机耗材的高利润进行补偿。利用安全技术可以鉴别耗材的真伪,避免使用第三方的假冒产品。某些情况下,安全技术被用来保护知识产权,嵌入式设备中可能包含极具创新的算法,制成成品后,为了保护来
[嵌入式]
威盛推出Starter开发工具,扩张嵌入式势力范围
威盛(VIA)公司日前正大力推广面向汽车、工控、网络、医疗、消费、军事、人工智能、游戏机等领域的嵌入式系统应用。威盛制定了Mini-ITX,Nano-ITX等标准,在CPU的研发方向上以高效、省电、安静为重点,提出“无风扇工作”的概念。目前,公司提出了嵌入式平台市场战略规划,将加强车载PC、POS、IP-STB/广告机、瘦客户机等专有产品平台,利用紧凑的主板、省电的系统、无风扇的设计、可灵活变通的软件服务等优势开拓嵌入式领域。 公司的产品既包括嵌入式主板,又包括元器件产品系列。主板以通用型EPIA为主,包括Mini-ITX,Nano-ITX以及各种附件,还包括用户定制主板以及特殊宽温应用主板,据介绍,公司大约20%的销售额来自主
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

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