基于RTL8019AS的TCP/IP通信协议以太网的实现*

2011-11-11 08:43陈晓宇
河南工学院学报 2011年5期
关键词:全双工网线PC机

郭 静,陈晓宇

(河南机电高等专科学校,河南 新乡 453000)

RTL8019AS是我国台湾Realtek公司生产的一种高集成度的以太网控制器,适用于即插即用NE2000可兼容适配器,并具有全双工和省电特点。三种省电控制特点使得RTL8019AS成为绿色PC系统网络器件的理想选择。全双工功能使得RTL8019AS可通过双绞线与全双工以太网网关连接,进行同步收发。虽然ISO推出了网络协议模型,并且实际应用中出现了多种网络及协议,目前应用最广泛的应该是TCP/IP协议。

1 以太网的构成

1.1 传输介质

所谓的传输介质,就是用什么办法将各个网络节点连接起来。我们生活中最常见的就是网线,一般是灰色的塑料皮,里面包有8根,4对不同颜色的导线。两端接口处,使用RJ45接头(也叫水晶头)连接起来。通常网线有两种类型:直通网线和交叉网线。所谓的直通网线就是RJ45两端的导线排列方式一致,实际使用时,一端接在PC机的网卡上,另一端接在HUB或者路由器上[1]。

1.2 物理层通信标准

在网线上进行传输的是数字信号,因此需要对这些信号进行组织,并且建立同步信号。通常将一组数据信号叫做一帧。目前物理层使用的通信标准是802.3,它定义的每帧中的各域如图1所示。

图1 802.3帧格式

填充位可变,如果数据域的数据小于46字节,那么就由填充位将不够的部分补齐,以保证整个帧的数据(除去前导位和帧起始位)为60字节。目的MAC地址为此帧要发送到的MAC地址(此地址全球唯一),源MAC地址为发送本节点的MAC地址,一共6字节,由低位到高位分别用16进制表示,可在dos命令行中用ipconfig命令查询本机的网卡地址。

2 TCP/IP协议

TCP/IP在整个网络系统的地位如图2所示。

电子邮件协议:SMTP,远程登录协议:TELNET,RPC,文件传输协议:FTP,TFTP,WWW浏览协议:HTML(超文本标记语言),网络管理协议:SNMP,域名系统:DNS,抽象语法记号:ASN.1,引导程序:BOOTP&DHCP。查错和控制报文协议:ICMP,组播协议:IGMP,地址解释协议:ARP,RARP,路由协议:GGP,SPF,EGP,RIP,OSPF 等。

图2 TCP/IP协议

3 RTL8019AS

3.1 RTL8019AS简介

由台湾Realtek公司生产的RTL8019AS以太网控制器,由于其优良的性能、低廉的价格,使其在市场上10Mbps网卡中占有相当的比例。

主要性能:

1)符号 Ethernet II与 IEEE802.3(10Base5、10Base2、10BaseT)标准;

2)全双工,收发可同时达到10Mbps的速率;

3)内置16KB的SRAM,用于收发缓冲,降低对主处理器的速度要求;

4)支持8/16位数据总线,8个中断申请线以及16个I/O基地址选择;

5)支持 UTP、AUI、BNC 自动检测,还支持对10BaseT拓扑结构的自动极性修正;

6)允许4个诊断LED引脚可编程输出;

7)100脚的PQFP封装,缩小了PCB尺寸。

3.2 RTL8019AS内部结构

RTL8019AS内部可分为远程 DMA接口、本地DMA接口、MAC(介质访问控制)逻辑、数据编码解码逻辑和其他端口。

4 RTL8019AS与S3C44B0X或TMS320LF2407的连接

4.1 系统连接

此次调试RTL8019AS所用的实验箱型号为:S3CEV40-I,Arm型号为S3C44B0X。与RTL8019AS的连接如图3所示。

图3 S3C44B0X与RTL8019AS的连接图

由上图可以看出,地址线的 A13-9连接到RTL8019AS的SA[4-0],另外片选线通过74LV138接到RTL8019AS的AEN引脚。若使CS7为0,必须nGCS1=0(A25=1),A20=1,A19=1,A18=0,即RTL8019AS 的基地址为 0000,0010,0001,10000,0000,0000,0000,0000B,即 RegAdd(Base)=2180000H。

