(计算机应用技术专业论文)基于cp2201的嵌入式以太网接口的实现及应用.pdf_第1页
(计算机应用技术专业论文)基于cp2201的嵌入式以太网接口的实现及应用.pdf_第2页
(计算机应用技术专业论文)基于cp2201的嵌入式以太网接口的实现及应用.pdf_第3页
(计算机应用技术专业论文)基于cp2201的嵌入式以太网接口的实现及应用.pdf_第4页
(计算机应用技术专业论文)基于cp2201的嵌入式以太网接口的实现及应用.pdf_第5页
已阅读5页,还剩65页未读 继续免费阅读

(计算机应用技术专业论文)基于cp2201的嵌入式以太网接口的实现及应用.pdf.pdf 免费下载

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

文档简介

中文摘要 随着网络通信技术和嵌入式系统的不断发展融合,嵌入式以太网技术在人们 的工作生活中己经起到越来越重要的作用。由于t c p d p 协议实现的复杂性及嵌入 式系统硬件资源的限制使得开发嵌入式以太网接口有很大的技术难度。本文给出 了基于c 8 0 5 1 f 1 2 0 微控制器和c p 2 2 0 1 以太网控制器的嵌入式以太网接口的实现, 以及编写基于以太网的应用程序的基本方法。由于使用了t c p i pc o n f i g u r a t i o n w i z a r d ,使得开发t c p i p 协议栈的难度大大降低,从而可以将精力集中于应用程 序开发。 本文先从整体设计着手,定位嵌入式以太网系统的功能、访问方式、配置及 使用的协议等细节;然后开始硬件部分设计,详细阐述m c u 、以太网控制器的选 择、电路的设计以及p c b 的设计细节;接下来花大量篇幅论述了软件部分设计, 从框架的产生到应用程序代码的添加再到功能的定制都有详细的示例代码及图示 说明;最后论述了调试过程的技巧和注意事项,并给出一个应用实例及性能测试。 本文给出了一种基于应用的嵌入式以太网接口的设计方法,所设计的嵌入式 以太网模块除具有以太网接入功能外,还预留了丰富的、供二次开发使用的模拟 与数字外设,如:a d c 、d a c 、电压比较器、s m b u s 、s p i 、u s b 等,此模块可以 为远程监控、嵌入式w e b 服务器、i p 电话等设备提供多功能、低成本、人性化的 以太网接入功能。 关键词:c p 2 2 0 1以太网t c p i p 分类号: a b s t r a c t e m b e d d e ds y s t e m st o d a y a r es m a l l ,f a s t ,a n dv e r yp o w e r f u l e m b e d d e d c o r m e c t i v i t ys t a n d s a tt h ef o r e f r o n to fh a r n e s s i n gt h ep o w e ro ft o d a y se m b e d d e d s v s t e m s t h ec p 2 2 0 1i sa ne t h e r n e tc o n t r o l l e rt h a ti n t e g r a t e se t h e m e tf u n c t i o n a l i t y i n t oas i n g l e5x5m m 2p a c k a g e w h e np l a c e di na ne m b e d d e ds y s t e mw i t ha nm c u , s u c ha sc 8 0 5 1 f 1 2 0 ,i tp r o v i d e st h es y s t e mw i t he m b e d d e de t h e r n e tc o n n e c t i v i t y t h i s p a p e rg i v e st h em e t h o do fi m p l e m e n t o ff u n c t i o na b o v e ,a n dp r o v i d e st h eb a s i cw a y so f a d d i n ga p p l i c a t i o nc o d eo fe t h e m e t w i t hu s i n gt h et c p i pc o n f i g u r a t i o nw i z a r d , p r o g r a m m e r sc a nf o c u st oa p p l i c a t i o nc o d ep r o g r a m m i n g t h i sm a k e si t e a s i e rt o d e v e l o p a ne m b e d d e de t h e r n e ts y s t e m f i r s t l y , t h ep a p e rs h o w st h eg e n e r a ld e s i g no ft h ee m b e d d e de t h e m e ts y s t e mb y s p e c i f y i n g r e q u i r e df u n c t i o n a l i t y , s p e c i f y i n g a c c e s sm e t h o da n ds p e c i f y i n g c o n f i g u r a t i o nm e t h o d ;s e c o n d l y , i ts h o w st h em e t h o do fd e s i g n i n gt h eh a r d w a r e ;t h e n t h es o f t w a r ed e s i g n i n gi sd e t a i l e d l yd e s c r i b e d ,s u c ha ss o f t w a r eg e n e r a t i o n ,a p p l i c a t i o n d e v e l o p m e n ta n dp e r s o n a l i z i n g t h ee t h e r n e te n a b l e de m b e d d e ds y s t e m ;f i n a l l y , t h e p a p e rg i v e ss o m es k i l l sa b o u td e b u g g i n g t h es y s t e m t h i sp a p e ri sb a s e da p p l i c a t i o nr a t h e rt h a nt h e o r yr e s e a r c h i n g t h ed e s i g n e d m o d u l eo fe m b e d d e de t h e m e ts y s t e mp r o v i d e sm a n ya n a l o ga n dd i g i t a ld e v i c e ss u c h a sa d c ,d a c ,v o l t a g ec o m p a r a t o r s ,s m b u s ,s p i ,u s be t c ,e x c e p to fe t h e r n e tf u n c t i o n w i t ht h i s ,m u l t i f u n c t i o n a l ,l o wc o s ta n dh u m a n b a s e de t h e r n e tf u n c t i o nc a n b eo f f e r e d f o rr e m o t e ds e n s i n ga n dm o n i t o r i n gd e v i c e s ,e m b e d d e dw e bs e r v e r s ,i pp h o n ea d a p t e r s e t c k e y w o r d s :c p 2 2 0 1e t h e r n e tt c p i p c l a s s n o : 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国 家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 文名锄商 签字日期秒绊石月7 日 导师签名: 稗吼加“月j 7 日 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研 究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或 撰写过的研究成果,也不包含为获得北京交通大学或其他教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作 了明确的说明并表示了谢意。 学位论文作者签名:签字日期:年月日 致谢 本论文的工作是在我的导师陈连坤副教授的悉心指导下完成的。本论文从选 题、撰写、字斟句酌的修改,一直到最后定稿,倾注了陈老师大量的心血。他渊 博的知识、严谨的治学态度、科学的工作方法和精益求精的工作精神给了我极大 的帮助和影响,使我受益匪浅。 在两年半的研究生学习期间,陈老师在生活、科研两方面,都给予我无微不 至的关怀。在我学习和课题研究遇到困难时给予我耐心指导,为我提供了难得的 学习和锻炼机会,使我在理论水平和实践能力方面都得到了很大的提高,在此衷 心感谢陈老师对我的关心和指导! 周洪利副教授在我攻读硕士研究生期间给予我无私的帮助和悉心的指导,在 此也表示衷心的感谢! 实验室的宋健、侯石岩、崔晓琳、赵霄等同学对我的学习和生活做出了许多 帮助,在开发过程中,我们互相学习,一起探讨项目中的难点,共同进步。在此 向他们表达我的感激之情。 最后还要感谢我的家人,感谢他们一如既往理解和支持,使我能够顺利完成 学! i k 。 北 京交 通 大学硕 士 学位 论 文 引言 1 引言 近年来,随着计算机技术、微电子技术的迅速发展,互联网络技术在人们的 日常生活和工作中扮演了越来越重要的角色,它已经不局限于传统的人们只在p c 机上的信息交流,更加迅速地延伸到人们生活的各个角落。从当今流行的以信息 家电为基础的智能家庭网络到工业智能控制网络,所有这一切都表明信息化、网 络化的时代正在向我们走来,而这些高新技术成果的关键技术就是以嵌入式以太 网技术为基础发展起来的。嵌入式以太网简单的定义就是在嵌入式系统中运行以 太网的t c p 口协议栈,实现以太网的互联。 1 1 嵌入式以太网 1 11嵌入式系统 嵌入式系统( e m b e d d e ds y s t e m ) 是以应用为中心和以计算机技术为基础的, 并且软硬件是可裁剪的,能满足应用系统对功能、可靠性、成本、体积、功耗等 指标的严格要求的专用计算机系统,它可以实现对其它设备的控制、监视或管理 等功能。嵌入式系统通常由硬件和软件两部分组成,简单的嵌入式系统由微控制 器或单片机及嵌入式软件组成,复杂的嵌入式系统通常都采用高端嵌入式微处理 器,并运行嵌入式操作系统。嵌入式系统不同于传统的计算机系统,它有较强的 专用性、可裁剪性、可靠性等,应用范围远远超过计算机系统,广泛应用在制造 工业、过程控制、通信、仪器仪表、汽车、船舶、航空航天、军事装备、消费类 电子产品等领域i 。 1 1 2以太网 以太网( e t h e m e t ) 最初起源于x e r o x 公司建造的一个2 9 m b p s 的c s m a c d ( 载 波监听多路访问) 系统,它以无源电缆作为总线来传输数据,在1 0 0 0 m 的电缆上 连接了1 0 0 多台计算机,并以曾经在历史上表示传播电磁波的以太( e t h e r ) 来命 名,这就是如今的以太网的鼻祖。随后d e c 、i n t e l 及x e r o x 合作公布了e t h e m e t 物理 层和数据链路层的规范,称为d i x 规范。在此基础上,电气和电子工程师协会 ( i e e e ) 制定了i e e e 8 0 2 3 标准j 。 北京交 通大学硕士学位论文 引 言 以太网可以支持多种传输介质。以太网按传输介质标准主要可分为三类,粗 缆以太网、细缆以太网、双绞线以太网,即1 0 b a s e 5 ,1 0 b a s e 2 ,1 0 b a s e - t , 近几年又出现了以光纤为传输介质的快速以太网。随着技术的不断发展,以太网 的传输速度也得到很大提高,从1 0 m b p s 逐渐发展到1 0 0 m b p s ,1 0 0 0 m b p s ,甚至 1 0 g b p s 也提上研究日程。 以太网主要针对网上只传输数据的特点,网上所有节点访问网络的机会相等, 为此媒体介质访问协议采用c s m 刖c d ( 载波监听多路访问) ,它是一种非确定性 或随机性通信方法。其基本工作原理是:某节点要发送报文时,首先监听网络, 如网络忙,则等到其空闲为止,否则将立即发送,并同时继续监听网络;如果两 个或更多的节点监听到网络空闲并同时发送报文时,将发生碰撞,同时节点立即 停止发送,并等待一段随机长度的时间后重新发送。1 6 次碰撞后,控制器将停止 发送并向节点微处理器回报失败信息。c s m a c d 的优势在于站点无需依靠中心控 制就能进行数据发送。当网络负荷较小的时候冲突很少发生,因此延迟低。当网 络负载较重的时候,就容易出现冲突,网络性能也相应降低,不能保证数据在预 定时间内到达目的站,因此通信实时性不能保证1 3 j 。 另外,以太网采用t c p i p 通信协议,与国际标准化组织i s o 的o s i ( 开放系统 互联模型) 相比,它采用了四层模型,从下到上分别是:数据链路层、网络层、 传输层、应用层。各层分别完成各自的数据处理,确保实现数据端到端的传输【4 j 。 以太网与嵌入式系统相结合就形成了嵌入式以太网技术。嵌入式以太网技术 这一概念创新的提出在嵌入式系统中实现以太网的w e b s e r v e r ( 网页服务器) 功能, 与i n t e m e t 实现无缝连接。由于以太网的便利条件,可以很容易地进行远程数据采 集、智能控制等【5 j 。 1 2嵌入式以太网的发展过程及研究现状 将嵌入式系统技术与以太网技术融合集成在一起的想法很早以前就产生了, 但许多的客观因素制约了它的发展【6 】。早期的嵌入式系统中的处理器除部分是3 2 位c p u # f ,大部分是以8 位、1 6 位m c u 微控制器为主,无论是运算速度还是存储 容量都比较低,而且早期的以太网技术发展也不成熟,占用大量系统资源的庞大 复杂的t c p i p 协议栈使人望而却步,很难直接支持各种网络协议。但是,随着半 导体微电子技术和网络技术的不断发展,以上的一些问题正逐步得到解决,大量 的新型微控制器不断研发出来,3 2 位微处理器也逐步得到广泛的应用,以太网技 术也不断完善,其t c p i p 协议己成为互联网事实上的标准协议。这切都为嵌入 式以太网技术的发展奠定了基础,为其广泛的应用创造了前提。 2 北京交通大学硕士学位论文引言 目前,嵌入式以太网技术主要应用于智能家庭网络、工业以太网以及各种智 能的消费电子产品。以信息家电为基础的智能家庭网络的关键技术就是嵌入式以 太网技术。智能家庭网络是指将家庭内部所有的设备和应用系统通过家庭网络 ( h o m en e t w o r k s ,简称h n ) 连接成一体,以实现安全、经济、舒适、方便等指 标综合平衡的家庭系统。国际上对家庭网络的研究起于2 0 世纪7 0 年代,主要集 中在发达国家,如美国、日本等,但是这些研究都是在各国独立进行,并且具有 不同的目标和市场战略机制,因而没有形成统一的标准。我国对智能家庭网络的 研究还刚刚起步,各大家电企业都正密切关注着这一技术领域,并已推出了相关 的产品。尽管我国各家电企业对网络家电技术开展了研究,但多数产品功能单一、 不能兼容,互联性和可扩展性差,安装、使用比较复杂,并未将该技术广泛地应 用到家用电器产品中去。 嵌入式以太网技术的另一主要应用领域是工业控制网络,即工业以太网。具 有以太网接口的各种智能化仪器仪表正逐步取代传统的测控设备。嵌入式以太网 技术为工业控制网络的发展带来了一个全新的思想和更广阔的领域,它突破了常 规的框架,使网络不仅服务于管理层,而且进一步延伸到工业控制现场设备,以 实现现场自动化智能设备之间的多点数字通信,形成工厂底层网络系统,完成从 最底层到最上层的一体化联网。以往以现场总线为基础的工业控制网络受到工业 以太网的强有力竞争,其优势逐步削弱,而相对于嵌入式以太网技术的缺点则逐 步显现出来。 首先,现有的现场总线标准过多,世界各大公司纷纷投入了大量资金和力量, 开发了数百种现场总线,其中开放的现场总线也有二、三十种。虽然广大仪表和 系统开发商以及用户对统一的现场总线呼声很高,但由于技术和市场经济利益等 方面的冲突,市场上的各种现场总线经1 4 年争论也无法达成统一,仅国际标准 i e c 6 1 1 5 8 就包含了8 个类型,未能统- n 单一标准上来,多标准等于无标准。 其次,现场总线在其自身的发展过程中,无一例外地沿用了各大公司的专有 技术,导致相互之间不能兼容,同时也无一例外地过多强调了工业控制网络的特 殊性,从而忽视了其作为一种网络通信技术的一般性和共性。尽管迫于市场和用 户的压力,这些现场总线协议公开了,但其本质上还是“专有的”,其“开放性”仅是 局部的,只是部分技术( 主要是协议规范) 的公开,不能真正实现透明信息互访, 无法实现信息的无缝集成。而且由于现场总线是专用实时通信网络,成本较高, 速度较低,支持的应用有限,不便于和i n t e r n e t 信息集成i 刀。 与现场总线相反,以以太网为代表的信息网络通信技术却以其协议完善、完 全开放、稳定性和可靠性好而获得了全球的技术支持。与现场总线相比,以太网 具有以下优点: 3 北京交通大学硕士学位论文引言 应用广泛 以太网是目前应用最为广泛的计算机网络技术,受到广泛的技术支持。 成本低廉 由于以太网的应用最为广泛,因此受到硬件开发与生产厂商的高度重视与广泛 支持,有多种硬件产品供用户选择,而且由于应用广泛,硬件价格也相对低廉。 日前以太网卡控制芯片的价格只有p r o f i b u s 、f f 等现场总线的十分之一,并且随着 集成电路技术的发展,其价格还会进一步下降。 通信速率高 目前以太网的通信速率为l o m b p s ,l o o m b p s 的快速以太网也开始广泛应用, 1 0 0 0 m b p s 以太网技术也逐渐成熟,l o g b p s 以太网也正在研究,其速率比目前的现 场总线快得多。另外以太网可以满足对带宽的更高要求。 软硬件资源丰富 由于以太网已应用多年,人们对以太网的设计、应用等方面有很多的经验,对 其技术也十分熟悉。而且,以m c u 为核心的嵌入式系统的技术不断发展,大量的 软硬件资源和设计经验可以显著降低系统的开发和培训费用,从而可以显著降低 系统的整体成本,并大大加快系统的开发和推广速度。 信息无缝集成 由于能与i n t e r t r e t 连接,可实现办公自动化网络与工业控制网络的信息无缝集 成。 1 3课题研究的意义 从以上分析可知,随着网络通信技术和嵌入式系统的不断发展融合,嵌入式 以太网技术在人们的工作生活中己经起到越来越重要的作用,网络无处不在,未 来的世界将是一个网络信息化的世界。据网络专家预测,下一代网络设备中嵌入 式设备将大大增加,将来在互联网上传输的信息中7 0 左右是来自小型嵌入式系 统【7 】。与此同时也就产生了一个巨大的市场产值,而嵌入式系统工业不同于传统 的通用计算机工业,从某种意义上说,通用计算机工业基础是由少数几家大公司 垄断的行业,嵌入式系统则不同,它是一个分散的工业,充满了竞争、机遇与创 新,没有哪一个系列的微处理器或操作系统能够垄断全部市场,即便在体系结构 上存在主流,但各不相同的应用领域决定了不可能有少数公司、少数产品垄断全 部市场,因此嵌入式系统领域的产品和技术必然是高度分散的,留给各个行业的 中小规模高技术公司创新余地很大,因此,对嵌入式以太网技术的研究意义深远, 它可以带动一系列相关的产业发展。 4 北京 交 通大学硕士学位论文引言 我国嵌入式以太网技术研究起步较晚,目前,许多公司也都意识到这一潜在 的巨大市场,纷纷加大投入,积极参与相关技术的研发,北京英贝多嵌入式网络 技术公司就推出了e m l s p s o c 产品以及解决方案,成都英创信息技术有限公司自主 开发研制了基于i n t e l 3 8 6 c p u 的用于宽带网设备、通信终端的n e t b o x 产品等。虽然 在某些方面取得了一些成果,但这也仅仅是个开端,还有更多的技术和产品等待 我们去深入研究、开发,还有更多的工作需要我们去做。 综上所述,“基于嵌入式以太网接口的实现和应用的研究”这一课题具有重要 的意义,通过对该课题的研究,必将进一步优化嵌入式以太网技术,拓宽其应用 领域,对嵌入式系统工业的发展起到一定的促进作用。 1 4嵌入式以太网的实现方法 嵌入式以太网系统可以有多种实现方法,一般应用较多的可以概括为以下几 种方案:3 2 位微处理器运行嵌入式操作系统实现、采用专用网络协议处理芯片、 单片机嵌入t c p 肿协议栈。 1 4 1 3 2 位微处理器运行嵌入式操作系统 近几年来,由于半导体技术的飞速发展,微处理器的运算能力得到了极大的 提高,同时也带动了单片机的发展,单片机也逐渐由8 位、1 6 位向3 2 位过渡。如 3 2 位嵌入式a r m 处理器就是众多3 2 位微处理器中的优秀产品,a r m ( a d v a n c e d r i s cm a c h i n e s ) 微处理器由英国a r m 公司设计开发,该公司作为知识产权供应 商主要出售芯片设计技术的授权。世界各大半导体生产商购买a r m 微处理器核, 根据各自不同的应用领域,加入适当的外围电路,生产出了各种各样的基于a r m 核的微处理器和微控制器芯片。a r m 采用r i s c 微处理器结构,以极低的成本和 功耗提供了较高性能。目前,基于a r m 技术的微处理器应用约占据了3 2 位r i s c 处理器7 5 以上的市场份额。其中,s a m s u n g 公司的$ 3 c 4 5 1 0 b 是用在基于以太网 系统的高性价比的微控制器,内部含有一个由a r m 公司设计的1 6 3 2 位 a r m 7 t d m i r i s c 处理器核,具有高达5 0 m h z 的工作频率,除了各种通用接口以 外,特别提供独立的、功能强大的以太网控制器,很适合用于相对复杂的嵌入式 以太网应用系统。它支持1 0 m b p s 1 0 0 m b p s 的工作速率,与i e e e 8 0 2 3 标准完全兼 容,带猝发模式的d m a 引擎,d m a 发送接收缓冲区( 2 5 6 字节发送,2 5 6 字节 接收) ,m a c 发送接收f i f o 缓冲区( 8 0 字节发送,1 6 字节接收) 等功能。 以3 2 位微处理器为平台,在其上运行集成有t c p i p 协议栈的嵌入式操作系 5 北京 交 通 大 学硕士学 位 论 文引言 统就可以实现嵌入式以太网系统。嵌入式操作系统( e o s ) 做为应用程序的运行平 台,它将应用程序分解为多个任务,负责各个任务的调度,系统资源的管理,任 务之间的通信等【6 j 。要在3 2 位微处理器上运行嵌入式操作系统就需要将嵌入式操 作系统移植到微处理器上,移植需要根据不同的处理器架构对操作系统中硬件底 层做相应的修改,然后在宿主机( p c 机) 上建立交叉编译环境,编译操作系统和 开发的应用程序,最后下载到目标板运行调试。嵌入式操作系统可以采用移植性 能好、源代码开放的比c l i n u x ,比c o s 等,也可以使用有一定授权金的w i n c e , v x w o r k s 等。 基于3 2 位微处理器平台的嵌入式以太网系统的实时性、可靠性都比较高,一 般适用于系统比较复杂,执行的控制任务多的高端应用。但在3 2 位微处理器上移 植嵌入式实时操作系统比较复杂,难度较大,需要对嵌入式操作系统有比较精深 的研究,熟悉相关的硬件底层驱动的编写、内核的结构及工作原理和上层应用程 序的集成,而且硬件方面也要精通,因为嵌入式操作系统与传统的操作系统有很 大的不同,它不同于传统的桌面操作系统,它是直接控制硬件完成相关的任务, 所以需要掌握所用3 2 位微处理器的架构、资源等。此外,成本也比较高,开发周 期长。 1 4 2 专用网络协议处理芯片 目前,随着集成电路技术的不断发展,许多半导体芯片公司针对不同的应用 领域分别设计了相应的专用网络协议处理芯片,如美国u b l c o m 公司生产的新型 网络单片机s x 5 2 b d ,在1 0 0 m h z 外频下运行速度可以达到1 0 0 m i p s ,它的内部 固化了实现t c p i p 协议的一些a p i 函数,用户只要通过适当的编程就可以实现自 己想要的通信功能,并且以s x 5 2 b d 为核心的测控设备通过扩展一个以太网控制 芯片就可以接入以太网。但编写软件与t c p i p 协议接口部分必须用s x 5 2 b d 特有 的开发平台编写,并且s x 5 2 b d 有自己一套专门的指令系统,因此还需要重新学 习它的指令集,并用专用的s x k e y 编译器编译,软件开发比较繁琐,这在一定 程度上限制了其应用。另外其它的网络处理器如i p 2 0 2 2 一般专用于网桥、网关、 路由器等专用系统,因此,也难以广泛应用1 6 l 。 以专用协议处理芯片为核心的应用系统数据处理效率高,速度快,一般用于 高端的复杂应用。但灵活性较差,只局限特定的应用领域,不能随意配置修改各 种协议或是在原有基础上升级,成本也比较高。 6 北京交通大学硕 士 学位论文 引言 1 4 3单片机嵌入t c p i p 协议栈 第三种方案是利用单片机为控制核心,添加一片以太网控制芯片,在其中嵌 入一个比较简单的t c p i p 协议栈,并在需要的情况下在单片机外围扩展大容量的 r o m 、r a m 以存放发送接收的数据。这种方案对硬件的要求不高,硬件实现起来 相对比较容易,但是软件相对复杂,需要对t c p i p 协议栈有深入的了解,并针对 不同的应用要求进行不同程度的精简和优化。这种系统功能有限,不能实现太多 的以太网协议,数据的处理能力不强,不能发送接收大量的数据,只能实现有限 的控制功能,但成本比较低,适用于比较低端的应用。这种方案也是应用范围最 广的,因为目前嵌入式系统中8 位、1 6 位的单片机还是占据大部分的应用领域, 这样有利于系统的平滑升级,同时广大的应用工程师积累起来的成熟经验和丰富 的软硬件资源也是其广泛应用的基础1 2 】。 目前,一些单片机厂商生产的产品集成了大量的外设,主频也不断提高,功 能越来越强,已有s o c 色彩,有代表性的就是s i l i c o nl a b o r a t o r i e s 公司生产的 c 8 0 5 1 f 系列微控制器。该系列微控制器采用独特的c i p 8 0 5 1 结构,使单周期指令 速度提高到m c s 。5 1 的1 2 倍,并且为数、模混合集成,除了集成标准8 0 5 1 的数 字外设之外,片内还集成了数字采集和控制系统中常用的模拟部件和其他数字外 设和功能部件,包括模拟多路选择器、可编程增益放大器、a d c 、d a c 、电压比 较器、电压基准、温度传感器、s m b u s 1 2 c 、增强型全双工的u a r t 、p c a 和具有 i s p 和l a p 功能的f l a s h 等。由于技术的发展,这些m c u 在实现嵌入式以太网 接口时体现出成本低、低功耗、编程灵活且复杂度低的优势,非常适合应用不是 很复杂的系统。 c p 2 2 0 1 也是s i l i c o nl a b o r a t o r i e s 公司的产品,它是集成了i e e e 8 0 2 3 以太网 媒体访问控制器( m a c ) 、1 0 b a s e t 物理层( p h y ) 和8 k b 非易失性f l a s h 存 储器的单芯片以太网控制器,采用2 8 脚q f n ( 5 5 r a m z ) 或4 8 脚t q f p 封装。 c p 2 2 0 1 可以为具有1 1 个以上端口i o 引脚的任何微控制器或主处理器增加以太网 通信功能。8 位并行总线接口支持i n t e l 和m o t o r o l a 总线方式,可以使用复用方式 寻址。数据传输速度可达到2 5 m b p s l l 8 j 。 综合上述几种方案,单片机嵌入t c p i p 协议栈的实现方法对应用不是很复杂 的系统具有优势,且应用具有一般性,因此本文选定单片机嵌入t c p i p 协议栈作 为系统的实现方案。 7 北京交通大学硕士学位论文引 言 1 5本文的主要内容 由于t c p i p 协议实现的复杂性及嵌入式系统硬件资源的限制使得开发嵌入 式以太网接口有很大的技术难度。本文给出了基于c 8 0 5 1 f 1 2 0 微控制器和c p 2 2 0 1 以太网控制器的嵌入式以太网接口的实现,以及编写基于以太网的应用程序的基 本方法。由于使用了t c p i pc o n f i g u r a t i o nw i z a r d ,使得开发t c p i p 协议栈的难度 大大降低,从而可以将精力集中与应用程序开发。 本文先从整体设计着手,定位嵌入式以太网系统的功能、访问方式、配置及 使用的协议等细节;然后开始硬件部分设计,详细阐述m c u 、以太网控制器的选 择、电路的设计以及p c b 的设计细节;接下来花大量篇幅论述了软件部分设计, 从框架的产生到应用程序代码的添加再到功能的定制都有详细的示例代码及图示 说明;最后论述了调试过程的技巧和注意事项。 本文将遵循图1 1 的流程来论述嵌入式以太网系统的设计,这些流程将在后续 章节详细论述。 图1 - 1 设计流程 8 北京交通大学硕士学位论文系统的整体设计及背景知识 2 系统的整体设计及背景知识 2 1系统的整体设计 当前嵌入式系统变得越来越小,越来越快,功能越来越强大。嵌入式系统之 间的互联互通将是当前和未来发展中的最前沿技术。想象一下,如果一个嵌入式 系统可以通过w e b 浏览器来监视和控制,如果一台自动售货机需要维修或东西卖 光了的时候会自动发送一封e m a i l 来通知维护人员的话,将会给工作和生活带来 很大的便利。有了嵌入式以太网,这些事情都能成为现实【2 。 要实现嵌入式以太网,首先要考虑整体设计,正如图1 1 所示,以下是整体设 计中需要考虑的因素: 2 1 1系统要实现的功能 整体设计中第一需要考虑的问题是定位系统需要实现的功能,比如需要嵌入 式以太网提供监视功能,还是控制功能,还是两者都有,还是其他更多的需要。 图2 1 给出了几个例子。 r :级他逸怡 可五f :巧 ,l _r 乜动机托删j & 臼f :i i 园 当然嵌入式以太网的应用非常广泛,比如:远程监控、库存管理、v o l p 电话 北京交通大学硕士学位论文系统的整体设计及背景知识 适配器、销售终端、网络时钟、嵌入式w e b 服务器、远程以太网u a r t 桥等。本 文最后通过一些例子详细说明了其中的一些应用。 2 1 2系统的访问方式 第二个需要考虑的问题是系统是通过什么方法同嵌入式系统进行通信的,通 常有以下几种访问方式: 通过w e b 浏览器访问 通过超级终端访问 让系统发送e m a i l 自定义的应用程序访问 上面访问方式如图2 2 所示。上述方式各有特点,其中w e b 浏览器方式最主 要的特点是p c 端无需特定软件支持,只需通过浏览器即可访问嵌入式系统,非常 方便;超级终端也无需特定软件支持,但只能通过特定的命令来访问,可视效果 不足,但操作简单;e m a i l 方式对无需实时监控的应用提供方便;自定义的应用 程序是指通过s o c k e t 接口编程,这种方式可以提供灵活而强大的功能,但访问必 须需要特定的软件。 图2 2 用户接口选择( 白定义应用程序,s o c k e t 编程) 1 0 北京交通大学硕士学位论文系统的整体设计及背景知识 本文在后续章节会通过一些例子详细说明这些访问方式。 2 1 3系统的配置 系统配置是指配置设备的i p 地址和m a c 地址等。每个设备和网络上的其他 设备连接通信需要一个m a c 地址和口地址,一般的网络控制器都在内部的r o m 或f l a s h 中出厂时写入了一个唯一m a c 地址,所以只需要获得一个i p 地址即可访 问网络,下面有几种获取i p 地址的方法: 自动获取i p 地址 通过专用软件自动获取i p 地址 静态分配口地址 通过专用软件静态分配i p 地址 下面分别论述各种方法: 自动获取i p 地址 自动获取口地址是指通过d h c p ( d y n a m i ch o s tc o n f i g u r a t i o np r o t o c 0 1 ) 从网 络上获取l p 地址。当然网络上要有d h c p 服务器并且可以分配l p 地址,d h c p 服务器一般存在与路由器或者其他网络设备中。 使用自动获取i p 地址便可以使嵌入式系统访问网络,比如给一个已知的地址 发e m a i l 或访问一个已知的服务器,但是用户并不知道网络分配给它的i p 地址, 因而不能通过浏览器或t e l n e t 客户端程序访问嵌入式系统,这种情况下我们或者 给嵌入式系统加装液晶屏,或者通过专用的软件来获知i p 地址。 通过专用软件自动获取i p 地址 这种方法主要是在p c 上编写相应软件来连接嵌入式系统,从而通过d h c p 服 务器自动获取i p 地址。 静态分配i p 地址 当网络上没有d h c p 服务器时,为了使网络节点的i p 地址不至于相同而产生 冲突,每个节点都必须分配一个静态的i p 地址,一般来说,网络管理员有一个i p 地址数据库,在那里可以为每一个设备分配一个静态的i p 。 有很多种方法可以为嵌入式系统分配静态i p ,比如,i p 地址可以写入到固件 中,当然这种方法不够灵活,i p 地址还可以通过串口分配到相应的f l a s h 中,类似 的方法有很多种。 通过专用软件静态分配i p 地址 同2 ,通过编写相应软件静态分配口地址。 北京交通大学硕士学位论文系统的整体设计及背景知识 2 1 4系统用到的协议 既然是以太网,肯定会用到一些高层的协议,表2 - 1 列出了嵌入式以太网系统 通常需要的一些协议,这些协议在后续章节会详细论述。 表2 - 1 常用的应用与协议 系统需要的功能 系统需要的协议 自动获取i p 地址d h c p 专业软件分配i p n e t f i n d e r w e b 浏览器访问接口h 兀p 超级终端t e l n e t 接口 t c p e m a i ls m t p 自定义的应用程序接口t c p 或u d p ( 依赖于应用) 2 2t c p i p 概述 今天i n t e m e t 似乎已经成为了我们生活当中不可缺少的一个重要组成部分,是 什么神奇的力量把世界上运行在五花j k l - j 的操作系统下、各式各样的硬件结构中 的计算机连接到了一起? 那就是完全公开和开放的t c p i p 协议。t c p i p 起源于 6 0 年代末美国政府资助的一个分组交换网络研究项目,现在它己发展成为计算机 之间最常应用的组网形式,它构成了包含超过1 0 0 万台遍布世界各地的计算机的 “全球互联网”或“因特网”( i n t e m e t ) 的基础i 翻。 2 2 1t c p i p 协议的分层结构 网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个 协议族,比如t c p i p ,是一组不同层次上的多个协议的组合。t c p i p 通常被认为 是一个四层协议系统,如表2 2 所示。每一层负责不同的功能: 链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备 驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆( 或其他任何传输 媒介) 的物理接口细节。链路层的协议主要包括a r p 协议( 地址解析协议) ,r a r p 协议( 逆地址解析协议) 等。 网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。 北京交通大学硕士学位论文系统的整体设计及背景知识 在t c p b p 协议族中,网络层协议包括i p 协议( 网际协议) ,i c m p 协议( m t e m e t 互联网控制报文协议) ,以及i g m p 协议( i i l t e m e t 组管理协议) 。 表2 - 2t c p b p 协议族的四个层次 t c p i p 层描述对应的协议、功能 应用层t e l n e t 、f r p 和e m a i l 等 传输层t c p 和u d p 网络层i p 、i c m p 和i g m p 链路层设备驱动程序及接口卡 传输层,主要为两台主机上的应用程序提供端到端的通信。在t c p a p 协议族 中,有两个互不相同的传输协议:t c p ( 传输控制协议) 和u d p ( 用户数据报协 议) 。t c p 为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交 给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最 后确认分组的超时时钟等。由于传输层提供了高可靠性的端到端的通信,因此应 用层可以忽略所有这些细节。而另一方面,u d p 则为应用层提供一种非常简单的 服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该 数据报能到达另一端。任何必需的可靠性必须由应用层来提供。这两种传输层协 议分别在不同的应用程序中有不同的用途。 应用层,负责处理特定的应用程序细节。包含以下一些常用的应用程序:h r r p ( 超文本传输协议) 、f r p ( 文件传输协议) 、s m t p ( 简单邮件传送协议) 、d h c p ( 动态主机配置协议) 等。 图2 3 给出了t c p i p 协议族中不同层次的协议。 2 2 2t c p i p 协议层封装 当应用程序用t c p 传送数据时,数据被送入协议栈中,然后逐个通过每一层 直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信 息( 有时还要增加尾部信息) ,该过程如图2 4 所示。t c p 传给i p 的数据单元称作 t c p 报文段或简称为t c p 段( t c ps e g m e n t ) 。i p 传给网络接口层的数据单元称作 i p 数据报( i pd a t a 黟a m ) 。通过以太网传输的比特流称作帧( d a m e ) 。 在数据包的封装过程中,用户生成的数据首先加上应用层协议首部以区分不 同的应用,然后再将t c p 首部加到应用数据包上,在该首部中包括了t c p 端口号 1 3 北京交通大学硕士学位论文系统的整体设计及背景知识 及序号、确认号等标识与控制信息;接着在t c p 数据包前加入口首部,其中包含 了源站、目的站的碑地址、服务类型以及协议类型等信息,如果数据包被分片, 它还包含了分片的信息;一个i p 数据包再加上太网帧首部,如源端与目的端的 m a c 地址、帧类型校验码等信息就成为了一个完整的以太网帧传送到以太网中。 图2 3t c p i p 协议族中不同层次的协议 用户数据 1r1 r a p p l 首部 用户数据 1r 1r t c p 首部应用数据 tcp段 1r1r i p 首部t c p 首部应用数据 1 r1 i p 数据报气r l 以太嘲首音i :i p 首部t c p 首部应用数据以人列尼郜 1 42 02 04 j i、ij一tl 4 0 - - 1 5 0 0 字节 图2 4 数据进入协议栈时的封装过程 1 4 应用层 传输层 网络层 链路层 以太网 北京交通大学硕士学位论文 硬件 设计 3 硬件设计 硬件设计的主要工作是电原理图的设计及p c b 布线,上一章整体设计完成以 后就可以开始硬件设计,硬件设计遵循以下5 个步骤,每个步骤分别对应电路板 上的5 个硬件部分。硬件设计流程如图3 1 。 整体设计 图3 1 硬件设计流程 件设计 对应的硬件部分如下: 自定义的应用电路:传感器、指示灯以及其他一些特殊的硬件电路 m c u :微控制器 以太网控制器:给m c u 提供接收、发送以太网数据的能力 以太网连接器:砌4 5 连接器,带变压器、l e d 连接活动指示灯 电源电路:给嵌入式系统提供电源,比如3 3 v 如图3 2 所示。 北京交通大学硕 士 学位 论文硬件设计 固圈圈 3 1自定义的应用电路 图3 2 电原理图模块 自定义的应用电路包括一些特殊需要的传感器、l e d 灯、调试器、控制电路 等。设计电源电路时要考虑这部分的功耗。图3 3 是本文作者设计的嵌入式以太网 系统中这部分电路,其中灰色部分即为自定义应用电路部分。 图3 3 自定义应用电路示例 其中包括一个l e d 指示灯、一个温度传感器、一个j t a g 调试器接口、另外 还有一片u s b 控制芯片扩展系统的u s b 传输功能,还有两个u a r t 接口。 1 6 北京交 通 大学硕 士 学位论文硬件设计 3 2m c u 的选择 如1 4 3 所述,单片机嵌入t c p i p 协议栈的实现方法对应用不是很复杂的系 统具有优势,且应用具有一般性,因此本文选定单片机嵌入t c p i p 协议栈作为系 统的实现方案。鉴于t c p i p 协议栈的内存消耗及效率问题,我们需要选择一款具 备一定量内存且m i p s 较高的微控制器;嵌入式以太网经常应用在监控领域,所以 最好能集成一些数字和模拟外设;考虑到要和网络控制芯片连接的速度问题,m c u 应该带有e m i f 外部存储器扩展接口;另外还要考虑软件编写的灵活程度等。 目前8 位的微控制器品种最为丰富、应用最为广泛,主要分为m c s 5 1 系列 及其兼容机型和非m c s 5 1 系

温馨提示

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

评论

0/150

提交评论