基于TCPIP的网卡电路及驱动的设计.doc

基于TCPIP的网卡电路及驱动的设计.doc

ID:58863425

大小:73.00 KB

页数:3页

时间:2020-09-22

基于TCPIP的网卡电路及驱动的设计.doc_第1页
基于TCPIP的网卡电路及驱动的设计.doc_第2页
基于TCPIP的网卡电路及驱动的设计.doc_第3页
资源描述:

《基于TCPIP的网卡电路及驱动的设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于TCP/IP的网卡电路及驱动的设计发布日期:2008-06-17 作者:段俊洁,金光,李润知,王宗敏来源:微计算机信息摘要:在嵌入式系统中,可以利用TCP/IP协议,成功的实现双机网络互连,既提高了数据传输的速度,又保证了数据传输的正确性,同时也扩展了数据传输的有效半径。该文介绍TCP/IP通信模块的硬件构成、功能和以太网接口芯片的驱动方式,完成了以太网硬件电路和驱动的设计。关键词:TCP/IP协议;电路;驱动1 前言随着Internet网络软、硬件的快速发展,互联网用户正以指数级增长。而各种家电设备、PDA、仪器仪表、工业生产中数据的采集与控制等设备也正在逐渐走向网络化,以便共

2、享互联网络中庞大的资源。TCP/IP协议已经成为计算机网络互连事实上的标准,每时每刻保证了数据的准确传输。在嵌入式系统中,可以利用TCP/IP协议中的ARP、IP、ICMP、UDP和TCP,成功的实现双机的网络互连[3]。因此,如何在价格低廉、资源有限的嵌入式系统中实现网络通信功能,已经成为嵌入式系统开发人员面临的重要课题。2 网卡硬件电路设计本文所选用的LPC2292嵌入式微处理器是以ARM7TDMI为核心的。ARM7系列微处理器为低功耗的32位RISC处理器,最适合用于对价位和功耗要求较高的消费类应用。系统的ARM微处理器完成主要的控制工作,而网络接口控制器(NIC)则是网络协议

3、实现的物理媒介及系统与外部通信媒介之间的接口。系统要实现数据传输,这两部分是关键,其他部分则协同这两部分共同完成数据传输。在本文中,ARM微控制器我们选用LPC2292,网络接口控制器我们选用台RTL8019AS。网卡电路的硬件组成如图1所示。                          图1网卡电路的硬件组成在本课题中,LPC2292和RTL8019AS之间的数据传输采用16位模式,使用了D15~D0共16根数据线,读写以字(两个字节)为单位,这样可使系统有更高的数据传输速率,从而提高了系统效率。CPU使用I/O方式来与RTL8019AS交换数据,如上图所示,LPC2292的

4、A5~A1分别与RTL8019AS的SA4~SA0相连,主处理器通过I/O地址对应的寄存器来完成对RTL8019AS的操作。考虑到目前市面上广泛使用的RJ45连接器HRA,已经包括了隔离变压器,而且价格也很低,直接利用RJ45连接器,可以避免这部分接口电路的硬件电路错误,保证系统正常工作,而且可降低成本。在本电路中,由于网络控制器RTL8019AS没有片选输入端,所以我们使用四总线缓冲器74HC125来控制RTL8019AS上的IORB(读)、IOWB(写),SA5和SA6四个管脚,LPC2292的NIC片选信号与74HC125的门控端G相连。3 驱动程序软件设计系统只有硬件还不能工

5、作,必须在硬件和软件协同配合下才能工作[1]。所以,软件设计也是系统开发过程中的重要组成部分。软件设计将从其要实现的功能出发来实现。下面我们先了解一下RTL8019AS内部的物理细节,然后分析如何实现功能。3.1 RTL8019AS存储器及I/O映射RTL8019AS的地址范围为0x0000~0x7fff。其中,0x0000~0x00ff是RTL8019AS上EEPROM9346的映像存储。另外,在RTL8019AS中,内部与NE2000兼容的寄存器也有I/O映射地址,其范围为0x0000~0x001f,具体每个寄存器的地址可参考RTL8019AS内部寄存器表。LPC2292对这些寄

6、存器的操作是将它们作为微处理器的I/O端口设备。3.2 RTL8019AS内部存储缓冲区管理RTL8019AS内部有一个容量为8K×2Byte的内部数据缓冲RAM,用来缓冲存储发送和接收的数据分组。RTL8019AS内部的RAM是以256字节为一页,按页存储的结构,RAM地址的高8位又叫页码[2]。把前面的12页用来存放发送的数据包,后面的52页用来存放接收的数据包。为了有效利用缓冲区,RTL8019AS将接收缓冲RAM构成环形缓冲结构。52个这样的缓冲区通过指针控制链接成一条逻辑上的缓冲环。为便于缓冲环读/写操作。还需要两个指针,它们是当前页指针CURR,确定下一包放在何处,起着缓

7、冲环写页指针的作用;边界指针BNRY,指向未经微处理器取走处理的最早到达数据包的起始页,起着缓冲环读页指针的作用。3.3 网卡内部的寄存器RTL8019AS内部的与NE2000兼容的寄存器均为8位寄存器,被映射到4页上,每页有16个寄存器。当前映射页由命令寄存器CR的PS0和PS1位决定,页内寄存器选择由地址线决定。第0页寄存器用于收发过程,第1页寄存器则主要用于RTL8019AS的初始化,第2页寄存器用于环路诊断,第3页寄存器用于某些软件参数设置。3.4

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。