由于SA0连接到A9,所以RTL8019AS的对应到S3C44B0X的地址必须右移9位,即:

4.2 发送数据

按照下图4格式向RTL8019AS的远程DMA(地址10H~17H,任何一个都可)后,启动发送命令,RTL8019AS就按照802.3的格式发出数据帧。

图4 向RTL8019AS发送数据的格式

从RTL8019AS接收到的数据的帧格式如图5。

图5 RTL8019AS接收帧格式

4.3 调试

对于网络的分析,必须查看物理连接是否正确,然后再查看帧的各域数据是否完整、正确。完成这一功能的软件,称为抓包工具,常用的是Ethereal。Ethereal的使用如下:

安装完成后,打开Ethereal后,点击图8中红色圆圈圈住的地方,进行基本配置,出现的配置界面如图6示。

图6 捕获选项设置

如图8所示,点击下拉框的箭头处,按照所使用的计算机的实际配置选择网卡。设置好网卡后,点击Start,软件就开始抓包了,如图7。

图7 Ethereal正在抓取UDP包

点击Stop,Ethereal停止,显示抓到的数据包的分析结果,如下图8所示。

图8 对抓到的UDP数据报的分析结果

4 结果分析

对图8所抓到的UDP数据报进行分析,可以更加深刻地理解以太网的通信原理。从0-5的6个字节数据是目的节点的MAC地址(此处是笔者所使用的PC机的网卡MAC),UDP数据报进行分析见表1所示。

注:Ethereal把所有经过所选择网卡的数据包全部抓取,并分析显示。

5 编程应用

在实际编程时,经常用VC或VB等高级语言所提供的控件进行快速开发,如WinSocket等。在使用此类控件进行编程时,在程序调试时,程序员所能看到的数据仅仅是收到的应用数据,比如使用UDP协议,只能看到UDP数据域中的数据(即是表3中的6个字节的数)。

如果下位机发送出去数据,PC机没有反应,应该是下面几方面的问题:

(1)物理连接不正常,网线没有连接好。

(2)发出的数据帧格式不正确,或者校验和数据不对。

(3)IP或者UDP的长度与实际长度不一致。

(4)IP地址不在同一个网段内,或者目的MAC地址与接收方的MAC地址不一致。

对于前三种情况,最好运行Ethereal进行抓包,如果没有任何数据,说明物理连接有问题,使用万用表或者网络测试仪测试一下。如果数据帧中的数据不对,Ethereal会指出错误所在,并给出正确的数据。

如果属于第4种情况,在dos命令行运行arp–a命令,查看设置,如果没有,这需要使用arp–s IP MAC根据实际情况进行设置,然后再调试程序即可。(此处设置的目的是告诉PC机,它的数据包的目的MAC和IP地址),如图9所示。

图9 目的MAC、IP的设置

6 结束语

本文以基于TCP/IP技术终端系统的研究为例,详细讲述了RTL8019AS网卡芯片的实现方法,并给出了单片机中TCP/IP协议的精简方案。本系统已经在实践中得到较好的应用,其可行性、可靠性和灵活性已经得到证实,并且基于以太网系统低廉的造价、简洁的布线更使得基于RTL8019AS的以太网技术成为了替代传统现场总线技术的一种重要手段。

[1]吴全玉,陈杰.基于RTL8019AS的单片机网络通信接口设计[J].现代电子技术,2008,(1).

[2]陈传虎.基于RTL8019AS的串口与以太网接口转换器的设计[J].电子工程师,2008,(5).

[3]苏锦秀,杨庆江,张广璐.以太网控制芯片RTL8019AS详细配置[J].现代电子技术,2007,(2).

猜你喜欢
全双工网线PC机
基于PC机与单片机的多机通信技术及抗干扰方法
RLS算法在同时同频全双工系统中的自干扰抑制性能分析
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
VC.NET下实现dsPIC单片机与PC机的通信
排除OLT设备登录故障
基于GRT平台的全双工WiFi设计与实现
加强配网线损管理 提高企业经济效益
同频同时全双工数字自干扰抵消算法
5G全双工技术浅析
改进等效容量法在含风电配网线损计算中的应用