以太网控制器的嵌入式设备网络互连
发布时间:2008/6/3 0:00:00 访问次数:619
摘 要: rtl8019as以太网(ethernet)控制器在电子设备日趋网络化的背景下,被广泛应用于各种嵌入式设备上。本文介绍以太网控制器rtl8019as的结构;结合motorola的嵌入式mpu mc68vz328,分析rtl8019as的硬件和软件的设计。 | |||||||||||||||||||||||
关键词:rtl8019as ethernet 嵌入式网络 mc68vz328 | |||||||||||||||||||||||
互联网络硬件、软件的迅猛发展,使得网络用户呈指数增长。在使用通用计算机进行网络互联的同时,各种家电设备、pda、仪器仪表、工业生产中的数据的采集与控制等设备正在逐渐地走向网络化,以便共享互联网络中庞大的信息资源。以太网经过20年的发展,成为当今互联网络中底层链接不可缺少的部分。在某些应用领域,嵌入式设备在价格、体积及实时性等方面,有着标准计算机无法比拟的优点。嵌入式设备的网络化开发有着广阔的前景。在开发过程中,首先要解决的问题之一就是与以太网的接口问题:如何利用通用计算机的网络接口器件应用于嵌入式网络的开发。rtl8019as以太网接口芯片正好能满足这一需要,它具有极佳的性价比。以下就几个方面来详细讨论其具体应用。 | |||||||||||||||||||||||
一、rtl8019as以太网控制器简介 | |||||||||||||||||||||||
由台湾realtek公司生产的rtl8019as 以太网控制器,由于其优良的性能、低廉的价格,使其在市场上10mbps网卡中占有相当的比例。 | |||||||||||||||||||||||
1.主要性能 | |||||||||||||||||||||||
(1)适应于ethernet ii 、ieee802.3 、10base5、10base2、10baset; | |||||||||||||||||||||||
(2)支持8位、16位数据总线; | |||||||||||||||||||||||
(3)全双工,收发可同时达到10mbps的速率,具有睡眠模式,以降低功耗; | |||||||||||||||||||||||
(4)内置16kb的sram,用于收发缓冲,降低对主处理器的速度要求; | |||||||||||||||||||||||
(5)可连接同轴电缆和双绞线,并可自动检测所连接的介质; | |||||||||||||||||||||||
(6)100 脚的tqfp封装,缩小pcb尺寸。 | |||||||||||||||||||||||
2.内部结构 | |||||||||||||||||||||||
按数据链路的不同,可以将rtl8019as内部划分为远程dma(remote dma)通道和本地dma(local dma)通道两个部分。本地dma完成控制器与网线的数据交换,主处理器收发数据只需对远程dma操作。当主处理器要向网上发送数据时,先将一帧数据通过远程dma通道送到rtl8019as中的发送缓存区,然后发出传送命令。rtl8019as在完成了上一帧的发送后,再完成此帧的发送。rtl8019as接收到的数据通过mac比较、crc校验后,由fifo存到接收缓冲区,收满一帧后,以中断或寄存器标志的方式通知主处理器。原理框图如图1所示。 | |||||||||||||||||||||||
图1 rtl8019as原理框图 | |||||||||||||||||||||||
在图1中,接收逻辑在接收时钟的控制下,将串行数据拼成字节送到fifo和crc;发送逻辑将fifo送来的字节在发送时钟的控制下逐步按位移出,并送到crc;crc逻辑在接收时对输入的数据进行crc校验,将结果与帧尾的crc比较,如不同,该帧数据将被拒收,在发送时crc对帧数据产生crc,并附加在数据尾传送;地址识别逻辑对接收帧的目的地址与预先设置的本地物理地址进行比较,如不同且不满足广播地址的设置要求,该帧数据将被拒收;fifo逻辑对收发的数据作16个字节的缓冲,以减少对本地dma请求的频率。 | |||||||||||||||||||||||
3.数据帧的组成 | |||||||||||||||||||||||
标准的ieee 802.3数据包由以下几个部分组成:前导位(preamle)、帧起始位(sfd)、目的地址(destination)、源地址(source)、数据长度(length)、数据(data)、帧校验字(fcs)。如图2所示,数据场的个数可从46b(byte)~1500b(byte),如一组要传送的数据为46byte,就用零补足;超过1500byte时,需要拆成多个帧传送。前导位、帧起始位和帧校验字仅供控制器本身用,主处理器收到的数据帧的组成依次包括:接收状态(1byte )、下一帧的页地址指针(1byte)、目的地址(6byte)、源地址(6byte)、数据长度/帧类型(2byte)、数据场。数据长度/帧类型的值小于或等于1500byte时,表示数据场的长度;反之,表示数据帧的类型。如值依次为 0x08,0x00,表示数据场为ip包;值依次为0x08,0x06 ,表示数据场为arp包。 | |||||||||||||||||||||||
图2 ieee802.3帧的组成 | |||||||||||||||||||||||
4.rtl8019as的dma操作 | |||||||||||||||||||||||
rtl8019as 是针对pc机的isa总线设计的。如运用于嵌入式设备中,则在硬件和软件的设计上应有一些特殊性。嵌入式设备的主处理器可通过其映射到1
|