




已阅读5页,还剩50页未读, 继续免费阅读
(检测技术与自动化装置专业论文)嵌入式internet技术在以太网远程抄表中的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学项士学位论文 = = = = = = = = = j = ;2 = 口= = l = - _ _ _ - _ _ _ _ - _ _ - _ _ - l_ ll _ l _ 摘要 传统的远程抄表网络一般采用c a n 、r s 2 3 2 、r s 4 8 5 等总线组网,其网络的有 效半径比较有限,有关的通信协议也比较少,并且一般是孤立于i n t c r n c t 以外的。嵌 入式i n t e r n e t 技术( 即单片机网络智能化技术) 的出现和发展,给传统的远程抄表技 术带来了新的革命。本课题采用嵌入式技术开发出了一种低成本的以太网远程抄表 系统,它采集的抄表数据能够通过以太网远传至i n t e r a c t 上的抄表主机。论文主要论 述了网络采集器的开发以及抄表软件的设计。 本课题的方案中充分考虑了远程抄表系统实时性要求不高、数据量小的特点, 系统的软硬件全部自主开发,没有采用第三方的嵌入式i n t e r a c t 开发工具和平台。在 满足用户需求的基础上,极大地降低了系统的成本。 j 具体来说,系统主要有以下几个方面的特点: 1 在网络采集器的硬件设计中,采用廉价的5 1 单片机控制网络接口芯片 r t l 8 0 1 9 a s 收发数据,连接简单可靠,掉线率和丢包率较低。 2 在网络采集器的软件设计中,采用编译优化的( 2 5 1 编写,功能上采用模块化设 汁,提高了开发效率,并易于维护。 3 在刚络采集器通信协议的设计中,嵌入了t c m p 协议的一个子集,包括a r p 、 i p 、i c m p 和u d p 。这些协议实现比较简单,对系统资源的消耗较低。编译后的协议 内核小于6 k ,完全能够运行在5 l 单片机上。 4 在抄表程序的设计中,采用w i n d o w s 多线程技术和w i n s o c k 网络通信技术, 实现了与网络采集器的u d p 通信。 5 在系统的调试中,采用w i n d o w s 监听工具w i n d u m p ,通过跟踪网络采集器发 送的数据包排查错误,取得了良好的效果。 本课题提出的嵌入式i n t e m e t 系统解决方案成本低,性能基本满足需求,不仅适 用于远程抄表系统,而且在家居智能化和工业控制等领域也具有广泛的应用前景。 一 , ,、 ,、一 关键词:以太两;t c p i p ;远程抄表系统;嵌入式i n t e r a c t 系统;w i n s o c k 华中科技大学硕士学位论文 a b s t r a c t t r a d i t i o n a lr e m o t em e t e rr e s d i n gn e t w o r ki sb a s e do ns u c hb u s e s 勰c a n ,r s 2 3 2 , a n dr s 4 8 5 e t c b e i n gi s o l a t e df r o mt h e n t e m e t ,t h e y h a v el i m i t e dc o m m u n i c a t i o n r a n g e t h ee m e r g e n c ea n dd e v e l o p m e n to fe m b e d d e di n t e m e ts y s t e m ( i n t e l l i g e n ts i n g l ec h i p n d w o r k ) h a v eb r o u g h t ar e v o l u t i o nt or e m o t em e t e rr e n d i n g t e c h n o l o g y w eh a v e d e v e l o p e d ar e m o t em e t e r r e a d i n gs y s t e m b a s e do ne t h e m e t t h ed a t ai tc o l l e c t sc a nb e s e n tt or e m o t es e r v e ro nt h ei n t e m e tt h r o u g ht c p 球p r o t o c 0 1 t h i st h e s i s m a i n l y d i s c u s s e st h ed e v e l o p m e n to fd a m a c q u i s i t i o ni i 培n u n 呦ta n d t h ed e s i g no fm e t e r r e a d i n g s o f t w a r e t h es y s t e mw ea r ew o r k i n go nh a v ef u l l yc o n s i d e r e dt h ec h a r a c t e r i s t i co fr e m o t e m e t e rr e a d i n gs y s t e m n o t s t r i c tr e a l - t i m ep r o c e s s i n gr e c l u i t m n e n ta n ds m a l lq u a n t i t y o fd a t a w ed e v e l o p e db e t ht h eh a r d w a r ea n ds o f t w a r eo ft h es y s t e mi n d e p e n d e n t l y w i t h o u tt h es u p p o r to f a n ye m b e d d e d i n t e r a c tp l a t f o r m , w h i c hl o w e r st h ec o s tg r e a t l ya n d f i l 脚st h er c q t d r c m e n to f c u s t o m e r s t h es y s t e m1 1 a st h ef o l l o w i n gc h a r a c t e r i s t i c : 1 a t 8 9 c 5 2i su s e dt oc o n n e c tw i t hr t l 8 0 1 9 a si nt h ed e s i g no f t h ed a t a - a c q u i s i t i o n t e r m i n a l ,w h i c hh a se a s ya n dr e l i a b l ec o n n e c t i o n , l o w e rc h a n c eo fl o s i n gp a c k e t s o r g e t t i n go f f l i n e 2 c 5 1i su s e dt op r o g r a mt h ed r i v e ra n dt c p i pa n dm o d u l a r i z e st h es y s t e mt og a i n h i g he f f i c i e n c ya n dg o o d m a i n t a i n a b i l i t y 3 as u b s e to ft c p i pp r o t o c o l ss u c ha sa r p ) i p , i c m pa n du d p i si n c l u d e di nt h e d e s i g no fn e t w o r kp r o t o c o l f o r d a t a - a c q u i s i t i o nt e r m i n a l t h e y a r e s i m p l e a n dl o w r c s o u r c e - c o s t 4 m u l t i t h r e a d i n g a n dw i n s o e k t e c h n o l o g y 躺u s e d t o i m p l e m e n t u d p c o m m u n i c a t i o n si nt h ed e s i g no f t h em e t e rr e a d i n gs o r w a r e , 5 w m d u m p ,ap a c k e t - c a p t u r et o o li nw i n d o w s ,i s u s e di ns y s t e mt e s t i n g w i n d u m p e l i m i n a t ee r r o r si nt h ep r o g r a mb yf o l l o w i n gp a c k e t sf r o mn e t w o r kc o l l e c t e r 华中科技大学项士学位论文 t h ee m b e d d e di n t e m e ts y s t e mp r e s e n t e di nt h i st h e s i sh a ss a t i s f a c t o r yp e r f o r m a n c e w i t hl o wc o s t i ti sn o to n l ya p p l i c a b l et ot h er e m o t em e t e rr e a d i n gs y s t e mb u ta l s o u s e f u li ni n d u s t r yc o n t r o la n d i n t e l l i g e n th o u s e k e yw o r d s ) e t h e r n e t ;t c p i p ;r e m o t em e t e rr e a d i n gs y s t e m e m b e d d e di n t e m ts y s t e m ;w t u s o c k 华中科技大学硕士学位论文 1绪论 这一章主要介绍本课题的概述、国内外的发展现状及课题的基本任务。 1 1 课题概述 随着互联网的应用闩益普及,信息共享的程度不断提高,互联网应用正在从传 统的以p c 为中心转到以嵌入式设备为中心。当一台设备具有网络智能时,人们可以 在任何地方、任何时间、任何地点,使用任何平台随时浏览设备实时的状态、并在 远程实现对这台设备的监视、控制、诊断、测试和配置。如何通过互联网共享以单 片机应用系统为中心的小型嵌入式设备的信息,成为当今电子界的热门话题。 在家庭和工业应用领域中具有网络智能的单片机系统通称嵌入式i n t e r a c t 系统。 嵌入式i n t e r n e t 系统一般具有独立的l p 地址,其网络智能化表现在具有独立的网络 接口芯片和内置t c p i p 协议。由于单片机品种多达数百种,而这些单片机不论是其 硬件结构还是指令系统都各不相同,因此无法像p c 那样利用统一标准的硬件接口和 编制一种大家都能运行的接口软件来使它们直接接入i n t e r a c t ,所以采用网络接口芯 片作为连接i n t e r a c t 的桥梁。网络接口芯片是一个独立于各种单片机的专用芯片,通 过其标准的输入输出口,可与绝大多数单片机相连。根据网络通信的物理介质和 i n t e m e t 接入方式的不同,网络芯片可以分为以太网接口、s l i p 接口或无线接口等各 种类型,其物理通信协议和数据封装格式各不相同。通过内置t c p i p 协议,单片机 就可以识别和处理这些不同类型的数据,从而可以智能地接收并执行经由i n t e r a c t 远 程传来的命令,或将一些数据交给网络芯片通过i n t e r a c t 发送出去。 嵌入式i n t e r a c t 技术的兴起给传统的远程抄表技术带来了新的革命。近年来出现 了一种基于以太网的远程抄表系统。以太网是i n t e m e t 上使用最普遍的局域网,不仅 完全支持t c p i p 协议,而且通信速率高( 1 0 1 0 0 m b p s ) ,组网成本低,可靠性高。 在基于以太网的远程抄表系统中,采集器实际上是以单片机或微控制器( m c u ) 为 核心,内嵌t c p i p 协议的嵌入式i n t e r a c t 系统,它采集的实时数据能够通过t c p i p 协议远传至i n t c r n e t 上的抄表主机。而如何实现包括以太网协议在内的t c p i p 协议 族的移植是整个系统的核心问题。本课题主要研究如何利用嵌入式i n t e r a c t 技术,实 华中科技大学硕士学位论文 现基于以太网的远程抄表,以及相关的抄表软件的开发。 1 2 国内外发展现状 目前国内外厂商已经开发生产了各种类型的以太网远程抄表系统,比如深圳开 发科技股份有限公司的以太网远程抄表系统、好宇衡科技开发的宽带型网络智能抄 表系统以及美国e m o n 公司的e t h e r m o n 网络抄表系统等等。这些系统大部分面 向智能小区和智能住宅等应用领域,并且它们的核心产品一般是具有网络智能的采 集器或网络智能控制终端,除了能够抄收各种电能表外,还能抄收脉冲型的水表和 气表。 这些网络采集器或网络智能终端所要解决的共同问题是:如何利用单片机本身 有限的资源进行t c p 1 p 协议处理,使之变成可以在互联网上传输的i p 数据包。目 i j 国内外解决这个问题主要有三种方案: 1 3 2 位m c u + r t o s 。 采用高档单片机,在r 1 d s ( 实时多任务操作系统) 平台上进行软件开发。在该 操作系统的支持下实现t c p i p 协议处理。目前国内比较流行的r t o s 有v x w o r k s 、 p s o s 、q n x 、w i n d o w s c e 以及l i n u x 等。由于采用高档单片机,此方案可以完成很 多复杂的功能,但是成本较高,开发周期较长,需要购买昂贵的r t o s 开发软件, 对丌发人员能力要求较高。 2 8 位m c u + t c p 1 p 协议。 此方案又可分为两种:一种是用硬件电路实现t c p i p 协议堆栈,作为m c u 和 i n t e m e t 之阳j 的加速器。它们大多包括h t f p 客户软件,支持h t i p 、s m t p 、p o p 3 、 m i m e 等多种协议,可进行w e b 浏览和收发e m a i l 。这方面的代表有s e i k o 公司的 $ 7 6 0 0 a 、r e a d y 公司的i n t e r a c t t u n e r 、c o n n e c t o n e 公司的i c h i p 等。 另外一种是使用软件固化t c p i p 协议,要求m c u 有较高的运行速度。采用这种 方案的芯片有s c e n i x 公司的s x 系列以及r a b b i t 公司的r a b b i t2 0 0 0 。 s x 系列单片机基于r i s c 结构,带有片上f l a s h 程序存储器,具有在系统编程 调试的功能。采用c p u 并行流水线方式及单时钟周期指令,指令执行速度从可达 5 0 m 1 p s 到i o o m i p s 。所有1 0 管脚可以根据需要灵活配置。综合以上特点,该m c u 2 华中科技大学硕士学位论文 ;= = = = ;= e 目j = = = 目_ 目= _ 目# _ _ _ i - _ - _ _ _ - _ _ i i _ i _ - _ _ - - - - i _ - _ l - i - 可以实现虚拟外设( v i r t u a lp e r i p h e r a l ) 功能。即c p u 通过执行虚拟软件模块直接驱 动i 0 口实现硬件外设功能( 如a r t 、s p i 等) ,更重要的是它可以运行t c p i p 协议 栈,如h 1 t r p 、s m t p 、p o p 3 、t c p 、u d p 等等,还可以实现i e e e8 0 2 3 协议。上 述软件都是用汇编语言编写,存储在片内的f l a s h 程序存储器中。由于采用多任务 方式,单片机可以在完成i 0 控制的同时进行i n t e r n c t 协议处理。 r a b b i t 是一种内部和外部数据总线均为8 位新型高速的单片机,主要应用在中小 规模的嵌入式系统中。r a b b i t 与7 _ 8 0 、z 1 8 0 、h d 6 4 1 8 0 有相似的结构,汇编指令由 z 8 0 扩展而来,使熟悉7 _ 8 0 单片机的用户能迅速熟悉r a b b i t 。与s x 系列不同,它没 有预存t c p i p 协议的片内存储器,而是采用外挂存储器的方式,这样就简化了硬件 结构,降低了成本。由于采用了1 6 位到2 0 位的地址映射和片外存储器( 包括r a m 和f l a s h ) ,它可以支持多达1 m 的程序指令,这就使编译后的比较庞大的t c p i p 程序得以运行。 同时,为了降低软件开发的难度,r a b b i t 与z w o r l d 担公司合作开发了的d y n a m i c c 集成斤发环境作为其软件开发工具。结合r a b b i t 强大的处理能力和d y n a m i cc 优 良的开发能力,除了使r a b b i t 能够完成传统的单片机的任务,还能够轻松完成基于 t c p i p 协议的一系列应用,例如作为w e b 服务器或f t p 服务器,从而使该单片机 具有了接入i n t e m e t 的能力。为该单片机的提供了更广阔的应用。 这个方案的优点是直接将单片机系统与i n t e m e t 相连。可以使用p c 机通过 i n t e r n e t 远程访问单片机系统;也可以使用单片机系统将信息通过i n t e r a c t 发送到远 程p c 或其它终端上。但是要求工程师必须熟悉t c p i p 协议和相关接口,软件设计 量较大。另外每个电子设备都需要一个伊地址,需要扩充i p 协议才能得到更好的支 持。 3 m c u + e m i t 协议+ e m g a t e w a y 。 【二面曾提到利用e w a r e 公司开发的e m i t 技术,该方案在应用系统的m c u 的内 部使用e m n e t 协议,再通过e m g a t e w a y 与i n t e n e t 相连。e m g a t e w a y 网络软件可以 安装在p c 、t v 机顶盒或专用的家用电器服务器中。它支持t c p i p 协议并运行h t f p 服务程序,作为用户可以通过网络浏览器远程访问服务器。e m g a t e w a y 通过r s 2 3 2 、 r s 4 8 5 、c a n 、红外及射频等通信方式与多个嵌入式设备相连。每个嵌入式设备的 华中科技大学硕士学位论文 2 2 2 。2 5 2 ;2 2 4 5 尹_ i i _ _ 目_ l i _ - - _ l - - _l _ _ _ l _ _ _ 应用程序包含一个独立的通信任务,成为e m m i c r o ,监测嵌入式设备中预先定义的 各个变量,并将结果反馈到c m g a t c w a y 中,同时e m m i c r o 还能解释c m g a t c w a y 的命 令,修改设备中的变量,或进行某种控制。为了完成网络连接,t i n w a r e 公司开发了 大量软件来建立访问和控制m c u 的应用程序接口,可以用于不同的设备中。e m m i c r o 和e m g a t e w a y 起为嵌入式设备提供了i n t c r n c t 功能。 由于复杂的网络协议是通过c m g a t c w a y 在p c 机上实现的,应用系统只使用较 简单的e m n c t 协议,因此对m c u 的要求比较低。但应用系统设计工程师必须熟悉 c m n e t 协议和相关的接口,原来客户应用系统的m c u 也不一定符合要求,并且软硬 件的设汁的工作量仍然较大。同时,应用系统的单片机处理c m n c t 协议要占用一部 分系统资源。 以七三种方案适用于不同的产品和不同的应用环境。例如,机顶盒或掌上电脑 等对功能要求较高的可以采用方案1 :空调和家用报警器等使用8 位m c u 的产品可 以选择方案2 :如果有p c 可用作网关,又想选择低档m c u 以降低成本,可以选择 方案3 。由于远程抄表系统的数据量不大、实时性要求也不高,可以考虑选择方案2 和方案3 ,但是它们都需要购买第三方的开发板和软件开发包,开发成本较高,所以 在本课题中采用廉价的5 1 单片机取代了专用m c u ,并且自主开发网络芯片驱动程 序和t c p i p 协议程序,大大降低了系统开发的成本。 1 3 课题的基本任务 本课题来源于深圳江机实业有限公司。本实验室在此之前已经开发出基于电话 线的远程抄表系统。为将其改造成基于以太网的远程抄表系统,进一步提高系统性 能,并有利于系统维护和升级。本课题有两个基本任务:完成以太网采集器的开发、 设计远程抄表软件,具体包括以下主要功能: 1 以太网采集器兼容原有的抄表模块,支持原系统绝大部分的功能,如设置各 用户表号,手动抄表等等。 2 以太网采集器具有以太网接口,支持常见的t c p i p 协议。 3 以太网采集器只需简单设置l p 地址和网关地址,就可以跨多个网段与多个抄 表主机通信。 4 华中科技大学项士学位论文 能。 4 在兼容原抄表协议的基础上,设计新的更加灵活有效的应用层协议。 5 抄表软件可以安装在虚拟主机( 1 p 地址是虚拟的) 上,拓展了系统的网络功 5 华中科技大学硕士学位论文 = = ;= ;= l 目目目_ 目 l = _ - _ _ _ _ _ - _ _ _ _ - _ _ - - - - l - _l - - _ _ _ - 2 系统的总体方案设计 这一章主要介绍系统的总体框架设计、方案设计及关键技术。 2 1 系统总体框架 为了测试不同网段的采集器和抄表主机的通信,系统实验网络包括两个c 类地 址( 即网络掩码为2 5 5 2 5 5 2 5 5 0 的地址) 网段,分别是2 1 1 6 9 2 0 6 x 和2 1 1 6 9 2 0 7 x 网段。系统的总体框架如图2 1 所示。 图2 - 1 系统总体框架 整个系统由电能表、以太网采集器、联网设备( 包括h u b 、网关和交换机) 以及 抄表主机组成。下面分别介绍系统的各个组成部分: 1 电能表 电能表主要是指具有r s 4 8 5 输出接口的全电子表,包括威胜表、兰吉尔表和江 6 华中科技大学硕士学位论文 = = = = ;= ;_ 自z l = - _ 目目_ 自_ _ _ _ _ l - _ _ _ l - _ - _ _ _ - i l - _ l - _ _ 北表等等。 2 以太网络采集器 以太网采集器具有l 路1 0 m 以太网接口( 1 0 b a s e t ,r j 4 5 ) ,2 路r s 4 8 5 接口。 采集器有两路r s 4 8 5 接1 :3 ,可分别接l 3 2 块不同种类的三相全电子表,支持t c p i p 协议中的部分子集,可以通过以太网接口将数据远传至抄表主机。 3 联网设备 联网设备包括各种类型的以太网型网关交换b i j h u b ,交换机和h u b 主要用于网 络容量的扩展和通信距离的增加,网关主要用于i p 层的协议转换、i p 包的路由和过 滤等。 4 抄表主机 抄表主机运行与以太网络采集器配合使用的以太网远程抄表软件,该软件有完 善的抄表计费管理功能,可实现用户资料的管理、采集器设备的安装、采集器参数 的设置和读取、抄读采集器的表数、实时抄表、自动采集用户数据等功能。 2 2 系统方案设计 本系统是实验室在嵌入式i n t c r n c t 应用系统方面的初步尝试,所以在进行系统方 案设计时充分考虑了以下原则: 1 可靠性:系统能够运行在各种复杂的网络环境下,即使在网络繁忙的时候,所 有远程抄表功能也能正常进行。 2 灵活性:易于系统的改造和系统的重新配置。 3 经济性:在满足应用需求的基础上尽可能降低造价。 4 扩展性:为将来系统的扩充留有充分余地。 基于以上考虑,系统的各组成部分的设计方案如下: 1 以太网采集器的硬件设计方案。 在以太网采集器中采用两片a t 8 9 c 5 2 搭配8 位网络接口芯片的方案。一片作为 抄表单片机,负责r s 4 8 5 抄表网络的通信以及抄表协议的解析,另一片作为网络接 口芯片的控制器以及t c p i p 协议的处理器,两个单片机之间通过双日r a m 进行通 信。劂络接口芯片则采用商性能价格比的r t l 8 0 1 9 a s 。这种灵活的双机并行结构有 华中科技大学项士学位论文 = = = = ;j 自目j - 目i _ l - - - _ - - _ _ _ _ - _ _ _ _ - - i _ _ _ _ - _ _ _ _ _ 利于系统的开发调试和系统的升级改造,同时大大降低了系统的成本。 采集器向下通过r s 4 8 5 接口与三相电子表相连,可按照电力部d i _ t6 4 5 1 9 9 7 通信规约的抄收尖、峰、平、谷4 种时段的电量数据。对于各种脉冲电表的抄收, 需要添加前端脉冲采集模块。 2 t c p i p 通信协议的设计方案。 如何实现抄表主机与网络采集器之间实现t c p i p 协议通信是本课题的重点。 t c p i p 协议是i n t e r n e t 上的一个十分复杂的协议集,包括应用层、传输层、网络层和 链路层几十个子协议,它的n e 们版本在u n i x 系统上的完整实现大约需要1 5 0 0 0 行 c 语言源代码,在w i n d o w s 系统上的实现则需要更多的代码。由此可见,t c p i p 协 议的完整实现对于目标系统的处理速度和存储器容量有着很高的要求。 在本系统中,针对抄表主机和网络采集器不同的系统结构特点,采用不同的 t c p i p 协议实现方式。由于抄表主机是p c 系统,处理器速度快,内存容量大,并 且运行着w i n d o w s 高级操作系统,其内核包含t c p i p 协议的完整实现,因此编写 t c p i p 网络应用程序只需要调用w i n d o w s 下的网络接口函数( w i n s o e k a p i ) 即可。 网络采集器是一个8 位单片机系统,处理速度和存储容量都十分有限,而且没 有操作系统支持。所以在协议的选用方面,网络采集器共实现了4 种t c p i p 协议: a r p 坍议、i p 协议、i c m p 协议和u d p 协议。a r p 协议、l p 协议和i c m p 协议属于 网络层协议,a r p 协议负责网络地址和物理地址的转换,i p 协议是t c p i p 的核心协 议,i c m p 协议用于系统的诊断和调试。u d p 协议属于传输层。u d p 是简单的面向 数据报的传输层协议,与t c p 协议相比,u d p 协议通信双方事先无须建立连接,没 有流量控制和超时重传机制,实现简单,对系统资源的消耗不到t c p 的十分之一, 比较适合于性能较弱的8 位单片机系统。 在协议的实现方面,由于t c p i p 协议采用分层结构,因此抄表数据报文也采取 分层封装的方法,如图2 2 所示。 3 抄表软件的设计方案。 抄表主机上的抄表软件基于w i n s o c k 网络通信技术设计,其核心是一个u d p 通 信程序,它向网络采集器发送u d p 抄表命令,然后处理和显示返回的抄表数据。程 序分为两个线程,主线程负责用户界砥的输入和显示以及辅助线程的启动和停止, 8 华中科技大学硕士学位论文 ;目_ 目i 自;- _ _ _ _ _ - _ l _ _ _ - _ l l _ l _ _ _ - _ l - _ _ _ l 辅助线程负责在指定端口监听和接收数据。 囤 臣亘眄唧 图2 - 2 数据报文封装格式 2 3 系统关键技术 i p e t h 系统的关键技术有: 1 采集器端以太网接口的实现。包括选用何种n i c ( 网络接口芯片) 、接口电路 设计、接口芯片驱动程序的实现以及以太网协议的实现。 2 采集器端t c p i p 协议的选用。t c p i p 协议发展到今天,已经成为一个十分 庞大的协议族。由于5 1 单片机的性能所限,不可能将所有的协议及其全部功能都嵌 入到本系统中,所以,如何针对本系统的结构和特点,选用合适的t c p i p 协议,以 及如何实现这些协议都是必须解决的关键问题。 9 华中科技大学硕士学位论文 3t c p i i p 通信协议的选择与实现 如何针对系统的硬件结构设计灵活可靠的通信协议是本课题的重点之一。 t c p i p 协议是目前使用最广泛的开放式网络通信协议族,由许多不同层次的子协议 组成。限于硬件功能有限,系统不可能也没有必要实现所有的t c p i p 协议,同时对 于使用的协议,根据具体应用,也作必要的简化。本系统采用c 5 1 语言编程,在5 1 单片机中嵌入了一个小型的基于以太网接口的t c p i p 协议子集( 包括a r p 、i c m p 、 i p 、u d p 等) ,并参考了实验室原有的抄表协议。本章首先介绍t c p i p 协议,然后 结合远程抄表系统,分别阐述嵌入式t c p i p 协议栈中链路层、网络层、传输层、应 用层的实现。 3 1t c p i i p 协议概述 t c p i p 协议是计算机网络的祖父a r p a n e t 和其后继的因特网使用的网络协议。 a r p a n e t 是由美国国防部d o d ( u s d c , p a r t m c n to f d d e m e ) 赞助的研究网络。逐渐地 它通过租用的电话线连结了数百所大学和政府部门。当无线网络和卫星出现以后, 现有的协议在和它们相连的时候出现了问题,所以需要一种新的参考体系结构。这 个体系结构在它的两个主要协议出现以后,被称为t c p i p 参考模型( t c p i p r c f e r e n c e m o d e l ) 。模型结构如图3 - l 所示。由于国防部担心他们一些珍贵的主机、路由器和互 联网关可能会突然崩溃,所以网络必须实现的另一目标是网络不受予网硬件损失的 影响,已经建立的会话不会被取消,而且整个体系结构必须相当灵活。 应用层 传输层 网络层 链路层 图3 - 1t c p i p 模型 t c p i p 参考模烈共有四层:应用层、传输层、网络 层和链路层。 与o s i 参考模型相比,t c p i p 参考模型没有表示层 和会话层。链路层相当于o s l 模型中的物理层和数据链路 层。 l 链路层 链路层也叫网络接口层,负责把t c p i p 包放入网络介质上并且从网络介质上接 华中科技大学项士学位论文 ;= l _ _ _ j _ _ _ - - - _ i _ l l i _ _ _ _ l l - _ _ _ - i l _ _ - - _ _ l _ - _ - _ _ l i l _ 收t c p i p 包,t c p i p 被设计为与网络存取方法、帧格式和介质无关。这样,t c p f l p 就能用来连接异种类型网络,包括像以太网和令牌环网技术为基础的局域网和以 x 2 5 和帧中继技术为基础的广域网。独立于任何特定网络的技术使t c m p 具有类似 于a t m ( a s y n c h r o n o u s t r a n s f e rm o d e ,异步传输模式) 这样的新技术的能力。 网络接口层包含了o s i 模型中的数据链路层和物理层。注意,网际网层不使用 像队列和确认这样可能出现在数据链路层( 对应于o s i 模型) 中的服务。单凭网络 接口层不能提供可靠链接,通过会话可建立可靠链接,而数据包的队列和确认都是 传输层的任务。 2 网络层 网络层( i n t e r n e tl a y e r ) ,也可以叫做网际网层。它是整个体系结构的关键部分。 它的功能是使主机可以把分组发往任何网络并使分组独立地传向目标( 可能经由不 同的则络) 。这些分组到达的顺序和发送的顺序可能不同,因此如果需要按顺序发送 和接收时,高层必须对分组进行排序。 网络层负责寻址、打包和路由工作。网络层的核心协议是i p 、a r p 、1 c m p 以及 i g m p 协议( 如图3 2 所示) : 网际网协议( i p ) 是一种负责i p 路由以及分解和重组数据包的可路由的协议。 地址解析协议( a r p ) 负责将网际网层地址( i p 地址) 解析到网络接口层地址, 例如一个硬件地址。逆地址解析协议( r a r p ) 主要用于网络上无盘工作站的启动。 i g - pi 叫p 网 络i p 层 a r pr r p 幽3 2 网络层协议 网际控制报文协议( i c m p ) 负责对i p 包的失败发送进行诊断并且报告错误。 网际组管理协议( i g m p ) 用于主机和路由器的多插通信。 网络层类似于o s i 模型的网络层。 3 传输层 位于网络层上的那一层,通常称为传输层( t r a n s p o r tl a y e r ) 。它的功能是使源端 n 华中科技大学硕士学位论文 ;= 日目_ - _ _ - l - _ _ _ - _ _ _ _ _ _ - - - _ _ - _ _ _ i _ _ - _ l _ _ - _ - l 和目标主机上的对等实体可以进行会话。在这一层定义了两个端到端的协议。一个 是传输控制协议t c p ( t r a n s m i s s i o nc o n t r o lp r o t o c 0 1 ) ,它是一个面向连接的协议, 允许从一台机器发出的字节流无差错地发往另一台机器。它将输入的字节流分成报 文段并传给网络层。t c p 还要处理流量控制,以避免快速发送方向低速接收方发送 过多的报文而使接收方无法处理。 另一个协议是用户数据报协议u d p ( u s e r d a t a g r a mp r o t o c 0 1 ) ,它是一个不可靠 的、无连接的协议,用于不需要t c p 排序和流量控制能力而是自己完成这些功能的 应用程序。i p 、t c p 和u d p 的关系如图3 3 所示。自从这个模型出现以来,i p 已经 在其它很多网络上实现了。 屡名 应用曩 传输屡 互联网晨 物理撒据- i 路 豳3 - 3i p 、t c p 利u d p 的关系圈 4 应用层 在t c p i p 模型的最上层是应用层( a p p l i c a t i o nl a y e r ) ,它包含所有的高层的协议。 高层协议有:虚拟终端协议t e u 咂t 、文件传输协议f i v 、电子邮件传输协议s m t p 、 域名系统服务d n s 、网络新闻传输协议n n t p 和h t t p 协议。 虚拟终端协议t e l n e t :允许一台机器上的用户登录到远程机器上并且进行工 作。 文件传输协议f f p ( f i l et r a n s f e rp r o t o c 0 1 ) :提供有效地将数据从一台机器上移 动到另一台机器上的方法。 电子邮件协议s m t p ( s i m p l em e s s a g e t r a n s f e rp r o t o c 0 1 ) :最初仅是一种文件传输, 但是后来为它提出了专门的协议。 域名系统服务d n s ( d o m a i nn a m es e r v i c e ) :用于把主机名映射到网络地址。 超文本传输协议h t r p ( h y p e r t e x t t r a n s f e rp r o t o c 0 1 ) ;用于在万维网( w w w ) 上获取主页等。 3 2 嵌入式t c p i p 协议栈的特点 嵌入式单片机系统与p c 机的t c p i p 实现有很大不同。嵌入式单片机系统直接 面对硬件,没有一个多任务操作系统平台,m c u 中的程序结构一般是顺序执行和硬 件中断相配合的方式,与高级操作系统中的多线程并发执行的方式截然不同。在高 级操作系统中,对网卡的驱动采用中断方式,中断与软中断、消息机制等相结合。 运行时以分时为基础,进行动态优先级调度,同时由于p c 机具有相对极快的运算速 度,使t c p i p 调用处理时间很短,从而能对网络通信作出及时响应,网卡的接收缓 冲区几乎不可能出现溢出的情况,同时操作系统还能对其它任务线程作出响应。而 嵌入式单片机的时钟频率低,地址、数据总线窄,对一个i p 包的处理要花更多的处 理器时间,势必影响其他中断和任务的执行。比如:当系统中有实时数据采集、串 门通信中断、键盘中断等实时任务,则造成很大冲突。故设计时通过合理划分中断 处理程序,使中断处理程序尽可能短,从而使这些任务执行时间较短,而将无实时 要求和费时的处理移到主程序中执行。把t c p i p 的处理放在主程序顺序循环中,对 网络接口控制芯片的控制采用查询式,在其它中断任务的执行间隙处理t c p i p 协议, 以牺牲响应时间来换取系统可靠性。由于处理不及时,会出现溢出、丢包的情况, 必须依靠协议本身的机制保证可靠传输。 u n i x 等操作系统的存储管理策略能有效进行内存管理与分配,t c p i p 在实现 时可以不考虑内存大小的问题,比如缓冲区的处理上,m b u f 、t c b 等数据结构是一 个存储链,这个链可以动态地增加和减小,根据需要随时分配,随时撤消。而在嵌 入式系统中存储空间一般只有几十k b ,比如i n t c l 的8 位单片机8 9 c 5 2 的寻址空问 只有6 4 k b 。在设计时不但要考虑程序代码本身大小,还要仔细考虑缓冲区的设置。 一个最大的以太网数据包有1 5 0 0 多个字节,而嵌入式系统只能提供几十k 的存储空 问,并要被各个协议所用,所以只能开辟1 5 3 6 个字节的缓冲区来存放接收到的数据 包,收到一包就处理一包,其存储空间是固定的,而不是动态分配的。 华中科技大学硕士学位论文 自_ _ - _ _ _ _ _ - - _ _ - i - _ _ l _ _ - _ - _ _ i _ i - - l _ - _ _ _ _ 3 3 嵌入式t g p i p 协议栈的实现 在高级操作系统中可支持比较完整的t c p i p 协议族,但在5 1 单片机系统中大 多都很难做到,也不需要做到。根据远程抄表系统数据量小、可靠性要求不高的特 点,本系统只实现t c p i p 协议的一个子集,相应的协议处理流程如图3 - 4 所示。 幽3 4t c p i p 协议处理流程 1 在网络层实现a r p 、i p 、i c m p 协议。a r p 协议主要完成网络地址( i p 地址) 与以太网物理地址的转换,包括a r p 请求和应答。i p 协议是t c p i p 协议族中最核 一t l , 的协议,其具体实现非常复杂,包括i p 转发和路由、i p 分片与重装以及l p 选项 处理等,本系统中采集器作为网络终端,只实现了其中的i p 转发和分片功能。i c m p 协议负责对l p 包的失败发送进行诊断并且报告错误,主要用来提供p i n g 服务。 2 在传输层实现u d p 协议。u d p 协议是无连接的传输层协议,与t c p 协议相比, 使用该协议传输数据时通信双方无需事先建立连接,因而实现起来比较简单、传输 速度也比较快,特别适合以太网通信。使用u d p 协议可以减轻系统的负担,使采集 器能更快地对发自上位机的指令做出响应,完成采集和控制任务。 1 4 华中科技大学硕士学位论文 ;= = ;= = = i ;= = ;= = _ _ = l a _ _ - - _ _ _ - _ _ - _ _ - _ _ _ _ l _ _ l _ _ _ _ _ l _ 3 应用层接收经过u d p 协议解析的抄表数据,由抄表协议对这些数据作进一步 处理。 3 3 1 a r p 地址解析协议 以太网上的每一个设备有唯一的4 8 位的物理地址( p h y s i c a la d d r e s s ) ,有时被称 为硬件地址或数据链路地址。以太网上的设备是通过物理地址相互通信的。典型的 以太网帧( 准备好网络发送的报文) 如图3 5 所示,单位为字节。 目的地址源地址类型数据c r c 6624 6 1 5 4 圈3 - 5 以太网帧格式 前1 2 个字节称为以太网首部。目的地址和源地址分别是接收方和发送方的物理 地址。类型域用于标识使用的协议类型。实际数据( 由t c p i p 组装的数据报) 跟在 类型域后面。对标准以太网而言,数据域在4 6 和1 5 0 0 字节之间。如果数据小于4 6 字节,则补零直到4 6 字节。以太网数据帧的最后是循环冗余校验( c y c l i cr e d u n d a n c y c h e c k ,c r c ) ,用于检测帧的内容在传输过程中有没有被改变。 在以太网上把报文从一台机器发送到另一台机器,如果不知道目的机器的物理 地址就会发生问题。为了解决这个问题,开发了地址解析协议( a r p ) 。a r p 的任务 是把i p 地址转化成物理地址,这样做就消除了应用程序需要知道物理地址的必要性。 a r p 请求和应答分组的格式如图3 - 6 所示,单位为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东汉语自考试题及答案
- 理财从业考试题及答案
- 老师招考试题及答案
- 课件昆虫边框模板
- 客车直播考试题及答案
- 考研美术考试题及答案
- 康复语言考试题及答案
- 铌碳还原火法冶炼工特殊工艺考核试卷及答案
- 塑料压延工专项考核试卷及答案
- 经管考试题目及答案
- GB/T 5563-2013橡胶和塑料软管及软管组合件静液压试验方法
- GB/T 3600-2000肥料中氨态氮含量的测定甲醛法
- GB/T 24218.1-2009纺织品非织造布试验方法第1部分:单位面积质量的测定
- 电商客服培训考试
- 仿生科技课件
- 医师多点执业注册申请表
- 《边坡稳定性分析》课件
- 刮板输送机-课件
- 深信服防火墙技术方案
- 福建省福州市各县区乡镇行政村村庄村名明细及行政区划代码
- 临床医学晕厥课件
评论
0/150
提交评论