(检测技术与自动化装置专业论文)嵌入式无线工业监控设备中通信模块的研究与实现.pdf_第1页
(检测技术与自动化装置专业论文)嵌入式无线工业监控设备中通信模块的研究与实现.pdf_第2页
(检测技术与自动化装置专业论文)嵌入式无线工业监控设备中通信模块的研究与实现.pdf_第3页
(检测技术与自动化装置专业论文)嵌入式无线工业监控设备中通信模块的研究与实现.pdf_第4页
(检测技术与自动化装置专业论文)嵌入式无线工业监控设备中通信模块的研究与实现.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(检测技术与自动化装置专业论文)嵌入式无线工业监控设备中通信模块的研究与实现.pdf.pdf 免费下载

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

文档简介

嵌入式无线工业监控设备中通信模块的研究与实现 摘要 在工业现场环境下,监控设备与i n t e r a c t 相结合,可使本地计算机通过 i n t e m e t 网络,实现对远程终端进行监视和控制,完成对分散控制网络的状 态监控及设备的诊断维护等功能。无线通信技术增强了工业监控设备的移动 性,提高了监控设备的易用性和可用性。 首先,针对工业监控系统中数据传输的实时性要求,对t c p i p 协议作 如下实时性方面的研究:建立数据缓冲池,应用数据缓冲区采用“申请使 用一归还弦的模式,减少申请、释放缓冲区所用时间;采用拆分应用层数据 包操作,避免了在数据包分包时重新分配缓冲区和复制数据以及重新计算校 验和占用很多c p u 时间;优化t c p 缓冲区,提高了系统的数据传输能力。 同时,编写测试代码,对t c p i p 进行性能测试。实验结果表明,当传输较 大数据包和网络负载较大时,t c p i p 处理数据速度都有明显提高,协议性 能有了较大改善,使得t c p i p 协议能更好满足其在工业领域的实时性要 求。 同时,本文选用w l a n 技术作为工业监控设备的无线通信技术。实现 嵌入式平台的w l a n 无线网络通信功能,主要工作包括:编写w l a n 无线 网卡驱动程序;编写m a k e f i l e 文件:修改代码将u s b 协议驱动移植到 p x a 2 7 0 目标平台上;对驱动程序进行交叉编译,并动态加载于嵌入式平台 上。同时在开发过程中,研究并解决了以下两个问题:o h c i 驱动中存在的 u r b 请求等待问题和根h u b 驱动中存在的死锁问题,最终使得无线网卡应 用程序配置工具可正常运行,网卡可以正常热插拔。 通过以上工作,提高了t c p i p 协议处理数据的速度,满足了工业领域 的实时性要求,同时成功地实现了工业监控设备以w l a n 无线通信方式接 入i n t e m e t 网络,提高了监控设备的易用性和可用性。 关键词工业监控:嵌入式系统;w l a n ;t c p i p 哈尔滨理工大学t 学硕:e 学位论文 r e s e a r c ha n dr e a l i z a t i o no fc o m m u n i c a t i o n m o d u l ei nt h ee m b e d d e dw i r e l e s si n d u s t r i a l m o n i t o r i n gd e v i c e a b s t r a c t w i t hi m e m e tt h el o c a lc o m p m e rc a l lm o n i t o ra n dc o n t r o lt h el o n g d i s t a n c e t e r m i n a la n dt a k eo nt h ef u n c t i o no fm o n i t o r i n gt h es t a t u so ft h ed i s p e r s e d d e v i c e sa n dd i a g n o s i n gt h e m m e a n t i m e ,w i t hw i r e l e s sc o m m u n i c a t i o nt h e m o v e a b l em o n i t o r i n gd e v i c e sc a nb eu s e de a s i e r f i r s t l y ,b yt h ea n a l y s i so ft h er e a l t i m er e q u e s ti nt h ei n d u s t r i a lm o n i t o r i n g s y s t e m ,s u m m i n gu pt h es h o r t a g e so ft r a d i t i o n a lt c p i pi nr e a l t i m e ,t h ep a p e r r e s e a r c h e so ft h et c p i pp r o t o c o li nt h e s ea s p e c t s :e s t a b l i s h i n gt h ed a t ab u f f e r p o o la n da d o p t i n gt h em o d eo f “a p p l y u s e - r e t u r n ”,w h i c hr e d u c e st h et i m eo f a p p l y i n ga n df r e e i n gt h eb u f f e r ;s p l i t i n gt h ed a t ap a c k e ti nt h ea p p l i c a t i o nl a y e r , w h i c hr e d u c e st h ec p uw o r kt i m e ;o p t i m i z i n gt h et c pb u f f e rw h i c hi m p r o v e st h e t c p i pi nt r a n s f e r r i n gd a t a b a s e do nt h et e s tr e s u l t t h em e t h o dt h ep a p e r d i s c u s s e da b o v er a i s e dt h es p e e do fd e l i v e r i n gt h et c p i pd a t aa n ds a t i s f y st h e r e a l t i m er e q u e s ti nt h ei n d u s t r i a lm o n i t o r i n gs y s t e m t h ep a p e rr e a l i z e st h ew l a no nt h ee m b e d d e dp l a t f o r r n t h em a i nw o r ki s : t r a n s p l a n t i n gt h eu s bp r o t o c o lo nt h ep x a 2 7 0p l a t f o r m ,c o m p i l i n gt h em i k e f i l e , c o m p i l i n gt h en e wd r i v e r ,l o a d i n gt h ec a r dd r i v e rd y n a m i c l yo nt h ee m b e d d e d p l a t f o r m m e a n w h i l e ,t h ep a p e rs o l v e dt h eu i 也r e q u e s tw a i t i n gp r o b l e mi nt h e o h c id r i v e ra n dd e a d l o c kp r o b l e mi nt h eh u b c a n df i n a l l ym a d ea p p l i c a t i o n a n d t h ew i r e l e s sn e t w o r kc a r dw o r kn o r m a l l y b a s e do nt h ef o r w a r dw o r k ,t h em e t h o dt h ep a p e rd i s c u s s e dr a i s e dt h es p e e d o fd e l i v e r i n gt h ed a t aa n d s a t i s f y s t h er e a l - t i m er e q u e s ti nt h ei n d u s t y m e a n t i m e ,t h ei n d u s t r i a lm o n i t o r i n gs y s t e mr e a l i z e dt oc o n n e c tt oi n t e r n e tb y w l a na n dm a d et h em o n i t o r i n gd e v i c em o r eu s a b l e h 哈尔滨理丁大学工学硕 :学位论文 k e y w o r d s i n d u s t r i a lm o n i t o r i n gs y e t e m ,e m b e d d e ds y s t e m ,w l a n ,t c p i p 1 i i - 哈尔滨理工大学硕士学位论文原创性声明 本人郑重声明:此处所提交的硕士学位论文嵌入式无线工业监控设备 中通信模块的研究与实现,是本人在导师指导下,在哈尔滨理工大学攻读 硕士学位期间独立进行研究工作所取得的成果。据本人所知,论文中除已注 明部分外不包含他人已发表或撰写过的研究成果。对本文研究工作做出贡献 的个人和集体,均已在文中以明确方式注明。本声明的法律结果将完全由本 人承担。 作者签名: 罐胥 卜工一 日期:2 0 0 8 年3 刷细 哈尔滨理工大学硕士学位论文使用授权书 嵌入式无线工业监控设备中通信模块的研究与实现系本人在哈尔滨 理工大学攻读硕士学位期间在导师指导下完成的硕士学位论文。本论文的研 究成果归哈尔滨理工大学所有,本论文的研究内容不得以其它单位的名义发 表。本人完全了解哈尔滨理工大学关于保存、使用学位论文的规定,同意学 校保留并向有关部门提交论文和电子版本,允许论文被查阅和借阅。本人授 权哈尔滨理工大学可以采用影印、缩印或其他复制手段保存论文,可以公布 论文的全部或部分内容。 本学位论文属于 保密口,在年解密后适用授权书。 不保密囹 ( 请在以上相应方框内打) 作者签名: 导师签名: 秀讫 节f 轧 日期:2 0 0 8 年3 月钼 日期:2 0 0 8 年3 月伯 哈尔滨理t 大学工学硕士学位论文 第1 章绪论 当今计算机行业的发展己经进入了后时代,嵌入式设备与系统己经渗透到 了工业控制、网络通信、家用电器、汽车电子、移动电话与手持设备、信息安 全等重要领域。由于具有体积小、能耗低、可移动以及实时性好等优势,嵌入 式系统发挥着其他计算机系统所不能替代的作用。工业远程监控就是嵌入式系 统最大的应用领域之一,它对于高可靠性和高实时性的要求要明显高于其他类 型的嵌入式系统。 随着计算机网络技术的飞速发展,网络化使远程观测、远程信息反馈、远 距控制、复杂市场的多方面跟踪监测成为可能,工业社会时代的流水线生产方 式将被设计研制、施工生产、销售一体化的生产方式所取代。网络化远程监 控,使远程监控技术发展到一个新的阶段,研究基于无线网络技术的嵌入式工 业远程监控系统更是一个新的课题,有着广阔的发展前景。 1 1 嵌入式系统的发展状况 嵌入式系统是将先进的计算机技术、半导体技术、电子技术和各个行业的 具体应用相结合后的专用计算机系统。它是以应用为中心、以计算机技术为基 础、软件硬件可裁剪,具有功能强、可靠性高、成本低、体积小、功耗小的特 点n 1 。嵌入式系统将操作系统和功能软件集成于计算机硬件系统之中,简单的 说就是系统的应用软件与系统的硬件一体化,类似于b i o s 的工作方式,还具 有软件代码小,高度自动化,响应速度快等特点。特别适合于要求实时的和多 任务的体系。 综观嵌入式技术的发展,大致经历了以下四个阶段: 第一阶段是以单芯片为核心的可编程控制器形式的系统,该系统具有与监 测、伺服、指示设备相配合的功能,主要应用于一些专业性极强的工业控制系 统中。它没有操作系统的支持,通过汇编语言编程对系统进行直接控制,运行 结束后清除内存。在这一阶段,系统的主要特点是:系统结构和功能都相对单 一,处理效率较低,存储容量较小,几乎没有用户接口。由于这种嵌入式系统 使用简便、价格很低,以前在国内工业领域应用较为普遍,但是己经远远不能 适应高效的、需要大容量存储介质的现代化工业控制和新兴的信息家电等领域 哈尔滨理_ 亡大学工学硕十学位论文 的需求。 第二阶段是以嵌入式c p u 为基础、以简单操作系统为核心的嵌入式系 统。这一阶段系统的主要特点是:c p u 种类繁多,通用性比较弱:系统开销 小,效率高;操作系统具有一定的兼容性和扩展性,应用软件较专业,用户界 面不够友好。该系统主要用来控制系统负载以及监控应用程序运行。 第三阶段是以嵌入式操作系统为标志的嵌入式系统。这一阶段系统的主要 特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操 作系统内核精小、效率高,并且具有高度的模块化和扩展性;具备文件和目录 管理、设备支持、多任务、网络支持、图形窗口以及用户界面功能;具有大量 的应用程序接口,开发应用程序简单;嵌入式应用软件丰富。 第四阶段是以基于i n t e r a c t 为标志的嵌入式系统,这是一个正在迅速发展 的阶段。目前大多数嵌入式系统还孤立于i n t e m e t 之外,但随着i n t e m e t 的发展 以及i n t e m e t 技术与信息家电、工业控制技术等结合日益密切,嵌入式设备 i n t e m e t 的结合将代表着嵌入式技术的真正未来。 1 2 嵌入式工业监控系统接入i n t e m e t 技术 1 2 1 将工业监控设备接入i n t e m e t 的意义 由于目前运行的绝大多数分布式监测系统还只是在局域网上,通常的测控 仅局限于同一地点,所以具有一定的地域局限性。i n t e m e t 能实现资源的共 享,从而使人们有能力解决以前在极有限的资源下很难解决的问题,为远程监 控系统的发展提供了有利的条件。通过接入i n t e m e t ,可以在i n t e m e t 网络到达 任何地区实现对设备的远程控制、远程维护等操作。远程监控是本地计算机通 过网络系统,如i n t e m e t ,对远端进行监视和控制,完成对分散控制网络的状 态监控及设备的诊断维护等功能。一般地,将监控系统接入i n t e m e t 还具有如 下优点: 1 所能传输的数据信号,不必再局限于单一的数据信息,传递包括声音、 图像在内的多媒体信息也将得到支持担1 ; 2 由于通信协议的公开性,可以开发一些通用的应用程序来读取信息: 3 相同的数据信息对于不同的用户将会产生不同的需要,如运行人员主要 用于监视与控制系统正常运行、管理人员将根据收集到的信息进行决策等。因 此用户可以根据各自的需要定义不同的视图界面,有利于进行显现和操作; 哈尔滨理工大学t 学硕上学位论文 4 数据传输的速度以及传输质量得到了进一步的提高和保证。 1 2 2 嵌入式工业监护设备接入i n t e m e t 的关键问题 i n t e r a c t 通信协议对计算机系统的c p u 速度、存储器容量等要求比较高, 用于p c 系统不存在任何困难,但是由于嵌入式系统的专用性,我们必须根据 具体需要,合理选择通信协议的实现和处理方案。工业测控系统需要保证数据 传输的可靠性,一般采用t c p 协议。同时为了能满足工业控制信号传输的实时 性,必须要求t c p i p 协议对传输数据信息进行高速的处理。因此,在本文中针 对工业监控系统的要求,将对t c p i p 协议做进一步实时改进。 1 3 国内外发展与研究现状 1 3 1t c p i p 协议的研究现状 t c p i p 目前成为了i n t e m e t 事实上的工业标准,由于基于t c p i p 的广泛 应用,t c p 佃的网络体系逻辑结构不能改变,即从网络编程者及基于t c p 佃 的应用模型不能改变。对网络性能的实时性研究,国内外学者大多集中于对 t c m p 协议语法和算法的研究,拥塞控制和流量控制等口一1 算法,如国内西北 工业大学龚冰在其硕士毕业论文嵌入式实时网络通信技术研究中设计了一 层基于r 1 r c c 协议的网络通信中间件消除传输介质访问冲突,达到实时性改造 的目的哺1 ,但是基于t c p i p 协议语法和算法的实时性研究较为复杂。 1 3 2 用于监控系统的通讯方式的发展与研究现状 1 3 2 1 目前用于监控系统的各种通讯方式国内外监控系统产品以及目前正 在研究的各种工业监控系统中采用的通信方式,一般可分为有线通讯方式,电 台方式,g m s 短消息通信方式,g p r s 通信方式7 1 。 1 有线通讯方式有线通讯方式是指通过架设光缆、铺设电缆、租用专用 电话线或公众电话网进行监控终端与监控中心间的数据传输的方式m 1 。目前有 线通讯方式主要应用在楼宇火灾自动报警监控联网系统和一些工业现场小范围 的监控系统中。 2 电台方式采用电台传输方式是指监测系统通过调制解调器把采集到的 数字信息转换成音频信号,通过特定频率的电台发射出去,接收端解调恢复原 哈尔滨理工大学t 学硕士学位论文 来的信号的方式嘲。电台传输方式是传统上无线监控系统应用最广泛的的通讯 方式。 3 g s m 短消息通讯方式g s m 短消息通讯方式是指充分利用移动公网资 源,通过g s m 通信模块发送和接收有限长度的文本信息,实现对远程设备的 监控的通信方式n 训。相对集群通讯方式而言,它可以大大节约建设投资,降低 维护成本。目前,短消息通讯方式主要应用在一些数据量传输不是很大,实时 性要求不是很高的场合。如定时远程监控远程报警系统、定位服务、办公自动 化等方面。, 、 4 g p r s 的通讯方式g p r s 的通讯方式是指监控系统通过g p r s 网络完 成远程数据传输和远程终端监控的通讯方式。g p r s 突破了g s m 只能提供电 路交换的思维定式,只须通过增加相应的功能实体和对现有的基站系统进行部 分改造来实现分组交换引。相比以上各种通信方式,g p r s 的数据传输速度 相对较高,所以当前对g p r s 在无线监控方面的开发,可谓如火如茶,例如浙 江大学张毅在其硕士毕业论文实时数据无线监控系统的研究及应用中阐述 了g p r s 在工业监控系统中的实现n 引。 1 3 2 2 本文所用的w l a n 技术及其与各种通信方式比较目前主流的无线局 域网w l a n ( w i r e l e s sl o c a l - a r e an e t w o r k ) 一般指符合i e e e 8 0 2 1l b g 协议的 产品。 i e e e 8 0 2 1 l b ( w i f i ) 运行在2 4 g h z 频段上,最大数据传输速率为 1 1 m b p s ,无需直线传播。( 其实际的传输速率在5 m b p s 左右,与普通的 1 0 b a s e - t 规格有线局域网处于同一水平) 。使用动态速率转换,当射频情况变 差时,可将数据传输速率降低为5 5 m b p s 、2 m b p s 和1 m b p s 1 。使用与以太网 类似的连接协议和数据包确认,来提供可靠的数据传送和网络带宽的有效使 用。m e e 8 0 2 1 i b 的使用范围在室外为3 0 0 米,在办公环境中则最长为1 0 0 米 1 5 1 。i e e e 8 0 2 1 l b 亦提供了m a c 层的访问控制和加密机制,以提供与有线网 络相同级别的安全保护。 i e e e 8 0 2 1 l g 使用了与i e e e 8 0 2 1 l b 相同的2 4 g h z 免特许频段,可达到 5 4 m b p s 的传输速率,同时也实现了与现在广泛存在的采用i e e e 8 0 2 1l b 标准 设备的兼容,由于i e e e 8 0 2 1 l g 具有上述特点,它被视为取代目前市场上广泛 应用的i e e e 8 0 2 1 l b 标准的,最有潜力的标准们。 w l a n 运作模式基本分为两种:点对点模式和基本模式,点对点模式是指 无线网卡和无线网卡之间的通信方式n 钉。基本模式指a p2 1 2 作模式,这是 w l a n 最常用的方式。无线a p ( a c c e s sp o i n t ) ,一般翻译为“无线访问节 哈尔滨理丁大学f t 学硕 学位论文 点一,它主要是提供无线工作站对有线局域网和从有线局域网对无线工作站的 访问,在访问接入点覆盖范围内的无线工作站可以通过它进行相互通信。通俗 的讲,无线a p 是无线网和有线网之间沟通的桥梁。由于无线a p 的覆盖范围 是一个向外扩散的圆形区域,因此,应当尽量把无线a p 放置在无线网络的中 心位置,而且各无线客户端与无线a p 的直线距离最好不要超过3 0 米,以避 免因通讯信号衰减过多而导致通信失败引。 w l a n 无线通信方式的数据传输速度快和使用成本低廉,其他几种无线通 讯方式与w l a n 相比,都有其固有的缺陷,下面分别加以说明: 与有线通讯方式相比,w l a n 无线通信方式安装便捷,覆盖范围广,经济 节约,易于扩展,传输速率高,w l a n 的数据传输速率现在已经能够达到 5 4 m b i t s ,传输距离可远至3 0 0 m 以上n 钉。此外,无线通信方式摆脱线的束 缚,使用者可在任何时间,任何地方实现网络连接。 传统上使用电台做无线传输的设计方案和w l a n 相比有其显著的缺陷: 1 产品硬件部分成本高昂。一般商用电台或电台模块价格都在1 0 0 0 元到 2 0 0 0 元之间,从而导致再开发产品成本居高不下,限制了客户发展空间。 m ,a n 模块价格只有电台的2 0 左右啪1 。 2 维护困难。商用电台工作功率大、货源复杂等都导致商用电台故障频率 较高,另外其维修人工费用也比较高。而w l a n 模块故障率低,易于维护。 与w l a n 相比较,短消息通讯方式有几个较大的缺点:短消息通讯方式为 半双工通信方式,不能同时双向收发数据;相对w l a n 而言,它的平均传输 时延较大;在重大活动或重大节日等通信高峰期,容易发生信道堵塞,导致通 信不畅。 与g p r s 相比,w l a n 有如下优势:从数据速率的角度看,w l a n 作为 宽带无线接入方式,i e e e 8 0 2 1 1 b 标准具有l1 m b p s 的最大无线数据速度, 8 0 2 1l a g 可达5 4 m b p s 的传输速率。而g p r s 上网的峰值速率仅l1 5 2 k b p s 。 w l a n 标准适合快速访问因特网,可更好满足工业现场数据传输的实时性要 求;w l a n 采用免费的2 4 g h z 频段,整体建置成本低,而g p r s 网路成本相 比较高。 1 3 2 3w l a n 应用于工业监控中的意义随着生产力的进步,设备的分布越 来越离散。单一的,各自独立的监测系统已不能适应工业化的需求,于是便需 将各个独立设备结成为局域网。w l a n 作为无线局域网通信技术,应用于工业 监控系统在很大程度上提高了监控系统的易用性和可用性,尤其在下面的一些 情况下引入无线通信予网是非常必要的: 1 在某些场合应用会受到布线的限制,布线、改线工程量大线路容易损坏 要把相隔较远的节点连接起来而铺设专用通信线路,其布线工程难度大,耗费 人力、物力。 2 监控系统的通信网中存在移动节点如监控系统中有移动机器人、自动导 航车等移动设备。 。 3 基础设施不需要再埋在地下或隐藏在墙里,减少线路连接,保持工业 现场整洁安全。 1 4 本文主要研究内容 监控 中心 传 输 线 路 现场 监控 设备 监控 中心 6 # ) 6 蕾) l i a p l 乡 嵌入式监 嵌入式监 控终端2 l 控终端n 控终端1 图i - 1 基于w l a n 的工业监控系统示意图 f i g l 1i n d u s t r i a lm o n i t o r i n gs y s t e mb a s e d 0 1 1w l a n 基于w l a n 的远程嵌入式工业监护系统如图1 1 所示。它主要包括:现 场工业监控设备,网络传输线路,监控中心。监控中心安装专用工业监护系统 应用软件,负责对远程设备状态的终端显示,控制命令及参数的输入,对命令 参数和状态数据进行必要的分析处理,以及其他操作;现场工业监控设备以嵌 入式系统为中心,集现场控制、管理、数据采集为一体,其置于工业现场通过 哈尔滨理t 大学t 学硕i j 学位论文 它上面的w l a n 通信模块以无线方式连接入因特网上的监控中心服务器,根 据远程监控中心的控制数据对现场工业设备进行控制,实时监测设备的状态, 并作必要的分析,再将这些状态通过网络传输线路反馈到监控中心。 如图1 1 所示,为实现嵌入式工业监控设备无线接入i n t e m e t 网络,本文 研究内容如下: 1 面向工业应用的嵌入式t c p i p 协议的实时性研究。在分析传统t c p 仰 协议实时性方面不足的基础上,对t c p i p 协议作进一步研究,提高t c p i p 协 议数据包处理速度; 2 t c p i p 协议性能测试软件的设计与实验结果的分析。 3 实现嵌入式平台的w l a n 无线网络通信功能。主要工作包括:w l a n 无线网卡驱动程序的编写;编写m a k e f i l e 文件:修改代码将u s b 协议驱动移 植到p x a 2 7 0 目标平台上;交叉编译驱动程序,动态加载无线网卡驱动程序于 嵌入式平台。 4 研究并解决开发过程中遇到的两个问题:无线网卡应用层配置工具不能 正常运行:网卡不能正常热插拔。 哈尔滨理丁大学t 学硕 :学位论文 第2 章l i n u x 网络系统与嵌入式系统开发模式 2 1l i n u x 网络系统 l i n u x 操作系统的最大特性之一就是它的网络栈。它最初源于b s d 的网络 栈,具有一套非常干净的接口,组织得非常好。其接口范围从协议无关层( 例 如通用s o c k e t 层接口或设备层) 到各种网络协议的具体层啪1 。本节将从分层角 度对l i n u x 网络栈的接口进行探索,并介绍其中的一些主要结构。 如图2 1 所示,提供了l i n u x 网络栈的高级视图。最上面是用户空间层, 或称为应用层,其中定义了网络栈的用户。底部是物理设备,提供了对网络的 连接能力( 串口或诸如以太网、无线网之类的高速网络) 。中间是内核空间, 即网络子系统。流经网络栈内部的是s o c k e t 缓冲区( s kb u f f ) ,它负责在源和 汇点之间传递报文数据1 。 用户空间 内核空间 图2 1l i n u x 网络协议栈架构 f i g 2 - 1s t r u c t r u eo f l i n u x n e tp r o t o c o l 哈尔滨理t 大学t 学硕上学位论文 如图2 1 所示,顶部是系统调用接口。它简单地为用户空间的应用程序提 供了一种访问内核网络子系统的方法。位于其下面的是一个协议无关层,它提 供了一种通用方法来使用底层传输层协议。然后是实际协议,在l i n u x 中包括 内嵌的协议t c p 、u d p ,当然还有i p 。然后是另外一个协议无关层,提供了与 各个设备驱动程序通信的通用接口,最下面是设备驱动程序本身。下面逐一作 详细介绍。 1 系统调用接口系统调用接口可以从两个角度进行描述。用户发起网络 调用时,通过系统调用接口进入内核的过程应该是多路的。最后调 用n e f f s o c k e t c 中的s y ss o c k e tc a l l 结束该过程,然后进一步将调用分路发送 到指定目标。系统调用接口的另一种描述是使用普通文件操作作为网络 i 0 乜耵。例如,典型的读写操作可以在网络s o c k e t 上执行,s o c k e t 使用一个文件 描述符表示,与一个普通文件一样。因此,尽管有很多操作是网络专用的,使 用s o c k e t 调用创建一个s o c k e t ,使用c o n n e c t 调用连接一个收信方等等,但是 也有一些标准的文件操作可以应用于网络对象,就像操作普通文件一样。最 后,系统调用接口提供了在用户空间应用程序和内核之间转移控制的方法。 2 协议无关接口s o c k e t 层是一个协议无关接口,它提供了一组通用函数 来支持各种不同协议嘲。s o c k e t 层不但可以支持典型的t c p 和u d p 协议,而 且还可以支持i p 协议以太网和其他传输协议,例如s c t p ( s t r e a mc o n t r o l t r a n s m i s s i o np r o t o c 0 1 ) 。 通过网络栈进行的通信都需要对s o c k e t 进行操作。l i n u x 中的s o c k e t 结构 是s t r u c ts o c k ,这个结构是在l i n u x i n c l u d e n e v s o c k h 中定义的。这个巨大的结 构中包含了特定s o c k e t 所需要的所有状态信息,其中包括s o c k 畋所使用的特定 协议和在s o c k e t 上可以执行的一些操作。 网络子系统可以通过一个定义了自己功能的特殊结构来了解可用协议。每 个协议都维护了一个名为p r o t o 的结构,可以在l i n u x i n c l u d e n e t s o c k h 中找到 m 1 。这个结构定义了可以在从s o c k e t 层到传输层中执行特定的s o c k e t 操作,例 如,如何创建一个s o c k e t ,如何使s o c k e t 建立一个连接,如何关闭一个s o c k e t 等等。 3 网络协议网络协议对t c p 、u d p 等一些可用的特定网络协议作出了 定义。它们都是在l i n u x n e t i p v 4 a f c 文件中一个名为的函数中进_ i n e ti n e ti n i t 行初始化的,因为t c p 和u d p 都是i n e t 簇协议的一部分心7 1 。i n e ti n i t 函数使 用p r o t o函数来注册每个内嵌协议。这个函数是在 中定义的_ r ,e g 除i s t 了e r 可以将这个协议添加到活动协议列表中之外l i ,n u 如x n 果e v 需c o 要r c ,s o 该c k 函c 哈尔滨理工大学丁学硕士学位论文 数还可以选择分配一到多个s l a b 缓存。 s o c k e t 中的数据移动是使用一个所谓的s o c k e t 缓冲区( s k b u f f ) 的核心结 构实现的。s k b u f f 中包含了报文数据,以及涉及协议栈中多个层次的状态数 据。所发送或接收的每个报文都是使用一个s k b u f f 表示的旧瑚1s k b u f f 结构 是在l i n u x i n c l u d e l i n u x s k b u f f h 中定义的,如图2 2 所示。 * s kb u f f a s s o c i a t d d e v i c e s t r u c ts kb u f f s t r u c ts k b u f f 。n e x t卜* s kb u f f s t r u c ts k b u f f 幸p r e v s t r u c ts o c k * s k - s o c ks t r u c t u r e s t r u c tn e t _ d e v i c e 奉d e v s t r u c tt i m e v a ls t a m p p a c k e t u n i o n u n s i g n e dc h a r r a w ; m a c ; m a ch e a d e r u n i o n s t r u c ti p h d r + i p h ; n h ; i ph e a d e r t c ph e a d e r u n i o n s t r t t c tt c p h d r 幸t h ; h ; d a t a 图2 2s kb u f f 数据结构 f i g 2 2s k b u f f d a t as t r u c t u r e 如上图所示,多个s kb u f f 可以针对某个给定连接链接在一起。每个 s kb u f f 都在设备结构( n e td e v i c e ) 中标识报文发送的目的地,或者接收报文 的来源地。由于每个报文都是使用一个s kb u f f 表示的,因此报文头都可以通 过一组指针( t h 、i p h 和m a c ) 方便地进行定位。由于s kb u f f 是s o c k e t 数据管 理的中心,因此创建了很多支持函数来对它们进行管理。其中有些函数用于创 建和销毁s kb u f f 结构,或对它进行克隆或排队管理。 针对给定的s o c k e t ,s o c k e t 缓冲区可以链接在一起,这样可以包含众多信 息,包括到协议头的链接、时间戳( 报文是何时发送或接收的) ,以及与这个 报文相关的设备。 4 设备无关接口协议层下面是另外一个无关接口层,它将协议与具有很 多各种不同功能的硬件设备连接在一起。这一层提供了一组通用函数供底层网 络设备驱动程序使用,让它们可以对高层协议栈进行操作。 首先,设备驱动程序可能会通过调用r e g i s t e rn e t d e v i c e 或 u n r e g i s t e f :n e t d e v i c e 在内核中进行注册或注销。调用者首先填写n e td e v i c e 结 哈尔滨理工大学工学硕一l = 学位论文 构,然后传递这个结构进行注册。内核调用它的i n i t 函数( 如果定义了这种函 数) ,然后执行一组健全性检查,并创建一个s y s f s 条目,然后将新设备添加 到设备列表中( 内核中的活动设备链表) 。在l i n u x i n c l u d e l i n u x n e t d e v i c e h 中 可以找到这个n e td e v i c e 结构1 。这些函数都是在l i n u x n e t c o r e d e v c 中实现 的。 要从协议层向设备中发送s kb u m 就需要使用d e v 函数。这queuexmit 个函数可以对s kb u f f 进行排队,从而由底层设备驱动程序进行最终传输( 使 用s i cb u f f 中引用的n e td e v i c e 或s kb u f f - d e v 所定义的网络设备) 。d e v 结构 中包含了一个名为h a r ds t a r tx m i t 的方法,其中保存有发起s kb u f f 传输所使 用的驱动程序函数。 报文的接收通常是使用n e t i fr x 执行的。当底层设备驱动程序接收一个报 文包含在所分配的s kb u f r 中时,就会通过调用n e t i fr x 将s kb u f f 上传至网络 层。然后,这个函数通过n e t i fr xs c h e d u l e 将s kb u f f 在上层协议队列中进行排 队,供以后进行处理。可以l i n u x n e t c o r e d e v c 中找到d e v和 函数怕。queuexmitnetif r x 最近,内核中引入了一种新的应用程序编程接口( n a p i ) ,该接口允许 驱动程序与设备无关层( d e v ) 进行交互。有些驱动程序使用的是n a p i ,但是 大多数驱动程序仍然在使用老式的帧接收接口( 比例大约是6 比1 ) 。n a p i 在高负载的情况下可以产生更好的性能,它避免了为每个传入的帧都产生中 断。 5 设备驱动程序网络栈底部是负责管理物理网络设备的设备驱动程 序。例如,包串口使用的s l i p 驱动程序以及以太网设备使用的以太网驱动程 序都是这一层的设备。 在进行初始化时,设备驱动程序会分配一个n e t d e v i c e 结构,然后使用必 须的程序对其进行初始化。这些程序中有一个是d e v h a r ds t a r tx m i t ,它定义了 上层应该如何对s kb u f f 排队进行传输。这个程序的参数为s kb u f f 。这个函数 的操作取决于底层硬件,但是通常s kb u f f 所描述的报文都会被移动到硬件环 或队列中。就像是设备无关层中所描述的一样,对于n a p i 兼容的网络驱动程 序来说,帧的接收使用了n e t i f r x 和n e t i f r e c e i v e s k b 接1 3 | 3 2 1 0n a p i 驱动程序会 对底层硬件的能力进行一些限制。 设备驱动程序在d e c 结构中配置好自己的接口之后,调用r e g i s t e rn e t d e v i c e 便可以使用该配置。在l i n u x d r i v e r s n e t 中可以找出网络设备专用的驱动程序。 哈尔滨理工大学t 学硕士学位论文 2 2 嵌入式系统开发模式 2 2 1 嵌入式系统开发模式 嵌入式系统通常是一个资源受限的系统,因此直接在嵌入式系统的硬件平 台上编写软件比较困难,有时候甚至是小可能的。目前一般采用的解决办法是 首先在通用计算机上编写程序,然后通过交叉编译生成目标平台上可以运行的 二进制代码格式,最后再下载到目标平台上的特定位置上运行。 需要交叉开发环境( c r o s sd e v e l o p m e n te n v i r o n m e n t ) 的支持是嵌入式应用软 件开发时的一个显著特点,交叉开发环境是指编译、链接和调试嵌入式应用软 件的环境,它与运行嵌入式应用软件的环境有所不同,通常采用宿主机目标 机模式,如图2 3 所示。 宿主机 目标板 图2 - 3 交叉开发环境 f i g 2 - 3c m s s c o m p i l i n ge n v i r o n m e n t 宿主机( h o s t ) 是一台通用计算机( 如p c 机或工作站) ,它通过串口或者以太 网接口与目标机通信。宿主机的软硬件资源比较丰富,不但包括功能强大的操 作系统( 如w i n d o w s 和l i n u x ) ,而且还有各种各样优秀的开发工具( 如 w i n d r i v e r 的t o r n a d o ,m i c r o s o t t 的e m b e d d e dv i s u a lc h 等) ,能够大大提高 哈尔滨理工大学t 学硕上学位论文 嵌入式应用软件的开发速度和效率。 目标机( t a r g e t ) 一般在嵌入式应用软件开发期间使用,用来区别与嵌入式系 统通信的宿主机,它可以是嵌入式应用软件的实际运行环境,也可以是能够替 代实际运行环境的仿真系统,但软硬件资源通常都比较有限。嵌入式系统的交 叉开发环境一般包括交叉编译器、交叉调试器和系统仿真器,其中交叉编译器 用于在宿主机上生成能在目标机上运行的代码,而交叉调试器和系统仿真器则 用于在宿主机与目标机间完成嵌入式软件的调试。在采用宿主机目标机模式 开发嵌入式应用软件时,首先利用宿主机上丰富的资源和良好的开发环境开发 和仿真调试目标机上的软件,然后通过串口或者以网络将交叉编译生成的目标 代码传输并装载到目标机上,并在监控程序或者操作系统的支持下利用交叉调 试器进行分析和调试,最后目标机在特定环境下脱离宿主机单独运行。 建立交叉开发环境是进行嵌入式软件开发的第一步,目前常用的交叉开发 环境主要有开放和商业两种类型。开放的交叉开发环境的典型代表是g n u 工 具链、目前已经能够支持x 8 6 ,a r m ,m i p s ,p o w e r p c 等多种处理器。商业 的交叉开发环境则主要有m e t r o w e r k sc o d e w a r d o r ,a r ms o f t w a r e d e v e l o p m e n tt o o l k i t ,s d sc r o s sc o m p i l e r 等3 。 2 2 2 交叉编译和链接 在完成嵌入式软件的编码之后,需要进行编译和链接以生成可执行代码, 由于开发过程大多是在使用i n t e l 公司x 8 6 系列c p u 的通用计算机上进行的, 而目标环境的处理器芯片却大多为a r m ,m i p s ,p o w e r p c ,d r a g o n b a l l 等系 列的微处理器,这就要求在建立好的交叉开发环境中进行交叉编译和链接。 简单地说,交叉编译就是在一个平台上生成另一个平台上的可执行代码。 这里需要注意的是所谓平台,实际上包含两个概念:体系结( a r c h i t e c t u r e ) 和操 作系统( o p e r a t i n gs y s t e m ) 。同一个体系结构可以运行不同的操作系统;同样, 同一个操作系统也可以在不同的体系结构上运行。举例来说,x 8 6l i n u x 平实 际上是i n t e lx 8 6 体系结构和l i n u xf o rx 8 6 操作系统的统称;而x 8 6w i n n t 平 台实际上是i n t e lx 8 6 体系结构和w i n d o w sn t f o rx 8 6 操作系统的简称。 因为目的平台上不允许或不能够安装需要的编译器,而该编译器的某些特 征又必不可少;或者因为目的平台上的资源贫乏,无法运行需要的编译器:又 或者是因为目的平台还没有建立,连操作系统都没有,根木谈不上运行什么编 译器,这时就需要交叉编译了。与主机编译相比,交叉编译受的限制更多,虽 哈尔滨理t 大学t 学硕:l 学位论文 然在理论上可以做

温馨提示

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

评论

0/150

提交评论