新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式TCP/IP协议栈在单片机上的实现

嵌入式TCP/IP协议栈在单片机上的实现

作者:时间:2010-07-23来源:网络收藏
随着设备与网络的日益结合,在机系统中引入栈,以支持机接入网络,成为领域的一个重要方向。在此对基于SST89E516RD机的栈的方法给予讨论。选用SST89E516RD单片机了在线仿真和编程的功能,大大节约了开发成本。采用VB 6.0语言与Window 98/2000/XP等为软件开发平台,对系统进行了测试。经过几个月的软硬件测试表明:系统设计合理、稳定可靠,已基本了最初的设计目标。对其他类似系统移植该项技术奠定了基础,有很好的参考价值。

1 系统硬件实现
整个系统以SST89E516RD单片机为核心,通过RTL8019AS以太网控制芯片实现远程通信。串口完成网卡参数的修改、在线仿真,在系统中还使用X5045作为外部扩展的E2PROM,用来存储地址、物理地址以及网卡的其他配置信息,同时X5045还具有电压监控、看门狗定时器、上电复位三种功能,使用X5045监控系统的运行过程,当系统不稳定时可以进行有效地复位。图1为系统硬件结构图。

本文引用地址:http://www.eepw.com.cn/article/151719.htm



2 系统软件实现
系统软件主要包括客户端和服务器端软件的设计,主要有以下几部分内容:
(1)RTL8019AS的初始化和驱动程序的设计;
(2)数据帧的发送和接收子程序;
(3)/IP栈程序的设计;
(4)客户端和服务器端程序的设计;
(5)X5045看门狗和E2PROM程序的设计。
系统的主程序流程图如图2所示。


由图2可知,系统首先完成对单片机定时器、串口、网卡芯片和以太网等部分的初始化,然后进入以太网处理部分的主程序,通过定时器中断进行网口数据的超时出错处理,并完成TCP定时器保活和ARP表生存时间的更新。
2.1 系统初始化
所谓初始化和驱动程序是指实模式下一组硬件芯片的驱动子程序,它们屏蔽了底层硬件处理细节,同时向上层软件提供与硬件无关的接口。主要包括定时器初始化,初始化PING表、ARP表,初始化TCP,RTL8019AS的初始化等。RTL8019AS的初始化主要包括网卡的复位和网卡寄存器的初始化。RTL8019AS的初始化主要包括网卡的复位和网卡寄存器的初始化。RTL8019AS内部寄存器有4页,与NE2000兼容的有3页,第4页不用。页选择由CR寄存器的PSl,PS0位确定。在零页寄存器中可以设置接收、发送状态配置以及发送缓存区的起始页与接收缓存区起止页地址等;在1页寄存器中可以设置以太网接口的MAC地址和组播地址。对网卡的初始化就是对相关寄存器初始化,这些寄存器包括CR,RCR,TC-R,PSTART,PSTOP,BNRY,TPSR,ISR,DCR,IMR,CURR,PAGO~PAG5,MAR0~MAR5等。初始化过程如下:

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

tcp/ip相关文章:tcp/ip是什么



上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