




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
分类号t p 3 9 3 0 4密级公开 重庆邮电大学硕士学位论文 论文题目基于a r m 的e p a 通信协议栈优化技术 的研究与实现 英文题目r e s e a r c ha n di m p l e m e n to fe p ap r o t o c o ls t a c k o p t i m i z a t i o nt e c h n o l o g yb a s e d o na r m 指导教师d i k a i l 教授 至塾蕉谴昱 学科专业盐箕扭应用技本 论文提交日期2 q q z 生且论文答辩日期2 q q z 生目2 目 论文评阅人坦血绛丞益幽丝螫 途坠么塑丝匿麴酉缣、 答辩委员会主席涂亚庆 年月日 重庆邮电大学硕士论文摘要 摘要 作为我国工业自动化领域第一个拥有自主知识产权并被国际电工委员会( i e c ) 认可的国际标准,e p a ( e t h c r n e tf o r p l a n t a u t o m a t i o n ) 已经作为第十四类型被列 入现场总线国际标准i e c6 1 1 5 8 ,这极大地促进了基于e p a 的各种变送器、执行 机构、信号采集模块等工业现场设备的开发。开发出高效、稳定和高可移植性的 协议软件已成为促进该标准产业化进程的关键问题之一。本文从系统软件设计的 角度出发,根据嵌入式软件的特性,重点研究了e p a 通信协议栈在嵌入式实时系 统中优化设计的关键技术。、 在概要介绍e p a 协议重要模型和嵌入式网络软件开发要素之后,针对工业现 场嵌入式网络设备中的资源受限特点,对e p a 通信协议栈在嵌入式实时系统的优 化要点进行了深入研究,提出了跨层的协议栈框架设计方法;在缓冲区管理方面 提出了分类缓冲区管理机制;并提出了相对时长队列的定时器管理方案。接着对 协议栈的可移植性和可裁减性分别进行了设计。随后给出了作者参与的e p a d i d o 设备开发过程。作者负责的软件方面工作包括a t 9 1 r m 9 2 0 0 的b o o t l o a d e r 以及相关驱动开发、u c o s i i 在其上的移植和e p a d i d o 应用程序的软件设计等 内容。 经作者优化后的协议栈通过了e p a 协议一致性测试平台的服务测试,并通过 性能测试验证了协议栈的优化效果。最后对比了协议栈优化前后在r o m 空间上 的开销。 关键词:e p a 通信协议栈,优化,a r m ,u c o s i i 重庆邮电大学硕士论文 a b s t r a c t a b s t r a c t a st h ef i r s ti n d u s t r ye t h e m e ts t a n d a r do fc h i n aw i t hi n d e p e n d e n ti n t e l l e c t u a l p r o p e r t yr i g h t sa c c e p t e db yi e c ,e p a ( e t h e r n e tf o rp l a n ta u t o m a t i o n ) s t a n d a r d sh a v e b e e nl i s t e da st h e 1 4 t ht y p eo fi n t e r n a t i o n a lf i e l db u si ni e c6 1 1 5 8 ,t h e r e f o r e ,t h e r e s e a r c h e so nv a r i o u sa c t u a t o r , s i g n a la c q u i r em o d u l e sb a s e do ne p aa r eg r e a t l y b o o s t e d t h ed e v e l o p m e n to fp r o t o c o ls o f t w a r ew i t hh i g he f f i c i e n c y , r e l i a b i l i t ya n d p o r t a b i l i t yb e c o m e sak e yp r o b l e m h at h i st h e s i s ,t h ed e s i g na n di m p l e m e n t a t i o no f e p ap r o t o c o lb a s e do ne m b e d d e ds y s t e ma r ea n a l y z e d ,a n dt h ek e yo p t i m i z a t i o n t e c h n o l o g i e s o fe p ap r o t o c o ls t a c kb a s e do ne m b e d d e dr e a l t i m e s y s t e m a r e r e s e a r c h e df r o mt h ep o i n to f v i e wo f s y s t e ms o f t w a r ed e s i g n a f t e ri n t r o d u c i n gt h ei m p o r t a n tm o d u l e so fe p ap r o t o c o la n dt h es p e c i f i c so f e m b e d d e dn e t w o r k ss o f t w a r e ,i nt h ev i e wo f r e s o u r c e - l i m i t e do f e m b e d d e ds y s t e m ,t h i s p a p e rd e e p l yr e s e a r c h e si n t ot h es o f t w a r eo p t i m i z a t i o nt e c h n o l o g i e so f e p ap r o t o c o li n t h ee m b e d d e dr e a l t i m es y s t e m f i r s t l yt h eo p t i m i z e ds c h e m e sc o n c e m i n gc r o s s l a y e r a r c h i t e c t u r e ,c l a s s i f i e dm e m o r ym a n a g e m e n ta n dc o m p a r a t i v es t e pt i m e rq u e u e m a n a g e m e n to fe p ac o m m u n i c a t i o np r o t o c o la r ei s s u e d t h e nt h eo p t i m i z e dd e s i g n a b o u tt r a n s p l a n ta n ds e a l a b i l i t yi si n t r o d u c e d a tl a s t ,t h i st h e s i sg i v e sab r i e fa c c o u n t o ft h ed e v e l o p m e n tp r o c e s so fb o o t l o a d e ro na r 9 1 r m 9 2 0 0p l a t f o r ma n dh o wt o t r a n s p l a n ti c o s - i io n t oa t 9 1 a r m 9 2 0 0 t h es o f t w a r ed e v e l o p m e n tp r o c e s so fe p a d i d od e v i c e si sa l s oi n t r o d u t e d t h eo p t i m i z e de p ap r o t o c o ld e s i g n e db ya u t h o rh a sp a s s e dt h ee p ap r o t o c o l s c o n s i s t e n c yt e s ta n dt h ep e r f o r m a n c et e s tr e s u l tp r o v e st h ev a l i d i t yo fo p t i m i z e de p a p r o t o c 0 1 k e yw o r d s :e p ac o m m u n i c a t i o n sp r o t o c o l ,o p t i m i z a t i o n ,a r m ,u c o s i i 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含为获得重废邮鱼太堂或其他教 育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名哜互釉签字日期一7 年多月丁日 学位论文版权使用授权书 本学位论文作者完全了解重迭邮虫太堂有关保留、使用学位论文的规 定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查 阅和借阅。本人授权重废邮电盔堂可以将学位论文的全部或部分内容编入 有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论 文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名 尔互r 乳 导师签名: 签字日期:7 册7 年名月,日 签字日期: 乒 呻占月n 重庆邮电大学硕士论文 第一章绪论 1 1 引言 第一章绪论 现场总线【l j 是综合运用微处理器技术、网络技术、通信技术和自动控制技术 的产物。现场总线技术把微处理器置入现场设备中,将现场设备( 如数字传感器、 变送器、仪表与执行机构等) 与工业控制单元、现场操作站等进行互连形成计算 机网络,是工业控制网络向现场级发展的产物。因其能降低系统的投资成本、节 省维护开销、提高系统的准确性与可靠性以及增大用户系统集成的自主性等,已 经得到广泛的研究和应用。然而,现场总线属于低速网络,其中的现场仪表及设 备的计算能力和信息处理能力较低。出现的p r o f i b u s 、f f 、l o n w o r k s 和c a n 等 多种现场总线没有一个统一的标准,各现场总线产品之间很难实现互操作。 以太网1 2 j 是在2 0 世纪7 0 年代研制开发的一种局域网技术,具有应用广泛、 价格低廉、通信速率高、软硬件产品丰富、应用支持技术成熟等优点。目前它已 经在工业企业综合自动化系统中的资源管理层、执行制造层得到了广泛应用,并 呈现向下延伸直接应用于工业控制现场的趋势。随着高速以太网和交换式以太网 技术的发展,以太网作为工业控制网络在实时性方面的问题正逐渐得以解决。基 于以太网的工业控制网络将成为下一代工业控制网络的重要选择,并将带来工业 控制网络新的变革。 在这种背景下,由国家8 6 3 项目支持起草了用于工业测量与控制系统的e p a 系统结构和通信标准,即e p a 3 1 标准。e p a 是基于以太网工厂自动化,应用于工 业现场级设备之间的一种通信标准,针对工业测量与控制系统网络通信特点,以 工业控制工程师站为应用对象,规定了以太网( 和无线技术) 、t c p i p 之上的应 用层、用户层以及认证、测试与应用行规,以以太网和无线技术统一管理层、监 控层和现场设备层等工业企业综合自动化系统的所有网络层次,实现各网络层次 上信息的无缝集成,为用户应用程序提供服务接口以及相关管理方面的规范。 e p a 标准已于2 0 0 5 年1 2 月被列入现场总线国际标准i e c 6 1 1 5 8 ( 第四版) 中 的第十四类型,并被列为与i e c6 1 1 5 8 相配套的实时以太网应用行规国际标准i e c 6 1 7 8 4 2 中的第十四应用行规簇( c o m m o np r o f i l ef a m i l y1 4 ,c p f l 4 ) ,成为我国 工业控制领域内第一个被国际权威标准组织所采纳的工业现场总线标准,改变了 我国现场总线技术和产品开发一直所处的跟踪研究现状,实现了我国在自动控制 领域国际标准零的突破,标志着我国在工业以太网、现场总线领域的技术水平己 重庆邮电大学硕士论文第一章绪论 经达到了一个新的高度。 1 2 嵌入式网络 1 2 1 嵌入式网络发展 早期的嵌入式网络主要应用在环境比较恶劣的通信和军事等特殊领域,要求 网络传输快速而稳定,具有较强的实时性。在工业控制颁域,分布式工控产品从 采用简单的r s 2 3 2 通信线路,到当今的现场总线,经过不断更新换代,可靠性和 实时性得到了极大的提高。目前比较流行的工业现场总线系统有f f ( 基金会总线1 、 p r o f i b u s 以及由重庆邮电大学参与提出的e p a 标准等。 随着嵌入式软件的发展和i n t e m e t 的高速膨胀,嵌入式产品在网络中的应用 也越来越普及,这类消费电子产品具有网络功能,能够与其他设备互连,甚至直 接连到i n t e r n e t 上,但是对网络的实时性要求较低。在工业控制领域,为适应嵌 入式分布处理结构和应用上的网络互连需求,嵌入式网络系统要求配备标准的一 种或多种网络通信接口,同时也需要提供相应的通信组网协议软件和物理层驱动 软件。例如,e p a 网络就提供了三种接入方式【4 l :蓝牙无线接入、无线局域网接 入和以太网接入方式。t c p 口协议是以太网的基础和核心,因此大部分的嵌入式 网络产品都需要有t c p i p 协议簇的支持,e p a 协议就是在t c p i p 协议簇的应用 层加上了自己的协议处理和在数据链路层添加了确定性调度规则组成的。 1 2 2 嵌入式网络协议栈特征 将嵌入式系统与i n t e r n e t 结合起来的想法很早就被提出,但是一直没有得到 实现,其主要的困难在于,i n t e r n e t 上面的各种通信协议对于计算机在存储能力 和运算速度等方面的要求比较高。而在嵌入式系统中除少部分3 2 位处理器以外, 大量存在的是8 位和1 6 位m c u ,支持占用大量资源的t c p i p 等i n t e r n e t 协议将 十分困难。但是近年来随着市场对超微型嵌入式应用技术的需求不断增长,以及 半导体技术和系统设计方法的进步,在一个硅片上实现一个完整系统的时代已经 来临,并深刻地影响着传统的集成电路产业 5 1 。不断发展的具有高速处理能力的 智能化嵌入式芯片,使嵌入式系统中支持t c p i p 协议成为可能,从而推动了嵌入 式t c p i p 的发展。目前嵌入式t c p i p 已经广泛应用于工业控制、信息家电等领 域。 2 重庆邮电大学硕士论文第一章绪论 由嵌入式系统和嵌入式网络的应用环境决定了嵌入式t c p i p 通常只能应用 于特殊或专用的领域,而不能像标准的t c p i p 一样提供完整的协议体系,往往是 根据不同的应用需求提供不同的协议模块,因此,嵌入式t c p i p 协议栈区别于标 准的t c p i p 协议栈的最突出的特征就是: 1 良好的可裁减性。由于嵌入式应用的要求千差万别,各种嵌入式应用对系 统的要求也不尽相同,并且在嵌入式应用中对产品的成本、价格比较敏感,且存 储器容量往往非常有限,因此必须根据嵌入式网络产品的功能,对完整的t c p i p 协议簇功能进行裁减,特别是所用协议栈要提供灵活的可裁减性,以满足实际应 用的需要。 2 较强的可移植性。嵌入式应用的多样性决定了嵌入式应用平台也是变化多 端的,针对每一个应用平台都开发一套网络协议是不现实的。因此,在开发网络 协议软件的过程中,提供软件的可移植功能是非常重要的。这样,就可以在对嵌 入式产品进行软、硬件升级的过程中仅仅对与硬件直接相关的部分代码进行重新 编码以外,而不必再对上层协议代码进行大的修改。 3 精简的代码。嵌入式t c p i p 是标准t c p i p 协议簇的子集旧,只需要实现 基本的、必要的功能,应使其生成的二进制代码尽量精简,这对于嵌入式网络产 品中有限r o m 和r a m 存储资源有着重要的意义。 1 3e p a 协议栈优化要点 由于e p a 协议栈的开发受到系统响应时间、大小、性能、开销等因素【1 的制 约。因此,在满足这些系统要求的条件下进行协议软件的设计和优化成为一项比 较困难的任务。一般来讲,在e p a 协议栈设计设计中需要注意以下几个方面的问 题: 1 系统可靠性 在e p a 网络系统开发中,除提高硬件的可靠性之外,软件方面的设计也很重 要。首先,内存空间能否安全的申请和释放,从而避免内存不足或是内存泄漏的 现象产生,将对系统的稳定性有很大的影响。尤其对于运行于工业现场环境下的 设备来说,如果发生内存管理失效,那将可能会带来非常严重的后果。其次,对 各个不同任务的优先级分配、任务的功能设置、任务堆栈大小的分配以及任务之 间的通信也都会对系统的稳定性产生影响。 2 时间限制 一般的r t o s ( r e a l t i m eo p e r m i n gs y s t e m ) 是专门为多任务同时运行的应 用需求而设计的,例如有一些程序必须严格地每隔一段固定时间执行,而其他一 重庆邮电大学硕十论文 第一章绪论 些程序则不要求严格的时间安排。e p a 系统编程者的一个重要任务是给那些需执 行的每一个事件加以标记。这样它就知道了如何给那些时间安排优先级和资源, 从而能够满足整个系统的性能目标。同时,为了达到这个目标,e p a 嵌入式系统 常常需要中断事件的执行以及有下列的任务运行: 1 ) 时间紧急任务程序是那些每隔一段固定时间就要发生,允许带有最小时延 的服务程序。 2 ) 时间敏感任务程序是不同于时间紧急任务程序,因为它在被接受中断之前 允许大的时延。像时间紧急任务一样,它们可能发生在固定时间或可能在 任意时问内被初始化,但是保证一定被执行。 3 ) 闲置任务程序是很重要的背景操作,系统常常频繁在随机时间间隔内执行 它们。 3 中断服务程序p 1 在网卡驱动以及定时器驱动程序开发中,使用中断服务程序通常要比使用软 件循环不断地查询外围设备要合理得多。为了提高系统对外设中断请求的响应能 力,使中断服务程序尽可能短一些是开发人员普遍认可的做法。 4 最优化性能 在一个e p a 网络软件系统中,经常包含一些决定整个系统性能的关键程序, 通过优化这些程序,可以降低系统的功耗和实时操作所需的时钟频率。优化可以 把一个不可行的系统变成可行,也可以把一个毫无竞争力的系统变的富有竞争力。 编写运行有效的协议代码需注意的规则,就是不要为了优化速度和大小而违背了 设计目标。 1 4 本课题的研究内容 在工业控制领域,越来越多的设备需要接入网络,接入的方式有很多,比如, e p a 网络中有以太网、蓝牙、8 0 2 1 1 b 等接入方式。这些接入方式结合e p a 协议 栈运行在设备上,从而构成e p a 网络。本文从嵌入式系统软件设计的角度,针对 e p a 工业控制现场设备需求,结合嵌入式实时操作系统u c 0 s i i t 9 1 的任务分配的 特点,编写代码运行高效、系统资源消耗低的e p a 通信协议栈软件。在e p a 通 信协议栈优化过程中,将对协议栈框架设计、内存缓冲区管理、定时器队列管理 以及协议栈的可移植性、可裁减性等多方面进行相应的优化设计与实现。 4 重庆邮电大学硕士论文第一章绪论 1 5 论文结构 本文共分六章,各章的内容安排如下: 第一章介绍了e p a 标准的诞生背景和发展进程,分析了嵌入式网络协议栈的 功能和特点,提出了进行e p a 通信协议栈优化的思路。 第二章介绍了e p a 标准的各个组成部分,首先概要介绍了e p a 工业以太网 的系统结构,然后对e p a 设备间通信模型和e p a 测控系统模型以及服务原语进 行了介绍。 第三章从协议总体框架设计,内存管理、定时器队列管理以及协议栈的可移 植性等多个方面对e p a 协议栈的优化方法进行了研究并提出了相应的实现方案。 第四章首先介绍了a r m 体系结构的特点,然后给出了a t 9 1 r m 9 2 0 0 的 b o o t l o a d e r 以及相关驱动、u c o s i i 在其上的移植和e p ad i d 0 应用程序的开发 过程。 第五章介绍了优化后的协议栈通过e p a 协议一致性测试平台的服务测试,并 通过性能测试验证了协议栈的优化效果。最后给出了优化前后的协议栈在r o m 空间开销方面的对比情况。 第六章总结了作者所做工作,并探讨了下一步的工作内容。 1 6 本章小结 本章首先介绍了以太网在工业领域的应用前景以及e p a 标准的产生背景,然 后阐述了嵌入式网络的现状和协议栈的开发特征,分析了e p a 的协议栈优化要 点,提出了进行e p a 协议栈优化的思路。本章最后归纳了本文各章所研究的内容。 重庆邮电人学硕士论文 第二章e p a 标准简介 2 1 e p a 系统结构 第二章e p a 标准简介 用于工业测量与控制系统的e p a 系统结构与通信规范针对工业测量与控 制系统网络通信特点,以工业控制为应用对象,以以太两( 和无线通信技术) 、 t c p i p 为基础,在m a c 层与网络层之间定义了e p a 通信调度管理实体,定义了 应用层服务与协议规范,实现了各网络层次上的信息集成。即通过在 e t h e n l e t + t c p 口协议之上,建立完整的、有效的通信服务模型,制定有效的实时 通信服务机制,协调工业现场控制系统中实时和非实时信息的传输服务,形成为 广大工控生产厂商和用户所接受的应用层、用户层协议,进而形成开放的标准。 e p a 系统结构的主要组成如图2 1 所示,除了i s o i e c8 8 0 2 3 i e e e8 0 2 1 1 i e e e 8 0 2 1 5 、t c p ( u d p ) i p 、s n m p 、s n t p 、d h c p 、h t t p 和f t p 等协议组件外, 它还包括以下几个部分。 e p a 管理 信息 库 1 自i 时应用i ! i ;吾j用户层 同罔网 e p a 通信调度实体 i s o f l e c8 8 0 2 3 i e e e 8 0 2 1 l i e e e 8 0 2 1 5m a c 图2 1 e p a 系统结构图 应用层 网络层 ,传输层 数据链路层,物 理层 e p a 应用层包括的特色模块是e p a 应用访问实体、e p a 系统管理实体、e p a 套接字映射实体。这三部分构成了e p a 通信协议栈应用层的主体,是e p a 通信 协议栈开发的重点,也是作者进行协议栈优化工作的主要内容。 e p a 管理信息库存放了对系统管理实体、e p a 通信调度管理实体和e p a 应用 访问实体操作所需的信息。 6 重庆邮电大学硕士论文第二章e p a 标准简介 e p a 设备之间的时间同步可采用r f c 2 0 3 0 简单网络时问协议( s n t p ) 或 i e e e l 5 8 8 。本地设备每隔一定周期向系统时间服务器发送时间同步请求,通过时 间服务器的响应来保持本地时间和系统时间的同步。 e p a 通信调度管理实体是提高通信实时性的一种手段,是在数据链路层与网 络层之间设计的个处理模块。通过分时发送机制,按预先组态的调度方案,该 实体对e p a 设备向网络上发送的周期报文与非周期报文发送时间进行控制,以避 免碰撞。e p a 周期报文按预先组态的时刻发送;e p a 非周期报文按时间有效以及 报文优先级和e p a 设备的地址大小顺序发送( 所谓时间有效,是指在一个通 信宏周期的剩余时间内足以将该非周期报文完整发送出去) 。 2 2e p a 设备间通信 图2 2 表明了两个e p a 设备之间的通信过程。 图2 2e p a 设备间通信过程 每个e p a 设备由e p a 应用层实体( 包括e p a 应用访问实体、e p a 系统管理 实体和e p a 套接字映射实体) 、e p a 链接对象、通信调度管理实体、u d p i p 协议 以及至少一个功能块实例等几个部分组成。一个或几个e p a 设备以功能实例为接 口,接受上位机组态软件【l o l 的链路配置,组成一个分布的功能块应用进程,其中 链路组态的信息就存放在e p a 链接对象中。 在组态完成后,相应的测量控制应用进程开始运行。首先,应用进程通过查 询e p a 链接对象,获得测控信息欲发往的目的地址。然后,测控信息作为输入被 7 重庆邮电人学硕士论文第二章e p a 标准简介 送到功能块中。最后,功能块中输出结果在e p a 应用层中被封装成某种e p a 应 用访问服务的报文,并通过e p a 套接字映射接口发送报文到目的设备,此报文在 传输层采用u d p 服务。e p a 系统管理实体用于管理e p a 设备的通信活动,其定 义的服务协助将e p a 网络上的多个设备集成为一个协同工作的通信系统。在应用 进程开始工作以后,功能块应用进程通过调用e p a 应用访问实体定义的服务实现 测控信息发布、下载上载程序、发出事件通知和处理事件等功能。 2 3e p a 控制系统模型 e p a 通信标准是建立在i e c 6 1 4 9 9 】【1 2 j 、i e c 6 1 8 0 4 1 3 l 之上的,这两个标准规 定了工业测量和控制系统分布式应用的结构模型和原子级的功能模块,功能模块 通过分布式网络进行组合并相互之间协调工作,共同完成控制任务。e p a 通信标 准提供了基于控制系统功能、在不同工程项目中可随意重复使用的模块化结构, 并通过工程设计模型和运行期模块两个层次,组成完整的e p a 网络化控制系统。 e p a 控制系统模型提供了一个系统框架,用于描述若干个设备如何连接起来, 它们之间如何进行通信、如何交换数据和如何组态。如图2 3 所示,e p a 控制系 统是一种分布式控制系统。该系统抛弃了集散控制的控制思想,系统中每一个设 备都是平等的,不存在控制器和现场设备之分,也就是由集散控制的三层控制模 式,变成了现在的两层控制模式。e p a 控制系统的所有功能都下放到了现场设备, 每一个设备都是个集成了e p a 管理内核的智能现场设备。这些现场设备在组态 后,相互之间的控制就已经形成。运行期间它们通过相互之间的控制来完成整个 控制过程。是否将组成一个功能块应用进程的功能块载入到一个或多个设备里, 取决于一个物理设备的能力,以及应用进程如何被实现。图2 1 3 中应用进程2 是 将组成一个功能块应用进程的功能块全部驻留在一个设备里,应用进程1 和应用 进程3 是将组成一个功能块应用进程的功能块分布在几个设备里。 图2 3e p a 测量控制系统模型 s 重庆邮电大学硕士论文第二章e p a 标准简介 2 4e p a 服务原语 e p a 通信协议中采用u d p 服务来发送e p a 报文,应用进程之间通过e p a 服 务实现信息交换。有些e p a 服务在执行之后必须由接收方应用进程明确地确认, 这种服务称之为证实服务;而对另一些服务,接收方应用进程不对服务的执行予 以确认,这种服务称之为无证实服务。 证实服务用来定义在功能块实例之间交换的请求和响应,采用单播方式传输 数据。证实服务要求向发出e p a 通信服务请求的功能块应用进程做出应答,以确 认其发出的请求有否被正确响应,应答分正响应和负响应。如果未能在规定时间 内收到应答消息,则可由用户应用程序决定是否重发,以及重发计数。证实服务 主要用于可靠通信服务( 如变量读、写服务) 数据传输。证实服务包括四个原语 动作:r e q u e s t 、i n d i c a t i o n 、r e s p o n s e 和c o n f i r m 。 无证实服务用来定义从功能块实例向一个或更多的远程功能块实例单向发送 报文。数据发布方采用组播或广播方式向e p a 网络发送数据,而无需接收方做出 是否j 下确接收到的应答。无证实服务主要用于发布数据和分发事件通知,而无需 了解数据是否正确到达目的e p a 站点。无证实服务包括两种原语动作:r e q u e s t 和i n d i c a t i o n 。服务原语转换如图2 4 所示。 2 。5 本章小结 e p a 图2 4e p a 服务原语转换图 本章主要介绍了e p a 标准的各个组成部分,首先概要介绍e p a 工业以太网 的系统结构,然后对e p a 设备问通信模型和e p a 测控系统模型以及服务原语进 行了介绍。 9 重庆邮电大学硕士论文 第三章e p a 通信协议栈的优化 第三章e p a 通信协议栈的优化 当前,在工业控制领域,越来越多的设备需要接入网络,接入的方式有很多, 比如,e p a 网络有以太网、蓝牙、8 0 2 1 i b 等接入方式。这些接入方式结合e p a 协议栈运行在设备上构成e p a 网络。因此一个健壮的e p a 通信协议栈在e p a 嵌 入式网络中占有很重要的地位。实时操作系统上的协议实现不同于非实时操作系 统以及没有操作系统的环境,因为实时系统拥有实时任务,实时任务可能会打断 协议栈的运行,因此如何结合嵌入式实时操作系统的特点来对e p a 通信协议栈进 行优化就是本文所要研究的内容。 3 1 e p a 协议栈框架优化设计 3 1 1 总体架构设计 在总体架构设计方面,通常t c p i p 协议栈被设计为分层结构,各协议层分别 解决通信问题的一部分。这一分层结构对于协议的设计、实现可起一个指导作用, 即各个协议可分开实现。然而协议严格的按分层结构来实现,各层之间的通信对 于系统资源的消耗可能会导致系统总体性能的降低。为克服这些问题,协议的某 些内部方面可传达给其他协议共享。但必须保证只有那些重要信息才在各层共享。 尽管底层协议或多或少可以进行交叉存取,但大部分的t c p i p 协议栈,还是 在应用层协议与底层协议之间进行严格的区分。在大部分操作系统中,如l i n u x 下t c p i p 协议栈设计的一样,底层协议被作为与应用层程序具有通信接口的操作 系统内核的一部分。应用程序被看作是t c p i p 协议的抽象,网络通信与进程间通 信或者文件i o 只有很小的差别。这可能会导致由于应用程序不知道被底层协议 所使用的缓冲机制,所以它不能利用缓冲机制对经常使用的数据进行缓冲。同样, 当应用程序发送数据时,在数据被网络代码处理前,必须把这些数据从应用程序 存储区拷到内部缓冲区。 协议实现的过程模型是通过把系统划分成不同过程的方法来进行描述。用于 实现通信协议的过程模型使每层协议作为孤立的任务运行。这种模型使用严格的 协议分层,协议之间的通信接口必须被严格定义。虽然这种方法有其诸多优势如 协议能在运行时被增加,代码一般容易理解和调试,但也有不利因素。严格的分 层,正如先前所述,并不总是实现协议的最好办法。同时,更重要的是数据每跨 1 0 重庆邮电人学硕士论文第二章e p a 通信协议栈的优化 越一层,必须做一次上下文切换。这将意味着接收一个e p a 报文就要进行四次上 下文切换:从网络接口的驱动,到i p 处理,再到u d p 处理,再到e p a 处理,最 终到应用程序处理。在大多数操作系统中,一个上下文切换所花的代价都是相当 昂贵的。另一个比较普遍的方法是把通信协议封装在操作系统的内核。在这种内 核实现通信协议的情况下,应用程序通过系统调用完成通信。通信协议之间不严 格区分,但可以使用交叉协议分层技术。 在本文优化后的e p a 协议栈中,将采用跨层的框架设计,报文数据处理在目 标系统的内核和应用进程之间不存在严格的保护屏障。这就允许应用程序和底层 协议之间使用内存共享这种宽松的做法。特别的是应用层可以意识到底层协议所 使用的缓存处理机制。因此,应用可以更有效的重用缓冲区。而且应用进程和网 络处理部分可以使用相同的内存,应用可以直接读写内部缓冲,因此也就节省了 执行数据拷贝的处理器开销,真正实现了协议内部处理的“零拷贝”,从而提高了 协议处理的速度。 本文设计的协议栈结构如图3 1 所示,协议栈采用跨层设计:把e p a 协议处 理和u d p i p 发送作为一个任务,u d p i p 接收作为一个任务。应用程序可能也驻 留在e p a 协议处理过程中,或者在一个单独的过程中。e p a 协议栈和上层任务之 间的通信可以通过函数调用实现,也可以通过共享内存,例如是邮箱或是消息队 列等方式。 上层任务 e p a 协议栈数据处理任务k = 了定时器任务 u d p i p 协议接收数据处理 任务 接收到数据( 中断) l 发送数据接口 以太网络驱动程序定时嚣驱动 图3 1e p a 协议栈总体架构 当然,上面所述的e p a 协议栈跨层设计也有其优缺点。把整个e p a 协议处 理分为两个任务的主要优点是便于在不同的操作系统上移植和减少任务切换次 数。由于本协议栈的设计是面向e p a 工业现场设备的嵌入式实时操作系统,而这 重庆邮电大学硕士论文 第三章e p a 通信协议栈的优化 些操作系统一般不支持进程外交换到磁盘而引起的s o p ( s w a p p i n go u tp r o c e s s e s ) 或者虚拟存储,这样由于e p a 处理过程交换或者翻页不得不等待磁盘响应造成的 延迟将不再是一个问题。尽管在获得服务响应前必须等待调度仍然是一个问题, 但是在e p a 协议栈设计时,通过为协议处理任务分配不同的优先级就可以有效的 绕过这个问题,从而提高了系统运行的可预见性能。 3 1 2 数据处理流程图 本文所设计的e p a 协议栈的数据内部处理流程如图3 2 所示。 3 1 ,3 网络接口设计 图3 ,2 数据处理流程图 在e p a 协议栈网络设备驱动程序的管理优化方面,采用一个类似于b s d 的网络 接口结构来描述物理硬件。网络接口结构体如下面结构体所示,通过n e x t 指针,网 络接口被连成一个全局链表。 每个网络接口都有一个名字,存储在结构体中的n a m e 字段。这个两个字符的 名字用于识别网络接口中的设备驱动类型,而且是在网络接口初始化时设置。 1 2 重庆邮电大学硕士论文 第三章e p a 通信协议栈的优化 t y p e d e f u 8 一t ( 4 p i n p u t _ f u n _ t ) ( e p ab u r _ t ) ; t y p e d e f u 8 一t ( + p o u t p u t _ f i m _ t ) ( e p ab u f _ t ) ; s t r u c tn e t i f s l r u c t n e t i f * n e x t ; c h a r n a n 蚪2 】; s l r u c ti pa d d r _ t i p ; s t r u c ti pa d d rt m a s k ; s t r u c ti pa d d r _ t g a t e ; u 8 jm a c 6 ; u 8 j a r p i d x ; p i n p u t _ f u nti n p u t ; p o u t p u t _ f u n _ to u t p u t ; a t p e n t r y _ _ ta t p t b l a r pe n t r ya m o u n t ; v o i d s t a t e ; ) 当发送和接收包时,三个坤地址i p ,m a s k 和g a t e h i p 层使用。给网络接口配置 多于一个口地址是不允许的,一个网络接口应当为每一个口地址创建。 当包接收到时,设备驱动应当调用i n p u t 指针指向的函数。 网络接口通过o u t p u t 指针连接到设备驱动。这个指针指向设备驱动中的一个函 数,它在物理网络上传送一个包,当一个包被发送时它由口层调用。这个字段由设 备驱动初始化函数填充。o u t p u t i 函数的第三个参数i p 是主机的口地址,它可以接收 实际链路层的帧。它不应和p 包的目的地址相同。特别是当发送一个坤包到不在本 地网络的主机时,链路层帧被发送到网上一个路由。这种情况,给o u 鲫l t 函数的p 地址将是路由的m 地址。a r p t b l 数组存放的是该网卡当前保存的a r g i 也址。 最后,s t a t e 指针指向设备驱动中网络接口的特定状态,由设备驱动设置。 3 1 4 网络控制芯片驱动设计 由于嵌入式系统的硬件千差万别,往往需要开发人员自己编写或修改驱动程 序,比如在嵌入式网络系统设计中会使用各种各样的网络控制芯片,相应的驱动 程序通过c p u 的总线接口操作芯片、初始化芯片的寄存器、设置工作模式和注册 中断程序等实现也会有很大差别。嵌入式系统的硬件是根据应用定制的,即使相 同的c p u 和相同的网络控制器,由于具体电路的接口不同,驱动程序也会不同, 重庆邮电人学硕士论文 第三章e p a 通信协议栈的优化 驱动程序的代码部分可重用性不大,所以在设计e p a 协议栈网络接口部分时,没 有具体说明寄存器设置等底层操作,而是关注于同协议栈交互的部分。 网络控制芯片负责接收发送数据帧,数据帧是指在物理层发送和接收的数 据。e p a 网络上所有接入设备都是通过载波侦听冲突检测( c a m c d ) 的方式, 以帧为单位进行数据通信的。网络控制芯片通常以中断的方式通知c p u 工作完成 情况,即接收发送完毕、网络数据帧到达或网络错误等。当然网络硬件也可以以 查询模式工作,但在一般的r t o s 中以查询的方式实现通信协议栈则是低效的, 因为r t o s 上通常不只运行一个任务,某个任务如果不停的查询寄存器的话,其 他低优先级的任务将无法运行,因此在e p a 协议栈设计中,必须采用中断的方式 编写驱动程序。 在本协议栈实现中,我们设计了4 个驱动程序函数,即: ( 1 ) e t h e ri n i t ( )初始化网络硬件,设置m a c 地址,工作模式等。 ( 2 ) e t h e r _ i n p u t ( ) 接收数据到达消息,进行报文接收处理。 ( 3 ) e t h e ro u t p u t ( ) ,网络数据发送。 ( 4 ) e t h e r _ i r q ( ) ,数据到达,发送结束等中断,发送消息给接收函数。 e t h e ri n i t ( ) 完成硬件初始化、中断注册等工作,系统开始运行起来只需要执 行一次就可以了。其中向c p u 注册的中断函数是e t h e r _ i r q ( ) 。这里主要关心 e t h e ri r q ( ) 中断响应函数。由于不想局限于某个网络芯片,下面给出了该函数实 现的伪代码,具体的硬件操作代码,可以查看网络控制芯片的数据手册。 e t h e r i r q ( ) 函数的大致代码如下所示: e t h e r _ i r q ( ) 严1 更新统计数据,比如中断次数,接收到数据数,错误数目等。 2 查看中断原因,通常网络控制芯片都有相应的寄存器。 s w i t c h ( 中断原因) c a $ e 收到数据: 给接收函数发送消息。 7 b r e a k ; c s s e 发送完数据:严正常发送数据,简单忽略+ b r e a k ; c a s e 发送超时; 重发这个包( ) ;严如果发送错误就重发这个包 b r e a k ; 1 4 重庆邮电人学硕士论文第二章e p a 通信协议栈的优化 c a s e 其他错误; 错误处理( ) ;,宰可以只做简单的统计,也可以忽略 b r e a k ; e t h e r _ i n p u t ( 数据包) 严等待中断函数发送的报文到达消息, 6 ) r ( 处理完所有收到的数据包) i f ( 数据帧的目的地址需要接收) 加入新数据到数据链中; ) ) i f ( 有新数据处理) 发送信号给协议任务;严以信号的方式唤醒主任务运行处理新的任 务, ) ) 3 2 缓冲区管理系统的优化设计与实现 嵌入式系统通常是一个资源受限系统,系统对内存的开销和管理比其它系统 更严格。由于受资源、成本等限制,嵌入式系统中没有庞大的内存管理单元,程 序员在进行嵌入式系统编程时往往需要考虑内存分配和使用问题。嵌入式系统内 存管理从整体上来说有以下几个特征f 1 4 】: 快速性。嵌入式系统实时性强,要求内存管理机制反应快,因此在嵌入式系 统中,一般不采用通用操作系统中复杂而完善的内存管理策略,而是采用简单、 快速的内存分配和管理方案。当然,对实时性要求的程度不同,内存管理机制也 会有所不同。 可靠性。它是嵌入式系统内存管理机制的基本要求。在嵌入式系统中,如果 内存管理失败,可能会带来严重后果,特别是应用于一些关键设备或部件上的嵌 1 5 重庆邮电大学硕十论文 第三章e p a 通信协议栈的优化 入式系统,如汽车、航天器等。 高效性。内存管理机制要尽可能地少浪费内存资源,不能为了满足所有内存 请求而将内存配置的很大。嵌入式系统要求对成本进行限制,其次是嵌入式系统 中有限的空间也决定有限的。 3 2 1 常用内存缓冲区管理机制分析 在嵌入式强实时系统中,为了减少内存风险在时间上可能带来的不确定性, 通常采用静态分配的内存管理方式。如美国风河公司专为汽车电子应用所开发的 操作系统o s e k w o r k s t ”1 ,在内存静态分配方式中,系统在启动前,所有的任务都 获得了所需要的所有内存,运行过程中将不会有新的内存请求。对于这种方式, 不需要系统进行专门的内
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福德家政月嫂知识培训课件
- 2025年历史中考战争题目及答案
- 禁毒知识新教师培训材料课件
- DB61T 508.3-2011 富硒双低油菜专用肥
- 野外医学考试题及答案
- 2025年防震救灾题库及答案
- 江西名师联盟2025年数学高三上期末学业水平测试试题
- 山西省吕梁市离石区2025-2026学年数学高三上期末检测试题
- 禁毒知识培训内容
- 四川省彭州市彭州中学2025-2026学年数学高三第一学期期末质量跟踪监视模拟试题
- 2025至2030年中国视频监控系统行业市场运行态势及投资战略研究报告
- GB/T 45953-2025供应链安全管理体系规范
- 速冻机在果蔬加工中的应用考核试卷
- 2025年初级律师助理面试必-备题库及解析
- 九上语文第2课《周总理你在哪里》课件
- 增值税留抵退税培训课件
- 车辆安全隐患排查台账表
- 人教版(2024)八年级上册英语Unit 1 Happy Holiday教案
- 2025年疾控实验室生物安全及保密相关知识理论培训考试试题(含答案)
- 大模型概念、技术与应用实践 课件 第6章 智能体
- 2025年岗前安全培训试题及答案
评论
0/150
提交评论