(计算机应用技术专业论文)嵌入式internet方案的设计与实现.pdf_第1页
(计算机应用技术专业论文)嵌入式internet方案的设计与实现.pdf_第2页
(计算机应用技术专业论文)嵌入式internet方案的设计与实现.pdf_第3页
(计算机应用技术专业论文)嵌入式internet方案的设计与实现.pdf_第4页
(计算机应用技术专业论文)嵌入式internet方案的设计与实现.pdf_第5页
已阅读5页,还剩50页未读, 继续免费阅读

(计算机应用技术专业论文)嵌入式internet方案的设计与实现.pdf.pdf 免费下载

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

文档简介

嵌入式i n t e m e t 方案的设计与实现 摘要 近几年随着半导体技术和系统设计方法的提高,单片机在内部结构、功率消耗以及 制造工艺等诸多方面有了长足的进步。单片机己逐渐成为许多电子设备中刁i 可缺少的一 部分,并处于前所未有的发展时期;而因特网概念的深入人心更为单片机系统与因特网 的结合提出了要求。为此,本文对单片机系统中实现嵌入式i n t e m e t 的方案进行了研究。 本文首先剥单片机技术以及单片机系统网络化的发展进行了介绍,并在比较了现有 的几种网络化方案的基础上,提出了采用了为单片机系统增加嵌入式t c p i p 协议栈实现 嵌入式i n t e m e t 的方案。接下来本文的第二部分,详细的阐述了嵌入式实时操作系统u c o s i i 在增强型5 1 微处理器d s 8 9 c 5 5 0 上的移植过程,该操作系统是实现嵌入式t c p i p 协议栈支持多用户、多任务的基础。本文的第三部分,对i n t e m e t 协议标准中的以太网协 议、a r p 、p p p 、1 2 、u d p 和t c p 协议都做了详细的分析,并根据单片机应用领域的要 求,提出这些协议的具体实现算法;并在保证与协议标准兼容的前提下,对传统算法进 行了取舍和修改,最后对所实现的嵌入式t c p i p 协议栈进行了测试。本文的最后一部分, 详细的分析了超文本传输协议h t t p ,给出了一种单片机系统中实现嵌入式w e b 服务器 的方法及其应用。 关键字:嵌入式系统;单片机;ln t e r n e t ;u0 0 8 - l l ;t o p l p ;嵌入式w e b 服务器 嵌入式i n t e r n e t 方案的设计与实现 a b s t r a c t w i t ht h ed e v e l o p m e n to ft h es e m i c o n d u c t o rt e c h n o l o g ya n ds y s t e md e s i g nt e c h n i q u ei n r e c e n ty e a r s ,s c mi sa l s od e v e l o p e d g r e a t l yw i t h t h ea s p e c t s ,s u c ha si n t e r n a ls t r u c t u r e 、p o w e r w a s t ea n dp r o d u c i n gt e c h n i q u ee t c g r a d u a l l ys c mh a sb e c o m ean e s s a r yp a r to fm a n y e l e c t r o n i cd e v i c e sa n di sd e v e l o p i n gi na s u r p r i s i n gs p e e d a tt h es o l i et i m e ,t h es p r e a do f t h e c o n e e d to f i n t e r n e ti sc a u s i n gt h ed e m a n do f i n t e g r a t i o no f s c ma n di n t e r a c t f o rt h i sr e a s o n , i n t h i sp a p c rt h es c h e m et or e a l i z ee m b e d d e di n t e r a c ti ns c m s y s t e mi sr e s e a r c h e d h lt h i sp a p e ra ni n t r o d u c t i o na b o u td e v e l o p m e n to fs c ma n di t sc o n n e c t i o nw i t hn e t w o r k i s g i v e nf i r s t b a s e do i lt h ec o m p a r i s o no fs e v e r a lc u r r e n ti n t e r n e tc o n n e c t i o ns c h e m e s ,t h e a p p l i c a t i o no fc o n n e c t i n gs c m w i t hi n t e r n e tb y u s i n ge m b e d d e dt c p 佃p r o t o c o l s t a c ki st h e n b r o u 曲tf o r w a r d i nt h ef o l l o w i n gs e c o n dp a r to ft h i sp a p e r , t h et r a n s p l a n to fe m b e d d e d r e a l - t i m eo s ,u c ,c s 一o ne l 血a n c e d8 0 5 1c o m p a t i b l em i c r o c o n t r o l l e rd s 8 9 c 5 5 0i sd e s c r i b e d i nd e t a i l t h i sm e n t i o n e do sj st h eb a s eo fr e a l i z a f i o no fm u l t i t a s k u s e rs u p p o r to nt h e e m b e d d e dt c p i pp r o t o c o ls t a c k i nt h et h i r dp 砒o ft h ep a p e r , ad e t a i l e da n a l y s i so fs o m e s t a n d a r di n t e r n e tp r o t o c o l sl i k ee t h e m e t 、a r p 、p p p 、i p 、u d pa n dt c pi s p u tf o r w a r d a c c o r d i n g t ot h ed e m a n df r o ma p p l i c a t i o na r e ro fs c m ,d e t a i l e da p p l i c a t i o nm e t h o do ft h e p r o t o c o l si sb r o a c h e d o nt h ep r e m i s eo fc o m p a t i b i l i t yw i t hp r o t o c o ls t a n d a r d ,s o m ec h a n g e s a l - em a d et ot r a d i t i o n a la l g o r i t h m a n dt h e nt h ei m p l e m e n t e de m b e d d e dt c p i pp m t o c o ls t a c ki s t e s t e d a tt h ee n do ft h ep a p e r , h y p e r t e x tt r o l l s f e rp r o t o c 0 1h t t pi sd e s c r i b e di nd e t a i l a n da m e t h o dt or e a l i z ee m b e d d e dw e bs e r v e ri ns c m s y s t e m i sg i v e n k e y w o r d s :e m b e d d e ds y s t e m ;s o m ;in t e r n e t ;uc o s l i ;t o p i p ;e m b e d d e d w e bs e r v e r 堂垒垫! 兰! ! ! ! 壁查壅堕丝生兰壅型 _ _ _ _ _ _ _ _ - _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - _ _ _ _ _ _ _ _ _ _ _ 0 前言 0 1 单片机技术及其网络化的发展 自单片机出现至今,单片机技术在我国己走过了1 5 年的发展路程。纵观1 5 年来单 片机发展历程可以看出,单片机技术的发展以微处理器技术及超大规模集成电路技术的 发展为先导,以广泛的应用领域拉动,表现出更具个性的发展趋势【l 】口】。单片机的技术进 步反映在内部结构、功率消耗、外部电压等级以及制造工艺上。在这几方面,较为典型 地说明了数字单片机的水平,下面就这些方面介绍单片机的技术进步状况。 l 、内部结构的进步:改进单片机的内部时序,在不提高时钟频率的条件下,使运算 速度提高了很多,如m o t o r o l a 单片机使用了琐相环技术或内部倍频技术使内部总线速度 大大高于时钟产生器的频率;d a l l a ss e m i c o n d u c t o r 公司重构了传统的8 0 5 1 内核推出了全 新的d s 8 9 c 4 2 0 4 3 0 “4 0 4 5 0 ,它们在保持了与8 0 5 1 指令集1 0 0 兼容的同时,使得每个机 器周期只需要1 个时钟( 8 0 5 1 一个机器周期需要1 2 个时钟) ,运行速率高达3 3 m i p s ; 单片机在内部已集成了越来越多的部件,这些部件包括一般常用的电路,例如:定时器, 比较器,a d 转换器,d a 转换器,串行通信接口,w a t c h d o g 电路,l c d 控制器等。有 的中片机为了构成控制网络或形成局部网,内部含有局部网络控制模块c a n 。例如, i n f i n e o n 公司的c 5 1 5 c ,c 1 6 7 c r ,c 1 6 7 c s 3 2 f m ;m o t o r o l a 公司的6 8 h c 0 8 a z 系列等。 特别是在单片机c 1 6 7 c s 一3 2 f m 中,内部还含有2 个c a n 。因此,这类单片机十分容易 构成网络,特别是在控制系统较为复杂时,构成一个控制网络十分有用。为了能在变频 控制中方便使用单片机,形成最具经济效益的嵌入式控制系统。有的单片机内部设置了 专门用于变频控制的脉宽渊制控制电路,这些单片机有f u j i t s u 公司的m b 8 9 8 5 0 系列、 m b 8 9 8 6 0 系列;m o t o r o l a 公司的m c 6 8 h c 0 8 m r l 6 、m r 2 4 等。在这些单片机中,脉宽 调制电路有6 个通道输出,可产生三相脉冲宽调制交流电压,并在内部含有死区控制等 功能。特别引人注目的是:现在有的单片机已采用所谓的三内核( t r c o r e ) 结构,这是 种建立在系统级芯片( s y s t e m o na c h i p ) 概念上的结构。这种单片机由三个核组成:一 个是微控制器和d s p 核,一个是数据和程序存储器核,最后一个是外围专用集成电路 ( a s i c ) 。这种单片机的最大特点在于把d s p 和微控制器同时做在一个片上。虽然从结 构定义上讲,d s p 是单片机的一种类型,但其作用主要反映在高速计算和特殊处理如快 速傅立叶变换等上面。把它和传统单片机结合集成大大提高了单片机的功能,这是目前 单片机最大的进步之一。这种单片机最典型的有i n f i n e o n 公司的t c i o g p :h i t a c h i 公司 的s h 7 4 1 0 ,s h 7 6 1 2 等。这些单片机都是高档单片机,m c u 都是3 2 位的,而d s p 采用 1 6 或3 2 位结构,工作频率一般在6 0 m h z 以上。 2 、功耗、封装及电源电压的进步:现在新的单片机的功耗越来越小,特别是很多单 片机都设置了多种工作方式,这些工作方式包括等待,暂停,睡眠,空闲,节电等工作 方式。p h i l i p s 公司的单片机p 8 7 l p c 7 6 2 就是一个很典型的例子,在空闲时,其功耗为 1 5 m a ,而在节电方式中,其功耗只有0 5 m a 。而在功耗上最令人惊叹的是t i 公司的单 嵌入式i n t e r a e t 方案的跛计与实现 片机m s p 4 3 0 系列,它是一个1 6 位的系列,有超低功耗工作方式。它的低功耗方式有 l p m l 、l p m 3 、l p m 4 三利,。当电源为3 v 时,如果工作于l m p l 方式,即使外围电路 处于活动,由于c p u 不活动,振荡器处于l 4 m h z ,这明功耗只有5 0 u a 。在l p m 3 时, 振荡器处于3 2 k h z ,这时功耗只有1 3pa 。在l p m 4 时,c p u 、外围及振荡器3 2 k h z 都 不活动,则功耗只有o 1p - a 。现在单片机的封装水平已大大提高,随着贴片工艺的出现, 单片机也大量采用了各种符合贴片工艺的封装方式出现,以大量减少体积。在这种形势 中,m i c r o c h i p 公司推出的8 引脚的单片机特别引人注目。这是p i c l 2 c x x x 系列。它含 有0 5 2 k 程序存储器,2 5 1 2 8 字节数据存储器,6 个i o 端口以及一个定时器,有的 还含4 道a d ,完全可以满足一些低档系统的应用。扩大电源电压范围以及在较低电压 下仍然能工作是今天单片机发展的目标之一。目前,一般单片机都可以在3 3 5 5 v 的 条件下工作。而一些一家,则生产出可以在2 2 6 v 的条件下工作的单片机。这些单片 机有f u j i t s u 公司的m b 8 9 1 9 1 8 9 1 9 5 ,m b 8 9 1 2 l 1 2 5 a ,m b 8 9 1 3 0 系列等,应该蜕浚公 司的f 2 m c 一8 l 系列单片机绝大多数都满足2 2 6 v 的工作电压条件。而t i 公司的 m s p 4 3 0 x 1 1 x 系列的工作电压也是低达2 2 v 的。 3 、制造工艺上的进步:现在的单片机基本上采用c m o s 技术,而且已经大多数采 用了0 6 u m 以上的光刻工艺,有个别的公司,如m o t o r o l a 公司则已采用0 3 5 u m 甚至 是0 2 5 1 1 m 技术。这些技术的进步大大地提高了单片机的内部密度和可靠性。 总的来看,单片机具有便利灵活、性能价格比高、嵌入式性能强等特点,可以嵌入 到现有的包括信息家电、工业控制系统在内的多种智能设备中。从软件的角度看,单片 机系统具有系统专业性、实时性强和系统所需配置要求低等特点。由于这样的特点,单 片机系统适用于人类工作和生活的多个领域,具有极其广阔的前景。单片机系统在传统 的:c 业控制和商业管理领域已经具有广泛的应用空间,如智能工控设备、p o s a t m 机、 i c 卡等:在家庭领域更具有广泛的应用潜力,如机顶盒、数字化电视、p 电话、网络空 调等众多消费类和医疗保健类电子设备等;此外还在多媒体手机、掌上电脑、车载导航 等方面应用,将极大的推动单片机系统深入到生活和工作的方方面面。此外,它在娱乐、 国防军事上的应用潜力也是巨大的。 在许多的应用领域,复杂功能的实现往往需要多个单片机系统共同合作完成,这就 要求单片机系统有网络通信功能。剐实现嵌入式网络。早期的嵌入式网络主要应用在环 境比较恶劣的工业现场和军事领域,要求网络传输快速而确定,具有较强的实时性。在 工业控制领域,分布式工控产品从简单的r s 2 3 2 通信线路,到当今性能卓著的现场总线, 经过不断更新换代,可靠性和实时性得到了极大的提高。目前,比较流行的工业现场总 线系统有b 1 t b u s 、l o n w o r k s 和c a n 等1 3 j 。b i t b u s 总线是i n t e l 公司于1 9 8 4 年推出的 一种基于单片机8 0 4 4 的高速串行总线标准,适合于构成分层结构的工业用分布式测控系 统。l o n w o r k s 总线是美国e c h e l o n 公司1 9 9 2 年推出的局部操作网络。最初主要用于楼宇 自动化,但很快发展到工业现场网。c a n 总线是德国b o s c h 公司8 0 年代初为解决现代 汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,特别适 合于工业过程监控没备的互连。在军事领域,最著名的是美国国防部1 9 7 3 年颁布的 m i l s t d 1 5 5 3 飞机内部时分制命令响应式多路传输数据总线标准。基于该标准的实时 网络通信技术在美国及北大西洋公约组织各国被广泛用于陆海空三军。目前我军航电系 统中使用的1 5 5 3 b 总线是我国自行研制生产的。 嵌入式i n t c m e t 方案的设计与实现 随着嵌入式软件的发展和i n t e r a c t 的高速膨胀,嵌入式产品在网络中的应用也越来越 普及,这类消费电子产品具有网络功能,能够与其它设备互连,甚至直接连到t l t e m e t 上, 但是对网络的实时性要求较低。为适应嵌入式分布处理结构和应用上网的需求,面向2 1 【丛纪的单片机系统要求配备标准的一种或多种网络通信接口,同时也需要提供相应的通 信组网协议软件和物理层驱动软件。可以说,单片机系统和i n t e m e t 连接已是一种趋势, 也是单片机系统发展的热点之一。单片机系统接入i n t e r n e t 以后,不仅实现了设备的远程 控制、维护和升级,而且从另一层意义上讲,接入i n t e m e t 的设备已经成为网络共享资源 的一部分,可以说是自电子设备智能化以来的设计思想的一次飞跃1 4 j 。 0 2 单片机系统连接in t e r n e t 的方案 单片机系统实现连接 n t e m e t 方案的技术难点在于:如何利用单片机系统自身的资源 对信息数据进行t c p i p 协议处理,使之变成可以在l n t e m e t 上传输的d 数据包。从解决 这一技术问题出发,目前出现了以下几种方案: 1 、采用e m i t 技术p j :e m i t ( e t l a b e d d e dm i c r oi n t e r n e t w o r k i n gt e c h n o l o g y ) 是由美国 e m w a r e 公司推出的一套成熟、完善的实现单片机系统与i n t e m e t 相连的解决方案,e m i t 技术体系结构如图0 1 所示。e m i t 采用桌面计算机或高性能的嵌入式处理器作为网关, 称为e m g a t e w a y ,上面支持t c p i p 协议并运行h t t p 服务程序,形成一个用户可以通过 网络浏览器进行远程访问的服务器。e m g a t e w a y 通过r s 2 3 2 、r s 4 8 5 、c a n 、红外、射 频等总线与多个嵌入式设备相连接,每个嵌入式设备的应用程序中包含一个被称为 e m m i c r o 的独立通信任务。该任务负责监测设备中预先定义的各个变量,并将结果反馈 到e m g a t e w a y 中:同时它还可以解释e m g a t e w a y 的命令,修改设备中的变量或者进行某 种控制。e m i t 解决方案中还包括e m i t 应用接口服务技术,它提供一系列的开发工具, 如c + + 、j a v a 以及a c t i v ex 等,用户可以根据需要开发客户端的浏览界面。 e m m i c r o e r n g a t e w a y 一圈 图0 1e m i t 技术体系结构 f i g u r e 0 1s t r u c t u r eo f e m i t e m i t 技术经过多年的发展已经在工业设备的网络化中得到了广泛的应用,得到了包 括m o t o r o l a 、a t & t 、h i t a c h i 等多家著名r r 公司的支持。但该技术也存在着以下的缺点: e m i t 起步价位很高,e m g a t e w a y 网关的使用需要具有许可证,要缴纳相应的版税;在多 个嵌入式设备分散的情况下,网关和设备间的专用网络布线极为不便,通信的距离、速 度都受到一定的限制。 2 、采用w e b c h i p 芯片实现单片机系统网络化【6 :w e b c h i p 是我国武汉力源电子股份 有限公司推出的可实现单片机系统与i n t e m e t 连接的接口芯片。它是独立于各种微控制器 的专用网络芯片,在它的片内驻留着网络协议解释和网络协议编译程序模块,通过标准 嵌入式i n t e r n e t 方案的设计与实现 的s p i 串口与嵌入式系统中的微控制器相连接。微控制器可以通过w e b c h i p 接收并执行 经由i n t e m e t 远程传来的命令,或将一些数据交给w e b c h i p 发送出去。单片机系统采用 w e b c h i p 接入h a t e m e t 的网络,还必须有一个支持复杂i n t e m e tt c p i p 的协议并能提供 h t t p 服务的类似于e m g a t e w a y 的网关。事实上,w e b c h i p 芯片,只是把在e m i t 技术中 由微型网络服务器e m m i c r o 完成的网络功能独立于原来的微控制器,把软件调用变成了 硬件多控制器间的通信。因此它只是实现了e m i t 技术的- 4 , 部分功能,距离用单个片 上系统完成智能装置网络化的目标还相差甚远。 3 、采用硬件协议栈芯片:硬件协议栈芯片是一个独立于各种微控制器的具有上网功 能的专用芯片,通过标准的输入输出接口,可以和大多数的微控制器相连。这些微控制 器可以通过硬件协议栈芯片执行由i n t e m e t 远程传来的命令,或是将数据交给硬件协议栈 芯片通过i n t e m e t 发送出去。典型的硬件协议栈芯片有日本s e i k o 公司以i r e a d y 芯核为基 础,开发的$ 7 6 0 0 芯片等。硬件协议栈:占片与w e b c h i p 芯片的最根本的区别在于,嵌入 式系统连接i n t e r n e t 不需要再通过额外的网关。图0 2 显示了一种典型的基于$ 7 6 0 0 芯片 的嵌入式i n t e m e t 的方案【5 o 当使用硬件协议栈:枣片开发具有网络功能的单片机系统时,只需要增加一段和协议 栈j 占片通信的接口程序即可。因此,系统软件开发难度较小,周期也较短。但是由于加 入协议栈芯片以及与之配套的网络连接层设备( 如嵌入式m o d e m 、以太网控制器等) , 增加了系统的硬件成本。 s 7 6 0 0 c h i p 攉 耀 图0 2 一种基于$ 7 6 0 0 的方案 f i g u r e 0 2s o l u t i o n b a s e do ns 7 6 0 0 。 4 、采用支持h a t e m e t 的嵌入式操作系统:嵌入式操作系统是指运行在嵌入式平台上, 内核小具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、图形窗 口以及用户界面等功能:具有大量的应用程序接v 1 ( a p i ) ,能够适应系统对功能、可靠 性、成本、体积和功耗严格要求的系统软件。由于i n t e m e t 技术的发展,嵌入式操作系统 已逐渐向网络化的方向发展。目前市场上已有许多这样的嵌入式操作系统如u c l i n u x 、 r t l i n u x 、v x w o r k s 、n u c l e u s p l u s 以及v r t x s a 等等1 7 】。它们通过内核自身或是附加的 网络组件提供对t c p i p 协议的支持。基于这些操作系统的嵌入式设备,由于操作系统自 身的要求大都采用高档的3 2 位处理器如x 8 6 、p p c 、a r m 、c o l d f i r e 等,同时拥有较大 容量的r o m 和r a m ,因此设备能实现多种复杂的网络功能。但这种方案存在如下缺点: 高档的3 2 位处理器价格较贵,开发周期较长:需要购买昂贵的嵌入式操作系统、网络组 d 嵌入式i n t e r n e t 方案的设计与实现 件以及配套的开发软件,对开发人员的开发能力、经验要求较高。 5 、采用8 位或1 6 位高性能的微处理器+ 精简t c p f l p 协议栈:根据嵌入式网络产品 应用的特点,将标准的t c p i p 协议栈做较大幅度的简化,根据需要保留其中基本的部分, 这样就可以大幅度减少对于系统资源的需求,从而可以在低成本、小内存的系统中实现 i n t e m e t 连接的功能,这样的方案的优点是廉价,便于广泛应用【9 j 【j 。该方案的重点和难 点是实现精简的t c p i p 协议栈。以往人们认为基于8 位或1 6 位微处理器的单片机系统 由于在处理能力、r o m 和r a m 空间上的限制,不能实现t c p 碑网络协议栈等这样复 杂的功能。但是,近年来随着市场对超微型嵌入式应用技术的不断增长,以及半导体技 术和系统设计方法的进步,在一个硅片上实现一个过去以为复杂的系统的时代已经来临, 并深刻地影响着传统的集成电路产业m 】。不断发展的具有高速处理能力的智能化嵌入式芯 片,使得单片机系统支持t c p i p 协议成为可能。在综合考虑了以上的方案后,本课题采 用的是通过增加嵌入式t c p i p 软件协议栈实现嵌入式i n t e m e t 的方案。 0 3 嵌入式t o p i p 协议栈的发展动态 当今国际上一些著名的嵌入式操作系统供应商,都在自己的嵌入式系统产品中集成 了t c p i p 网络组件,以便自己的实时系统具备网络通信功能,由于是面向嵌入式应用, 因此这些产品的实时性、占用存储空间、可移植性方面做了各具特色的改进。 l 、v r t x s a 中的s n x :v r t x s a 是m r l 公司开发的实时操作系统,s n x 是其中的 t c p i p 网络组件,兼容a t & tu n i xs y s t e mv 的r e l e a s e3 和r e l e a s e4 。向上提供两种应 用编程接口:t t l 接口库和4 3 b s ds o c k e t 接口库。s n x 不仅体现了一般网络的特性, 而且也体现了其作为实时操作系统网络组件的特性。s n x 利用了v r t x s a 超微内核的特 性,在响应速度、吞吐量上体现了其实时眭,还采用了以下一些措施来保证:【1 静态分 配技术,在网络初始化时静态分配通信缓冲区,设置专门的发送和接收缓冲区,避免了 消息大于网络一次可传送数据时的堵塞等待。 2 网络通信采用非暂停方式,一旦报文被 排到发送队列中,应用程序将继续执行,不必等待报文的真正发送到目的节点,而接收 方采用发送一个接收信号后休眠的方法等待报文到达时被唤醒,这样既保证接收的及时 响应,也提高嵌入式系统和网络通信的并行性。 3 紧急消息优先处理机制,对紧急数据 采用中断方式,紧急数据到达时,向主机发中断,调用中断处理程序直接接收并处理。 2 、n u c l e u s 中的n e t :n u c l e u s 是a c c e l e r a t e d t e c h n o l o g y 公司开发的实时操作系统, n e t 是其中的t c p i p 网络组件。它最大的特点是引入了一种o d h ( o p t i m i z e dd a t a h a n d i n g ) 机制,去掉了传统t c p i p 协议栈中各层间不必要的数据拷贝,使得代码的效 率更高。具体来说,o d h 机制为接收的数据和发送的数据提供了一个缓冲区,当底层驱 动程序接收到数据后,从主机缓冲池中申请一块存储空间,之后的各层协议都对同一块 空间进行操作,各层协议间传递的都是该存储空间的指针,直到用户的应用程序把接收 的数据从该存储空间中取出并释放该存储空间;同样的,当上层应用程序有数据要发送 时,也从缓冲区中申请一块存储空间,之后的各层协议都对同一块空间进行操作,各层 协议间传递的也是该存储空间的指针,直到底层的驱动程序把发送的数据从该存储空间 中取出发送后才释放该存储空间。 嵌入式i n t e m e t 方案的设计与实现 3 、p s o s 中的p n a + :p s o s 是i s i 公司开发的实时操作系统,p n 是其中的网络组 件。它支持用于管理参与多播传输的计算机群的i g m p ( i n t e r n e tg r o u pm a n a g e m e n t p r o t o c 0 1 ) ;支持基于串口的p p p ;还支持m i b - i i 。 0 4 嵌入式t c p i p 协议栈的特点 由单片机系统、嵌入式网络的应用环境决定了嵌入式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 d 协议栈是标准t c p 协议栈的子集,只需要实现基本 的、必要的功能,使生成的二进制代码尽量精简,这对嵌入式网络产品降低开发难度、 提高系统处理能力、节省有限的r o m 和r a m 空间是有着重要的意义的。嵌入式t c p i p 协议栈的这些特点也将成为本课题研究工作的目标与要求。 0 5 课题的研究来源、任务 随着电子设备智能化要求的提高和各种功能强大的微处理器的推出,单片机系统逐 渐成为许多电子设备不可缺少的一部分,并处在前所未有的发展期;而互联网概念的深 入人心更为单片机系统与互联网的结合提出了要求。本研究课题正是在这样的大背景下 提出来的,同时也结合实际的开发项目大连市供水公司流量监测系统。 本课题要实现的嵌入式i n t e r n e t 方案是针对采用5 1 处理器的单片机系统,这些系统 广泛应用在工业控制、通信设备、家用电器等领域中。这些为数众多的设备接入i n t e r a c t 后,将可实现设备的远程控制、管理和升级等功能,改变以往单独、孤立的存在方式, 进入一种开放、互连的方式。可以说单片机系统连接i n t e r n e t 不仅可产生经济效益,对社 会效益也有深远的意义。总的来说,本课题的研究工作包括以下几个内容: 1 、t tc o s 一嵌入式实时操作系统在5 1 增强型处理器d s 8 9 c 5 5 0 上的移植: 2 、 1 0 m 以太网卡( r t l s 0 1 9 a s 控制器) 、嵌入式m o d e m 模块设备驱动程序编写; 3 、嵌入式t c p i p 协议栈的设计与实现,具体包括以太网协议、p p p 协议、。r p 协 议、口协议、u d p 协议以及t c p 协议; 4 、e m b e d d e dw e b s e r v e r 的设计与实现。 6 嵌入式i n t e r n e t 方案的设计与实现 1uc o s ii 嵌入式实时操作系统 1 1uo o s ij 的选择 传统岛勺单片机系统在程序设计上一般采岗趵是丽j 百旨万瓦或趟循外力瓦 f s u p e r 1 0 0 p 1 ,如图1 1 所示。应用程序是一个无限的循环,在循环中调用相应的函数完成 相应的操作,这部分可以看成后台行) j ( b a c k g r o u n d ) 。而中断服务程序负责处理异步事件, 这部分可以看成前台行为( f o r e g r o u n d ) 。后台也可以称为任务级,前台也叫中断级。时间 相关性很强的关键操作( c r i t i c a l o p e r a t i o n ) 是靠中断服务程序保证的。因为中断服务程序提 供的信息一直要等到后台程序走到该处理这个信息这步时才能得到处理,所以这种系 统在处理信息的及时性上,比实际可以做到的要差。 i 一后台+ i i i 一前台+ i 图l ,l 前后台式应用 f i g u r e | 1f o r e g r o u n d b a c k g r o u n da p p l i c a t i o n 对于简单的应用,这种前后台方式是可以满足需求的,但是随着应用的复杂化,系 统可能要同时监测,控制多个外部设备,要求较高的实时性,有多个任务要处理。如果在 系统软件设计上仍然采用上述的传统方式,就会出现两个比较突出的问题。一是中断响 应,一般为了保证某一项重要任务的实时性,就必须在i s r 中进行较为复杂的处理,这 样一来就要考虑代码重入、系统硬件堆栈溢出等问题。二是任务多,要考虑的各种可能 性也多,各种资源调度不当就会造成共享数据的不一致,降低系统的可靠性,同时程序 量也加大。解决这些问题的最好方法就是使用嵌入式实时操作系统r t o s 。使用r t o s 可 以有效的对多个任务进行调度,对各任务赋予不同的优先级可以保证紧急任务得到及时 响应。r t o s 也体现了一种新的应用程序设计思想和开放的框架,降低了程序的复杂度和 开发周期【1 2 j 【l3 1 。现在市场已经出现了不少的嵌入式实时操作系统如v x w o r k s 、p s o s 、 n u c l e u sp l u s 、v r t x s a 等等。但这些操作系统大多对系统硬件配置有较高的要求,如要 有运行速度快的3 2 位处理器、处理器内部要有内存管理单元( m m u 、较大容量的r o m 和r a m 空间等;同时操作系统自身和相应配套的开发调试工具价格较高,而且许多r z o s 厂商要求用户在批量生产时要按产品数量交纳版税,所以对于中小型系统特别是采用8 7 。l 嵌入式i n t e m e t 方案的设计与实现 位微处理器的系统来说这些操作系统都是不适合的。 本课题采用的足由j e a nj l a b r o s s e 先生编写的开放式实时操作系统“c o s i i ,采用 它主要是基于以下的考虑: 1 它的内核是完全免费的,用户不需支付任何费用,有利于 降低系统开发成本。 2 它的源代码是公开的,并且仍在不断的升级,增加新功能。源代 码的开放可以使得用户根据实际要求对源代码进行取舍,去掉不必要的变量和不使用的 函数,提高系统性能。另外,由于对系统内核有源代码级的了解,用户可以添加自己的 模块,与原有系统内核兼容,使得系统具有可扩展性。 3 系统内核实用性强、可靠性高。 从最老版本的1 tc o s ,阻及后来的uc o s ,到最新版本的i tc o s i i ,该实时内核已经走 过了近1 0 年的历程。l o 年来,世界上已有数千人在各个领域使用了该实时内核,如医疗 器械、网络设备、自动提款机、工业机器人等等。这些应用的实践是该内核实用性、无 误性的最好证据。 4 操作系统内核对处理器以及r o m 、r a m 资源的要求不高,有利于 在8 位处理器上的移植。 5 最后一点也是就最重要的一点,课题将要实现的嵌入式 t c p i p 协议栈需提供对多用户、多用户的支持,该功能的实现必须依赖于底层操作系统。 1 2uc o s ii 的特点 本课题采用的是参考文献【1 4 】所提供的v 2 0 0 版本的uc o s i i ,相对早期的“c o s , 有了很大的改进,总的说来它有以下的些特点: l 、u c o s 1 i 提供了对6 4 个任务的管理,除了系统内核本身所保留了8 个任务外, 用户的应用程序最多可以有5 6 个任务。由于u c o s i i 是个基于优先级的( 不支持时 间片轮转调度) 实时操作系统,因此每个任务的优先级必须不相同。系统中的每个任务 都处于以下5 种状态之一的状态中,这5 种状态是休眠态、就绪态、运行态、等待态( 等 待某一事件发生) 和被中断态。图1 2 是uc o s 一1 i 控制下的任务状态切换图。 图1 2 任务状态的切换 f i g u r e l 2t a s ks w i t c hu n d e r l ac o s 2 、u c o s 一是一个占先式( p r e e m p t i v e ) 的内核,即最高优先级的任务一旦就绪,总 能得到处理器的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪态, 则当前任务的处理器控制权就被剥夺了,或者说被挂起,那个高优先级的任务立刻得到 处理器的控制权a 如果是中断服务程序( i s r ) 使一个高优先级的任务进入就绪态,中断处 理完成后,被中断了的任务将被挂起,优先级高的那个任务则开始运行。 嵌入式i n t e m e t 方案的设计与实现 3 、uc o s i i 提供了对信号量( s e m a p h o r e ) 、邮箱( m a i lb o x ) 和消息队列( m e s s a g e q u e u e ) 的支持。通过这3 种方法可以完成任务与中断服务程序( i s r ) 之间的通信、任务与 任务之间的通信以及多个任务对共享资源的互斥访问。 1 3 uc o s ii 在d s 8 9 c 5 5 0 上的移植 由于uc o s i i 的原型在设计时已经充分考虑了可移植性,所以uc o s 一的移植相 对来说是比较容易的。为了方便移植,大部分的uc o s i i 代码是用c 语言编写的,但是 仍然需要用c 和汇编语言改写一些与处理器相关的代码,这是因为uc o s i i 在读写处理 器的寄存器内容时只能通过汇编语言来实现的。uc o s i i 并不能支持所有的处理器,这 是因为要使uc o s i i 正常的运行,处理器必须满足以下要求: 1 处理器的c 编译器能产生可重入代码; 2 用c 语言就可以打开和关闭中断; 3 处理器支持中断,并且能产生定时中断; 4 处理器必须有能容纳一定量数据的硬件堆栈; 5 处理器有将堆栈指针和其它寄存器读写到堆栈或内存中的指令。 在本课题中,系统选用的处理器是由d a l l a s s e m i c o n d u c t o r 公司生产的d s 8 9 c 5 5 0 处 理器:它在指令集上与标准的8 0 5 1 处理器1 0 0 兼容;有较高的运行速度,达到3 3 m i p s ; 支持双数据指针( d u a ld p t r ) ,提高了通过m o v x 指令访问数据存储器的速度; d s 8 9 c 5 5 0 还整合了多达6 4 k b 可在系统编程的闪速存储器 1 5 1 。它的这些特性,不但满足 了uc o s i i 对处理器的要求,而且处理器较快的运行速度和大容量的f l a s h 都有利于提 高1 tc o s i i 操作系统的性能。c 语言编译器采用的是德国k e i l 公司开发的k e i lc 51 集成 开发环境。k e i lc 5 l 编译器产生的代码体积小、效率高;同时可以通过r e e n t r a n t 关键字 产生可重入代码;另外通过e a = 0 和e a = i 语句可实现对中断的关闭和打开 1 6 1 。可见,本 课题选用的软硬件开发工具都满足1 1c o s i i 对移植的要求。 与处理器无关代码 0 s - c o r eco st i m e o sm b o xcu c o sl 】c o sm e mcu c o s i i h o sq c o ss e mc o st a s kc l 与处理器相关的代码 i l o sc p uho sc p uaa s mo sc p u c | 至习田 图1 3uc o s i i 硬件和软件体系结构 f i g u r e l 3h a r d w a r ea n ds o f t w a r ea r c h i t e c t u r eo fl ac o s i i 嵌入式i n t e r n e t 方寨的设计与实现 图1 3 显示了uc o s i i 的结构以及它与硬件系统的关系,从图上可以清楚看出移植 的具体工作包括以下几个内容: 用# d e f i n e 设置一个常量的值( o sc p u i - i ) ; 声明l o 个数据类型( o sc p u 瑚; 用# d e f i n e 声明三个宏( o sc p u h ) ; 用c 语言编写六个函数( o sc p u c ) ; 编写四个汇编语言函数( o sc p u a s m ) ; 1 、o sc p u h 文件的修改,o sc p u h 包括了用# d e f i n e 定义的与处理器相关的常 量,宏和类型

温馨提示

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

评论

0/150

提交评论