单片机的TCP IP数据传输 毕业论文.doc
《单片机的TCP IP数据传输 毕业论文.doc》由会员分享,可在线阅读,更多相关《单片机的TCP IP数据传输 毕业论文.doc(48页珍藏版)》请在三一文库上搜索。
1、摘要摘要 TCP/IP 协议是目前网络上应用最广泛的网络传输协议。如果单片机能够用此协议 传输数据,那就意味着单片机控制的电子产品也能进入互联网。这将带来一系列好处, 能进行远程控制,能够获得数据共享。对于实现基于 51 单片机的 TCP/IP 数据传输。 需要以单片机为载体,熟悉 TCP/IP 协议栈,熟悉 keilc 编程,熟悉电子线路知识。通 过对 TCP/IP 协议的研究和参考 uIP 协议栈,在单片机上对 uIP 进行了移植。最终实现 了计算机以 TCP/IP 协议的通信方式对单片机进行了监控。设计过程中主要是构架 TCP/IP 协议栈,编写网卡驱动程序,编写应用程序。此通信协议的特
2、点是代码和 RAM 使用量较小,可用在对通信速度要求不高的电子设备上。因为以单片机为载体,所以 此通信协议无需太强调对速度的提高,反而应该把重点放在减少多余的功能,来减少 对 RAM 的使用。设计过程并没让单片机接入互联网,控制单片机是通过上位机在局域 网内对其进行连接的。 关键词:关键词:嵌入式,单片机,TCP/IP 协议 1 Abstract TCP/IP is the most widely used protocol at the present network transport protocol. If single-chip can transmit data thought t
3、his protocol , that means those electronics controlled by single-chip can connect to the Internet . This will get a series of benefits, for remote controlling, for data sharing and so on. For realizing the TCP/IP data transmission on single-chip . Need to be familiar with single-chip, familiar with
4、TCP/IP protocol stack and Keilc programming, familiar with knowledge of electronic circuits. For researching the TCP/IP protocol and referencing the uIP protocol stack, than transplanted the uIP on single-chip. Finally completed the computer communicating to single-chip used by TCP/IP . This design
5、is mainly on finishing the TCP/IP protocol stack, writing the driver of net chip, writing application programs. This communication protocol is characteristic of less code and RAM usage, can using in the low speed requirements of the electronic. Because of taking single-chip as the carrier, this prot
6、ocol shouldnt be stressed on the speed of communication , instead it should be focused on reducing redundant functions for reducing the use of RAM. The design is not accessing the Internet, it is controlled by computer using the connection by LAN. Keywords: embedded system , single-chip , TCP/IP 2 目
7、录目录 1 绪论绪论1 2 TCP/IP 协议协议2 2.1 TCP/IP 简介2 2.2 TCP/IP 的分层体系结构.2 2.3 TCP/IP 协议族3 2.4 IP 地址、子掩码.5 3 UIP 介绍介绍6 3. 1 U I P 协议栈及其体系结构.6 3.2 协议栈接口.7 3.2.1设备驱动程序接口7 3.2.2应用程序接口9 3.3 UIP 协议栈提供的主要接口汇总 9 4 UIP 在单片机上移植在单片机上移植.10 4.1 了解UIP 的的主循环代码架构并改写MAIN函数.10 4.2 仿照 UIP-1.0UNIXTAPDEV.C 写网卡驱动程序.12 3.2.1以太网的帧结构1
8、2 4.2.2以太网的芯片 RTL8019 介绍13 4.3 设置配置文件UIPOPT.H/UIP-CONF.H17 5 基于基于 51 单片机的单片机的 TCP/IP 协议通信协议通信 18 5.1 硬件原理图设计.18 5.2 主要代码文件说明.19 5.3 计算机以 TCP/IP 协议通信方式监控单片机.20 6 6结论结论21 参考文献参考文献 22 致谢致谢22 附录附录23 3 1 绪论绪论 现在互联网开始向物联网发展,几乎所有电子产品都有入网的必要性。一旦电子 产品能入网,就能做到对远在千里之外的电子产品进行控制。这将解决在某些恶劣环 境下由人亲自操作电子设备而带来的危险。而单片
9、机自带的串行通信又因传输距离太 短而阻碍其应用范围。而且 TCP/IP 已成为当今计算机网络最成熟、应用最广的互联协 议。Internet 采用的就是 TCP/IP 协议,网络上各种各样的计算机上只要安装了 TCP/IP 协议,它们之间就能相互通信。所以只要在单片机上实现居于 TCP/IP 协议的通信,就 能让单片机控制的电子设备进入互联网,实现远程操作,数据共享。这里研究的 TCP/IP 协议栈可在各种 8 位 CPU 上运用。设计过程在保留协议的基本构架的基础上尽 可能进行精简,以提高传输速度。并且对数据缓存进行压缩,以减少对单片机 RAM 的 使用。在国外已有专门机构对在嵌入式设备上实现
10、 TCP/IP 进行研究。例如由瑞典计算 机科学学院(网络嵌入式系统小组)的 Adam Dunkels 开发的 uIP。uIP 协议栈是专门为嵌 入式系统而设计的协议栈,其源代码由 C 语言编写,并完全公开。还有 uC/IP(mew- kip)是为为控制其设计的一个 TCP/IP 协议栈。代码基于 BSD(很像所有其它栈)但对非 常小的覆盖范围功能有所减少。它当前为 Linux 和 DOS 目标而建。在国内 ZLIP 是专门 为 51 单片机设计的嵌入式 TCP/IP 协议栈,可以在有操作系统和没有操作系统情况下运 行,具有代码量适中、运行速度快、用户接口简单、兼容 BSD socket 接口
11、的特点。实 现了 TCP、UDP、ICMP、ARP 协议,ZLWeb 实现了 HTTP 协议。支持多 TCP 连接、多 UDP 连接同时运行,可以用于 51 单片机 TCP/IP 上网解决方案。但目前不管国内还是国 外在单片机 TCP/IP 协议的研究上,都存在以下的问题:数据传输速度慢,对 RAM 的使 用量都大于单片机自带 RAM。要在单片机上实现 TCP/IP 协议需要对计算机网络知识有 所了解。清楚理解 TCP/IP 协议在计算机网络的位置和作用。深入了解 TCP/IP 协议栈的 构成。对单片机结构功能熟悉,能驱动一般的以太网卡,掌握 C 编程。本文主要对 uIP 移植到单片机上进行研
12、究,难点是了解 TCP/IP 协议栈的构成和对网卡的驱动。在实现 计算机通过网络对单片机控制的电子设备进行监控的功能时还要对计算机进行相应的 配置。 4 2 TCP/IP 协议协议 2.12.1 TCP/IPTCP/IP 简介简介 TCP/IP(Transmission Control Protocol/Internet Protocol)的简写,中文译 名为传输控制协议/因特网互联协议,又叫网络通讯协议,这个协议是 Internet 最基 本的协议、Internet 国际互联网络的基础,简单地说,就是由网络层的 IP 协议和传输 层的 TCP 协议组成的。TCP/IP 定义了电子设备(比如计
13、算机)如何连入因特网,以及 数据如何在它们之间传输的标准。TCP/IP 是一个四层的分层体系结构。高层为传输控 制协议,它负责聚集信息或把文件拆分成更小的包。低层是网际协议,它处理每个包 的地址部分,使这些包正确的到达目的地。 TCP/IP 已成为当今计算机网络最成熟、应用最广的互联协议。Internet 采用的就是 TCP/IP 协议,网络上各种各样的计算机上只要安装了 TCP /IP 协议,它们之间就能相互 通信。运行 TCP/IP 协议的网络是一种采用包(分组)交换网络。TCP/IP 协议是由 100 多个协议组成的协议集,TCP 和 IP 是其中两个最重要的协议。TCP 和 IP 两个
14、协议分别 属于传输层和网络层,在 Internet 中起着不同的作用。 2.22.2 TCP/IPTCP/IP 的分层体系结的分层体系结构构 TCP/IP 是一个分层体系结构。 最高层:应用层为协议的最高层,在该层应用程序与协议相配合,发送或接 收数据。TCP/IP 协议集在应用层上有远程登录协议(Telnet) 、文件传输协议(FTP) 、 电子邮箱协议(SMTP) 、域名系统(DNS)等,它们构成了 TCP/IP 的基本应用程序。 高层:即传输层,其主要协议有 UDP(user data protocol)和传输控制协议 (TCP,Transmission Control Protocol
15、) 。TCP 协议是在 IP 协议提供的服务基础上, 支持面向连接的、可靠地传输服务,是负责聚集信息或把文件拆分成更小的包。这些 包通过网络传送到接收端的 TCP 层,接收端的 TCP 层把包还原为原始文件;UDP 协议时 直接利用 IP 协议进行 UDP 数据报的传输,因此 UDP 协议提供的是无连接、不保证数据 5 完整到达目的地的传输服务。由于 UDP 不使用很繁琐的流控制或错误恢复机制,只充 当数据报的发送者和接收者,因此,UDP 比 TCP 简单得多。 低层:是网际协议(IP,Internet Protocol),它处理每个包的地址部分,使 这些包正确的到达目的地。网络上的网关计算机
16、根据信息的地址来进行路由选择。即 使来自同一文件的分包路由也有可能不同,但最后会在目的地汇合。 TCP/IP 使用客户 端/服务器模式进行通信。TCP/IP 通信是点对点的,意思是通信是网络中的一台主机与 另一台主机之间的。TCP/IP 与上层应用程序之间可以说是“没有国籍的” ,因为每个客 户请求都被看做是与上一个请求无关的。正是它们之间的“无国籍的”释放了网络路 径,才使每个人都可以连续不断的使用网络。 许多用户熟悉使用 TCP/IP 协议的高层 应用协议。包括万维网(www,world wide web)的超文本传输协议(HTTP) ,文件传 输协议(FTP) ,远程网络访问协议(Tel
17、net)和简单邮件传输协议(SMTP) 。这些协议通 常和 TCP/IP 协议打包在一起。 使用模拟电话调制解调器连接网络的个人电脑通常是 使用串行线路接口协议(SLIP)和点对点协议(P2P) 。这些协议压缩 IP 包后通过拨号 电话线发送到对方的调制解调器中。 与 TCP/IP 协议相关的协议还包括用户数据报协 议(UDP) ,它代替 TCP/IP 协议来达到特殊的目的。其他协议是网络主机用来交换路由 信息的,包括 Internet 控制信息协议(ICMP) ,内部网关协议(IGP) ,外部网关协议 (EGP) ,边界网关协议(BGP) 。 2.32.3 TCP/IPTCP/IP 协议协议
18、族族 之所以说 TCP/IP 是一个协议族,是因为 TCP/IP 协议包括 TCP、IP、UDP、ICMP、RIP、TELNET、FTP、SMTP、ARP、TFTP 等许多协议,这些协议一 起称为 TCP/IP 协议。以下是协议族中一些常用协议英文名称和用途: TCP(Transport Control Protocol)传输控制协议 IP(Internet Protocol)因特网协议 UDP(User Datagram Protocol)用户数据报协议 ICMP(Internet Control Message Protocol)互联网控制信息协议 SMTP(Simple Mail Tra
19、nsfer Protocol)简单邮件传输协议 SNMP(Simple Network manage Protocol)简单网络管理协议 6 FTP(File Transfer Protocol)文件传输协议 ARP(Address Resolution Protocol)地址解析协议 TCP/IP 协议簇分为四层,IP 位于协议簇的第二层(对应 OSI 的第三层),TCP 位于协议簇的第三层(对应 OSI 的第四层)。 TCP 和 IP 是 TCP/IP 协议簇的中间两层,是整个协议簇的核心,起到了承上启 下的作用。 1.IP 网际协议 IP 是 TCP/IP 的心脏,也是网络层中最重要的协
20、议。 IP 层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包, 并把该数据包发送到更高层-TCP 或 UDP 层;相反,IP 层也把从 TCP 或 UDP 层接收来 的数据包传送到更低层。IP 数据包是不可靠的,因为 IP 并没有做任何事情来确认数据 包是按顺序发送的或者没有被破坏。IP 数据包中含有发送它的主机的地址(源地址) 和接收它的主机的地址(目的地址) 。 高层的 TCP 和 UDP 服务在接收数据包时,通常假设包中的源地址是有效的。 也可以这样说,IP 地址形成了许多服务的认证基础,这些服务相信数据包是从一个有 效的主机发送来的。IP 确认包含一个选项,叫作 IP s
21、ource routing,可以用来指定 一条源地址和目的地址之间的直接路径。对于一些 TCP 和 UDP 的服务来说,使用了该 选项的 IP 包好像是从路径上的最后一个系统传递过来的,而不是来自于它的真实地点。 这个选项是为了测试而存在的,说明了它可以被用来欺骗系统来进行平常是被禁止的 连接。那么,许多依靠 IP 源地址做确认的服务将产生问题并且会被非法入侵。 2.TCP 如果 IP 数据包中有已经封好的 TCP 数据包,那么 IP 将把它们向上传送 到 TCP 层。TCP 将包排序并进行错误检查,同时实现虚电路间的连接。TCP 数据包中包 括序号和确认,所以未按照顺序收到的包可以被排序,而
22、损坏的包可以被重传。 TCP 将它的信息送到更高层的应用程序,例如 Telnet 的服务程序和客户程序。 应用程序轮流将信息送回 TCP 层,TCP 层便将它们向下传送到 IP 层,设备驱动程序和 物理介质,最后到接收方。 面向连接的服务(例如 Telnet、FTP、rlogin、X Windows 和 SMTP)需要高度 的可靠性,所以它们使用了 TCP。DNS 在某些情况下使用 TCP(发送和接收域名数据库) , 7 但使用 UDP 传送有关单个主机的信息。 3.UDP UDP 与 TCP 位于同一层,但它不管数据包的顺序、错误或重发。因此,UDP 不 被应用于那些使用虚电路的面向连接的服
23、务,UDP 主要用于那些面向查询 -应答的服 务,例如 NFS。相对于 FTP 或 Telnet,这些服务需要交换的信息量较小。使用 UDP 的 服务包括 NTP(网络时间协议)和 DNS(DNS 也使用 TCP) 。 欺骗 UDP 包比欺骗 TCP 包更容易,因为 UDP 没有建立初始化连接(也可以称 为握手) (因为在两个系统间没有虚电路) ,也就是说,与 UDP 相关的服务面临着更大 的危险。 4.ICMP ICMP 与 IP 位于同一层,它被用来传送 IP 的的控制信息。它主要是用来提供 有关通向目的地址的路径信息。ICMP 的Redirect信息通知主机通向其他系统的更 准确的路径,
24、而Unreachable信息则指出路径有问题。另外,如果路径不可用了, ICMP 可以使 TCP 连接体面地终止。 PING 是最常用的基于 ICMP 的服务。 5. TCP 和 UDP 的端口结构 TCP 和 UDP 服务通常有一个客户/服务器的关系,例如,一个 Telnet 服务进程 开始在系统上处于空闲状态,等待着连接。用户使用 Telnet 客户程序与服务进程建立 一个连接。客户程序向服务进程写入信息,服务进程读出信息并发出响应,客户程序 读出响应并向用户报告。因而,这个连接是双工的,可以用来进行读写。 两个系统间的多重 Telnet 连接是如何相互确认并协调一致呢?TCP 或 UDP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机的TCP IP数据传输 毕业论文 单片机 TCP IP 数据传输
链接地址:https://www.31doc.com/p-3915873.html