下载后可任意编辑TCP/IP 协议栈在 MSP430 单片机上的实现 TCP/IP 协议栈在 MSP430 单片机上的实现引言 随着信息技术的不断进展,以及人们对日常生活舒适度、方便度要求的提高,信息家电、智能仪表等产品越来越频繁的出现在我们的生活当中;人们也越来越热衷于把家电、仪表等设备连接到 Internet 中,从而可以方便、及时的对它们进行远程察看、远程控制。把这些设备接入 Internet ,就需要考虑TCP/IP 网络协议的实现。 MSP430 系列单片机是由 TI 公司开发的 16 位单片机,其突出特点是超低功耗,非常适合于各种功率要求比较低的场合,该系列已经应用在智能仪表、医疗设备和保安系统等方面。本文给出了在 MSP430F149 硬件平台上移植TCP/IP 协议的方案,实现了终端设备到 Internet 的接入。 嵌入式 TCP/IP 协议栈 uIP TCP/IP 是一个协议族,它是一个四层网络协议模型,分别包含应用层、传输层、网络层、网络接口层。应用层定义清楚的会话过程,平常所用的协议如HTTP、FTP、SMTP、Telnet 等都属于应用层。传输层提供端对端的通信,该层协议有传输控制协议(TCP) 和用户数据协议(UDP) 。网络层负责数据打包和逻辑寻址,这一层 的协议有 IP、ICMP、ARP 等协议。网络接口层负责在源和目的节点间的线路上进行无差错的传送数据,并且具有流量控制等功能。 在嵌入式系统中,应用 TCP/IP 协议是主要为了完成数据采集和数据传输,不需要实现网页浏览、文件传输等功能,同时,MSP430 芯片也没有足够的空间资源实现所有的 TCP/IP 协议,所以在本文的方案中,采纳了 UIP TCP/IP 栈。它是瑞士计算机科学院的 Adam Dunkels 等开发的一种免费公开源代码的小型 TCP/IP 协议栈,它专门为 8 位和 16 位 MCU 编写。uIP 代码的大小和 RAM 的需求比其它一般的 TCP/IP 栈要小得多。 UIP 实现了 TCP/IP 协议组的四个基本协议:ARP(地址解析协议) ,IP(网际协议) ,ICMP(因特网信息控制协议) 和 TCP(传输控制协议) 。链路层协议例如 PPP 等可以由 UIP 下面的设备驱动实现;应用层协议例如HTTP、FTP、SMTP、Telnet 等可以由 uIP 之上的应用程序实现。 ARP 协议 ARP 协议把目标 IP 地址解析为相应的以太网 MAC 地址。当一个 IP 包要在以太网上发出时,先查询 ARP 表,找出包要发送去的 MAC 地址。假如在表里找不到对应的 IP 地址,就会广播 ARP 请求包,以猎取给出 IP 地址所...