TCP/IP协议栈在MSP430单片机上的实现

技术分类: 嵌入式系统  微处理器与DSP  | 2007-10-26
来源:电子设计信息网 | 作者:徐功文 陈 曙 王增廷

  软件的实现

  软件部分包括以太驱动、TCP/IP 协议实现等部分。在CS8900A 驱动程序中,以太模块cs8900. c 中包含有很多C 函数,如Init8900( ) 、Write8900( ) 、Read8900( ) 等,完成初始化控制器、读写数据等功能;在头文件cs8900.h 中,配置网络接口的MAC 地址,用户自己设置,注意不要与现有的MAC地址冲突。

  TCP/IP 协议栈完成大部分网络功能,一方面它利用以太模块的函数收发数据,另一方面为上层应用程序提供简单易用的API 接口。uip.c 完成ip 、tcp 协议以及基本的ICMP 功能,它还定义了两个前面提及过的重要参数: uip_buf 和uip_len ,uip_buf存储需要收发的数据, uip_len 存储收发数据的长度; uip -arp.c 完成地址解析;uip_arch.c 完成检验和uIP的设置包含在一个叫uipopt.h 的头文件里,以宏的形式定义,便于修改。用户根据自己的需要,设置本地的物理地址、IP 地址、网关地址、数据缓冲区尺寸、ARP表大小等选项。在正确配置UIP后,用户根据自己的应用需要,编写主程序。主程序流程如图(图3)。

主程序流程如图

图3  主程序流程如图

  初始化包括定时器初始化、网卡芯片初始化、UIP 协议栈初始化、用户应用程序初始化等等,在主程序初始化完毕

后,不停查询,如果有新的数据包到来,则由uip_input ( ) 处理数据,如果没有,则调用uip_periodic ( ) 处理定时事件。为了将用户的应用程序挂接到UIP 中,可以将UIP_APPCALL( ) 定义成实际的应用程序函数名,这样每当某个UIP 事件发生时,内核就会调用该应用程序进行处理。

  结束语

  本文所设计的方案已经成功地应用在远程自动抄表系统中,UIP 协议栈在MSP430F149 上运行良好,达到预期效果。同时,该方案成本低、运行稳定可靠、传输速度快、开发周期短,适用于现有的局域网和Internet ,可以实现对信息家电类产品的远程访问控制,特别是数据采集、传输等远程监控,具有广泛的应用前景。

0
0
(请您对文章做出评价)
1】【2】【3
加载中

对文章的评论

更多评论

剩余字数:  

相关在线研讨会

我要参加

电路设计中可预测和不可预测问题的调试技术

时间:2008-06-02 10:00:00-12:00:00
简介:在嵌入式系统设计中,经常会出现一些可预测和不可预测的问题或者低概率事件信号。快速有效地发现这些问题需要不同的技术。8月15日…

浏览该文章的用户还看过...

  • 文 章

  • 论 坛

  • 博 客

  • 小 组

设计资源与分销

  • 博客推荐

  • 论坛推荐

  • 在线研讨会