(计算机应用技术专业论文)车间数字设备集成控制系统结构与嵌入式接口的设计.pdf_第1页
(计算机应用技术专业论文)车间数字设备集成控制系统结构与嵌入式接口的设计.pdf_第2页
(计算机应用技术专业论文)车间数字设备集成控制系统结构与嵌入式接口的设计.pdf_第3页
(计算机应用技术专业论文)车间数字设备集成控制系统结构与嵌入式接口的设计.pdf_第4页
(计算机应用技术专业论文)车间数字设备集成控制系统结构与嵌入式接口的设计.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

(计算机应用技术专业论文)车间数字设备集成控制系统结构与嵌入式接口的设计.pdf.pdf 免费下载

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

文档简介

武汉理工大学硕十学位论文 摘要 目前国内制造企业的数字设备普遍存在多种数控系统并存、在线编程、不 能实现集成控制等问题,无法实现与企业管理信息系统的直接连通,造成现场 信息的浪费。制造企业信息化的发展急需生产现场的数据作为必须和基本的信 息源。因此,如何实现车间数字设备的集成控制,综合发挥和利用它们的优势, 是目前许多制造业所面临的关键技术难题和生产实际的急需。利用工业以太网 连接现场数字设备,实现“e 网到底”将是工业自动化的发展趋势。 本文分析了工业以太网应用在现场设备层的优势、车间数字设备的通讯接 口及其联网控制的技术特点。在比较几种常见的工业以太网协议的基础上,针 对中小型企业车间数字设备的控制特点,选取e 队协议作为控制系统的网络平 台,提出了基于工业以太网的车间数字设备集中控制系统的结构及系统的功能。 为解决数字设备的串行接口与工业以太网通讯问题,以特定的数字设备为对象, 分析其通讯协议,设计其与工业以太网协议的通讯接口。在基于a r m 核的 p h i l i p 芯片l p c 2 2 0 0 上完成了嵌入式实时操作系统# c o s - - l i 及t c p i p 协议 的移植,在此基础上开发出了协议转换程序及通讯测试程序。分析了影响协嵌 入式系统性能的因素及车间设备周期性、非周期性信息的概率分布,根据设计 的嵌入式通讯接口,组建实验平台,验证了通讯接口的基本功能。 关键词:工业以太网,数字设备,集成控制系统,嵌入式系统 亟婆堡三奎堂堡主堂篁堡苎 a tp r e s e n t t h e r ea r es o m eq u e s t i o n ss u c ha ss e v e r a lk i n d so fn cs y s t e mi nu s i n g , o n l i n ep r o g r a m m i n g , i n t e g r a t e dc o n t r o l ,n o tt or e a l i z ec o n n e c t i o nd i r e c t l yb e t w e e n s h o p f l o o ra n de n t e r p r i s em a n a g e m e n ti n f o r m a t i o ns y s t e ma m o n gt h ed i g i t a l e q u i p m e n t so fm a n u f a c t u r ee n t e r p r i s e i nc h i n a ,w h i c hm a k e st h ew a s t eo ff i e l d i n f o r m a t i o n t h ed e v e l o p m e n to fm a n u f a c t u r i n ge n t e r p r i s e si n f o r m a t i o n - b a s e dn e e d s p r o d u c t i o nd a t ao ff i e l da sn e c e s s a r ya n db a s i ci n f o r m a t i o ns o u r c e s t h e r e f o r e i ti s c u r r e n t l yf a c i n gm a n ym a n u f a c t u r i n gk e yt e c h n o l o g i c a lp r o b l e m sa n d t h eu r g e n tn e e d f o r p r a c t i c a lp r o d u c t i o n t h a th o wt or e a l i z ei n t e g r a t e dc o n t r o lo ft h ed i g i t a l e q u i p m e n t so fs h o pf l o o r i n t e g r a t e dp l a ya n du s e t h e i rs t r e n g t h s ,i tw i l lb eat r e n d so f i n d u s t r i a la u t o m a t i o nt h a tu s i n gi n d u s t r i a le t h e r n e tt oc o n n e c tt h ed i g i t a te q u i f l m e r i t s a n da c h i e v e ”en e t w o r kt op l a n t ” t h i st h e s i sh a sa n a l y z e dt h ea d v a n t a g e so fa p p l y i n gi n d u s t r i a le t h e r n e ti nf i e l d e q u i p m e n tl a y e r , t h ec o m m u n i c a t i o ni n t e r f a c eo fd i g i t a le q u i p m e n ti 1 1w o r k s h o pa n d t h et e c h n i c a lc h a r a c t e r i s t i c so fn e t w o r k i n gt h e m 。o nt h eb a s i so fc o m p a r i n gs e v e r a l e o m m o ni n d u s t r i a le t h e m e tp r o t o c o l s ,a i m i n ga tt h ec o n t r o lf e a t u r e so fd i 【g i t a l e q u i p m e n t si nm i d d l eo rs m a l le n t e r p r i s e s ,t h i sd i s s e r t a t i o nc h o o s e se p ap r o t o c o la sa p l a t f o r mf o rn e t w o r kc o n t r o ls y s t e m ,p r e s e n t st h es t r u c t u r ea n dt h es y s t e mf u n c t i o n s o ff a c t o r yd i g i t a le q u i p m e n t sc e n t r a l i z e dc o n t r o ls y s t e mb a s e do ni n d u s t r i a le t h e m e t i i io r d e rt os o l v et h ec o m m u n i c a t i o np r o b l e mb e t w e e ns e r i a li n t e r f a c eo fd i g i t a l e q u i p m e n t sa n di n d u s t r i a le t h e m e t ,t h ed i 蚓n t a t i o nh a sd e s i g n e dt h ec o m m u n i c a t i o n i n t e r f a c eb ya n a l y s i so ft h e i rc o m m u n i c a t i o np r o t o c o l sa i m i n ga ts p e c i a ld i g i t a l e q u i p m e n t s t h ce m b e d d e dr e a lt i m eo s , u c o s l ia n dt c p i pp r o t o c o la r ep o r t e d o nt h el p c 2 2 0 0o fp h i l i pc h i p sb a s e do na r mc o r e ,t h e nt h ep r o g r a mo fp r o t o c o l t r a n s l a t i o na n dc o m m u n i c a t i o nt e s ta r ed e v e l o p e d a tl a s t t h i sd i s s e r t a t i o nh a s a n a l y z e dt h ef a c t o r so fa f f e c t i n gp e r f o r m a n c eo fe m b e d d e ds y s t e ma n dt h ep r o b a b i l i t y o fp e r i o d i ca n dn o n - p e r i o d i ci n f o r m a t i o ni nf a c t o r i e s a c c o r d i n gt ot h ed e s i g n e d c o m m u n i c a t i o ni n t e r f a c e ,a ne x p e r i m e n tp l a t f o r mi sc o n s t r u c t e d ,t h eb a s i cf u n c t i o n s o fi ti sv a l i d a t e d k e y w o r d s :i n d u s t r i a le t h e r n e t ,d i g i t a le q u i p m e n t ,i n t e g r a t e dc o n t r o ls y s t e m e m b e d d e ds y s t e m n 武汉理t 大学硕士学位论文 第1 章概述 目前,国内制造企业的数字设备普遍存在多种数控系统并存、在线编程、 集成控制等阎题,无法实现与企业管理信息系统的信息直接连通,造成现场信 息的浪费。制造企业信息化的发展急需生产现场的数据作为必须和基本的信息 源。因此,如何集成控制车间数字设备,综合发挥和利用它们的优势,是目前 许多制造企业所面临的关键技术难题和生产实际的急需。现场总线技术,尤其 是近年来工业以太网技术的发展使这些变成可能。 1 1 车间数字设备 本文中的数字设备专指离散制造企业使用的具有数字控制功能的设备或仪 器,通常包括数控机床、p l c ( p r o g r a m m a b l el o g i cc o n t r o l l e r ) 、三维坐标测量 仪、电动执行器等。 数字控n t 7 1 是用数字化信号对设备的运动及其工作过程进行控制的一种方 法。数控机床就是采用了数控技术的机床,或者说是装备了数控系统的机床; 凡是以前需要操作人员干的活,现在都可以由数控系统在程序控制下自动完成。 p l c 是一种数字运算电子系统,专为在工业环境下应用而设计。它采用可编 程的存储器,用于存储执行逻辑运算、顺序控制、定时、计数和算术运算等特 定功能的用户指令,并通过数字式或模拟式的输入和输出,控制各种类型的机 械或生产过程。 车间数字设备包含着许多重要的生产现场信息,这是一种重要的生产资源, 揸个生产过程的组织和进行都离不开信息。在传统的生产中,车间层独立的数 控系统、p l c 系统己不能满足市场竞争的需要。设备之间、各系统之间、厂际之 问、控制与管理之问的信息难以共享,这些自动化系统中的“信息孤岛”严重 地制约了生产效率的提高。信息的加工、处理与传递都由人通过图纸、文件、 报表、谈话、会议等形式来完成的,信息传递与反馈速度很缓慢。 1 2 工业以太网 工业以太网,即是应用于工业控制领域的以太网技术 2 9 1 。当前,由于商业 的全球化发展和产品周期的提高,新技术如互联网、无线通信、客户n 务器式 应用系统、智能设备和决策支持系统被企业广泛地应用以降低成本。这就要求 武汉理工大学硕士学位论文 从设备层到办公管理层解决大量的数据分配问题。而且互联网及其相关技术已 经极大地改变了企业的经营方式,它使信息通信贯穿整个社会,遍及全球。在 办公自动化领域,互联网技术已经应用到办公设备中。所以在企业网络不同层 次间传送的数据信息已变得越来越复杂,管控一体化将成为大势所趋,从而对 工业网络在开放性、互连性、带宽方面提出了更高的要求。 目前,现场总线技术的发展还存在诸多问题”。首先是通信协议的不统一, 多标准等于无标准。1 9 9 9 年i e c 制定的i e c 6 11 5 8 标准中共有8 种现场总线,由 于各种现场总线代表着不同厂商的利益,使得现场总线很难实现统一。而这些 协议间又互不兼容,使得现场总线的互可操作性没有得到很好的实现。这给现 场总线技术的发展和产品的推广应用带来了极大障碍。其次现场总线传输速率 较低。随着仪器仪表智能化的提高,传输的数据也必将趋于复杂,未来传输的 数据可能将不满足于几个字节,甚至是w e b 网页,所以网络传输的高速性在工 业控制中越来越重要。再次,不易与高层网络进行信息集成。由于现场总线位 于整个工业控制系统的底层,只是系统的一个组成部分,仅仅现场总线仍不足 以实现系统的全开放结构。因为从控制计算机到操作站,仍必须采用某个单一 系统集成商的产品。而该产品内的通信协议是专有的,因此整个系统远远达不 到全开放的要求。 与此同时,用于办公自动化领域的以太网却悄悄地进入工业控制领域,在控 制系统的管理层和控制层等中上层网络通信中得到广泛应用,并有直接向下延 伸应用于工业现场设备间通信的趋势”。,成为近年来工业自动化领域研究的热 点。与现场总线相比,醣太网具有应用广泛、成本低廉、通信速率高、软硬件 资源丰富、易于与i n t e r n e t 和i n t r a n e t 连接等优点”。 因此,工业控制网络采用以太网,就可以避免其发展游离于计算机网络技术 的发展主流之外,从而使工业控制网络与信息网络技术互相促进,共同发展, 并保证技术上的可持续发展,在技术升级方面无需单独的研究投入。随着以太 网技术的飞速发展,以太网应用于控制领域的障碍已基本解除”“: 首先,以太网通信速率的一再提高。以太网产生迟延的主要原因是由于碰 撞,而碰撞产生的概率是由网络负荷决定。通信速率的提高就意味着相同数据 吞吐量条件下,网络负荷减轻和传输延时减少。 其次采用双工星型网络拓扑结构和以太网交换技术。以太网交换机实现冲 突域的隔离,使各端口之闻数据帧的输入输出不再受c s m a c d 机制的制约,再 加上全双工通信方式使端口间两对双绞线( 或两根光纤) 可以同时接收和发送数 据,使以太网通信确定性和实时性得到保障【2 4 】。 同时许多公司也相继开发出适用于工业环境的以太网器件。美国 2 武汉理工大学硕士学位论文 s y n e r g e t i c 微系统公司和德国h i r s c h m a n n 1 3 l ,j e t t e ra g 等公司专门开发和生产 了导轨式集线器、交换机产品,安装在标准d i n 导轨上,并有冗余电源供电, 接插件采用牢固的d b 一9 结构“3 。美国n e ts i l i c o n 公司采用n e t + a r m 体系,研 制出低成本的工业以太网通信接口芯片。 2 0 0 3 年公布的i e e e 一8 0 2 3 a f 标准中,对e t h e r n e t 的总线供电规范进行 了定义。 上述技术的发展,对以太网进入实时控制领域创造了条件。正因为如此,美 国权威调查机构a r c ( a u t o m a t i o nr e s e a r c hc o m p a n y ) 预测今后e t h e r n e t 不仅继 续垄断商业计算机网络通信和工业控制系统的上层网络通信市场,也必将领导 未来现场总线的发展,e t h e r n e t 和t c p i p 将成为器件总线和现场总线的基础协 议f 4 。美国v d c ( v e n t u r ed e v e l o p m e n tc o r p ) 的调查报告也指出,e t h e r n e t 在 工业控制领域中的应用将越来越广泛,世界占有率将由2 0 0 0 年的1 1 增加到 2 0 0 5 年的2 3 s 3 0 】。 1 3 国内外相关研究现状 国外对工业以太网的研究始于i 9 5 年前后。1 9 9 8 年1 0 月在美国成立了工 业自动化开放网络联合会( i n d u s t r i a l a u t o m a t i o no p e l ln e t w o r ka l l l a n c e , i a o n a ) ,该组织致力于分析工业自动化领域应用以太网和i n t e r n e t 协议的障碍, 研究可能的实现方法,并制定了相关标准。工业以太网协会( i n d u s t r i a l e t h e r n e ta s s o c i a t i o n ) 、o d v a ( o p e nd e v i c e n e tv e n d o ra s s o c i a t i o n ) 、 c i ( c o n t r o l n e ti n t e r n a t i o n a l ) 等组织也正在致力于这方面的工作。美国电气 和电子工程师协会( i e e e ) 正在着手制订现场总线和以太网通信的新标准,该标 准将使得能够从网络看到“对象”。这些工作为以太网进入工业自动化的现场级 设备打下了基础。与此同时,各现场总线的支持组织和公司也意识到众多现场 总线所面临的问题;因此。在加强与其他现场总线竞争的同时,也纷纷将以太 网技术纳入其今后的规划。如现场总线基金会( f i e l d b u sf o u n d a t i o n ) 就已改变 了它原来的计划,在e t h e r n e t 和t c p r p 协议的基础上,于2 0 0 0 年3 月就公布 了其高速以太网( h i g hs p e e de t h e r n e t ,h s e ) 的最终技术规范( f s l l 0 ) ,以替 代原来计划的f fh 2 协议,形成了基于f fh 1 和h s e 的网络结构”1 。曾经推出了 d e v i c e n e t 和c o n t r o l n e t 现场总线的r o c k w e l l 公司以及c i 与o d v a 也将以太网 作为其上层通信网络,推出d e v i c e n e t 以上程序中有全局变量o s e m e r s u m ,其作用是对开中断进行计数,当其值 为0 时开中断,每个任务有自己独立的o s e n t e r s u m 。 ( 5 ) 任务切换函数o s _ t a s k _ s w 0 和o s i n t c t x s w 0 o s _ t a s k _ s w 0 是在肛c o s i i 从低优先级任务切换到最高优先级任务时被 武汉理工人学硕士学位论文 调用的。本移植使用软中断指令s w i 指令使处理器进入管理模式和a r m 指令 状态,并使用功能0 实现o st a s ks w o i 拘功能,即使用s w io x 0 0 代替 o s _ t a s ks w 0 。o s i n t c t x s w 0 是在中断退出时的任务切换函数,首先保存任务 环境,然后获取新任务堆栈指针。 ( 6 ) 任务堆栈初始化函数o s t a s k s t k i n i t 0 o s t a s k c r e a t e o 和0 s n s k o e a l e e x t o 通过调用o s t a s k s t k l n i t 0 来初始化任 务的堆栈结构。主要实现如下: o s s t k8 0 s t a s k s t k l n i t ( v o i d ( + t a s k ) ( v o i d + l x i ) ,v o i d+ p d a t a ,o s _ s t k + p t o s q t l 6 uo p 0 f 模拟带参数( p d a t a ) 的函数调用; 模拟i s r 向量; 按照预先设计的寄存器值初始化堆栈结构; 返回栈项指针; ( 7 ) o s s t a r t h i g h r d y 0 m c o s - i i 启动多任务环境的函数为o s s t a r t 0 ,用户在调用o s s t a r t 0 之前, 必须已经建立了l 个或多个任务。o s s t a n 0 最终调用函数o s s t a r t h i f f , h r d y 0 。 v o i do s s t a r t i m g h r d y 0 = _ o s s t a r t h i g h r d y 0 ;) ( 8 ) 时钟节拍中断服务程序o s t i c k l s r 0 多任务操作系统的任务调度是基于时钟节拍中断的,c o s 1 i 也需要处理 器提供一个定时器中断来产生节拍,借以实现时间的延时和期满功能。 v o i do s t i c k l s r 0 o s _ e n t e r _ c r i t i c a l 0 ; 清除中断源; 通知中断控制器中断结束; o s _ e x l tc r i t i c a l 0 ; 用户处理程序( 调用o s t i m e t i c k 0 ) ) 4 c o s 系统下的应用 移植p c o s i t 是为了使其作为运行平台并在它的基础上编写应用程序,实 现所需要的功能。要在自己的系统中编写应用程序就必须遵循肛c i o s i i 的编程 规范。 武汉理工大学硕士学位论文 当目标系统完成了向量表、基本的i o 初始化后,就进入了肛c o s i i 的m a i n 0 函数。首先,为每个任务分配适当的堆栈空间,由于每个任务的堆栈相互独立, 所以每个任务都要分配。在使用c o s i i 提供的任何功能之前,必须调用函数 o s i n i t0 ,完成m c o s i i 的初始化并建立空闲任务。在开始多任务之前。必须建 立至少一个用户任务,通过调用o s t a s k c r e a t e 0 来创建。这其中不包括, u c o s i i 的空闲任务。如果是多任务的话,可以在第一个任务中创建其它任务,同时分 配优先级。最后程序调用函数o s s t a r t 0 将控制权交给m c o s - i i 内核,m a i n 0 函数 就此结束。其大致流程如下: o s s t k t a s k s t a r t s t k t a s ks t ks i z e ; 广为任务分配堆栈空间+ i n tm a i n ( v o i d ) o s i n i t0 ;,任务初始化 o s t a s k c r e a t e ( t a s k l ,( v o i d + ) o ,t a s k s t a r t s t k t a s k _ s t k _ s i z e 1 】,o ) ; p 创建任务t a s k l * o s s t a r t0 ;4 启动任务+ r e t u r n o ; ) 5 4 l p c 2 2 1 0 串行通信的设计 5 4 1 串行通信的基本概念 所谓串行通信是指将数据分解成单个的二迸制位,在c p u 与外设之间,使 用一根数据信号线或一个通信信道按规定的传输速率( 每秒传输的二进制位数, 也即波特率) 逐位依次传送。这种通信方式使用的数据线少,在远距离通信中 可以节约通信成本,但是,其传输速度比并行传输慢。 1 卜、 接收数据寄存器 地址线 1f 片选c s l 伸行输入,并行输出) 厂i 中断1 n t l 接收数据寄存器l 读选通1 0 r 。 上 写选通l o w 接收移位寄存器 ( 串行输入并行输出) l 图5 - 5 串行通信原理图 4 7 武汉理工大学硕士学位论文 由于c p u 与接口之间按并行方式传输,接口与外设之间按串行方式传输, 因此,在串行接口中,必须要有“接收移位寄存器”( 串一并) 和“发送移位寄存 器”( 并一串) ,串行接口的逻辑结构如图5 5 所示。 在数据输入过程中,数据一位一位地从外设进入接口的“接收移位寄存器”, 当“接收移位寄存器”中己接收完1 个字符的各位后,数据就从“接收移位寄存器” 进入“接收数据寄存器”。c p u 从“接收数据寄存器”中读取接收到的字符。 在数据输出过程中,c p u 把要输出的字符并行地送入“发送数据寄存器”,“发 送数据寄存器”的内容传输到“发送移位寄存器”,然后由“发送移位寄存器”移位, 把数据一位一位地送到外设。 5 4 2 串行通信协议 通信协议是指通信双方按照约定的数据格式、同步方式、传送速度、传送步 骤、检验纠错方式等规程来进行数据传输。目前,采用的串行通信协议有两类: 异步通信和同步通信。同步串行通信是指通信的双方使用同一个时钟控制数据 的发送和接收。同步串行数据格式是,l 一2 位同步字符+ 5 8 位数据+ 1 2 位校验 字符。通信时,接收设备接收数据时首先检索同步字符,在确认同步之后才正 式接收数据,按原规定的数据块长度进行统计,直到出现校验字符为止。在传 送过程中由于某种原因,如干扰信号、噪声等使接收数据丢失一位,则引起后 面所有数据字节全部错误,因此,同步通信方式下的双方必须严格同步,对时 钟发生器及其控制电路的要求非常苛刻。 异步通信格式也称为起止式异步协议,是指通信的发送设备与接收设备使用 各自的时钟控制工作。其特点是通信双方以一个字符( 包括特定附加位) 作为 数据传输单位,且发送方传送字 守的间隔时间是不定的。在传输一个字符时总 是以起始位开始,以停止位结束。异步通信传输格式如图5 - 6 所示。 第。4 个字符 阳卜一第n 十字符刊 平再峭耳匝巫霉甲玛舁 d 7 雾藿蓑d 0珊霾i ;蓑脚 偶止始 偶:; 罕 语 校 位 位校 桁 咐 恃 验 酪一 由图可知,一个字符单位除表示字符信息的数据位( 位长度5 - 8 位可选) 外,还 趣 堇堡垄三盔兰堡主堂堡笙苎 有若干个附加位:起始位( 1 位,值恒为o ) 、奇偶位( 可选有或无) 、停止位( 长 度可选为1 、1 5 或2 ,值恒为1 ) 。传送1 个字符必须以起始位开始,以停止位 结束,这个过程称为1 帧。 这两种通信协议在实际中各有应用,但在嵌入式系统中主要使用异步通信 协议。 5 4 3l p c 2 2 1 0 串行通信原理【6 】 u a r t 的通信离不开对内部寄存器的控制,l p c 2 2 1 0 的两个u a r t 都疑有 1 6 字节的收发f i f o 队列,内置波特率发生器,两个串口具有相同的寄存器,其 基本寄存器功能框图如图5 7 所示。 d d 厂爵磊鬲习 一1 竺i 一叫串微口1 := : 图5 7i a r t 的基本寄存嚣功能框图 其中,寄存器u o r b r 与u o t h r 是同一地址( 因为这个地址不可能同时用于 读和写) ,但物理上是分开的,即读操作时为u o r b r ,写操作时为u o t h r 。此 夕卜,u 0 d u 与u o r b r ,u o d l m 与u 吣也具有相同的地址,它们通过除数访 问位d l a b 控制,当d l a b 为1 时,u o d l m 和u 0 d l l 有效,为0 时u o r b r 和u o t e r 有效。 u o d l l 和u o d l m 寄存器是波特率发生器的除数锁存寄存器,用于设鼍合适 的串口波特率,计算公式为:u o d l m 、u o d l l = fp i c k ( 1 6 x b a u d ) 。其中f p i c k 为系统外设时钟频率,b a u d 为所需要设置的波特率,所得结果高8 位存入u o d l m 中,低8 位存入u o d l l 中。 u o r b r 为数据接收缓冲,用于读取接收到的数据,若f i f o 使能,串口接 收到的数据会压入f i f o 缓冲;u o t h r 为发送保存,向此寄存器写入数据时, 将会引起串口数据发送,若f i f o 使能,数据被压入f i f o 缓冲。 此外,u a r t 通信中还要对工作参数和串口的工作模式进行设置,如数据 武汉理j 二大学硕士学位论文 位、停止位、奇偶检验、中断使能等。如图5 8 所示,通过线控制寄存器l c r 设置串口的工作模式,而f c r 则用于f i f o 使能或复位操作;当接收或发送数 据时,会产生相应的状态标志位( l s r ) ;通过对i e r 进行设置,可实现串口的 发送、接收、出错中断等。其中i e r 中的位o 为接收中断使能,位1 为发送中 断使能,位2 为线状态中断使能( 通讯出错中断使能) ,若不使能相应的中断, 对应的中断标志是不会产生,此时可以通过l s r 读取串口的状态判断串口操作 是否完成或是否成功。 图5 - 8u a r i i ) 的模式寄存器功能图 5 4 4l p c 2 2 1 0 串行通信的过程 l p c 2 2 1 0 的u a r t 0 的通信过程如下:设鼹抛连接到u a r t 0 ( 通过设 置寄存器p i n s e l 0 的低3 位) ;设置串口波特率( u o d l m ,u o d l l ) ;设置 串口工作模式( u o l c r ,u o f c r ) ;发送或接收数据( u o t h r ,u o l s r ) ;检 查串口状态字或等待串口中断( u o l s r ) 。 5 5l p c 2 2 1 0 网络通信的设计 5 5 1 嵌入式t c p i p 协议 要使嵌入式系统具备网络功能,必须加上t c p i p 协议。但由于网络协议的 复杂性与嵌入式系统的m c u 相对简单之间的矛盾,极大地制约了嵌入式系统实 现网络化的进程。要解决这对矛盾可以应用更高性能的m c u 或者简化t c p i p 协议族。考虑现有芯片水平和价格,系统m c u 的性能提高的受制因素比较明显, 那么解决矛盾的重点就应放在对t c p i p 协议的研究上。通常的t c p i p 协议是 以p c 机、服务器为应用平台的,协议复杂,功能强大,面面俱到,而且没有实 时的概念。嵌入式系统要求应用简单,以满足应用为目的,并不要求功能十分 齐全。 5 0 武汉理工大学硕十学何论文 嵌入式t c p i p 协议即是从以满足嵌入式系统的实际需求为目的这一指导思 想出发,建立在嵌入式i n t e r n e t 理论的基础上,通过对庞大、功能齐全的t c p i p 协议的仔细研究,对标准的t c p i p 协议进行了一定的取舍,从而制定出了一套 简单的、适用于嵌入式系统的并且能完成相应网络功能的协议,称为嵌入式 t c p 口协议。 在工业以太网中如何选择传输层协议类型很关键。如果要与现有的应用程序 通讯,必须使用与其相同的协议类型。在实际应用时,协议类型的选择与实际 的应用系统有直接的关系,选择不同的协议类型可能对系统的性能有很大的影 响。t c p 协议在一对计算机间建立一种双向链接,u d p 协议是一个单向的消息 发送者。二者都在发送数据前,在文本或脚本中打数据包,并在接收到后进行 相应的解包。而在发送者和接收者间关系上二者是不一样的,t c p 接收者接收 后要响应发送者,检验数据的有效性,以保证数据能无误地传送到接收方,如 丢包或出错,需要发送方重发;而u d p ,发送方决不可能听到响应,而接收者 不用操心数据传送。因此t c p 比u d p 要可靠的多,而这一点在工业控制上是 至关重要的,所以很多公司推出的协议都是基于t c p 的。但是u d p 也有其优 势,因为u d p 的头部非常短。传输更有效率,特别是对于那些数据量比较小的 数据包来说这一点更为突出。所以,如果u d p 用手工业控制,必须在应用层实 现消息接收确认,错误校验,请求错误的数据包重发,丢弃多余的数据包,并 把数据包按照顺序拼成有意义的消息,而这些功能都是u d p 协议不提供的。如 果应用层原本就对可靠性进行了设计的话,我们完全可以用u d p 来实现可靠的 数据传输。不必用繁琐的t c p 协议i 硼。另外有些系统还需根据应用层的要求来 确定选用何种协议,例如应用层的盯p 、s m t p 等协议需要t c p 的支持,而 s n m p 等协议则需要u d p 协议的支持 嵌入式t c p i p 协议中各层采用的协议如下:运输层u d p ,网络层i p i c m p , 链路层a r p e t h e m e t 。 i 链路层 数据链路层采用的是以太网结构,协议只使用了a r p 协议。数据链路层主 要有三个目的:为i p 模块发送和接收i p 数据报;为a r p 模块发送a r p 请 求和接收a r p 应答;为r a r p 发送r a r p 请求和接收r a r p 应答。 a r p 协议的工作过程描述如下:当主机产生一个i p 数据报,需将该数据报 发往日的主机时,它必须把3 2 b i t 的皿地址变换成4 8 b i t 的以太网地址,实现从 逻辑i n t e r n e t 地址到对应的物理硬件地址的翻译,这一过程就是使用a r p 协议 实现的。 武汉理上大学硕士学位论文 在每个主机中都有一个a r p 高速缓存,里面存放了最近i n t e r n e t 地址到硬 件地址之间的映射记录。这是a r p 高效运行的关键。高速缓存中每一项的生存 时间一般为2 0 分钟,这个时间是随着访问,每次都被重置的( 也有系统是记录 正在使用时,超时定时器也在启动) 。a r p 协议还有一些特殊的功能,如a r p 代理( 当路由器对来自子另一个路由器接口的a r p 请求进行应答时) ,免费a r p ( 发送自己i p 地址的m 心请求) 等。 由于嵌入式系统的应用方案为直接与服务器或路由器相连,而主机和路由 器都是相对固定的,其地址也是嵌入式系统所默认的目的i p 地址。因此嵌入式 系统中不需要a r p 高速缓存,在与服务器或路由器第一次建立通讯连接时,将 目的端的i p 地址和以太网地址写死即可。相应地,a r p 高速缓存中的超时设置 也无从谈起。 对于a r p 的代理功能,由于嵌入式系统一般不做路由器用,因此,此功能 在嵌入式t c p i p 协议中可省略。至于免费a r p ,在应用方案中用其它方法代替 此功能,也可省略。 2 网络层 嵌入式t c p 口协议中的网络层只包含了两种协议:i c m p 和i p 。 ( 1 ) i c m p 协议 i c m p 协议的主要作用是传递差错报文以及其它需要注意的信息,比如说网 络不可达信息、时间戳请求报文等。i c m p 报文的类型很多,共有近四十种。不 同类型的报文由报文首部中8 位的类型字段和8 位的代码字段来共同决定。 在嵌入式t c p ,r p 协议中只使用了回显应答和请求回显两种类型的i c m p 报 文。这两种报文主要是为p i n g 程序服务的。p i n g 程序通过发送一份i c m p 回显 请求报文给主机,并等待返回i c m p 回显应答来确定另一台主机是否可达。而实 际上这两种报文在系统正常工作时是用不到的。之所以仍然使用这两种报文, 主要是为了使系统便于调试。一般来讲,如果p i n g 不到某台主机,就可以说与 这台主机不能进行通讯;反过来,如果能p i n g 通,而不能t e l n e t 到某台主机, 就说明可能是应用层的程序有问题。 ( 2 ) i p 协议 i p 协议是整个t c p i p 协议中最为核心的协议。i p 协议的功能,是对要发送 的数据进行加m 报头的处理,再把打好包的i p 数据报发送给m a c 层,通过数 据报在一个个i p 协议模块间传送,直到数据报到达目的模块。同时,m 层接收 由更低层( 链路层例如以太网设备驱动程序) 发来的i p 报,对接收到的数据报 进行报头校验和拆报处理,并把数据发送到更高层一- t c p 或u d p 层。互联网网 武汉理工大学硕士学位论文 络中每个主机和网关设备上都有i p 模块,数据报在一个个模块间通过路由处理 网络地址传送到目的地址。i p 在提供网络层服务时,采用了统一的报头,以使 处于各子网中的i p 都能根据报头对数据作出相应的处理。 为了实现数据报的传输,口协议使用以下4 个关键技术: 服务类型( t o s ) 。t o s 是一个参数集,代表i n t e r n e t 能够提供的服务,用 于指定用户所希望得到的服务质量。 生存时间m l ) 。生存时间是用户设置的数据报在网络传输过程中的保存 时间,通常设置为数据报可以经过最多路由器的个数。 选项( o p t i o n s ) 。选项包括时间戳、安全和特殊路由要求等。对于控制函数 来说选项是重要的,但对于通常的通信来说一般没有必要。 报头校验码( c h e c k s u m ) 。设置报头校验码的目的,是为了保证数据的正 确传输。 3 传输层 u d p 协议是英文u s e rd a t a g r a mp r o t o c o l 的缩写,即用户数据报协议,主要 用来支持那些需要在计算机之间传输数据的网络应用。包括网络视频会议系统 在内的众多客户朋艮务器模式的网络应用都需要使用u d p 协议。 与我们所熟知的t c p ( 传输控制协议) 协议一样,u d p 协议直接位于l p 协 议的顶层。根据o s i 参考模型,u d p 和t c p 都属于传输层协议。 u d p 协议的主要作用是将网络数据流量压缩成数据报的形式。一个典型的 数据报就是一个二进制数据的传输单位。每一个数据报的前8 个字节用来包含 报头信息,剩余字节则用来包含具体的传输数据。u d p 报头由4 个域组成,其 中每个域各占2 个字节,具体如图5 9 所示: l 两字节u d p两字节u d p两字节 两字节 l 源端口号目的端口号校验和 信息妖度 图5 9u d p 协议数据报格式 u d p 协议使用端口号为不同的应用保留其各自的数据传输通道。u d p 和 t c p 协议正是采用这一机制实现对同一时刻内多项应用同时发送和接收数据的 支持。数据发送一方( 可以是客户端或服务器端) 将u d p 数据报通过源端口发 送出去,而数据接收一方则通过目标端口接收数据。 长度字段记录了该u d p 数据报的包括报头和数据在内的总的数据长度,最 小值为8 。 武汉理工大学硕士学位论文 u d p 协议使用报头中的校验值来保证数据的安全。校验值首先在数据发送 方通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。如果 某个数据报在传输过程中被第三方篡改或者由于线路噪音等原因受到损坏,发 送和接收方的校验计算值将不会相符,由此u d p 协议可以检测是否出错。其实 在u d p 协议中校验功能是可选的,如果将其关闭可以使系统的性能有所提升。 这与t c p 协议是不同的,后者要求必须具有校验值。 5 5 2l p c 2 2 1 0u d p 通信 具备了网络通信的基础( l p c 2 2 1 0 + m c o s i i + t c p i p ) ,实现u d p 通信的方 法是使用s o c k e t a p i 函数编写u d p 通信的任务,分为服务器方式和客户机方 式。服务器方式是先接收到数据再进行处理,而客户机则是先发送数据然后等 待回应处理,它们所用的s o c k e t a p i 函数是相同的。通信过程如图5 1 0 所示。 服务器端 5 6 协议转换的实现 客户机端 图5 - 1 0u d 商置信过程 5 6 1 串口数据包向e p a 数据包的转换 1 e p a 数据帧格式 武汉理工大学硕士学位论文 图5 - 1 1e i ! a 数据帧格式 由3 4 2 可知,e p a 具有“e 网到底”的特点,因此,e p a 数据包与普通以太 网数据包兼容。为改进系统通信的实时性,在网络层与数据链路层增加了实时 通信调度接口,e p a 通过设置以太网帧的长度类型( l e n g ,班y p e ) 字段,针对 不同的数据类型选择不同的传输协议,实现通信的实时调度。 2 具体实现 当从串口接收数据发送至以太网时,由于相对于以太网来说,串口是一个慢 速接口,系统与串口的通信有时甚至是单字节操作,如果对于每一个这样小的 通信都单独通过一个u d p 包( 或者t c p 包) 发送的话,譬如说一个字节的数据, 这将产生一些2 9 字节的分组:2 0 字节的i p 头, 8 字节的u d p 头以及1 字节的数据。如果在高 速网络上( 例如局域网) ,这一些小分组通常不会 引起麻烦,但是如果在带宽很窄或是通信量很 大的网络中,则会增加拥塞出现的可能性,并 将降低网络的效率。 系统中通过定义一个5 1 2 字节的循环队列 来作为数据收发的缓冲区,如图5 1 2 所示。f r o n t 和r e a r 分别指向队列的头部和尾部,当 f r o n t = r e a r 时表示队列空,:当( f r o n t + 1 ) m o d5 1 2 = r e a r 时表示队列已满,空闲缓冲 区的大小也可通过f r o n t 和r e a r 指针计算。当有串口数据到来时,对于小分组, 并不立即将其发出,而是将其放入数据缓冲区内进行累计。系统中建立了两类 数据缓冲区:串口数据接收缓冲区

温馨提示

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

评论

0/150

提交评论