(凝聚态物理专业论文)嵌入式tcptp协议栈实现和asic前端设计.pdf_第1页
(凝聚态物理专业论文)嵌入式tcptp协议栈实现和asic前端设计.pdf_第2页
(凝聚态物理专业论文)嵌入式tcptp协议栈实现和asic前端设计.pdf_第3页
(凝聚态物理专业论文)嵌入式tcptp协议栈实现和asic前端设计.pdf_第4页
(凝聚态物理专业论文)嵌入式tcptp协议栈实现和asic前端设计.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

(凝聚态物理专业论文)嵌入式tcptp协议栈实现和asic前端设计.pdf.pdf 免费下载

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

文档简介

四川太学硕士论文喝54 6 9 5 论文题目:嵌入式t o p l p 协议栈实现和a s i c 前端设计 摘要 t c p i p 是国际互联网i n t e m e t 按入的标准协议。论文对i n t e m e t 的接入标 准f c p 口进行了研究。通过合理取舍t c p t p 协议的功自模块,实现了一个简 化的但具备较完整功能的t c p i p 协议栈,使其能在一个没有操作系统支持的 硬件系统中稳定运行。并以此t c p i p 协议栈为基础,实现了一个远程视频监 控系统的设计。涉及的工作包括t c p i p 协议栈的c 代码实现,远程监控系统 的硬件设计和调试,运行在p c 上的接收程序的编写和调试。 以设计的嵌入式t c p i p 协议栈为基础,在远程监控系统中实现了较高层 的应用支持,包括动态即地址获取和s m t p 邮件发送的支持。 针对t c p i p 的分层特点,以设计的嵌入式t c p i p 协议栈基础,论文研 究了t c p i p 盼议栈的a s i c 硬件实现。对硬件实现的各个功能模块进行了划分, 并使用v e r i l o gh d l 对硬件的各个功能模块进行了设计。在m o d e l s i m 建立 的测试环境中的仿真表明,所设计的硬件具备了t c p z i p 协议的基本功能,达 到了设计要求。 【关键词1 t o p i p 、d h o p 、s m t p 、a s l o 、综合、门级仿真 【论文类型】应用研究 噼川大学硕士论文 t i t l e :e m b e d d e d t c p i ps t a c k r e a l i z a t i o na n da s i c f r o n t - e n d d e s i g n a b s t r a c t t c p i pi st h es t a n d a r dp r o t o c o lf o rc o n n e c t i n gt oi n t e r n e t i nt h i st h e s i s , t h ed e t a i l so ft c p i pi ss t u d i e da n da s i m p l et c p i ps t a c ki sr e a l i z e dt or u ni na h 0 3 d w a l es y s t e m - i t i l o m o p e r a t i n gs y s t e ms u p p o r tb ya b o n d i n gs o m ef u n c t i o n s t h e t c p i ps t a c kr u n ss m o o t h l ya n dar e m o t em o n i t o r i n gs y s t e mi sd e s i g n e db a s e do i li t t h ew o r ki n v o l v e di nt h i sd e s i g ni n c l u d e s r e a l i z i n gt h et c p i ps t a c ki nc - c o d e , d e s i g n i n g a n d d e b u g g i n g t h eh a r d w a r e s y s t e m , d e s i g n i n g a n dd e b u g g i n gt h e m c e i v m g p r o g r a m f u r l si np c b a s e do nt h et c p ps t a c k ,n l o r eh i 曲l e v e l a p p l i c a t i o n sa r er e a l i z e di nt h er e m o t e m o n i t o r i n gs y s t e m ,d h c pa n ds m t p a r er e a l i z e ds ot h a tt h ef u n c t i o no f d y n a m i c i p a d d r e s s c o n f i g u r a t i o na n d e r n a i ls e n d i n gf i l es u p p o r t e d o nt h eb a s i so fe m l :e _ a d e dt c p i ps t a c kr e a l i z e di n c - c o d e ,a c c o r d i n gt o t h e s p a t i a l i t yo fl a y e rd i v i d i n go ft c p i pp r o t o c o l s ,ah a r d w a r ei m p l e m e n t a t i o n0 1 3 t c p i pi sd e s i g n e dq h e v e r i l o gh d ld e s c r i p t i o no f t h eh a r d w s i m p l e m e n t a t i o n a r e p r o g r a m m e da n ds y n t h e s i z e d t h ef u n c t i o no f t h eg a t e - l e v e ln e t l i s ta l t e rs y n t h e s i si s v e r i f i e di nm o d e l s ma n dt h er e s u l t so ft h es i m u l a f t o ni n d i c a t e st h a tt h eh f l l , d w d r e i m p l e m e n t a t i o n m e e t st h ed e s i g nr e q u i r e m e n t k e yw o r d s t c p i i p 。d h c p 。s 町p a s i c ,s y n t h e s i s g a t e - j e v ejs j i ,u l a t i o n t y p eo ft h e s i s 】 印ii c a t i o nr e s e a r c h i i 四川大学硕士论文 第一章绪论 1 1 论文研究的意义 随着科学技术的飞速发展,计算机网络己经进入了人们生活的各个领域。 i i v f e r n e t 的普及和应用,正在迅速的改变着人们生活、学习和工作的方式。 t c p i p 协议作为i n t e r n e t 的基础,已经得到了广泛的研究和应用。 互连网已经在p c 的系统中得到了普及和应用。随着网络的进一步发展, 越来越多的非p c 的系统也提出了巴网的要求。这其中包括各种手持设备,如 手机。各种数字家电,如网络音响等。非p c 的设备的处理器功能通常并不是很 强,存贮空间也有限,而且并不是所有的嵌入式系统都有操作系统的支持。即 使是有操作系统支持的嵌入式系统,t c p i p 协议栈也将会占用可观的系统资 源。因此,研究如何将t c p i p 协议栈以最小的代价在嵌入式系统中实现将有重 要的意义。 为了提高嵌入式系统网络接入的方便程度,并且解放c p u ,使c p u 能更 专注的处理其它事务,研究硬件实现的t c p i p 协议栈具有重要的意义。随着 集成电路设计和制造技术的不断进步,当今集成电路已经进入片上系统s o c 的阶段,即要在一块芯片上实现一个完整系统的功能,而作为i n t e m e t 接入的 标准协议,t c p i p 协议栈必然会是具备网络接入功能的s o c 系统的不可或缺 的一部分。从这个意义上讲,研究t c p i p 协议栈的硬件实现将具有重要的现 实意义。 1 2 论文研究的内容 本论文通过研究t c p i p 协议栈的功能模块,以较小的代价在一个没有操作 系统支持的远程视频监控系统中实现了t c p i p 协议栈的功能。并且使设计的 t c p i p 协议栈在远程视频监控系统中得到稳定的运行,使基于i n t e r n e t 的 远程视频监控得以实现。 本设计中t c p i p 协议栈的功能主要用c 代码实现。t c p i p 协议栈c 代码 的编写和调试是本次设计中的工作的重点。涉及的工作还包括系统硬件电路的 设计和调试。p c 端接收程序的编写和调试等。 四川太学硕士论文 d h c p 在目前以太网的管理中得到广泛的应用。它为网络结点的m 地址分 配,以及网关、子网掩码、d n s 服务器i p 地址等网络配置信息的自动配置提 供了有效的支持。在本系统的设计实现中也提供了d h c p 的支持,以t c p i p 胁议栈为基础,实现了d h c p 客户端的功能。 e m a i l 是目前i n t e r n e t 上使用最多的信息传递方式。以本设计中的 t c p i p 协议栈为基础,在本设计的嵌入式系统中还实现了s m t p 协议,从而为 使_ i je m a i l 这种方便快捷的信息传递方式提供了支持。并且在实现系统中以 e m a i l 附件的方式,成功的发送了系统采集的静态图像。 以本设计中实现的嵌入式t c p i p 协议栈为基础,在t c p f f p 协议栈的硬件 实现上也进行了研究,并完成了自惴的设计和仿真。其中的工作包括:1 ) 模块 划分。2 ) 使用v e r i l o gh d l 对各个模块进行设计。3 ) 对硬件电路进行综合。4 ) 建立测试环境,对硬件电路进行前期功能仿真和门级电路的后仿真。 1 3 论文的章节安排 本论文在结构上共分为七章。 第一章( 即本章) 为绪论,介绍了论文研究的目的、内容和章节安排。 第二章简要介绍了t c p i p 协议的基本概念和原理。 第三章是本论文的重点,着重介绍了嵌人式系统中t c p ) 协议栈的各个功 能模块。并介绍了实现各个功能模块时需要考虑的问题,以及对功能的合理取 舍。 第四章介绍d h c p 协议和在系统中的实现。重点介绍了d h c p 客户端的实 现。 第五章介绍了s m t p 协议和e m a i l 的发送过程。对电子邮件的发送过程 的细节进行了剖析,并介绍了设计系统中的实现结果。 第六章介绍了t c p i p 协议栈的a s i c 前端设计。本章以前几章所实现的嵌 入式t c p i p 协议栈为基础,研究了t c p 1 p 的硬件实现。 第七章是全文的总结,概括了作者在本次毕业设计中所做的主要工作和课 题的意义所在,同时提出了进一步工作的方向和需要解决的问题。 四川大学硕士论文 第二章t o p l p 协议简介 2 1 引言 t c p i p 协议是计算机系统接入互联网i n t e r n e t 的标准协议,它规定了互 联网中主机之间进行通信的标准和方法。t c p i p 并不是一个单一的协议,而是 由数卜个具有一定层次结构的协议集组成。t c p s n i p 是这个协议族中最重要的两 个协议,所以整个协议族通常简称为t c p i p 。t c p i p 起源于6o m 代末美国政府 资助的一个分组交换网络研究项目,到9o 年代己发展成为训算机之间最常应用 的组网形式。它一开始并不是作为标准制订的,随着i n t e n 埘的流行,t c p i p 已 经成为事实匕的标准。现在几乎所有的操作系统都支持t c p i p 协议,这样基于 不同平台的计算机都可以通过亿p i p 协议实现相互问的通信。同时它是个真 j f 的开放系统,因为协议族的定义及其多种实现可以不用花钱或花很少的钱就 可以公开地得到。t c p i p 协议被称作“全球互联网”或“因特网( i n t e r n e t ) ” 的基础。 2 2 t o w l p 网络的分层模型 图2 一l 为t c p i p 网络的分层模型。t c p 仰协议按协议功能上的区别将 整个协议族分为4 层,从上到下依次为应用层、传输层、网络层和链路层。每 个协议层都为其上层提供通信服务,同时使用下层的服务。各个协议层都对其 上各层隐藏了底层的实现细节。也就是说,各层使用下层的服务时,可以将下 层看成一个“黑箱”,所需要关心的只是各层之f 叫的接口,而不必关心其内部结 构和实现。通过这种方式,网络设计人员可以建立具有良好接口的功能模块。 应用层位于t c p i p 网络分层模型的最上层,它直接与应用程序打交道, 与应用程序连接最为紧密,因此被称为应用层。t c p i p 协议族为互联网中的一 些常用的应用制定了相应的通信标准和方法,这些通信标准和方法称为应用协 议,例如超文本传输协议( h t y p ) ,电子邮件( s m t p 和p o p ) ,文件传输( f t p ) 等。应用层就是这些常用的应用协议的集合体。严格的洗,这些应用协议不能 算做t c p i p 的一部分,因为这些应用协议在结构上已经成为应用 呈序的一部 分,而且用户也完全可以跨过应用层,直接在传输层上建立自己的专用应用程 四川太学项士论文 序,直接使用t c p 和u d p 提供的服务。但是t c p i p 协议族为这些常用的应用 制订了相应的标准,所以也把它们作为t c p i p 的一个组成部分。 传输层主要包括t c p 协议和u d p 协议。它为应用程序传来的数据提供 传输服务,这是它被称为传输层的原因。传输层负责将应用层传柬的数据打包 封装成适合发送的分片,然后交给网络层处理。同时,传输层还对数据传输的 正确性和完整性进行必要的控制,例如t c p 协议和u d p 协议对每一个传输的 数据报都附带校验和,接收端用此校验和来校验接收到的数据的正确性:t c p 协议对数据的传输提供了超时重传控制和确认机制等。传输层为应用程序提供 数据传输服务,同时对应用程序屏蔽了下层通信的细节,从而使建立在传输层 上的应用程序的网络通信变得非常的简单。区i 为系统中通常都有多个应用程序 要使用传输层的服务,所以传输层要在所传输的数据中加入信源和信宿应用程 序的信息,以区分不同的应用程序。基于这种考虑,传输层为使用其服务的每 一个应用程序都提供了一个编号,这个编号就是常说的“端口”。 应用屡阿磊习际磊卿f i 鬲习际石司 l t 一一1 r 一。1 一r 一 i 工 传辅麒h h ! 厂胡 气。 。 一精后l ! _ 一 r 一一l _ j _ 叫! _ pl _ _ - 晤;酉司 工 r _ 1 lr 链路雇ia r p _ 卜_ 刊硬件接i j 卜一叫叫r a r p i o 。 r 一一 覃 图2 - 1t g p i p 协议栈的分层模型 网络层位于传输层和链路层之间。它被称为刚络层是因为它的主要功能 是对数据在网络中的传输进行控制,例如规定数据包传输的目的i p 地址和源i p 地址,规定数据包在传输过程中允许通过的最大路由器数目等。网络层包括网 四川上学项士论文 际协议( 口) 、网际控制报文协议( 1 c m p ) 和网际组管理协议( i g m p ) 。i p 协 议是整个网络层的核心,传输层的t c p 和u d p 都使用妒仂议提供的服务。 i c m p 和i g m p 是为i p 提供支持的附加协议,主要负责帮助p 管理特殊信息, 如差错控制信息和多播信息。网络层也被称为p 层。 链路层是t c p i p 协议族分层模型的最底层,它是直接与硬件打交道的一 层。它的主要功能是负责接收网络层数据报并通过传输线发送,或者从传输线 二接收数据帧,从中耿出数据报,交给网络层。链路层除包含硬件驱动接口外, 还包含a r p ( 地址解析协议) 和r a r p ( 逆地址解析协议) 。a r p 和r a r p 是 某些网络接口( 如以太网和令牌环网) 中使用的特殊协议,用来转换i p 层和网 络接口层使用的地址。 图2 - 2 协议栈的数据通信流程 协议分层的存在使得各层间可阻进行透明的通信,但又不必关心下层协 议的实瑚细节。图2 - 2 为局域网中两台运行f t p 协议的主机之削的数据通信。 图中一方为f t p 服务器,另一方为客户( 网络中大部分的应用程序都没计成客 户服务器模式) 。图中虚线表示两台主机间的逻辑通信,实线表示实际的数据 流向。f t p 应用层的程序相互间通信遵循f t p 的协议,但下层协议实现的细节 应用程序可以丝毫不用关心。这就是协议栈分层带来的好处。 四川太事项士论文 2 3 t c , p ip 协议栈数据的封装和分用 2 3 1 t o p i p 协议栈数据的封装 塑! 塑塑 i : : _ _ i i 斗 坚! ! 堕塑sj 里! 塑塑j 图2 t c p 数据包的封装过程 当应用程序使用t c p i p 协议栈发送数据时,实际上就是一个逐级打包和 封装的过程。数据从应用层一直到链路层,每一层都对从上层接收到的数据加 上些首部信息( 有些还有尾部信息) ,最终封装后的数据以一串比特流的形式 发送到网络上。图2 3 为数据通过t c p 协议在以太网上发送的封装过程。使用 u d p 等其他协议的过程与之类似。 由于系统中可能有多个应用程序要使用至盯c p 或l j d p 的服务,因此在t c p $ i j l r d p 的首部中都有一个1 6 b i t 的字段用来标识不同的f 鲷程序,这个字段叫做 端口。 从图2 ,1 的t c p i p 分层模型中可以看出,t c p 、u d p 、i c m p 、i g m p 都要 向i p 传送数据,因此需要在生成的伊头中加入某种标识,以表明数据来自于何 种协议。在妒首部中有一个8 b i t 的字段,称做协议域。其中1 表示为i cmp 协议, 2 表示为i g m p 协议,6 表示为t c p 协议,17 表示为u d p 协议。 类1 以地,网络接口要发送i p 报文、a r p 报文和r a r p 于艮文,因此在必须在以 太网的首部中加入某种标识,以表明发送的以太帧数据属于何种协议。为此, 四川太晕项士论文 在以太帧首部中也有个1 6 b i t 的帧类型标识。 图2 3 所示的以太帧还有一个尾部。这是3 2 b i t 的c r c 校验。用来检验以太 帧数据的完整性。 2 3 2 t c p i p 协议栈的数据分用 进入的以太网帧 图2 - 4t c p i p 协议的分用过程 当目的主机接收到一个以太帧数据时,数据开始在协议栈中由底向上升。 同时依次去掉各层协议加上的首部。每层仂议都对属于本层的首音b 进行处理, 并且检测协议首部中的协议标识,以确定出接收数据的上层协议,然后将数据 交给相应的上层协议进行处理。这个过程称做分用( d e m u l f i p l e x i n g ) ,与数据 封装是一个刚好相反的过程。图2 - 4 为一个以太网帧的解包过程,它表明了分 用的过程是如何发生的。 四川大学项士论文 2 4 r f c 文挡 在这劓i 陨便提一下r f c 文档。所有关于i n t e m e t 的正式标准都以r f c ( r e q u e s t f o r c o m m e n t ) 的文档出版。因此查询r f c 文档可以获取到所有 办议 的定义。此外,大量的r f c 并不是j f 式的标准,出版的目的只是为了提供信息。 r f c 的篇幅从1 页到2 0 0 页不等。每一项都以一个数字来标识。如r f c l l 2 2 , 数字越大,表示文档的内容越新。所有的r f c 都可以从i n t e r n e t 上免费获 取。 四川太学项士论文 第三章嵌入式t o p ip 协议栈实现 3 1 实现验证系统设计 3 1 1 系统概述 嵌入式t c p i p 协议栈如何设计和实现,与其所运行的系统有很大关系, 所以我们先介绍本设计中t c p i p 协议栈运行的系统。一个完整的t c p i p 协议 族是比较庞大的,同时嵌入式系统的可用资源往往又是有限的。因此,必须根 据系统所需要实现的功能和系统可用的资源,对t c p i p 协议栈进行合理的取 舍,使其能以最小的代价实现所需的功能。 以太网 图3 1 远程视频监控系统原理框图 图3 1 为运行本设计中的t c p i p 协议栈的实现验证系统的框图。整个系 统为能够在1 n t e r n e t 上实现远程图像监控的系统。图像的发送端是个非 p c 的硬件系统,其主要控制和处理芯片是美国1 1 公司的通用d s p 芯片 1 m s 3 2 0 v c 5 4 0 2 。数据的处理过程如下: 1 电脑眼完成图像数据的采集和a d 转换。系统设计中使用的电脑眼 为西安开元微电子设计中心自主开发的c o m s 黑白电脑眼。 2 d s p 芯片t m s 3 2 0 v c 5 4 0 2 将a d 转换后的图像阵列数掘读入,然后 将数据压缩编码。 9 四川大学硕士论文 3 压缩编码后的待发送图像数据交由t c p i p 协议栈打包处理后,经由 r 一块以太阿卡芯片r t l 8 0 1 9 a s 发送到以太网卜= ,通过以太网送入 i n t e r n e t 。 4 图像数据的接收由连接在i n t e r n e t 上的一台p c 完成。运行在p c 上的接收程序完成图像数据的接收,解码和重现。 3 1 2 图像采集和发送端硬件电路设计 一。1 。一 l网卡芯hl r t l s 0 19 a si l “。 一 告主 以太刚 图3 _ 2 硬件电路谢t 椰 图3 2 为本设计中远程视频监控系统图像采集和发送端的硬件框图。各个 模块介绍如下: 1 主处理芯片。主处理芯片t m s 3 2 0 v c 5 4 吃( 以下简称5 4 0 2 ) 为耵公司 的一款性价比非常优越的通用定点d s p 芯片( d i g i t a ls i g n a lp r o c e s s o r , 专用于 数字信号处理的高性能处理器) ,它采用程序区和数据区分开的改进哈佛结构, 内部采用多总线结构,使得程序区和数据区的访问可以并行进行而不互相影响。 再加上它的单周期乘加指令和流水线设计,使5 4 0 2 具有很强的数据处理能力。 加上由于价格适中,5 4 0 2 具有很高的性能价格比,因而得到广泛的使用。 2 外接刊的m 用来存贮一些系统配置数据,包括以太网接口的m a c 四i i i 太学硕士论文 硬件地址,i p 地址、网关、子网掩码、远程监控验证的密码等。e e p r o m 使 用1 2 c 总线的协议与5 4 0 2 通信。由于5 4 0 2 并没有专用的1 2 c 总线接口,所以 r c 总线的通信协议由5 4 0 2 控制两条i o 线来实现。 3 其它的一些外l 薹i 器件的功能。i m a g es r a m 是系统为存贮图像数搌而 扩展的外部s r a m 。电脑眼采集到的图像数据先暂存到此处。在进行编码压缩 时从s r a m 中读出。e p r o m 中存贮的为5 4 0 2 的程序代码。5 4 0 2 上电启动时, 程序从e p r o m 加载到内部程序区中运行。5 4 0 2 使用这种机制是因为内部r a m 的存取速度要远大于e p r o m 的存取速度,程序在内部r a m 中能够得n 全- i g 运行。j t a g 仿真接口外接仿真器,在设计阶段用来对5 4 0 2 的运行进行调试, 加快程序丌发。 图像发送端的硬件系统中,以太网卡芯片实现与以太网e t h e r n e t 的接 i _ 。但t c p i p 协议栈的绝大部分功能,包括以太帧的构建和处理,仍然运行 在d s p 芯片5 4 0 2 上。同时,5 4 0 2 还必须完成对网卡芯片的驱动控制。运行在 d s p 芯片上的程序,实现的功能包括图像数据采集、数据压缩编码、t c p i p 协 议栈、网卡芯片驱动控制以及一些外围器件的控制等。整个设计中可用的程序 空间为d s p 芯片内部的1 6 k 空间,这其中还有部分空间要做为数据存贮区使 用。因此整个系统的程序空间非常紧张。系统没有操作系统的支持( 毫无疑问, 操作系统会耗掉更多的资源) 。因此,在此硬件系统中实现的t c p i p 协议栈必 须在实现所需功能的前提下,尽可能精简,以节省系统资源。 3 1 3 基于p c 的图象接收端软件 验证系统的接收端是一台接入互联网的p c 。运行在接收端电脑一l 的接收 捌芋完成与图像发送端的连接控制,图像数据的接收、解码和重现等功能。 基于目前用户的普遍眭。我们选择在w i n d o w s 系统中开发接收端软件。 软件的编写主要使用v b 和v c + + 的开发环境来完成。由于在w i n d o w s 系统 中集成了w i n s o c k 套接字,通过调用w i n s o c k 套接字就可以比较容易的 实现网络连接控制和接收网络数据的功能,之后就可以对接收到的数据进行处 理。有关w i n s o c k 套接字和接收端软件的编写吖i 再详述。 四川大学硕士论文 3 2 链路层协议实现 从图2 - 1 中的t c p i p 协议分层模型中可以看出,链路层包括硬件接r 、 a r p 和r a r p 协议。此设计中网卡芯片r t l 8 0 1 9 a s 提供以太网的接入,因此 硬件接口主要就是要完成对网卡芯片的驱动控制。 3 2 1 链路层的硬件接口 3 2 1 1 网卡读写时序 由于没有受到w i n d o w s ,u n i x 等常用操作系统的保护机制的限制( 保 护机制不允许应用程序直接访问硬件) ,在此系统中完成网卡的驱动控制相对而 吉比较简单。需要完成的功能主要包括网卡的初始化,d m a 方式发送以太帧 和d m a 方式读取网卡收到的以太帧。这些功能最终都是通过读写网膏中的寄 存器来完成的。r t l 8 0 1 9 a s 网卡的读写时序如图3 3 所示。由图示的时序可知, 网卡芯片的读写时序和d s p 芯片5 4 0 2 访问外部r a m 和1 0 空间的操作时序兼 容,所以d s p 可以直接实现对网卡的读写( 由于网卡的速度稍慢,在d s p 读 写时需加上一定的等待周期) 。此次设计中,将网卡的地址映射到d s p 的i o 寻 址空问,从而通过d s p 的1 0 空间实现对网卡的读写操作。 a e n s a 0 1 l i o c s l 6 b i o r b 1 0 w b i o c h r d y s d 0 - 1 5 ( r e a d ) s d 0 - 1 5 ( w r i t 曲 图3 - 3 网卡读写时序图 3 2 1 2 网卡初始化 网卡在开始正常工作之前,需要先进行初始化。网卡初始化的工作主要 就是对网卡的各个寄存器进行初始设置、分配发送和接收缓冲区等。表3 1 为 四川太学项士毪文 设计冲网卡初始化各个寄存器的初始值。有关各个寄存器的详细说明可参阅参 考文献【4 】。这罩玎= :再详细介绍。 寄存器名值寄存器名值 p a g e 0f ) ) c 0 0 2 1升此0 x 0 3 4 5 r b c r 00 x 0 a 0 0r 蝴0 x 0 4 6 b r b c r l0 x 0 8 0 0h 州0 x 0 5 7 8 p 孽r a r t0 x 0 1 4 6p a r 50 x 0 6 9 c p s i o p8 0cl j r r0 x 0 7 4 6 b n r y0 x 0 3 4 6m a r 00 x 0 8 f f r i p s r0 x 0 4 4 0m a r lf t j r c r帆0 c c 4m a r 20 x 0 a f f t c r0 x 0 d e 0m a r 3m 0 0 b h ? d c r0 妯e c 9m a r 4o ) c o c f f 1 s r( 1 ) ( 0 7 f fm a r 50 x ? i m r西册fm a r 6 o x 0 e f f p a g e l0 】d 0 0 6 fm a r 70 ) ( 0 f f f 升0 x o l l 2e a 砥0 x 0 0 2 2 p a r l帆0 2 3 a 表3 - 1 初始化网卡寄存器中的内容 3 2 1 3 网卡发送以太帧 网卡的d m a 数据发送操作完成的主要功能就是发送已经构造好的以太 帧。发送以太帧时的数据转移过程主要分两步:1 ) 将已经构造好的以太帧数据 写入网卡的发送缓存。2 ) 启动网卡发送,将数据从网卡发送缓存送入以太网。 r t l 8 0 1 9 a s 内部共有1 6 k 的r a m 作为发送和接收缓冲区使用。1 6 k 的r d l t l 地址从0 x 4 0 0 0 - 0 x 7 f l f , 从页0 x 4 0 到页0 x 7 f , 一共有6 4 页。通常将前面1 2 页 做为发送缓冲区使用。网卡发送操作的过程可以由图3 _ 4 来表示。 竺! :l 查兰! 兰苎 弓寄存器r s a r l o 和r s a r h l 这两个寄存器给出了嘲 d m a 。一;入的初始地址 r s a r l o 为低8 位,r s a r h i 为高8 位 t t ;寄存器r c n t l o 乖1r c n t h i 这两个寄存器给出了d m a l j 入的数捌的长度 r c n t l o 为长度的低8 何,r c n t h i 为高8 位 j 命令寄存器c r ,启动刚卜d m a ;操作 d m a 操作将数据写入嘲卡发送缓存 0 1 ;命令寄存器c r ,关闭叫卡d m a 写发送起始页地址寄存器t p s r 给出将要发送到以太网的缓存区数据的起始页地址 写寄存器t c n t l o 和t c n t h i 这两个寄存器给出了将要发送的以太帧的数据长度 t c n t l o 为低8 位t c n t h i 为高8 位 存器c r ,启动列卡发送数据到以 图3 - 4 发送以太帧流程 3 2 1 4 网卡接收以太帧 网卡的数据接收操作比发送操作稍微复杂一点,其完成的功能主要就是将 网卡接收到的以太帧数据读入d s p 。网卡的数据接收操作主要由4 个寄存器来 控制,这4 个寄存器为:p s t a r t ,p s t o p ,c u r r ,b n r y 。p s t a r t 和p s t o p 规定了接收缓存在网卡r a m 中的起始页位置和结束页位置,在初始化阿卡时 写入。它们规定了接收缓存的边界。 4 呻川太学项士 文 r 。“。1 。1 。1 。1 。1 、1 1 。 1读入寄存器c u r r 和b n r y 的值1 、= :二二= 一一一一 n o + d m a 读入缓冲区- 6 i f 4 个字节 没有接收到新数据 得刮数据接收状态,f 。数据帧存贮页指 ;| 和帧长度退出 ! ! 璺二! ! i j :! :鍪塑竺i 1 s u r r l = ( s u m & o x 衄d + ( s u n l l 1 6 ) ; s l u n = ( ( w o r d ) s u m ) ; i e t u r ns u m : 四川夫荦项士论文 3 3 4 i p 地址和子网 【p 地址用来唯一地标识网络上的网络接口。i p 地址菇有3 2 位,通常将i p 地址用4 个点分的卜进制数表示。如1 9 2 1 6 8 o 1 ;最初的口地址只分为两段, 如图3 1 0 ( a ) 所示。高位部分字节作为网络号,表示主机所属的网络;低位字节 作为主机号,唯一的标识主机接口。按照网络号的起始位,i p 地址可以分为a 、 b 、c 、d 、e 五类。见图3 - 5 。a 类地址以“0 ”作为地址起始,使用一字节 表示类型和网络号。b 类地址以“1 0 ”作为地址起始,使用最多两字节表示 类型和网络号。c 类地址以“11 0 ”作为地址起

温馨提示

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

评论

0/150

提交评论