基于DSP和以太网的数据采集系统软件设计_毕业设计.doc_第1页
基于DSP和以太网的数据采集系统软件设计_毕业设计.doc_第2页
基于DSP和以太网的数据采集系统软件设计_毕业设计.doc_第3页
基于DSP和以太网的数据采集系统软件设计_毕业设计.doc_第4页
基于DSP和以太网的数据采集系统软件设计_毕业设计.doc_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

西南科技大学 毕业设计毕业设计( (论论文)文) 题目名称:题目名称:基于 dsp 和以太网的数据采集系统软件设计 西西 南南 科科 技技 大大 学学 教教 务务 处处 制制 西南科技大学本科生毕业论文 i 基于 dsp 和以太网的数据采集系统软件设计 摘要:充分利用 dsp 的优良性能,将计算机网络技术引入以 dsp 为核心的嵌入式系统, 已成为一个重要的研究课题。 本文设计了一种基于 ti 公司的 dsp 芯片 tms320vc5509a 的以太网终端系统方 案并给出了该方案的具体设计实现。本论文对 tcp/ip 协议进行了分析,论述了基于 dsp 芯片和网卡接口控制芯片的以太网设计,讨论了在 vb 开发环境下 pc 机与终端系 统的数据交互问题并编写了实际的 pc 机控制软件。同时,讨论了在 dsp 开发环境下 的主程序设计和 c 语言开发程序需要编写的辅助文件,包括头文件、中断向量文件和 命令文件。最后,对设计软件进行了测试。验证了本课题研究的基于 dsp 和以太网的 数据采集系统可以实现数据的以太网传输。 关键词:dsp;以太网;vb;tcp/ip ;ad 转换 西南科技大学本科生毕业论文 ii the software design of data sampling system based on dsp and ethernet abstract:based on the excellent performance of dsp, this paper introduces the embedded system cored with dsp into computer network. this application system becomes a significant research problem. in this paper, we design an ethernet terminal system based on the ti companys dsp of tms320vc5509 and present the schemes software-realization in detail. tcp/ip is studied and analyzed firstly and chosen while the real condition is considered. and then the ethernet is designed with dsp chip and network interface controller (nic) chip. we discuss the pcs data exchange with the ethernet terminal in vb development environment and compile pc software to realization controllable program. then, we discuss the main program and the initialized program is designed in dsp development environment. at the same time, the auxiliary files are discussed which is demanded when the protocol program is designed with c language in dsp development environment, including header file and interrupt vectors file and command file. in the end, the designed program is tested. the result indicates data sampling system that was researched in my subject could realize the transmission of the data through ethernet based on dsp and ethernet. key words: dsp, ethernet, vb, tcp/ip, ad transition 西南科技大学本科生毕业论文 iii 目 录 第 1 章 绪论1 1.1概述1 1.1.1 本课题研究的背景及依据1 1.1.2 本课题研究的意义1 1.1.3 本课题研究的主要内容2 1.2 本课题的关键问题及解决方案2 1.2.1 本课题的关键问题2 1.2.2 解决方案2 1.3 国内外研究现状及趋势3 1.4 本章小结4 第 2 章 网络协议概述及规范5 2.1 概述5 2.1.1 引言5 2.1.2 网络协议的分层5 2.2 协议规范6 2.2.1 地址解析协议(arp)6 2.2.2 网际协议(ip)6 2.2.3 互联网控制报文协议(icmp)8 2.2.4 用户数据报协议(udp)9 2.3 本章小结10 第 3 章 系统硬件实现11 3.1 硬件介绍11 3.2 硬件设计12 3.2.1 硬件设计框图12 3.2.2 硬件选择和实现13 3.3 本章小结15 第 4 章 系统软件实现16 西南科技大学本科生毕业论文 iv 4.1 系统软件开发环境(ccs)16 4.2 vb 的通信程序设计16 4.2.1 vb 的 winsock 控件简介16 4.2.2 vb 编程所用 winsock 控件的属性17 4.2.3 vb 编程所用 winsock 控件的部分方法和事件17 4.2.4 程序需要解决的主要问题18 4.2.5 通信程序的主要代码及作用19 4.3 rtl8019as 的编程20 4.3.1 rtl8019as 的编程所用资源20 4.3.2 rtl8019as 的初始化和编程24 4.4 通信协议的制定和实现28 4.5 dsp 终端系统软件设计29 4.5.1 程序主控模块29 4.5.2 系统初始化模块31 4.5.3 协议模块35 4.5.4 网络接口模块39 4.5.5 c 语言编程的辅助文件40 4.5.6 扩展模块42 4.6 本章小结44 第 5 章 系统测试和展望45 5.1 测试的简要说明45 5.2 测试的结果45 5.3 设计的展望46 结 论48 致 谢49 参考文献50 附录 151 附录 253 西南科技大学本科生毕业论文 v 引 言 随着计算机技术、电磁兼容技术、传感器技术和信息技术的飞速发展和普及,数 据采集与处理系统也越来越得到了广泛的应用。信息采集系统不断发展成熟并越来越 多的应用到工业生产中,其应用范围也在不断的发展扩大,并对于企业生产经营决策 起到越来越举足轻重的作用。例如:在生产过程中,应用这一系统可对生产现场的工 艺参数进行采集、监视和记录,为提高产品质量、降低生产成本提供信息和手段;在 科学研究中,应用这一系统可获得大量的动态信号,是研究瞬间物理过程的有力工具, 也是获得科学奥秘的重要手段之一。总之,不论在哪个应用领域,数据采集与处理越 及时,工作效率、性能价格比就越高,取得的经济效益就越好。 以 dsp 为核心的嵌入式系统市场这几年发展一直很快。而随着以太网接口控制器 和 dsp 微处理器的价格不断下降,使得将以太网直接集成到基于 dsp 等嵌入式系统的 测试、采集、工业 i/o 设备中成为越来越明显的趋势。基于以太网的 i/o 设备是将以太 网接口直接嵌入到设备内部,所以使得设备更简洁,体积更小,安装也更灵活。和一 些目前应用于工业的其它通信方案比较,以太网方式通常需要功能更强大的微处理器 和更大的内存。而网络和计算机技术的发展,特别是 dsp 技术的应用,可以大大降低 这方面的成本。从实际来看,设计基于 dsp 的以太网处理系统,可以很好地实现远程 的数据传送和处理。在此基础上,也可以将其作为其于 dsp 和以太网的网络测试平台 开发过程中的调试工具,从而加速把以太网集成到测试、采集和工业 i/o 仪器中的开 发进程。从应用工业应用来看,以太网的应用可以大大提高劳动效率,能够让仪表在 一些危险的环境下取代人力工作,而得到的数据与结果比人工现场工作的结果更加科 学,精确。 通过毕业设计我们能够学到了很多东西,毕业设计其实就是对四年大学学习的一个 综合,它要求把所学的知识灵活的运用。并能够很好的利用各种资源来完成设计的需 要。对于我所选择的这个题目,有利于提高我的专业知识和实践能力,对于即将进入 工作岗位的我来说,无疑是一次好的很好的锻炼机会,同时,本课题也具有非常强的 实际价值和市场潜力。 西南科技大学本科生毕业论文 vi 西南科技大学本科生毕业论文 1 第 1 章 绪论 1.1 概述 1.1.1 本课题研究的背景及依据 随着 pc 市场已趋于稳定,嵌入式系统市场的发展速度却正在加快的现在, 据有关统计数据表明,嵌入式系统产品的应用已超过整个计算机应用的 40%。全 世界嵌入式系统产品潜在的市场将超过 1 万亿美元。嵌入式系统产品隐含了巨大 的商机。而随着 dsp 微处理器的价格不断下降,低功耗、高性能的 dsp 逐渐取 代了通用单片机在数据采集处理系统中的地位,而且已经有了很大的的市场和发 展前景。 以 dsp 为核心的嵌入式系统市场这几年发展一直很快。由于它具有小巧、低 功耗、高性能等特性,所以非常适合那些运算量大,对外型有个性要求的嵌入式 产品。例如,在工业中的应用。特别是在生产和科研领域对测试的要求越来越高, 所需测试和处理的数据量也越来越巨大,有时需要多个测试仪器同时进行测试, 各测试仪器之间又需要进行数据交换;而且测试领域也越来越广泛,有些现场不 适合工作人员亲临,这时就需要通过网络进行控制。因此基于 dsp 和以太网的数 据处理系统的设计思想及实现有了很广泛的应用和发展前景。 而随着以太网接口控制器和dsp微处理器的价格不断下降,使得将以太网直接 集成到基于dsp等嵌入式系统的测试、采集、工业i/o设备中成为越来越明显的趋 势。基于以太网的i/o设备是将以太网接口直接嵌入到设备内部,所以使得设备更 简洁,体积更小,安装也更灵活。和一些目前应用于工业的其它通信方案比较, 以太网方式通常需要功能更强大的微处理器和更大的内存。而网络和计算机技术 的发展,特别是dsp技术的应用,可以大大降低这方面的成本。 1.1.2 本课题研究的意义 从实际来看,设计基于dsp和以太网数据采集系统,可以很好地实现网络的传 输。在此基础上,也可以将其作为其于dsp和以太网的网络测试平台开发过程中 的调试工具,从而加速把以太网集成到测试、采集和工业i/o仪器中的开发进程。 从应用工业应用来看,以太网的应用可以大大提高劳动效率,能够让仪表在一些 西南科技大学本科生毕业论文 2 危险的环境下取代人力工作,而得到的数据与结果比人工现场工作的结果更加科 学,精确。所以设计一个基于dsp和以太网数据采集系统是非常有实际的意义的。 1.1.3 本课题研究的主要内容 1、根据所设计的以太网控制器与网络的接口硬件电路编写驱动控制程序。 2、根据所设计dsp与以太网控制器的连接电路编写dsp和以太网的初始化程 序。 3、软件实现嵌入式 tcp/ip 协议。使用 c 语言在 dsp 开发环境下编写程序 实现经过选择优化的 tcp/ip 协议。 4、根据所设计子程序及设计要求编写网络传输主程序实现设计要求。 5、根据扩展需要实现 ad 转换,为多样信号采集和处理打下基础。 1.2 本课题的关键问题及解决方案 1.2.1 本课题的关键问题 在本系统的软件设计过程中,应该充分利用硬件资源及开发工具,使代码达 到所期望的性能,并且在 dsp 嵌入式系统的基础上集成已经封装的 tcp/ip 协议 栈,增加网络连接代码。由于 dsp 系统硬件以及以太网协议的复杂性,本系统中 的软件编程是一个难点。 1.2.2 解决方案 针对关键问题我们提出了一些解决方案,由于在很多应用中要求 dsp 不停下 来,而需要从主机中实时地读取数据或者向主机实时地输出数据。同时因为本系 统的软件结构较为复杂,故应采用模块化、由顶向下、逐步细化的结构化程序设 计方法。这一方法可节省软件工作量、提高工作效率。下面对解决方案做简要的 介绍。 1、控制程序: 利用 vb 来编写控制程序从而实现本系统与计算机的通信。 2、dsp 和以太网的初始化程序: 基于 dsp 的以太网通信过程,实质就是 dsp 对 rtl8019as 中各种寄存器进 行编程控制,在实现程序功能之前必须对 dsp 和 rtl8019as 进行初始化,只有 初始化后才能够继续进行程序的连续运行。其中 rtl8019as 复位初始化后,应 西南科技大学本科生毕业论文 3 对其中的部分寄存器进一步初始化,然后才能发送数据或接收数据。而 dsp 的初 始化主要就是对其各种资源进行初始化,以实现资源的利用。 3、软件实现嵌入式 tcp/ip 协议: 网络协议是网络通信的基础,特别是tcp/ip协议簇已成为当今计算机间最常用 的网络通信标准,是全球互联网(internet)的基础。很多不同型号的计算机,运行 完全不同的操作系统,但tcp/ip协议簇却允许它们之间相互通信,tcp/ip协议簇 的作用极其重要,在现代信息社会中的作用已经超出了原来期望成为网络通信的重 要组成部分,发挥着越来越大的效能。在这里程序的设计对于tcp/ip协议簇的应用 时非常关键的,只有对tcp/ip协议簇有了较深的认识和了解,才能够很好的实现 网络通信,从而实现dsp的以太网传输。因此对于tcp/ip协议簇的认识和编程, 对设计具有重要的意义 4、以太网接口驱动: 以太网接口驱动的开发包括rtl8019as的初始化对rtl8019as内部缓存区的 读写操作两个方面。初始化过程首先对rtl8019as 进行硬件复位和软件复位然 后在0页寄存器中设置接收发送状态配置以及发送缓存区的启始页与接收缓存区 启止页地址在1页寄存器中写入以太网接口的mac地址和组播地址。局域网与系 统的数据交换利用rtl8019as内部的双端口ram作为缓存,局域网与内部ram 的数据交换通过本地来实现。dsp系统对以太网帧的读写操作通过对内部ram进 行远程dma操作来实现。 rtl8019as工作流程非常简单,控制程序将要发送的数据包按指定格式写入 芯片并启动发送命令,rtl8019as会自动把数据包转换成物理帧格式在物理信道 上传输。反之,rtl8019as收到物理信号后将其还原成数据,按指定格式存放在 芯片ram中以便dsp程序取用。rtl8019as在这里的主要功能是对运输层通信协 议的实现。 5、ad转换: ad转换实现了模拟信号的采样和信号的数字化,从而为实现各种信号的采 集和处理打下了基础。为设计能够运用到各个领域创造了条件。在本次设计中我 们仅对ad转换做一些介绍,而对于信号的处理这里就不再说明,针对以后具体 信号再做具体的分析。 1.3 国内外研究现状及趋势 西南科技大学本科生毕业论文 4 在信息时代的今天,internet 技术将不会仅仅局限于人与人(或团体)之间信息 的交流。例如 e-mail, web 浏览等,或者仅仅停留在企业与企业及与个人在商务 方面的信息交上,例如电子商务 e-business 等,internet 技术将会深入到人们日常 生活和工作的电子设备中,而且势不可挡,随着 ia(信息电器)的出现,嵌入式网 络技术正逐步取代传统的以 pc 为中的应用,成为未来 internet 发展中的主力军, 将会广泛应用于智能家居系统、工业智能化站系统、led 网络控制显示屏系统、 网络安全加密系统等各个领域的各个方面。各国信息界仁都在密切关注并积极研 究电子设备与 internet 的连接问题。 dsp 芯片是专门为实现各种数字信号处理算法而设计的、具有特殊结构的微 处理器,其卓越的性能、不断上升的性价比、日渐完善的开发方式使其应用越来 越广泛。将计算机网络技术引入以 dsp 为核心的嵌入式系统,使其成为数字化、 网络化相结合,集通信、计算机和视听功能于一体的电子产品,必将大大提升 dsp 系统的应用价值和市场前景。“基于 dsp 和以太网数据采集系统”的研究工作 解决了以 dsp 为核心的处理系统与 internet 的连接问题,为 dsp 设备的应用开辟 了更为广阔的前景。 1.4 本章小结 在本章中,主绍介绍了基于 dsp 和以太网数据采集系统的毕业设计的背景和 依据,同时结合设计的现实意义及设计中的关键问题做了一些简单分析,从而提 出了简要的解决方案。做了有意的探索。 此外,对所设计课题的现状和趋势也做了必要的调查和了解,看到了它的潜 在价值、意义和巨大的市场。 西南科技大学本科生毕业论文 5 第 2 章 网络协议概述及规范 本章主要讨论我们将要实现的网络协议 tcp/ip 协议簇中一些相关协议的基 本理论和概念,它们的具体实现形式这章不做进一步的说明,待后续章节中再讨 论,本章是我们进行毕业设计网络传输的理论基础和行为规范,对设计圆满完成 起着重要的作用。 2.1 概述 2.1.1 引言 网络协议是网络通信的基础,特别是 tcp/ip 协议簇已成为当今计算机间最常 用的网络通信标准,是全球互联网(internet)的基础。很多不同型号的计算机,运 行完全不同的操作系统,但 tcp/ip 协议簇却允许它们之间相互通信,tcp/ip 协 议簇的作用极其重要,在现代信息社会中的作用已经超出了原来期望成为网络通信 的重要组成部分,发挥着越来越大的效能4。 2.1.2 网络协议的分层 在计算机网络中要想做到有条不紊的交换数据,就必须遵守一些事先约定好的 规则,这些规则或标准就是网络协议。网络协议通常分不同层次,每一层分别负责 不同的通信功能。不同的协议簇就有不同的层次划分,我们这次设计采用 tcp/ip 协议簇。tcp/ip 协议通常被认为是一个四层协议系统。每一层负责不同的功能: 1、链路层。有时也称作数据链路层或网络接口,通常包括操作系统中的设 备驱动程序和计算机中对应的网络接口卡。在发送数据时,数据链路层的任务是 将在网络层交下来的 ip 数据报组装成帧,在两个相邻接点间的链路上传送以帧为 单位的数据。 2、 网络层。有时也称作互联网层,负责为分组交换网上的不同主机提供通 信。网络层在处理分组在网络中的各种活动,例如分组的选路。在 tcp/ip 协议 簇中,网络层协议包 ip 协议(网际协议),icmp 协议等。 3、运输层。主要为两台主机上的应用程序提供端到端的通信。在 tcp/ip 协 议簇中,有两个互不相同的传输协议:tcp(传输控制协议)和 udp(用户数据报协议) 西南科技大学本科生毕业论文 6 。tcp 为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给 它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后 确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用 层可以忽略所有这些细节。udp 则为应用层提供一种非常简单的服务。它只是把 称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另 一端。任何必需的可靠性必须由应用层来提供。本课程设计采用了 udp 用户数 据报协议。 4、应用层。负责处理特定的应用程序细节。几乎各种不同的 tcp/ ip 实现都 会提供下面这些通用的应用程序: telnet 远程登录、ftp 文件传输协议、smtp 简 单邮件传送协议、snmp 简单网络管理协议4。 2.2 协议规范 2.2.1 地址解析协议(arp) 以太网上数据的传输是采用网络的 mac 地址来进行识别的,这就要求系统有 实现 ip 地址到 mac 地址的转换的功能,即 arp(地址解析协议)。系统要同其它 计算机通信,需要根据 ip 地址获得 mac 地址,就必须要支持 arp 协议。 在 arp 背后有一个基本概念,那就是网络接口有一个硬件地址(一个 48 bit 的值,标识不同的 ethernet 或令牌环网络接口)。在硬件层次上进行的数据帧交换 必须有正确的接口地址。但是,tcp/ip 有自己的地址,即:32 bit 的 ip 地址。知 道主机的 ip 地址并不能让内核发送一帧数据给主机。内核(如 ethernet 驱动程序) 必须知道目的端的硬件地址才能发送数据。arp 的功能是在 32 bit 的 ip 地址和采 用不同网络技术的硬件地址之间提供动态映射。在 arp 协议中,将检索的地址 (mac 地址)作为硬件地址,将检索地址的原来地址(ip 地址)作为协议地址。 在 arp 协议中的操作,对于连接在同一个 ethernet 段上的所有主机来讲,需 要发送一个查询包,即 arp 请求包。对于指定地址的接口而言,要求通知其 mac 地址。在同一个 ethernet 段上的所有主机都可以收到该 arp 请求包,并且, arp 协议将接收端的 ip 地址与接口的 ip 地址作比较,若相同,则使用 arp 应答 包来通知其 mac 地址。我们还要检索对应于 ip 地址的 mac 地址。使用 arp 协 议检索到的信息都记录在一个 arp 表中,arp 表作为高速缓存器进行操作,在 发送同一个 ip 地址的时候,从该表中可以检索到 mac 地址,值得注意的是,该 标记录的信息,在写入数分钟后就会被删除,这是因为同一 nic 可以设定任意的 西南科技大学本科生毕业论文 7 ip 地址,在表中记录的信息删除后,同一 ip 若要发送数据,则需再次执行 arp 协议的操作。 2.2.2 网际协议(ip) ip 是 tcp/ip 协议簇中最为核心的协议。所有的 tcp, udp, icmp 及 igmp 数 据都以 ip 数据报格式传输如图 2-1。ip 提供不可靠、无连接的数据报传送服务6。 图图2-1 ip数据报格式数据报格式 ip协议中各字段的含意为: 版本:目前的协议版本号是4,因此ip有时也称作ipv4。新的协议版本号为 ipv6,但还没有广泛使用。 首部长度:指的是首部占32 bit字的数目包括任何选项。由于它是一个4比特 字段,因此首部最长为60个字节。普通ip数据报(没有任何选择)项字段的值是 5,即头部长度为20字节。 服务类型字段:包括一个3bit的优先权子字段,现在已被忽略,4bit的tos子 字段和1 bit未用位,但必须置0,4bit的tos分别代表:最小时延、最大吞吐量、 最高可靠性和最小费用,4 bit中只能置其中1 bit,如果所有4 bit均为0,那么就意 味着是一般服务,现在大多数的tcp/ip实现都不支持tos特性。该项一般设为全 0。 总长度字段:是指整个ip数据报的长度以字节为单位。利用首部长度字段和 总长度字段,就可以知道ip数据报中数据内容的起始位置和长度。由于该字段长 16比特,所以ip数据报最长可达65535字节。 标识、标志、片偏移字段:这3个字段用来控制数据报的分片与重组。标识 4位版本4位首部长度8位服务类型 (tos) 16位总长度(字节数) 16位标识3位标识13位片偏移 8位生存时间8位协议16位首部检验和 32位源ip地址 32位目的ip地址 选项 数据 西南科技大学本科生毕业论文 8 字段唯一地标识主机发送的每一份数据报,通常每发送一份报文它的值就会加 1。 3bit的标志字段中的第一位决定是否进行分片,当该位置1时表示不分片,在 该系统中传输只是在以太网中进行,其mtu(maximum transfer unit)为1500字节, 而实际传输的数据量不会超过一个数据包,所以对ip数据报不分片。所以,在系 统中不必考虑数据报的分片与重组。 ttl(time-to-live):生存时间字段设置了数据报可以经过的最多路由器数。 它指定了数据报的生存时间,ttl的初始值由源主机设置,通常为32bit或64bit, 一旦经过一个处理它的路由器,它的值就减去1,当该字段的值为0时,数据报就 被丢弃,并发送icmp报文通知源主机。 协议字段:该字段长度为8bit,标识ip包携带的是何种协议数据包。1表示为 icmp协议,2表示为igmp协议,6表示为tcp协议,17表示为udp协议。在本系 统中,只用到了icmp协议和udp协议。 首部校验和:为了计算一份数据报的ip检验和,首先把检验和字段置为0,然 后对首部中每个16bit进行二进制反码求和,整个首部看成是由一串16 bit的字组成, 结果存在检验和字段中。当收到一份ip数据报后,同样对首部中每个16bi进行二 进制反码的求和,由于接收方在计算过程中包含了发送方存在首部中的检验和, 因此,如果首部在传输过程中没有发生任何差错,那么接收方计算的结果应该为 全1;如果结果不是全1,即检验和错误,那么i p就丢弃收到的数据报。但是不生 成差错报文,由上层去发现丢失的数据报并进行重传。 接下来是源ip地址与目的ip地址,长度都为32位。系统只接收目的地址为本 地ip的及广播地址的数据报。目的地址为广播地址的数据报用于dhcp协议中, 对系统ip地址的获得。 发送数据前,程序将高层协议传递过来的数据包封装成ip报文。在发送一份 ip数据报之前,首先要在arp缓存表中查找目的ip地址对应的硬件地址(以太网 地址),然后按照硬件地址进行以太网数据包封装。如果不能查到目的ip地址对 应的硬件地址,则发送查找该目的ip地址的arp请求(如果该ip地址不是本地局 域网内ip地址,则发送查找网关的ip地址的arp请求),将待发送的ip数据包设 置为等待发送状态,在收到对应的arp响应并建立完整的地址映射之后再发送出 去。 西南科技大学本科生毕业论文 9 ip提供不可靠、无连接的数据报传送。不可靠的就是它不保证ip数据报能成 功地到达目的地。无连接就是ip并不维护任何关于后续数据报的状态信息,每个 数据报的处理是相互独立的,也就是ip数据报可以不按发送顺序接收。 接收到的每一个数据包,系统程序都根据首部检验和、版本号和分片标志等 字段的内容检测数据是否正确,如果数据内容正确再根据协议字段的内容交给相 应的协议处理。 2.2.3 互联网控制报文协议(icmp) icmp 经常被认为是 ip 层的一个组成部分。它传递差错报文以及其他需要注 意的信息。icmp 报文通常被 ip 层或更高层协议(tcp 或 udp )使用。一些 icmp 报文把差错报文返回给用户进程。 icmp 报文的格式如图 2-2 所示。所有报文的前 4 个字节都是一样的,但是 剩下的其他字节则互不相同。类型字段可以有巧个不同的值,以描述特定类型的 icmp 报文,某些 icmp 报文还使用代码字段的值来进一步描述不同的条件。例 如:报文“icmp 不能到达目的地”为类型 8,又可分为“由于网络原因不能到达目的 地”(编码 0) ,“由于主机原因无法到达目的地”(编码 1) ,“由于协议原因无法到达目 的地”(编码 2) .,等等6。 8 位类型8 位代码16 位检验和 不同类型和代码有不同的内容 图图 2-2 icmp 报文的格式报文的格式 当发送一份 icmp 差错报文时,报文始终包含 ip 的首部和产生 icmp 差错报 文的 ip 数据报的前 8 个字节。这样,接收 icmp 差错报文的模块就会把它与某个 特定的协议(根据 i p 数据报首部中的协议字段来判断)和用户进程(根据包含在 ip 数据报前 8 个字节中的 tcp 或 udp 报文首部中的 tcp 或 udp 端口号来判断)联 系起来。 2.2.4 用户数据报协议(udp) udp 是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产 生一个 udp 数据报,并组装成一份待发送的 ip 数据报。这与面向流字符的协议 不同,如 tcp,应用程序产生的全体数据与真正发送的单个 ip 数据报可能没有 什么联系。 udp 不提供可靠性:它把应用程序传给 ip 层的数据发送出去,但是并不保证 西南科技大学本科生毕业论文 10 它们能到达目的地。应用程序必须关心 ip 数据报的长度。如果它超过网络的 mtu,那么就要对 ip 数据报进行分片。如果需要,源端到目的端之间的每个网 络都要进行分片,并不只是发送端主机连接第一个网络才这样做。 udp 数据报和 tcp 段都包含一个 12 字节长的伪首部。伪首部包含 ip 首部一 些字段。其目的是让 udp 两次检查数据是否己经正确到达目的地(例如,ip 没有 接收地址不是本主机的数据报,以及 ip 没有把应传给另一高层的数据报传给 udp )。udp 协议首部字段包括 12 字节的伪首部和 8 字节的 udp 首部。udp 伪 首部的作用不是用户数据的真正首部,只是为了计算检验和时,临时和 udp 用 户数据连接在一起,得到一个过度的 udp 数据报,用于就算检验和,伪首部即 不向下传输,也不向上传输。udp 首部和伪首部结构如图 2-3 所示: 图图 2-3 udp 首部和伪首部结构首部和伪首部结构 udp长度字段指的是udp首部和udp数据的字节总长度。该字段的最小值为8 字节(没有纯数据的udp数据报)。ip数据报长度指的是数据报全长,因此程序 接收到装载udp数据的ip数据报后计算udp数据报长度时,只是用ip数据报的全 长减去ip首部的长度(该值在ip首部的首部长度字段中指定)。如果计算的udp 数据包长度与udp首部长度字段的值不同,说明数据包存在错误,进行丢弃。 校验和字段:在ip首部中的校验和字段仅仅是对ip首部的校验和,而udp中 的校验和字段校验对象包括对伪首部、udp首部和用户数据。校验方法和ip首部 校验相同,也是计算16bit的二进制反码和。udp首部中和用户数据是现存的,而 伪首部是为了计算校验和而设立的。增加伪首部是为确保报文能正确到达目的地, 发送udp数据报的主机在计算校验和时把目的机的ip地址和应有的数据都包括在 32 位源 ip 地址 32 位目的 ip 地址 全 08 位协议16 位 udp 长度 16 位源端口号16 位目的端口号 16 位 udp 长度16 位 udp 检验和 数据 12 字节伪首部 udp 首部 西南科技大学本科生毕业论文 11 内,在接收端udp协议软件对校验和进行检验时,要用到携带udp数据报文的ip 数据报首部的ip地址。如果校验和正确,说明udp数据报到达了正确主机上的正 确端口。 2.3 本章小结 在本章中,主绍介绍了基于 dsp 的以太网系统的毕业设计所涉及的网络协议 的基本知识和规范,对地址解析协议(arp) 、国际协议(ip) 、互联网控制报文协 议(icmp) 、用户数据报协议(udp)做了一些简单的分析,从而对毕业设计的网络 部分做了探索。 总之,本章网络协议了解与应用对所设计课题的顺利完成打下了坚实的基础。 第 3

温馨提示

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

评论

0/150

提交评论