《基于dsp和以太网的数据采集系统软件设计---大学毕业(论文)设计.doc》由会员分享,可在线阅读,更多相关《基于dsp和以太网的数据采集系统软件设计---大学毕业(论文)设计.doc(63页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、西南科技大学本科生毕业论文 V西南科技大学毕业设计(论文)题目名称:基于DSP和以太网的数据采集系统软件设计西 南 科 技 大 学 教 务 处 制基于DSP和以太网的数据采集系统软件设计摘要:充分利用DSP的优良性能,将计算机网络技术引入以DSP为核心的嵌入式系统,已成为一个重要的研究课题。本文设计了一种基于TI公司的DSP芯片TMS320VC5509A的以太网终端系统方案并给出了该方案的具体设计实现。本论文对TCP/IP协议进行了分析,论述了基于DSP芯片和网卡接口控制芯片的以太网设计,讨论了在VB开发环境下PC机与终端系统的数据交互问题并编写了实际的PC机控制软件。同时,讨论了在DSP开发
2、环境下的主程序设计和C语言开发程序需要编写的辅助文件,包括头文件、中断向量文件和命令文件。最后,对设计软件进行了测试。验证了本课题研究的基于DSP和以太网的数据采集系统可以实现数据的以太网传输。关键词:DSP;以太网;VB;TCP/IP ;AD转换The Software Design of Data Sampling System Based on DSP and EthernetAbstract:Based on the excellent performance of DSP, this paper introduces the embedded system cored with DS
3、P 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 th
4、e 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 mai
5、n 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 f
6、ile. 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 目 录第1章 绪论11.1概述11.1.1 本课题研究的背景及依据11.1
7、.2 本课题研究的意义11.1.3 本课题研究的主要内容21.2 本课题的关键问题及解决方案21.2.1 本课题的关键问题21.2.2 解决方案21.3 国内外研究现状及趋势31.4 本章小结4第2章 网络协议概述及规范52.1 概述52.1.1 引言52.1.2 网络协议的分层52.2 协议规范62.2.1地址解析协议(ARP)62.2.2 网际协议(IP)62.2.3 互联网控制报文协议(ICMP)82.2.4 用户数据报协议(UDP)92.3 本章小结10第3章 系统硬件实现113.1 硬件介绍113.2 硬件设计123.2.1 硬件设计框图123.2.2 硬件选择和实现133.3 本章
8、小结15第4章 系统软件实现164.1 系统软件开发环境(CCS)164.2 VB的通信程序设计164.2.1 VB的Winsock控件简介164.2.2 VB编程所用Winsock控件的属性174.2.3 VB编程所用Winsock控件的部分方法和事件174.2.4 程序需要解决的主要问题184.2.5 通信程序的主要代码及作用194.3 RTL8019AS的编程204.3.1 RTL8019AS的编程所用资源204.3.2 RTL8019AS的初始化和编程244.4 通信协议的制定和实现284.5 DSP终端系统软件设计294.5.1 程序主控模块294.5.2 系统初始化模块314.5.
9、3 协议模块354.5.4 网络接口模块394.5.5 C语言编程的辅助文件404.5.6 扩展模块424.6 本章小结44第5章 系统测试和展望455.1 测试的简要说明455.2 测试的结果455.3 设计的展望46结 论48致 谢49参考文献50附录151附录253引 言随着计算机技术、电磁兼容技术、传感器技术和信息技术的飞速发展和普及,数据采集与处理系统也越来越得到了广泛的应用。信息采集系统不断发展成熟并越来越多的应用到工业生产中,其应用范围也在不断的发展扩大,并对于企业生产经营决策起到越来越举足轻重的作用。例如:在生产过程中,应用这一系统可对生产现场的工艺参数进行采集、监视和记录,为
10、提高产品质量、降低生产成本提供信息和手段;在科学研究中,应用这一系统可获得大量的动态信号,是研究瞬间物理过程的有力工具,也是获得科学奥秘的重要手段之一。总之,不论在哪个应用领域,数据采集与处理越及时,工作效率、性能价格比就越高,取得的经济效益就越好。以DSP为核心的嵌入式系统市场这几年发展一直很快。而随着以太网接口控制器和DSP微处理器的价格不断下降,使得将以太网直接集成到基于DSP等嵌入式系统的测试、采集、工业I/O设备中成为越来越明显的趋势。基于以太网的I/O设备是将以太网接口直接嵌入到设备内部,所以使得设备更简洁,体积更小,安装也更灵活。和一些目前应用于工业的其它通信方案比较,以太网方式
11、通常需要功能更强大的微处理器和更大的内存。而网络和计算机技术的发展,特别是DSP技术的应用,可以大大降低这方面的成本。从实际来看,设计基于DSP的以太网处理系统,可以很好地实现远程的数据传送和处理。在此基础上,也可以将其作为其于DSP和以太网的网络测试平台开发过程中的调试工具,从而加速把以太网集成到测试、采集和工业I/O仪器中的开发进程。从应用工业应用来看,以太网的应用可以大大提高劳动效率,能够让仪表在一些危险的环境下取代人力工作,而得到的数据与结果比人工现场工作的结果更加科学,精确。通过毕业设计我们能够学到了很多东西,毕业设计其实就是对四年大学学习的一个综合,它要求把所学的知识灵活的运用。并
12、能够很好的利用各种资源来完成设计的需要。对于我所选择的这个题目,有利于提高我的专业知识和实践能力,对于即将进入工作岗位的我来说,无疑是一次好的很好的锻炼机会,同时,本课题也具有非常强的实际价值和市场潜力。西南科技大学本科生毕业论文 第1章 绪论1.1 概述 1.1.1 本课题研究的背景及依据随着PC市场已趋于稳定,嵌入式系统市场的发展速度却正在加快的现在,据有关统计数据表明,嵌入式系统产品的应用已超过整个计算机应用的40%。全世界嵌入式系统产品潜在的市场将超过1万亿美元。嵌入式系统产品隐含了巨大的商机。而随着DSP微处理器的价格不断下降,低功耗、高性能的DSP逐渐取代了通用单片机在数据采集处理
13、系统中的地位,而且已经有了很大的的市场和发展前景。以DSP为核心的嵌入式系统市场这几年发展一直很快。由于它具有小巧、低功耗、高性能等特性,所以非常适合那些运算量大,对外型有个性要求的嵌入式产品。例如,在工业中的应用。特别是在生产和科研领域对测试的要求越来越高,所需测试和处理的数据量也越来越巨大,有时需要多个测试仪器同时进行测试,各测试仪器之间又需要进行数据交换;而且测试领域也越来越广泛,有些现场不适合工作人员亲临,这时就需要通过网络进行控制。因此基于DSP和以太网的数据处理系统的设计思想及实现有了很广泛的应用和发展前景。而随着以太网接口控制器和DSP微处理器的价格不断下降,使得将以太网直接集成
14、到基于DSP等嵌入式系统的测试、采集、工业I/O设备中成为越来越明显的趋势。基于以太网的I/O设备是将以太网接口直接嵌入到设备内部,所以使得设备更简洁,体积更小,安装也更灵活。和一些目前应用于工业的其它通信方案比较,以太网方式通常需要功能更强大的微处理器和更大的内存。而网络和计算机技术的发展,特别是DSP技术的应用,可以大大降低这方面的成本。1.1.2 本课题研究的意义从实际来看,设计基于DSP和以太网数据采集系统,可以很好地实现网络的传输。在此基础上,也可以将其作为其于DSP和以太网的网络测试平台开发过程中的调试工具,从而加速把以太网集成到测试、采集和工业I/O仪器中的开发进程。从应用工业应
15、用来看,以太网的应用可以大大提高劳动效率,能够让仪表在一些危险的环境下取代人力工作,而得到的数据与结果比人工现场工作的结果更加科学,精确。所以设计一个基于DSP和以太网数据采集系统是非常有实际的意义的。1.1.3 本课题研究的主要内容1、根据所设计的以太网控制器与网络的接口硬件电路编写驱动控制程序。2、根据所设计DSP与以太网控制器的连接电路编写DSP和以太网的初始化程序。3、软件实现嵌入式TCP/IP协议。使用C语言在DSP开发环境下编写程序实现经过选择优化的TCP/IP协议。4、根据所设计子程序及设计要求编写网络传输主程序实现设计要求。5、根据扩展需要实现AD转换,为多样信号采集和处理打下
16、基础。1.2 本课题的关键问题及解决方案1.2.1 本课题的关键问题在本系统的软件设计过程中,应该充分利用硬件资源及开发工具,使代码达到所期望的性能,并且在DSP嵌入式系统的基础上集成已经封装的TCP/IP协议栈,增加网络连接代码。由于DSP系统硬件以及以太网协议的复杂性,本系统中的软件编程是一个难点。1.2.2 解决方案针对关键问题我们提出了一些解决方案,由于在很多应用中要求DSP不停下来,而需要从主机中实时地读取数据或者向主机实时地输出数据。同时因为本系统的软件结构较为复杂,故应采用模块化、由顶向下、逐步细化的结构化程序设计方法。这一方法可节省软件工作量、提高工作效率。下面对解决方案做简要
17、的介绍。 1、控制程序:利用VB来编写控制程序从而实现本系统与计算机的通信。2、DSP和以太网的初始化程序:基于DSP的以太网通信过程,实质就是DSP对RTL8019AS中各种寄存器进行编程控制,在实现程序功能之前必须对DSP和RTL8019AS进行初始化,只有初始化后才能够继续进行程序的连续运行。其中RTL8019AS复位初始化后,应对其中的部分寄存器进一步初始化,然后才能发送数据或接收数据。而DSP的初始化主要就是对其各种资源进行初始化,以实现资源的利用。 3、软件实现嵌入式TCP/IP协议:网络协议是网络通信的基础,特别是TCP/IP协议簇已成为当今计算机间最常用的网络通信标准,是全球互
18、联网(Internet)的基础。很多不同型号的计算机,运行完全不同的操作系统,但TCP/IP协议簇却允许它们之间相互通信,TCP/IP协议簇的作用极其重要,在现代信息社会中的作用已经超出了原来期望成为网络通信的重要组成部分,发挥着越来越大的效能。在这里程序的设计对于TCP/IP协议簇的应用时非常关键的,只有对TCP/IP协议簇有了较深的认识和了解,才能够很好的实现网络通信,从而实现DSP的以太网传输。因此对于TCP/IP协议簇的认识和编程,对设计具有重要的意义 4、以太网接口驱动: 以太网接口驱动的开发包括RTL8019AS的初始化对RTL8019AS内部缓存区的读写操作两个方面。初始化过程首
19、先对RTL8019AS 进行硬件复位和软件复位然后在0页寄存器中设置接收发送状态配置以及发送缓存区的启始页与接收缓存区启止页地址在1页寄存器中写入以太网接口的MAC地址和组播地址。局域网与系统的数据交换利用RTL8019AS内部的双端口RAM作为缓存,局域网与内部RAM 的数据交换通过本地来实现。DSP系统对以太网帧的读写操作通过对内部RAM进行远程DMA操作来实现。RTL8019AS工作流程非常简单,控制程序将要发送的数据包按指定格式写入芯片并启动发送命令,RTL8019AS会自动把数据包转换成物理帧格式在物理信道上传输。反之,RTL8019AS收到物理信号后将其还原成数据,按指定格式存放在
20、芯片RAM中以便DSP程序取用。RTL8019AS在这里的主要功能是对运输层通信协议的实现。5、AD转换:AD转换实现了模拟信号的采样和信号的数字化,从而为实现各种信号的采集和处理打下了基础。为设计能够运用到各个领域创造了条件。在本次设计中我们仅对AD转换做一些介绍,而对于信号的处理这里就不再说明,针对以后具体信号再做具体的分析。1.3 国内外研究现状及趋势在信息时代的今天,Internet技术将不会仅仅局限于人与人(或团体)之间信息的交流。例如E-mail, WEB浏览等,或者仅仅停留在企业与企业及与个人在商务方面的信息交上,例如电子商务e-business等,Internet技术将会深入到
21、人们日常生活和工作的电子设备中,而且势不可挡,随着IA(信息电器)的出现,嵌入式网络技术正逐步取代传统的以PC为中的应用,成为未来Internet发展中的主力军,将会广泛应用于智能家居系统、工业智能化站系统、LED网络控制显示屏系统、网络安全加密系统等各个领域的各个方面。各国信息界仁都在密切关注并积极研究电子设备与Internet的连接问题。DSP芯片是专门为实现各种数字信号处理算法而设计的、具有特殊结构的微处理器,其卓越的性能、不断上升的性价比、日渐完善的开发方式使其应用越来越广泛。将计算机网络技术引入以DSP为核心的嵌入式系统,使其成为数字化、网络化相结合,集通信、计算机和视听功能于一体的
22、电子产品,必将大大提升DSP系统的应用价值和市场前景。“基于DSP和以太网数据采集系统”的研究工作解决了以DSP为核心的处理系统与Internet的连接问题,为DSP设备的应用开辟了更为广阔的前景。1.4 本章小结 在本章中,主绍介绍了基于DSP和以太网数据采集系统的毕业设计的背景和依据,同时结合设计的现实意义及设计中的关键问题做了一些简单分析,从而提出了简要的解决方案。做了有意的探索。 此外,对所设计课题的现状和趋势也做了必要的调查和了解,看到了它的潜在价值、意义和巨大的市场。第2章 网络协议概述及规范本章主要讨论我们将要实现的网络协议TCP/IP协议簇中一些相关协议的基本理论和概念,它们的
23、具体实现形式这章不做进一步的说明,待后续章节中再讨论,本章是我们进行毕业设计网络传输的理论基础和行为规范,对设计圆满完成起着重要的作用。2.1 概述 2.1.1 引言 网络协议是网络通信的基础,特别是TCP/IP协议簇已成为当今计算机间最常用的网络通信标准,是全球互联网(Internet)的基础。很多不同型号的计算机,运行完全不同的操作系统,但TCP/IP协议簇却允许它们之间相互通信,TCP/IP协议簇的作用极其重要,在现代信息社会中的作用已经超出了原来期望成为网络通信的重要组成部分,发挥着越来越大的效能4。2.1.2 网络协议的分层 在计算机网络中要想做到有条不紊的交换数据,就必须遵守一些事
24、先约定好的规则,这些规则或标准就是网络协议。网络协议通常分不同层次,每一层分别负责不同的通信功能。不同的协议簇就有不同的层次划分,我们这次设计采用TCP/IP协议簇。TCP/IP协议通常被认为是一个四层协议系统。每一层负责不同的功能: 1、链路层。有时也称作数据链路层或网络接口,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。在发送数据时,数据链路层的任务是将在网络层交下来的IP数据报组装成帧,在两个相邻接点间的链路上传送以帧为单位的数据。 2、 网络层。有时也称作互联网层,负责为分组交换网上的不同主机提供通信。网络层在处理分组在网络中的各种活动,例如分组的选路。在TCP/IP协议
25、簇中,网络层协议包IP协议(网际协议),ICMP协议等。3、运输层。主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议簇中,有两个互不相同的传输协议:TCP(传输控制协议)和UDP(用户数据报协议)。TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。由于运输层提供了高可靠性的端到端的通信,因此应用层可以忽略所有这些细节。UDP则为应用层提供一种非常简单的服务。它只是把称作数据报的分组从一台主机发送到另一台主机,但并不保证该数据报能到达另一端。任何必需的可靠性必须由应用层来
26、提供。本课程设计采用了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的值,标识不同的
27、Ethernet或令牌环网络接口)。在硬件层次上进行的数据帧交换必须有正确的接口地址。但是,TCP/IP有自己的地址,即:32 bit的IP地址。知道主机的IP地址并不能让内核发送一帧数据给主机。内核(如Ethernet驱动程序)必须知道目的端的硬件地址才能发送数据。ARP的功能是在32 bit的IP地址和采用不同网络技术的硬件地址之间提供动态映射。在ARP协议中,将检索的地址(MAC地址)作为硬件地址,将检索地址的原来地址(IP地址)作为协议地址。 在ARP协议中的操作,对于连接在同一个Ethernet段上的所有主机来讲,需要发送一个查询包,即ARP请求包。对于指定地址的接口而言,要求通知其
28、MAC地址。在同一个Ethernet段上的所有主机都可以收到该ARP请求包,并且,ARP协议将接收端的IP地址与接口的IP地址作比较,若相同,则使用ARP应答包来通知其MAC地址。我们还要检索对应于IP地址的MAC地址。使用ARP协议检索到的信息都记录在一个ARP表中,ARP表作为高速缓存器进行操作,在发送同一个IP地址的时候,从该表中可以检索到MAC地址,值得注意的是,该标记录的信息,在写入数分钟后就会被删除,这是因为同一NIC可以设定任意的IP地址,在表中记录的信息删除后,同一IP若要发送数据,则需再次执行ARP协议的操作。2.2.2 网际协议(IP) IP是TCP/IP协议簇中最为核心的
29、协议。所有的TCP, UDP, ICMP及IGMP数据都以IP数据报格式传输如图2-1。IP提供不可靠、无连接的数据报传送服务6。4位版本4位首部长度8位服务类型(TOS)16位总长度(字节数)16位标识3位标识13位片偏移8位生存时间8位协议16位首部检验和32位源IP地址32位目的IP地址选项数据图2-1 IP数据报格式IP协议中各字段的含意为:版本:目前的协议版本号是4,因此IP有时也称作IPv4。新的协议版本号为Ipv6,但还没有广泛使用。首部长度:指的是首部占32 bit字的数目包括任何选项。由于它是一个4比特字段,因此首部最长为60个字节。普通IP数据报(没有任何选择)项字段的值是
30、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个字段用来控制数据报的分
31、片与重组。标识字段唯一地标识主机发送的每一份数据报,通常每发送一份报文它的值就会加1。3bit的标志字段中的第一位决定是否进行分片,当该位置1时表示不分片,在该系统中传输只是在以太网中进行,其MTU(maximum transfer unit)为1500字节,而实际传输的数据量不会超过一个数据包,所以对IP数据报不分片。所以,在系统中不必考虑数据报的分片与重组。TTL(time-to-live):生存时间字段设置了数据报可以经过的最多路由器数。它指定了数据报的生存时间,TTL的初始值由源主机设置,通常为32bit或64bit,一旦经过一个处理它的路由器,它的值就减去1,当该字段的值为0时,数据
32、报就被丢弃,并发送ICMP报文通知源主机。协议字段:该字段长度为8bit,标识IP包携带的是何种协议数据包。1表示为ICMP协议,2表示为IGMP协议,6表示为TCP协议,17表示为UDP协议。在本系统中,只用到了ICMP协议和UDP协议。首部校验和:为了计算一份数据报的IP检验和,首先把检验和字段置为0,然后对首部中每个16bit进行二进制反码求和,整个首部看成是由一串16 bit的字组成,结果存在检验和字段中。当收到一份IP数据报后,同样对首部中每个16bi进行二进制反码的求和,由于接收方在计算过程中包含了发送方存在首部中的检验和,因此,如果首部在传输过程中没有发生任何差错,那么接收方计算
33、的结果应该为全1;如果结果不是全1,即检验和错误,那么I P就丢弃收到的数据报。但是不生成差错报文,由上层去发现丢失的数据报并进行重传。接下来是源IP地址与目的IP地址,长度都为32位。系统只接收目的地址为本地IP的及广播地址的数据报。目的地址为广播地址的数据报用于DHCP协议中,对系统IP地址的获得。发送数据前,程序将高层协议传递过来的数据包封装成IP报文。在发送一份IP数据报之前,首先要在ARP缓存表中查找目的IP地址对应的硬件地址(以太网地址),然后按照硬件地址进行以太网数据包封装。如果不能查到目的IP地址对应的硬件地址,则发送查找该目的IP地址的ARP请求(如果该IP地址不是本地局域网
34、内IP地址,则发送查找网关的IP地址的ARP请求),将待发送的IP数据包设置为等待发送状态,在收到对应的ARP响应并建立完整的地址映射之后再发送出去。IP提供不可靠、无连接的数据报传送。不可靠的就是它不保证IP数据报能成功地到达目的地。无连接就是IP并不维护任何关于后续数据报的状态信息,每个数据报的处理是相互独立的,也就是IP数据报可以不按发送顺序接收。接收到的每一个数据包,系统程序都根据首部检验和、版本号和分片标志等字段的内容检测数据是否正确,如果数据内容正确再根据协议字段的内容交给相应的协议处理。2.2.3 互联网控制报文协议(ICMP) ICMP经常被认为是IP层的一个组成部分。它传递差
35、错报文以及其他需要注意的信息。ICMP报文通常被IP层或更高层协议(TCP或UDP )使用。一些ICMP报文把差错报文返回给用户进程。ICMP报文的格式如图2-2所示。所有报文的前4个字节都是一样的,但是剩下的其他字节则互不相同。类型字段可以有巧个不同的值,以描述特定类型的ICMP报文,某些ICMP报文还使用代码字段的值来进一步描述不同的条件。例如:报文“ICMP不能到达目的地”为类型8,又可分为“由于网络原因不能到达目的地”(编码0) ,“由于主机原因无法到达目的地”(编码1) ,“由于协议原因无法到达目的地”(编码2) .,等等6。8位类型8位代码16位检验和不同类型和代码有不同的内容图2
36、-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数据报可能没有什么联系。 UD
37、P不提供可靠性:它把应用程序传给IP层的数据发送出去,但是并不保证它们能到达目的地。应用程序必须关心IP数据报的长度。如果它超过网络的MTU,那么就要对IP数据报进行分片。如果需要,源端到目的端之间的每个网络都要进行分片,并不只是发送端主机连接第一个网络才这样做。UDP数据报和TCP段都包含一个12字节长的伪首部。伪首部包含IP首部一些字段。其目的是让UDP两次检查数据是否己经正确到达目的地(例如,IP没有接收地址不是本主机的数据报,以及IP没有把应传给另一高层的数据报传给UDP )。UDP协议首部字段包括12字节的伪首部和8字节的UDP首部。UDP伪首部的作用不是用户数据的真正首部,只是为了
38、计算检验和时,临时和UDP用户数据连接在一起,得到一个过度的UDP数据报,用于就算检验和,伪首部即不向下传输,也不向上传输。UDP首部和伪首部结构如图2-3所示:32位源IP地址32位目的IP地址全08位协议16位UDP长度16位源端口号16位目的端口号16位UDP长度16位UDP检验和数据12字节伪首部UDP首部图2-3 UDP首部和伪首部结构UDP长度字段指的是UDP首部和UDP数据的字节总长度。该字段的最小值为8字节(没有纯数据的UDP数据报)。IP数据报长度指的是数据报全长,因此程序接收到装载UDP数据的IP数据报后计算UDP数据报长度时,只是用IP数据报的全长减去IP首部的长度(该值
39、在IP首部的首部长度字段中指定)。如果计算的UDP数据包长度与UDP首部长度字段的值不同,说明数据包存在错误,进行丢弃。校验和字段:在IP首部中的校验和字段仅仅是对IP首部的校验和,而UDP中的校验和字段校验对象包括对伪首部、UDP首部和用户数据。校验方法和IP首部校验相同,也是计算16bit的二进制反码和。UDP首部中和用户数据是现存的,而伪首部是为了计算校验和而设立的。增加伪首部是为确保报文能正确到达目的地,发送UDP数据报的主机在计算校验和时把目的机的IP地址和应有的数据都包括在内,在接收端UDP协议软件对校验和进行检验时,要用到携带UDP数据报文的IP数据报首部的IP地址。如果校验和正
40、确,说明UDP数据报到达了正确主机上的正确端口。2.3 本章小结 在本章中,主绍介绍了基于DSP的以太网系统的毕业设计所涉及的网络协议的基本知识和规范,对地址解析协议(ARP) 、国际协议(IP) 、互联网控制报文协议(ICMP) 、用户数据报协议(UDP)做了一些简单的分析,从而对毕业设计的网络部分做了探索。 总之,本章网络协议了解与应用对所设计课题的顺利完成打下了坚实的基础。第3章 系统硬件实现基于DSP和以太网数据采集系统的设计是为了适应市场的需要和发展的趋势而研究和设计的。在当今社会,在不需要使用PC机或高档单板机的情况下接入互联网已经成为了一种趋势,本设计很好的适应了市场的发展。而为
41、了实现设计的需要我们花费了大量的时间来搜集相关的资料,除了上章所提到网络协议外,我们这章介绍了基于DSP和以太网数据采集系统设计的硬件实现,重点介绍了主要的芯片C5509A芯片、AD转换模块、RTL8019AS芯片的相关知识以及硬件的具体实现。3.1 硬件介绍基于DSP和以太网数据采集系统设计的硬件实现主要和C5509A芯片、AD转换模块、RTL8019AS芯片的关系密切。这里对他们做一些简要介绍。1、TMS320C5509A TMS320C5509A是TI公司开发的TMS320C5000系列DSP芯片的其中一款,它具有低功耗、高性能的特点。与TMS320C54xx系列相比由了较大的提高,它采
42、用了变指令长度以提高代码效率,增强并行机制来以提高循环效率。现在TI公司的TMS320C55xx系列产品已经以其较低的功耗和优越的性能在通信、消费类电子等很多领域得到了广泛的应用。而我们这次毕业设计所选择的TMS320C5509A芯片除了具有TMS320C55xx系列芯片的共有有点外,它还具备了设计需要的一切条件,满足设计的现有要求和以后的升级需要,同时它性价比也较为合适1。DSP模块是整个电路的核心,数据的处理需要通过DSP处理,尤其是协议软件都是通过DSP运行的;其他模块的运行也需要DSP进行控制,从而使整个系统协调一致地工作2。DSP芯片采用哈佛体系结构,将指令和存储器存放在同一存储空间
43、之中,统一编址。程序存储器和数据存储器是两个相互独立的存储器,独立编址独立访问。与两个存储器相对应,系统中设立了程序总线和数据总线,从而是数据的吞吐率提高了一倍2。2、AD转换模块的介绍因为TMS320VC5509A芯片有模数转换模块,所以在这里就不在对专业的芯片进行介绍了,仅就TMS320VC5509A芯片模数转换模块做一些介绍,模数转换模块的特性有:()带内置采样和保持的10位模数转换模块ADC,最小转换时间为500ns,最大采样率为21.5kHz。()2 个模拟输入通道(AIN0AIN1)()采样和保持获取时间窗口有单独的预定标控制。模数转换工作过程如下:()模数转换模块接到启动转换信号
44、后,开始转换第一个通道的数据。()经过一个采样时间的延迟后,将采样结果放入转换结果寄存器保存。()转换结束,设置标志。()等待下一个启动信号。3、RTL8019AS芯片的简介RTL8019AS是高度集成以太网控制器,它能够简单的解答即插即用NE2000兼容适配器,这种适配器具有二重和功率下降特性。通过三电平控制RTL8019AS是已制的对网络设备GREEN PC理想的选择。全二重功能能够模拟传播和接在双绞线到全二重以太网交换机。这个特性不仅强带宽从10到20MBPS,而且免了由于以太网频道争夺特性导致的读出多路存取协议的问题。微软公司的即插用功能能减轻用户较差的营业收入而注意适配器资源,如IR
45、Q,输入输出,和存储器地址等等。然而,为了特殊的应用而得不到即插即用功能的兼容性,RTL8019AS支持JUMPER和JUMPERLESS选项。为了提供完全解决即插即用,RTL8019AS在集成10BASET收发器,BNC,和AUI 接口之间的自动检测功能。此外,8条IRQ总线和16条基本地址总线为大资源情况下提供了宽松的环境。RTL8019AS支持16k,32k,和64k字节BROM和闪存接口。它仍然提供页面模式功能,这种功能能支持在仅16k 字节内存系统空间下的4M字节的BROM。此外,BROM的无用命令被用来释放BROM内存空间。RTL8019AS用16k字节SRAM设计在单片芯片上,它
46、的设计不仅提供了更多友好的功能,而且节省了SRAM存储资源。RTL8019AS结构模式支持三种结构方式:JUMPER,RT JUMPERLESS,PNP。3.2 硬件设计3.2.1 硬件设计框图基于上节主要芯片器件的介绍,课题设计的基于DSP和以太网的数据采集系统硬件框图如图3-1所示。在硬件系统中,TMS320C5509指令执行速度有较高的速度,达到了设计的要求,而且还为以后的升级和功能扩展奠定了基础13。当然,用户也可以根据产品成本的要求来选择其它型号的DSP芯片,由于DSP大多为16位或32位芯片,即使在和51系列同等主频的情况下,数据处理速度也会快上很多倍,在很多准实时或实时数据处理和
47、传输场合,这点显得尤为重要,这也是我们采用DSP芯片替代MCU实现嵌入式以网络终端的主要原因之一。DSPRAM电 源以太网控制器以太网接口AD转换芯片图3-1 系统硬件框图3.2.2 硬件选择和实现基于DSP和以太网数据采集系统”方案中,芯片的选择是根据嵌入式以太网终端的特点来决定的。在选择协议芯片和控制芯片时,主要考虑到以下几个方面的要求:1、该终端是作为以太网的数据终端存在的,所以所选择的系统控制芯片必须要有足够高的运行速度,以保证其在10MBps的以太网上能够高效的传送数据。 2、因为在网络上传输的数据格式一般为16位,或者长度是16的倍数,所以在选择协议控制芯片和网络接口芯片时,应该选择可以以16位模式进行数据操作的芯片。 3、考虑到以太网数据传送的高速性,以及处理器数据吞吐量的有限性,所以要选择一片静态存储器来作为接收数据的缓存。 4、对于网络接口芯片来说,除了要有16