(计算机应用技术专业论文)嵌入式web服务器的研究与实现(1).pdf_第1页
(计算机应用技术专业论文)嵌入式web服务器的研究与实现(1).pdf_第2页
(计算机应用技术专业论文)嵌入式web服务器的研究与实现(1).pdf_第3页
(计算机应用技术专业论文)嵌入式web服务器的研究与实现(1).pdf_第4页
(计算机应用技术专业论文)嵌入式web服务器的研究与实现(1).pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机应用技术专业论文)嵌入式web服务器的研究与实现(1).pdf.pdf 免费下载

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

文档简介

摘要 嵌入式w e b 服务器的研究与实现 硕士研究生倪兵导师邓建明教授 东南大学计算机科学与工程学院 随着计算机技术、半导体技术、微电子技术的发展,嵌入式系统得到了广泛的应用。然而嵌入式系统 专用的通讯方式阻碍了它的功能发挥和进一步发展。嵌入式系统i n t e r n e t 接入技术的兴起,解决了上述 的问题,使嵌入式系统得到更广泛的应用。嵌入式t c p i p 协议栈作为i n t e r n e t 接入技术的核心是本文研 究的重点。 本文以具体应用出发,基于应用广泛的8 0 5 1 单片机设计并实现了一个音乐报时系统。该系统具有接 入校园网并通过校园网进行远程控制与文件传输的功能。因此需要对嵌入式t c p i p 协议栈、嵌入式w e b 服务器、嵌入式f t p 服务器以及文件系统进行研究与实现。 课题首先根据应用需求进行器件选型与硬件电路设计工作,以此作为后续软件设计和实现的基础。 在分析和研究开源t c p i p 协议栈u i p 的基础上,提出了一种嵌入式t c p i p 协议栈方案,该方案通过 层间接口函数使协议栈层次清晰,便于原代码的维护和升级;采用了适用于单片机的动态内存分配技术; 实现了适用于文件传输的确认与重传机制。为了减少系统资源开销,本文只实现了标准t c p i p 协议栈的 一个子集,包括a r p 、i p 、t c p 协议。 从音乐报时系统的需求出发,有选择的实现了h t t p 协议与f t p 协议的必要功能,使其能够提供w e b 服务和f t p 服务。研究并实现了w e b 服务器的嵌入式应用接口,通过该接口嵌入式应用可以与浏览器进行 信息传递。 课题所做的研究工作不仅可以作为具体应用音乐报时系统,而且其中的嵌入式t c p i p 协议栈、 嵌入式w e b 服务器、嵌入式f t p 服务器等内容还可队在类似的基于单片机的嵌入式系统中使用。因此课题 的研究工作具有较高的实用价值。 关键字:嵌入式系统;t c p i p 协议栈;耳匝服务器;f r p 服务器;8 位微控制器 东南大学硕士学位论文 a b s t r a c t r e s e a r c ha n di f p l e m e n to fe m b e d d e dw e bs e r v e r c a n d i d a t e :n ib i n g , s u p e r v i s o r :d e n gj i a n m i n g s c h o o lo fc o m p u t e rs c i e n c e e n g i n e e r i n g s o u t h e a s tu n i v e r s i t y w i t ht h ed e v e l o p m e n to fc o m p u t e rt e c h n o l o g y ,s e m i c o n d u c t o rt e c h n o l o g ya n dm i c r o - e l e c t r o n i c t e c h n o l o g y ,t h ea p p l i c a t i o no fe m b e d d e ds y s t e mi si n c r e a s i n g l yw i d e s p r e a d h o w e v e rt h es p e c i a l c o m m u n i c a t i o nm o d e so fe m b e d d e ds y s t e mo b s t r u c ti t sf u r t h e rp r o g r e s s t h ee m b e d d e d i n t e r n e t t e c h n o l o g yc a ns o r y et h ep r o b l e mt h a ts p e c i a lc o m m u n i c a t i o nm o d e sr e s u l ti n s ot h ee m b e d d e d i n t e r n e tt e c h n o l o g yb a s e do ne m b e d d e dt c p i pp r o t o c o ls t a c ki gt h ef o c u so ft h i sr e s e a r c h am u s i c a lt i m e p i e c es y s t e mi sd e s i g n e dw i t ht h ea b i l i t yt oc o n n e c tt oi n t e r n e tw i t h8 0 5 1 m i c r o c o n t r o l l e r t h i ss y s t e mc a nc o n n e c tt oc a m p u si n t r a n e ta n dh a st h ef u n c t i o no fd i s t a n c e c o n t r o la n df i l et r a n s f e r s oi t i sn e c e s s a r yt or e s e a r c ha n di m p l e m e n tt h ee m b e d d e d1 p i p p r o t o c o ls t a c k ,e m b e d d e dw e bs e r v e ra n df t ps e r v e ri nt h ep a p e r f i r s t l y ,t h eh a r d w a r ei sd e s i g n e da c c o r d i n gt ot h ea p p l i c a t i o nr e q u i r e m e n t ,w h i c hp r o v i d e s t h e b a s eo fs o f t w a r ei m d l e m e n t a t i o n s e c o n d l y ,o nt h eb a s i so fa n a l y z i n ga n dr e s e a r c h i n gt h eo p e ns o u r c ee m b e d d e dt c p i pp r o t o c o l s t a c k - - u i p ,t h es t r a t e g yo fe m b e d d e dt c p i pp r o t o c o ls t a c ki sp r o p o s e d t h i ss t r a t e g yb r i n g s f o h a r di n t e r f a c ef u n c t i o n sw h i c hc l a r i f yf r a m e w o r ka n ds i m p l i f yt h es y s t e md e b u ga n du p g r a d e , a d o p t sd y i l e m i cm e m o r ya l l o c a t i o nt e c h n o l o g ys u i t 曲l ef o rm i c r o c o n t r o l l e r a n di m p l e m e n t st h e c e r t i f i c a t i o na n dr e t r a n e m i s s i o nm e c h a n i s u i t a b l ef o rf i l et r a n s f e r i na d d i t i o n i no r d e r t os a v es y s t e mr e s o u r c e s ,as u b s e to f t h et c f i p ,i n c l u d i n ga r p ,i pa n d 丁c p ,i si m p l e m e n t e d f i n a l l y t h em u s i c a lt i m e p i e c es y s t e mi se n a b l e dt op r o v i d e1 e bs e r v i c ea n df 1 _ ps e r v i c e t h r o u g hp a r t i a l l yi m p l e m e n t i n gt h eh t l 甲a n df 1 _ pp r o t o c 0 1 a n dm e a n w h i l ei tc a na l s oc o m m u n i c a t e w i t hb r o w s et h r o u g hi m p l e m e n t i n gt h ee m b e d d e da p p l i c a t i o ni n t e r f a c e n l i sr e s e a r c hi so fh i g ha p p l i c a t i o nv a l u e ,b e c a u s ei tn o to n l ya c c o m p l i s h e sap a r t i c u l a r a p p l i c a t i o n ,i t s c o m p o n e n t s 。s u c ha se m b e d d e dt c f i pp r o t o c o ls t a c k ,w e bs e r v e r , f r fs e r v e r , c a na l s ob ea p p l i e dt os i m i l a re m b e d d e ds y s t e mb a s e do nm i c r o - c o n t r o l l e r k e yw o r d :e m b e d d e ds y s t e m ;飞c p i pp r o t o c o ls t a c k ;w e bs e r v e r ;f 四s e r v e r ;8 - b i tm i c r o - c o n t r o l l e r i i 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。 尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过 的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与我 一同工作的同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示了谢意。 研究生签名: 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位论文的复印 件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质 论文的内容相一致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布( 包括 刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权东南大学研究生院办理。 研究生签名: 么出圭: 导师签名:日期:沙6 ,1 2 , 2 f 第一章绪论 1 1 研究背景 第一章绪论 嵌入式系统主要用于各种信号处理与控制,目前已在国防、国民经济及社会生活各领域普及应用,广 泛应用于企业、军队、办公室、实验室以及个人家庭等各种场所。然而,目前大多数嵌入式系统通常使用 专门的通信方式:r s 4 8 5 、电流环、l o n w o r k s ,c a n 、b i t b u s 等来构建通信渠道。这些专门的通信方式有效 半径有限而且只能在支持这些特殊通信方式的设备之间使用,使用不同通信方式的设备之间无法联系。 这使得嵌入式系统的应用被局限在一个很小的范围内,限制了嵌入式应用功能的发挥和进一步发展。 i n t e r n e t 具有基础设施完善、覆盖率极广、协议完善、功能丰富、支持异构设备互连等特点。因此借 助无所不在的i n t e r n e t ,嵌入式系统无需专用的线路和通讯协议,就可以在全球范围内进行设备的互连和 通讯。随着i n t e r n e t 的发展,w e b 技术得到了广泛的应用。1 r e b 技术提供了灵活、高效的信息使用方式, 友好、方便的访问途径,各个领域纷纷采用它来开发自己的接口界面。 因此研究和应用嵌入式i n t e r n e t 技术具有重要的意义。它不仅为我们管理、控制和检测各种设备提 供了一种很好的途径。同时也为嵌入式系统提供了一个友好、廉价、跨平台的图形用户界面。 1 2 嵌入式i n t e r n e t 技术研究现状 嵌入式系统与i n t e r n e t 技术相结合形成的嵌入式i n t e r n e t 技术是近几年随着计算机网络技术的普及 和发展而发展起来的一项新兴技术,它通过在现有嵌入式系统土增加i n t e r n e t 接入能力来扩展其功能, 创造性地提出以低价位单片机作为微处理器( m c i j ) ,使嵌入式设备而非p c 系统直接接入i n t e r n e t “1 嵌入 式i n t e r n e t 技术具有广阔的应用前景,目前已经渗透到了很多领域,主要包括0 1 : 1 、控制系统和工业自动化 2 、信息家电 3 、军事应用 支撑上述应用的是嵌入式系统i n t e r n e t 接入技术,当前主要有如下三种技术模型。 l 、直接接入技术模型 实现嵌入式系统直接与i n t e r n e t 相互连接,主要是通过在嵌入式系统本身添加网络接口硬件,增加 相应的软件支持,并采用响应的接口方案而实现的。“”。随着硬件技术的发展和制造成本的降低,嵌入式 微处理器的速度越来越快,所集成的资源越来越多。这使得它能够集成网络接口部件,并且具有足够的速 度和资源实现网络协议。大部分3 2 6 4 位单片机采用了这种直接接入技术。这种i n t e r n e t 直接接入技 术模型使嵌入式系统直接与i n t e r n e t 相连,具有很大的灵活性,但是占用的系统资源比较多,对微处理 器的要求也很高。 2 、嵌入式网关技术模型 对于大量在一起的嵌入式设备来说,对每个嵌入式系统都实现i n t e r n e t 功能,将造成巨大的资源浪 费,这时候可采用一个嵌入式网关接入。首先嵌入式系统和嵌入式网关连接通信,连接方式采用传统的 r s 2 3 2 ,k s 4 8 2 、r s 4 8 5 、i i c 、s p i 、u s b 、c a n 、l i n 总线等轻量级网络协议。再由嵌入式网关负责实现t c p i p 协议,并与i n t e r n e t 连接,完成嵌入式系统和i n t e r n e t 的信息交互。嵌入式网关向嵌入式系统提供 i n t e r n e t 或i n t r a n e t 通信和管理服务。如防火墙、协议转换、监视嵌入式设备的运行状态、向外界提供 w e b 服务器等。这种技术需要一个专门的嵌入式网关,面且网关和嵌入式系统之间通信也会受到轻量级网 络协议的制约。对于过于分散的嵌入式系统而言,采用这种接入技术模型,成本将会增加。 3 、嵌入式系统+ t c p i p 协议芯片 t c p i p 协议通过硬件固化到网络芯片上,通过标准的输入输出口,可与绝大多数单片机相连。日前市 面上出售的网络芯片主要有韩国w i z n e t 公司的i 2 c h i pw 3 1 0 0 a ,美国s e i k oi n s t r u m e n t s 公司的i c h i p $ 7 6 0 0 等。这类芯片具有速度快,使用方便的特点。但增加了硬件成本 实现上述模型的关键技术是嵌入式t c p i p 协议栈,随着国内外各大厂商都相继推出了各自的嵌入式 t c p i p 协议栈产品。其中既有针对3 2 位、6 4 位高档嵌入式系统应用的协议栈,也有适合于中低档嵌入 东南太学项士学位论文 式应用的轻量型韵i c p i p 协议栈产品。其中比较有代表性的解决方案有f 面几种。 1 、风河公司t w i n d r i v e r ) 的t c i 1 p 协议栈 风河公司是著名的嵌入系统的开发商,以其v x w o r k s 嵌入式操作系统从而为人们所熟悉。该公司的 t c p t l p 协议栈是v x w o r k s 嵌入式操作系统的一个部分,适合于工业、通讯等离端应用。其协议栈以伯克 利的4 4 版本的i c p i p 坍议栈为基础,并为嵌入式环境的应用做了特殊的优化。在路由器,交换机等 数据通信领域和基站等无线通讯领域应用比较广泛。 但商业的嵌入式t c p i i p 协议栈相当昂贵,并且很:咖提供源代码以供研究,目前较为著名的免费 t c p i p 协议栈有:l i n a x 系列t c p i p 协议栈;l m i p ( l ig h tw e i g h tt c e i ps t a n k ) :n i p ( m i c r o i p ) 。 2 、l i n u x 系列t c p i p 协议栈 支持完全的t c p i p 协议,但是要花费大约1 0 0 i ( br o m ( r e a d0 n l y m e m o r y ) 和数十千字节的r a m ( r a n d o m a c c e s sm e m o r y ) ,这对于大部分嵌入式系统是无法承受的,只能用在高档的服务器上。 3 、1 w i p 由瑞典计算机科学研究所开发。顾名思义,i m l p 属于轻量级的t c p i p 协议栈,1 w l p 主要聚焦于削减 代码大小及内存消耗。为了削减计算和内存漕耗,1 w l p 裁减了a p i ( a p p l i c a * i o n p r o g r a m m i n gi n t e r f a c e ) 的数据拷贝功能。这使1 w l p 尽管支持完整的t c p i p 协议,但是只需要大约4 0 j ( b 的r 伽和数万字节 的r 枷,适台用于嵌入式系统中”。 。 4 、u l p 由瑞典计算机科学研究所a d a m1 ) l l n k e l s 开发。i p 适合用于8 i 6 位微控制器上的小型t c p i p 协 议栈,简单易用。资源占用少是它的设计特点。它去掉了许多全功能协议栈中不常用的功能,而保留网络 通信所必要的协议机制。其设计重点放在i p 、10 l p 和t c p 协议的实现上,将这三个模块合为一个有机的 整体,而将u d p 和a r p 协议实现作为可选模块。 综上所述,嵌入式i n t e r n e t 技术有着广阔的应用前景和重要的研究价值。其实现的核心是嵌入式 t c p i p 协议栈,因此课题将嵌入式t c p i p 协议栈以及两个常用的应用层协议( f i t l p 、f t p ) 作为研究重点。 1 3 研究目标与研究内容 随着技术的进步,以及创造轻松悠静校园氛国的需求,单调机械的电铃声已逐渐被优美的音乐所取代。 目前太多教音乐报时系统都是以p c 机运行音乐报时软件盼方式实现,如果用嵌入式系统实现,可以敬到 系统的廉价、小型化和低功耗。在嵌入式i n t e r n e t 技术的支持下,用户可以通过校园厨对其进行远程得 管理同时该嵌入式应用还可咀作为测试和评价课题实现的嵌入式i l p i p 协议栈以及相关的应用屠协议的平 台。 因此,本课题计划基于8 0 5 1 单片机设计并实现个音乐报时系统,该系统可以提供最多1 2 8 个设置项,每 个设置项的定制内容包括:定时播放的音乐文件、开始播放时间以及播放时长;提供远程e 传下载文件的功能; 为管理提供友好的啦用户界面。 要完成t 述任务,就需要完成以t - ? y i 的工作。 1 、在分析和研究开源t c p i p 协议栈u i p 的基础上,依据协议栈模型和相关的规范文档,设计并实现个结 构紧凑,层次清晰,功能适用的嵌入式t c p i p 协议栈。主要内容包括 物理层设备驱动程序,a r p 协议,i p 协 议- t 凹协议等。 2 、依 旨音乐报时系统的需求,有选择地实现f f f l p 协议与f r p 协议必要的功能并实现嵌入式应用与浏览器 间信息交换的机制,使系统能够提供髓b 服务和m 服务。 3 、为适应音乐报时系统的存储需求。设计并实现适用于单片机的简单文件系统以及底层存储设备的驱动程 序。 课题所做的研究工作不仅可以作为一个具体应用音乐报时系统,而且其中的嵌入式t c p i p 协议 栈、嵌入式嘞服务器、嵌入式f t p 服务器等内容还可以在类似的基于单片机的嵌入式系统中使用。因此 课题的研究工作具有较高的实用价值。 1 4 论文的章节安捧 2 第一章绪论 全文共分七章。 第章首先分析了课题的研究意义和研究背景,然后对嵌入式i n t e r n e t 技术的研究现状进行了综述, 最后对本文的研究内容、研究目标和预期研究结果进行了概述,多层次反映了本课题的研究意义和实用价 值。 第二章介绍了系统硬件设计和实现过程。本章首先根据系统需求确定各硬件模块的功能以及互相间的 关联,并使用硬件结构框图进行描述;然后对结构框图内各硬件功能块的具体器件进行选型;最后对硬件 电路进行详细设计。得到符合系统需求和硬件结构框图的电路原理图。 第三章详细阐述了课题中的嵌入式t c p i p 协议栈的具体实现方法和相关的技术细节。本章在深入研 究已有的t c p i p 协议栈的基础上,依据协议栈模型和相关的规范文档,确定了各软件模块的功能及层间 调用接口。提出了适用于单片机的存储器管理方案,确认与重传机制,延时确认机制等。最后对a r p 协议, i p 协议,t c p 协议进行了具体实现。 第四章阐述了嵌入式w e b 服务器的设计和实现。本章从音乐报时系统的需求出发,有选择的实现了h t t p 协议的部分功能;研究并实现了w e b 服务器的嵌入式应用接口,通过该接口嵌入式应用可以与浏览器进行 信息传递。 第五章实现了一个适用于单片机的文件系统,为f t p 服务器提供了文件操作方面的支持。 第六章阐述了嵌入式f t p 服务器的设计和实现。本章从音乐报时系统的需求出发,有选择的实现了f t p 协议的部分功能,以实现满足其需要的f t p 服务器。 上述各章的工作分别为音乐报时系统提供了硬件电路、t c p i p 协议栈、w e b 服务功能与f t p 服务功能, 在此基础上第七章通过集成上述的各个部分以实现可以实际使用妁音乐报时系统。 3 东南太学硕士学位论文 第二章系统的硬件设计和实现 任何一个嵌入式系统都是软硬件的结合体,其设计需要分两部分进行硬件与软件。硬件电路作为 整个系统的基础,其设计的好坏决定了整个系统的开发效果和性能。本章将详细阐述系统硬件电路的设计 及实现,并对采用的主要芯片作详细介绍。 2 1 系统硬件的概要设计 通常嵌入式系统硬件包括微控制器、存储器及外设器件和i o 端口等,其核心是嵌入式微控制器“”。 在硬件的设计中首先应确定选择何种微控制器。8 0 5 1 单片机是目前国内外工业测量控靠4 领域内使用极为广 泛的一类8 位微控制器,它的特点是使用方便灵活,外围硬件支持芯片以及软件应用程序十分丰富。世界 上许多大半导体厂商都推出了以8 0 5 1 为核心的单片机,它们各有特点,但其基本内核相同,指令系统也 完全兼容,所以8 0 5 1 单片机已成为事实上的8 位机的工业标准。另外,世界许多软件公司还都致力于8 0 5 1 单片机开发工具的研究,为其提供了多种功能丰富的开发工具,使8 0 5 1 单片机的开发更容易,更快捷“。 因此系统选择8 0 5 1 内核的单片机作为微控制器。 音乐报时系统的大多数功能,如w e b 界面,远程文件传输等等,都要求系统具有接入网络的能力。为 适应系统上网的需求。在硬件设计阶段,首先需要为其选择合适的传输信息媒介“”,我们采用当前使用最 广泛的以太网连接模式,为了简化系统硬件设计,直接使用现成的网卡做为系统的物理层设备。因此,系 统中只提供一个标准的i s a 接口,用于网卡的连接,物理层数据的收发工作由网卡上的以太网控制芯片负 责处理。 系统提供的文件存储功能需要非易失性存储芯片的支持。常用的非易失性存储芯片有e e p r o m ,串行 f l a s h r 删、n a n d f l a s i t r o m 等,选择何种类型的存储芯片还需要通过系统分析来确定。音乐报时系统通常需 要为用户提供存放2 0 个左右的m p 3 文件的存储空间,这些m p 3 文件主要用于报时,其播放时长一般不超 过2 分钟,所以提供3 0 兆左右的存储空问可以满足系统的要求。根据上述的分析,我们选择n a n d f l a s 勰伽 作为非易失性存储芯片。 在8 0 5 1 单片机中用软件实现- 啪数据的解码工作是不现实的。因此需要为系统选择- 啪解码芯片 音乐报时系统提供通过嘞界面选择静3 文件并控制其播放的功能,由于8 0 5 1 单片机无法应何在按一定 对序为- 】3 解码苍片提供数据的同时快速地处理 r r r p 协议数据。所以当系统正在播放m p 3 时,会严重影 响系统对用户操作的响应。因此系统设计采用双控制器结构,一片8 0 5 1 单片机专门负责运行1 1 c p i p 协议 栈和服务器应用程序,另一片专门负责i p 3 格式数据文件的播放。这样就可以保证系统在任何时候都可以 得到较快地响应。 2 2 主要芯片选型 2 2 1 微控制器选型 7 8 e 5 1 6 是一个8 位微控制器,其指令集与标准的8 0 5 2 完全兼容。w 7 8 e s l 6 有6 4 k 字节的主f i a s i ie p r o m 和4 l 【字节的辅助f l a s he p r o m 。在线编程时,辅助f l i s he p r o i i 中的装载程序,负责更新主f l a s he p r o m 中的内容。1 7 8 e 5 1 6 还含有5 1 2 字节的内部r a m ;4 个8 位双向和位寻址的i o 端口;3 个1 6 位定时器计 数器;一个串口,并通过2 级优先级8 个中断源管理这些外设“”通过上述的分析可见w 7 8 e s l 6 提供了在 线编程功能以及6 4 k 字节的主f l a s he p r o m ,不仅使硬件系统结构更加紧凑。而且也便于系统的调试,因 此本课题选择w 7 8 e 5 1 6 作为系统的微控制器。 2 2 2 咿3 解码芯片选型 a t 8 9 c 5 1 s n d i c 是a t m l 公司的产品,它集成了一个性能优异的m p 3 硬件解码器并通过内置的8 0 5 1 微控 制器内核进行数据流处理和m p 3 播放控制。a t 8 9 c s i s n d i c 芯片含有2 3 0 4 字节的r a m 和6 4 k 字节的f l a s h 存储器,并通过一个内嵌的4 x 字节的引导f l & s h 存储器提供在线编程。另外a t 8 9 c 5 1 s n d i c 还提供了众多 的接口,如;定时器,键盘端口,串行和并行接口,a d c 输入等等。 在众多的m p 3 解码方案中,我们之所以选择采用a t 8 9 c 5 1 s n d i c 芯片的方案,是因为a t 8 9 c s l s n 0 1 内 部集成了- 吗硬件解码器、可编程的音频输出接口等部件,只要外接通用的音频n a 转换芯片就可以构成 4 第二章系统的硬件设计和实现 硬件电路。另外其控制器采用8 0 5 1 内核,可以方便地与系统的其他部分进行连接,软件实现也比较容易。 2 2 3 存储芯片选型 k g f 5 6 0 8 是一个含有8 m 位备用容量的2 5 6 m 位f l a s h 存储器,提供3 2 m x 8 位的结构。它的工作电压为 3 3 v ,其n a n d 单元为固态海量存储器市场提供了最低成本的方案。5 2 8 字节的页编程操作时间为2 0 0 u s , 1 6 k 字节的块擦除操作时间为2 m s 。页面的数据以每个5 0 n s 的速度被读出。1 o 管脚可用作地址、数据输 入输出口以及命令输入口。片内写控制自动实现所有编程和擦除功能,包括脉冲的周期、内部校验和数 据冗余“”。由上述介绍可知,k 9 f 5 6 0 8 提供的3 2 m x 8 的存储空间以及其他的性能指标完全可以满足系统的 存储需求,并且该芯片具有广泛的应用,因此本课题选择k 9 f 5 6 0 8 作为系统的存储芯片。 2 2 4 以太网控制芯片选型 r t l 8 0 1 9 a s 是高度集成化的以太网控制器,它可以提供与n e 2 0 0 0 相兼容的以太网适配器的解决方案, 并采用全双工通信方式。全双工通信方式使帧的发送与接收能够在一条通信线路上同时进行,这使信道的 带宽增加一倍。r t l 8 0 1 9 a s 优越的性价比使得它在嵌入式网络应用中被广泛采用,其主要性能有“”: ( 1 ) 适应于i e e e 8 0 2 3 、l o b a s e 5 、l o b a s e 2 、l o b a s e t 。 ( 2 ) 是高度集成化的以太网控制器,采用全双工通信方式,收发可同时达到l o y t b p s 的速率,具有休 眠模式,以降低功耗。 ( 3 ) 多种处理器支持,可支持8 位、1 6 位、3 2 位处理器。 ( 4 ) 内置1 6 k b 的s r l i ,用于收发缓冲,降低对主处理器的速度要求。 ( 5 ) 可连接同轴电缆或双绞线,可自动检测连接介质。 ( 6 ) 多种寻址支持,支持单一寻址、多址寻址和广搐寻址。 因为8 位微控制器需要以太网控制芯片能以8 位模式工作,因此我们选择以r t l 8 0 1 9 a s 为控制芯片的 网卡。该网卡能以8 位模式工作,可以方便地与8 位微控制器进行连接。 经上述的概要设计和主要芯片的选型,得到系统的硬件结构框图如图2 1 所示。 2 3 系统硬件的详细设计 图2 1 硬件结构框图 由上述概要设计获得的硬件结构框图可知,系统中包含两个8 0 5 1 系列的控制器。其中w 7 8 e 5 1 6 负责 运行1 p i p 协议栈和服务器应用程序,a i 8 9 c 5 1 s n 0 1 c 负责运行肝3 数据文件播放和维护日期时钟。 因为采用了双控制器结构,需要实现总线控制,为简化硬件设计,系统不使用总线仲裁器,而是把 _ 7 8 e 5 1 6 作为系统的主控制器,负责总线控制。当上传m p 3 数据文件时,总线控制电路在w 7 8 e 5 1 6 的控制 下,使w 7 8 e 5 1 6 占用f l a s h r o m 的总线,将上传数据存放到f l a s 艘珊中。当播放m p 3 时,总线控制电路在 w 7 8 e s l 6 的控制下,使a t 8 9 c 5 1 s n 0 1 c 占用f l a s h r o i i 的总线,读取f l s h r o m 中的衄3 数据文件。 两个微控制器通过串口实现消息的传递。当用户通过眦界面向系统发出控制命令时,运行在w 7 8 f 5 1 6 上的t c p i p 协议栈和唧服务器接收并解析用户发来的命令,然后通过串口把该命令传递给运行在 a t 8 9 c 5 1 s n o l c 上的命令处理程序命令处理程序在接到命令后,调用相应的应用程序,以实现用户通过 5 东南大学硕士学位论文 w e b 界面所发出的控制命令。 用户对系统的请求和控制信息,经网卡中的r t l 8 0 1 9 a s 芯片处理,传递给w 7 8 e 5 1 6 中的t c p i p 协议 栈和服务器应用程序。同样的,系统状态信息以及用户请求和控制信息的回复信息,也通过网卡传送出去。 8 0 5 1 系列单片机采用外部r a m 和i o 口统一编址的方案,单片机外部的6 4 k br a m 空间的部分作为 扩展i o 的地址空间1 。因此需要在系统中对h y 6 2 2 5 6 和r t l 8 0 1 9 a s 芯片进行地址映射。为了保证外部 r a m 存储空间的连续,我们把访问r t l 8 0 1 9 9 s 芯片的i o 端口地址映射到高端,占用o x f f 0 0 一o x f f f f 地址 空间。两片h y 6 2 2 5 6 芯片分别占用o - o x 7 f f f ,o x 8 0 0 0 - o x f e f f 地址空间。 2 4 硬件电路的原理图实现 确定了硬件结构后,就可以进行硬件原理图的设计,对硬件电路进行具体实现,下面对系统原理图的 主要部分作一个介绍。 2 4 1 存储空间的地址映射 系统中存储空间的地址映射由a t f l 6 v s b 实现,该芯片是a t m e l 公司生产的p l d 芯片,在系统中的连 接如图2 2 所示。 i l i 2 “ i s 丌】m 1 6 1 7 1 8 图2 2a t f l 6 v b 芯片的连接 图中的8 个输入端分别接主微控制器地址线a 8 - a 1 5 ,三个输出 端用c i i p l 语言描述为; n r a 蛳,c s = a 1 5 n r a l 衄c s = ! a 1 5 9 a 1 5 a 1 4 a 1 3 a 1 2 a 1 1 a 1 0 a 9 a 8 n n e t c s = ! ( a 1 5 a 1 媳a 1 3 a 1 2 a 1 1 a l o a 9 a 8 ) 分别表示o - o x 7 f f f ,o x 8 0 0 0 - o x f e f f 、o x f f o o - o x f f f f 三个地 址范围。 其中r a m l c s 、r a m b c s 连接到两片外部r a m 芯片h y 6 2 2 5 6 的c s ( 片选输入端) ,n n e t c s 连接到i s a 总线的接口的a l l 。a l l 引脚是 i s a 总线的地址使能信号( a 肼) ,低电平时,表示地址总线为c p u 占用;高电平时,表示地址总线为d 姒占用“”,在这里我们作为网 卡的片选信号。 通过这样的苍片连接。使可访问的外部r a m 空间是连续的,其大小为6 4 k 少1 2 8 字节。地址范围 o - o x f e f f 。可以满足运行t c p i p 协议栈、1 f 邛服务器、f t p 服务器对存储器的需求。另外的1 2 8 字节的地 址空间分配给网卡的i 0 端口,用于对网卡的访问 2 4 2i s a 总线接口与系统的连接 系统为简化硬件电路的设计,使用网卡作为系统的物理层设备,因此只需要考虑系统与标准的i s a 总 线接口的连接在系统中的连接如图2 3 所示。 釜囊塞酉萋要蔓翼蒜耄蓦 言善苦暑暑暑舌若8 骂8 萏吕苫8 9 占 i 萄量盆聋盆苍苗苗盈翻蕴盛暑蓍置羞蔷蚤暑暑看置昌盛高茜昌蔼盈鬲商 苦苦g 吾3 8 8 8 8 8 8 8善晕晕謦童巷皇量粤鼋鼋晕暑晕暑墨薯;譬鼍i 暑鼋穹葛譬蔫譬2 哥 j 衙翮商砸噩盛丽僦蔫 ! 簪k l + 旱 ? 6 ”| ? | 。 :, | 图2 3i s a 总线接口的连接 6 _ 黜憎 憎两_ :一 手jl争=+;霉: 第二章系统的硬件设计和实现 控制信号线的连接:接口的b 1 4 ( w o 读) 与主微控制器的r d ( 外部数据读) 信号线相连,接口b 1 5 ( i o 写) 与主微控制器的职( 外部数据写) 信号线相连,用于控制网卡1 0 端口的读写。接口b 2 ( 复位 驱动) 与微控制器的p 1 0 引脚相连,用于向网卡提供复位信号。接口的a l l 与a t f l 6 v b 芯片的n n e t c s 引 脚连接,用于实现地址分配。 数据线的连接:接口的a 2 - a 9 ( 双向数据线) 分别与w 7 8 e 5 1 6 芯片的数据线d 7 一d 0 连接。 地址线盼连接:接口的a 1 2 一a 2 1 ( 第2 0 一第1 1 根地址线) 接地,a 2 2 一a 2 3 ( 第1 0 _ 第9 根地址线) 接电 源,a 2 4 一a 3 1 ( 第8 - 第l 根地址线) 对应连接到系统地址线a 7 - a o 。该连接方法使网卡中的r t l 8 0 1 9 a s 芯 片的2 0 根地址线中,s a l 9 - s a i o 接地,s a 9 - s a 8 接电源,s a 7 - s a o 直接与系统地址线a 7 - a o 相连,由此可 知其地址范围为o x 3 0 0 - o x 3 f f 。因此为了使加入系统的网卡能正常工作,应该在使用前用使用网卡设置工 具对其进行设置,保证其基地址为o x 3 0 0 。 虽然,r t l 8 0 1 9 a s 芯片的s a 7 一s a o 直接与系统地址线a 7 - a o 相连,但它只提供了o x o o x l f 的3 2 个有 效寄存器地址,所以在系统中访问f f f l 8 0 1 9 a s 芯片的有效地址为o x f f 0 0 一o x f f l f 。 在p c 机上网卡加电复位时,r t l 8 0 1 9 a s 芯片在r s t d r v 信号的下降沿,检测复用引脚s l o t l 6 的状态, 即i s a 接口的d 2 ,如果是高电平,则r t l 8 0 1 9 a s 进入1 6 位模式,否则进入8 位模式。分析网卡电路发现, 在网卡上该引脚已经连接了一个外部的下拉电阻( 2 7 k ) ,因此系统设计中只要使接口的d 2 悬空或接地, 就可以使网卡工作在8 位模式。 2 4 3k 9 f 5 6 0 8 与系统的连接 在系统中k 9 f 5 6 0 8 需要通过总线收发器与系统连接主要有两个原因。首先系统采用双处理器结构,需 要进行总线控制。其次是k 9 f 5 6 0 8 的工作电压为3 3 v ,面w 7 8 e 5 1 6 控制器和网卡的工作电压为5 v ,所以 总线收发器还起到了电平转换的作用。k g f 5 6 0 8 与系统的连接如图2 4 所示。 图2 4k 9 f 5 6 0 8 芯片的连接 k 9 f 5 6 0 8 与系统连接的信号线、数据线有1 4 条,可以分为两类。一类是单向连接的,它们是系统到 k g f 5 6 0 8 的控制信号和k g f 5 6 0 8 的状态返回信号,分别通过总线收发芯片u l 、u 3 与w 7 8 f , 5 1 6 ( 主微控制器) 、 7 东南大学硕士学位论文 a t 8 9 c 5 1 s n d l c ( 从微控制器) 连接,其方向始终是a 端口到b 端1 3 ,所以u 1 、u 3 的传输方向控制引脚d i r 接高电平。第二类是双向连接的数据线,分别通过总线收发芯片u 2 、u 4 与主、从微控制器的数据线连接, 当系统读数据时,其方向是从b 端口到a 端口;写数据时,其方向是从a 端口到b 端口,所以u z 、u 4 的 传输方向控制引脚d i r 分别接主、从微控制器的p 1 7 脚,以便微控制器能正确地读写数据。另外,总线 收发器u l 、u 2 的h o e 片选引脚连接到主微控制器的p 3 4 引脚,u 3 、u 4 的h o e 片选引脚连接到主微控制器 的p 3 5 引脚,以实现总线控制。 8 第三章嵌入式t c p i p 协议栈的实现 第三章嵌入式t c p i p 协议栈的实现 嵌入式t c p i p 协议栈作为嵌入式系统接入i n t e n e t 的关键技术,决定了整个系统的网络功能。虽然 国内外各大厂商相继推出了各自的嵌入式t c p i p 协议栈产品,但绝大多数是针对3 2 位、6 4 位高端嵌入式 系统的,适合于8 位单片机的轻量级嵌入式t c p i p 协议栈,又不能很好地满足应用程序的需要,特别是 提供f t p 服务的需要。因此本章在研究现有嵌入式t c p i p 协议栈源代码的基础上,重新设计并实现一个 嵌入式t c p i p 协议栈,以满足后续应用层协议的需要。 3 1t c p i p 协议栈概述 微电子技术、计算机技术、通信技术的迅猛发展,促进了计算机网络的实现和发展。从1 9 6 9 年第一 个分组交换计算机网a r p a n e t 的出现,随着计算机硬件技术的飞速发展,计算机硬件价格的急骤下降,至 今涌现了许多大型计算机网络,有美国n f s 支持设计的计算机科学研究髓c s n e t 、英国的联合科学网j a n e t 、 台湾学术网络t a n e t 等。计算机网络的发展为提高信息工业的生产力,提供了一种全社会的、经济的、快 速的存取手段“” 这些网络建立的目标是网络用户的资源共享( 包括软件、硬件、信息等) ;强化网络用户间的合作机 会;加速学术研究成果的传播与流通;提供对网络技术的研究。因此,如何实现不同网络及计算机问的互 操作成为计算机联网的最关键问题。经过近二十年的研究,到八十年代末九十年代初,有了肯定的答案: 这就是采用t c p 协议。 t c p i p 是一组协议的代名词,除了t c p 协议和i p 协议外,它还包含许多别的协议。t c p i p 协议遵守 一个四层的模型概念:应用层、传输层、网络层和链路层。每一层负责不同的功能。见图3 1 。 图3 1t c p i p 协议族中不同层次的协议 3 2t c p i p 协议栈的数据封装和以太网帧分用 应用层 运输层 网络层 链路层 当应用程序用t c p 传送数据时,数据被送入协议栈中,然后通过每一层,直到以一串比特流形式送入 网络中。其中在每一层都要

温馨提示

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

评论

0/150

提交评论