基于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 Company s DSP of TMS320VC5509 and present the scheme s 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 PC s 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 附录 1 51 附录 2 53 西南科技大学本科生毕业论文 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 章 系统硬件实现 基于 DSP 和以太网数据采集系统的设计是为了适应市场的需要和发展的趋势 而研究和设计的 在当今社会 在不需要使用 PC 机或高档单板机的情况下接入 互联网已经成为了一种趋势 本设计很好的适应了市场的发展 而为了实现设计 的需要我们花费了大量的时间来搜集相关的资料 除了上章所提到网络协议外 我们这章介绍了基于 DSP 和以太网数据采集系统设计的硬件实现 重点介绍了主 要的芯片 C5509A 芯片 AD 转换模块 RTL8019AS 芯片的相关知识以及硬件的 具体实现 3 1 硬件介绍 基于 DSP 和以太网数据采集系统设计的硬件实现主要和 C5509A 芯片 AD 转换模块 RTL8019AS 芯片的关系密切 这里对他们做一些简要介绍 1 TMS320C5509A TMS320C5509A 是 TI 公司开发的 TMS320C5000 系列 DSP 芯片的其中一款 它具有低功耗 高性能的特点 与 TMS320C54xx 系列相 比由了较大的提高 它采用了变指令长度以提高代码效率 增强并行机制来以提 高循环效率 现在 TI 公司的 TMS320C55xx 系列产品已经以其较低的功耗和优越 的性能在通信 消费类电子等很多领域得到了广泛的应用 而我们这次毕业设计 所选择的 TMS320C5509A 芯片除了具有 TMS320C55xx 系列芯片的共有有点外 西南科技大学本科生毕业论文 12 它还具备了设计需要的一切条件 满足设计的现有要求和以后的升级需要 同时 它性价比也较为合适 1 DSP 模块是整个电路的核心 数据的处理需要通过 DSP 处理 尤其是协议软 件都是通过 DSP 运行的 其他模块的运行也需要 DSP 进行控制 从而使整个系 统协调一致地工作 2 DSP 芯片采用哈佛体系结构 将指令和存储器存放在同一存储空间之中 统 一编址 程序存储器和数据存储器是两个相互独立的存储器 独立编址独立访问 与两个存储器相对应 系统中设立了程序总线和数据总线 从而是数据的吞吐率 提高了一倍 2 2 AD转换模块的介绍 因为TMS320VC5509A芯片有模数转换模块 所以在这里就不在对专业的芯片 进行介绍了 仅就TMS320VC5509A芯片模数转换模块做一些介绍 模数转换模 块的特性有 带内置采样和保持的10位模数转换模块ADC 最小转换时间为500ns 最 大采样率为21 5kHz 2 个模拟输入通道 AIN0 AIN1 采样和保持获取时间窗口有单独的预定标控制 模数转换工作过程如下 模数转换模块接到启动转换信号后 开始转换第一个通道的数据 经过一个采样时间的延迟后 将采样结果放入转换结果寄存器保存 转换结束 设置标志 等待下一个启动信号 3 RTL8019AS 芯片的简介 RTL8019AS是高度集成以太网控制器 它能够简单的解答即插即用NE2000 兼容适配器 这种适配器具有二重和功率下降特性 通过三电平控制RTL8019AS 是已制的对网络设备GREEN PC理想的选择 全二重功能能够模拟传播和接在双 绞线到全二重以太网交换机 这个特性不仅强带宽从10到20MBPS 而且免了由 于以太网频道争夺特性导致的读出多路存取协议的问题 微软公司的即插用功能 能减轻用户较差的营业收入而注意适配器资源 如IRQ 输入输出 和存储器地址 等等 然而 为了特殊的应用而得不到即插即用功能的兼容性 RTL8019AS支持 西南科技大学本科生毕业论文 13 JUMPER和JUMPERLESS选项 为了提供完全解决即插即用 RTL8019AS在集成 10BASET收发器 BNC 和AUI 接口之间的自动检测功能 此外 8条IRQ总线和 16条基本地址总线为大资源情况下提供了宽松的环境 RTL8019AS支持 16k 32k 和64k字节BROM和闪存接口 它仍然提供页面模式功能 这种功能 能支持在仅16k 字节内存系统空间下的4M字节的BROM 此外 BROM的无用命 令被用来释放BROM内存空间 RTL8019AS用16k字节SRAM设计在单片芯片上 它的设计不仅提供了更多友好的功能 而且节省了SRAM存储资源 RTL8019AS 结构模式支持三种结构方式 JUMPER RT JUMPERLESS PNP 3 2 硬件设计 3 2 1 硬件设计框图 基于上节主要芯片器件的介绍 课题设计的基于DSP和以太网的数据采集系 统硬件框图如图3 1所示 在硬件系统中 TMS320C5509指令执行速度有较高的 速度 达到了设计的要求 而且还为以后的升级和功能扩展奠定了基础 13 当然 用户也可以根据产品成本的要求来选择其它型号的DSP芯片 由于DSP大多为16 位或32位芯片 即使在和51系列同等主频的情况下 数据处理速度也会快上很多 倍 在很多准实时或实时数据处理和传输场合 这点显得尤为重要 这也是我们 采用DSP芯片替代MCU实现嵌入式以网络终端的主要原因之一 图图3 1 系统硬件框图系统硬件框图 3 2 2 硬件选择和实现 基于DSP和以太网数据采集系统 方案中 芯片的选择是根据嵌入式以太网 终端的特点来决定的 在选择协议芯片和控制芯片时 主要考虑到以下几个方面 的要求 1 该终端是作为以太网的数据终端存在的 所以所选择的系统控制芯片必 须要有足够高的运行速度 以保证其在10MBps的以太网上能够高效的传送数据 DSP RAM 2 E PROM 电 源 以太网控制器 以太网接口 AD 转换 芯片 西南科技大学本科生毕业论文 14 2 因为在网络上传输的数据格式一般为16位 或者长度是16的倍数 所以 在选择协议控制芯片和网络接口芯片时 应该选择可以以16位模式进行数据操作 的芯片 3 考虑到以太网数据传送的高速性 以及处理器数据吞吐量的有限性 所 以要选择一片静态存储器来作为接收数据的缓存 4 对于网络接口芯片来说 除了要有16位的工作模式以外 最好是符合 NE2000网络适配器兼容格式的芯片 这样在编写应用程序以及存储器的分配和使 用上具有一定的通用性 另外网络适配器接口芯片上应该具有片上RAM 这样在 数据量大的时候不会在网络接口处产生数据丢失现象 当然 基于DSP和以太网数据采集系统 方案所选用硬件不仅要满足上述要 求 还需要结合系统的高可靠性 模块的配合程度以及软件平台的选择等方面综 合考虑后 进行选择 基于DSP和以太网数据采集系统 方案选择了由德州仪器公司生产的DSP TMS320C5509A作为系统主控制单元及实现协议处理模块的功能 选择C5509A作 为控制芯片 主要基于以下几点考虑 首先 C5509A是德州仪器公司设计的一种功耗最低 综合性能较高的DSP C5000系列芯片的一款 其次 它具有优化的CPU结构 先进的DSP结构能够很好的满足设计的各种 需要 特别是低能耗的需要 因此选择C5509A芯片不仅能够满足设计的要求 而 且能够在这个设计的基础上扩展功能 有利于产品的优化升级 从而实现产品的 长足发展 第三 C5509A的有较高的频率 完全可以满足控制 协议封装和读取网络接 口芯片的速度要求 在 基于DSP和以太网数据采集系统 方案中 C5509A芯片主要完成两部分的 功能 一部分是系统控制 负责存取SRAM 操作网络适配器 另一部分是作为 协议封装控制 负责将数据流进行分组 依次用各种协议进行封装 将分组数据 以DMA的方式写入网络适配器 以及反方向将分组数据还原成为连续的数据码流 由前面硬件芯片介绍可知我们选择的网络接口芯片是台湾Realtek公司生产的 西南科技大学本科生毕业论文 15 RTL8019AS以太网控制器 该芯片支持IEEE802 3 支持8位或16位数据总线 内置 16KB的SRAM 用于收发缓冲 7 全双工 收发同时达到10Mbps 支 10BaseS 10Base2 10BaseT 并能自动检测所连接的介质 RTL8019AS作为网络 适配器 通过RJ 45接口与以太网相连 用来实现网络的物理层协议 主要包括与 网络电缆的物理连接 介质访问控制 如CSMAICD 数据帧的拆装 帧的发送 与接收 错误校验 数据信号的编 解码 如曼彻斯特码和NRZ码的转换等 数据 的串 并行转换等功能 至于E2PROM主要用来存存储网络接口芯片的配置信息 WEB页面 数据文件 文档等内容 因此没有特殊要求 可由用户自由选择 而且我们对AD转换芯片的介绍和设计 可以很好的实现设计进一步扩展所需要 的良好基础 在设计的过程中我们为了实现各种模拟信号的采集 处理和网络传 输 所以对AD转换芯片及应用作了介绍 有利于功能的延展 从上面的介绍我们可以看到 该方案中DSP为核心芯片 通过它控制AD转换 芯片和以太网控制芯片RTL8019AS 进而完成接入网络的工作和数据采集处理的 扩展功能 该技术方案最大的特点在于 用简洁硬件构架应用平台 使原本硬件成 本所需的支出可用于相对复杂的软件开发上 而且该方案的I 0接口可以自由扩展 和支配 3 3 本章小结 在本章中 主绍介绍了基于 DSP 和以太网数据采集系统毕业设计的一些硬件 环境和实现 为设计的顺利完成奠定了基础 特别是对 DSP 的 C5509A 和 RTL8019AS 两个芯片做了简要的说明 对硬件的实现和 AD 转换也做了粗略的描 述 这些都有利于我们深入的理解设计的要点和需要注意的方面 同时我们也为 接下来的程序设计准备了非常好的条件 总之 通过这一章的研究和学习 我们软件设计打下了一个坚实的基础 也 为 DSP 端的程序设计开了一个好头 是我们毕业设计所必不可少的环节 西南科技大学本科生毕业论文 16 第 4 章 系统软件实现 本章主要介绍RTL8019AS的编程和DSP端软件编写 以及基于VB的PC机端 与DSP的网络通信程序 本章的实现是本论文的重点和难点 也是整个设计的关 键 4 1 系统软件开发环境 CCS 学习和开发DSP应用系统的C C 语言程序设计必备软件是TI公司Code Composer Studio 简称CCS 以及支撑它的计算机操作系统 例如Windows XP Windows2000等 因此我们利用DSP进行毕业设计也离不开CCS软件的大力支持 CCS是TI公司开发的专门用于TMS320系列DSP软件设计的集成开发环境 CCS提供了图形化的编辑 编译 汇编 连接和调试环境以及友好的用户界面 通过安装不同的编译库 CCS可以用于支持不同系列的DSP 此外 CCS还集成 了ANSIC的全部编译支持和大部分C 编译支持 需要注意的是 面向DSP C C 程序设计更注重效率 所以 不一定非要使用C 来展示编程能力 在需 要的情况下可以采用汇编来完成设计的需要 这样能够最大程度的应用DSP的资 源 优化程序设计 CCS的功能十分强大 它集成了代码的编辑 编译 链接和 西南科技大学本科生毕业论文 17 调试等诸多功能 而且支持C C 和汇编的混合编程 开放式的结构允许用户扩 展自身的模块 它的出现大大简化了DSP的开发工作 14 CCS是代码产生工具和代码调试工具的简单集成 已提供了实时分析和数据 可视化的功能 CCS的实时分析和数据可视化功能是建立在DSP BIOS和RTDX技 术基础上的 实时分析和数据可视化增强了实时 嵌入式信号处理的开发过程 提供了配置 构造 跟踪和分析程序的工具 把传统的DSP调试技术向前提高了 一大步 大大降低了DSP系统的开发难度 因此 程序开发人员可以集中开发系 统的应用性 可以在不中断程序运行的情况下查看算法的对错 实现对硬件的实 时跟踪 大大缩短了开发周期 设计者的C C 语言源程序在CCS集成环境下生成一个可执行的目标文件或 可下载的目标文件 最终可将这个目标文件下载到系统的FLASH芯片之中 使得 DSP系统可以脱离仿真环境独立工作 14 4 2 VB 的通信程序设计 4 2 1 VB 的 Winsock 控件简介 现在 计算机网络已经渗透到各个领域 其中最为突出的便是以 TCP IP 协议 为核心的 INTERNET 网络发展最为迅速 因此计算机应用程序也由传统的单机处 理模式转向以多机通信为主的网络应用开发 Microsoft 面向对象的程序开发工具 Visual Basic 提供了基于 Windows sockets 网络编程接口 Winsock 控件 利用该控 件程序员可以更方便 快

温馨提示

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

评论

0/150

提交评论