|
|
| | -文章搜索 - 最新文章 - | |
以太网控制器的嵌入式设备网络互连 |
| 发布时间:2006年3月4日 点击次数:880 |
| 来源:单片机与嵌入式系统应用 作者:湖南师范大学 万静华 丁亚军 |
摘要 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中,接收逻辑在接收时钟的控制下,将串行数据拼成字节送到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包。
4. RTL8019AS的DMA操作 RTL8019AS 是针对PC机的ISA总线设计的。如运用于嵌入式设备中,则在硬件和软件的设计上应有一些特殊性。嵌入式设备的主处理器可通过其映射到16个I/O地址上的寄存器来完成对RTL8019AS的操作。其寄存器地址如表1所列。 表1 RTL8019AS 寄存器地址 需要指明的一点是,RTL8019AS的DMA与平时所说的DMA有点不同。RTL8019AS的local DMA操作是由控制器本身完成的,而其remote DMA 并不是在无主处理器的参与下,数据能自动移到主处理器的内存中,它的操作机制是这样的:主处理器先赋值于romote DMA 的起始地址寄存器RSAR0、RSAR1和字节计数器RBCR0、RBCR1,然后在RTL8019AS的DMA I/O地址上读写指定地址上的数据。 RTL8019AS内置的16KB 的SRAM可划分为接收缓冲和发送缓冲两个部分。缓冲以页为单位,每页256个字节,16KB的SRAM的页范围规定在0x40~0x80,由PSTART 和PSTOP寄存器来设定接收缓冲页的范围;由RSAR0、1和RBCR0、1寄存器来设定发送缓冲页的范围。CURR指向接收到的帧的起始页,Boundary指向还未读的帧的起始页。当CURR到达了接收缓冲页的底部,即与PSTOP相等时,CURR又会自动指向到PSTART处。与DMA有关的寄存器如图3所示。
二、基于RTL8019AS的嵌入式设备网络互连设计方案 1. RTL8019AS的硬件电路设计 目前局域网常见的是采用双绞线为通信介质。图4为MOTOROLA的龙珠(Dragonball)处理器MC68VZ328(以下简称VZ328)和RTL8019AS的接口电路。RTL8019AS的工作电压为5V,而VZ328的工作电压为3.3V,所以RTL8019AS的输出需要电平的转换。在图4中,此电压的转换由U2 74F163245 完成。读数据时,D[0:15]数据经U2 送到VZ328;写数据时,D[0:15]送到RTL8019AS。 RTL8019AS在复位的上升沿锁定IOCS16脚的电平,其值决定数据总线的宽度:高电平时为16位总线方式,低电平时为8位总线方式。如挂接到8位主设备上,将以27kΩ的电阻下拉置地,D[8:15]空悬。为提高收发速度,图4采用16位数据总线方式。由于RTL8019AS没有外接初始化的EPROM,故其复位时命令寄存器(CR)的I/O地址的值为缺省值0X300,所以,为满足RTL8019AS的ISA时序,A5~A19的连接必须使其地址锁定在0X300,否则,就无法访问到RTL8019AS的寄存器。INT0中断脚经电平转换U4接到VZ328的IRQ6。VZ328以片选脚寻址RTL8019AS,接其端。在程序中,以I/O方式访问RTL8019AS,所以仅需要A[0:4]地址线,、接高电平关闭其MEMORY方式。
2. RTL8019AS的软件编程 对RTL8019AS的软件操作,有查询和中断两种方式。在查询方式下,主程序通过CURR和Boundary两个寄存器的值来判断是否收到一帧数据。当Boundary与CURR不等时,说明接收缓冲区接收到了新的帧,主程序读取数据后,以读取帧的第二个字节(下一帧的页地址)更新Boundary,主程序循环跟踪CURR和Boundary达到数据的接收目的。主程序在发送一帧数据时,先要查TSR寄存器判断上一帧是否发送完毕。在实时多任务的环境,一般采用中断方式来处理RTL8019AS的收发。图5是一典型的中断处理程序(ISR)的流程。当主程序响应RTL8019AS的中断时,在ISR的入口,根据读取的中断状态寄存器(ISR)的值来确定程序的走向。
参考文献 1 COMER DOUGLAS E. 用TCP/IP进行网际互连. 林瑶等译.北京:电子工业出版社 |
|
|
|
|
[嵌入式系统] 相关文章: 大坝安全监测中的UC7420应用技术方案简介:
随着科学技术的发展,人们不断把目光投向水利综合自动化的实现,这一新课题已得到广泛的研究,少部分水库综合自动化经过多年的研究和实践,其可靠性、灵活性、快速性已得到一致的认可。我国的中小型水库多数分布在山区,并且绝大多数是土石坝,大坝失事的原因很多,涉及范围也很广,所以对大坝实现自动化已成为必然的要求。 1 选择UC7420的原因 首先,从水库的环境出发,由于大坝的环境复杂性,山区的供电设施比较落后,每逢雷雨天气,供电经常中断,还有大雪的天气也不例外,加上我国近几年都有电力供应紧张的时段,对一些边远山区进行限电也时有发生。所以大坝安全监测系统因缺“粮”就失去了...... 飞思卡尔ZigBee产品,扩展家庭与商业领域应用
嵌入式应用中的零功耗系统设计
TMS320F206的高分辨率液晶接口设计
USB系统结构与应用设计
基于LonWorks技术的远程自动抄表系统
嵌入式Linux的注塑机控制系统解决方案
TMS320F2XX在有源电力滤波器中的应用
DeltaKVM——国产嵌入式操作系统上的KVM
单片机无线串行接口电路设计 |
|
|
|