基于ARM LPC2210的以太网RTL8019AS驱动系统设计

一.            系统硬件概述

 

 基于ARM LPC2210的以太网RTL8019AS驱动系统设计

 1.1.ARM LPC2210芯片简介

LPC2210Philips公司推出的微处理器,带有16 KBRAM76个通用IO口,12个独立外部中断引脚,集成有8通道的10AD,能够基于芯片设计复杂的系统。

 1.2. RTL8019AS芯片简介

Ø  RTL8019AS是台湾Realtek半导体公司生产的以太网控制器,其性能包括:支持EthernetIIIEEE8023标准;支持816位数据总线;内置16 KWordSRAM;全双工,收发同时达到10 Mbs;支持BNCAUIUTP介质。RTLS019AS可提供100脚的TQFP封装,减少了PCB面积,更适合于嵌入式系统。

1.3.HR901170A芯片简介

HR901170A是汉仁电子有限公司生产的RJ45接口连接器(带网络变压器/滤波器),该连接器满足IEEES023IEEE9023ab标准,能够较好地抑制电磁干扰。通过HR901170A系统就可以连接到以太网上。

注:RTL8019AS与网络介质之间的连接由Rj45接头HR901170A完成。

       RTL8019AS芯片工作原理

2.1RTL8019AS寄存器及其映射方式

Ø  RTL8019AS寄存器采用内存映射的方式。映射地址根据具体的硬件连接方式不同而不同。在LPC2210开发板中RTL8019ASCPU的存储空间上映射的基地址为0X83400000

Ø  LPC2210 通过16 DMA 方式实现对RTL8019AS 双口RAM的访问,另外使用P0.8控制RTL8019AS芯片复位,使用以太网接口时必须将P0.8设置为输出模式,并且将跳线器JP8_NET_RST短接。RTL8019AS芯片中的中断输出与P0.9(EINT3)相连,当需要使用RTL8019AS中断时必须将P0.9设置为EINT3功能,并且将跳线器JP8_NET_INT短接。

2.2RTL8019AS内部结构及工作原理

基于ARM LPC2210的以太网RTL8019AS驱动系统设计

1>RTL8019AS 芯片内部具有一个16Kbytes 的双口RAM作为数据FIFO, 它从逻辑上可划分为64 256 字节的页,每一个页面包括16个寄存器,每个寄存器均是8位。在不同的页面下,同一个端口对应不同的寄存器。

2>一般将RAM的前12(0X4000~0X4bff)存储区作为发送缓冲区;后52(0x4c00~0x7fff)存储区作为接收缓冲区;页的地址就是地址的8位(即0x40~0x4b;0x4c~0x7f0页叫Prom页,只有32字节,地址为0x000~0x001f,用于存储以太网物理地址。

说明:

²  寄存器和内置RAM是网卡功能实现的载体,驱动程序也是通过对它们的操作完成CPU所指令的任务。驱动程序所涉及的寄存器主要在Page0Page1

²  至于内置RAM,在Jumper模式下我们只需要关心其收发缓存部分。偏移地址从0x4000开始至0x7FFF16KB RAM区域构成8019的收发缓存,它以256字节为单位划分为64(Page),页地址为0x40 ~ 0x7F,发送和接收缓存所分配的页数可以由驱动程序设定。一种比较常见的分配方式为[0x40,0x4C)用作发送,[0x4C,0x80)用作接收,这也是本例所采用的配置。

3>接收和发送数据包是通过DMA读写RTL8019AS内部的16K B RAM,它是双端口的RAM,即有两套总线连接到该RAM

如图2

Ø  一套总线是RTL8019AS读或写该RAM,即本地DMA;

Ø  另一套总线是LPC2210读或写该RAM,即远程DMA

4>本地DMA大部分工作RTL8019AS自动完成,驱动程序只需要在初始化RTL8019AS时设置缓冲环的大小(最大不超过64KB),即寄存器PSTRTPSTOP的值,同时使PSTART=BNRY(边界寄存器)=CURR+1(当前页面指针寄存器)

5>远程DMA操作由外部微处理器完成RTL8019AS有远程读(Remote Read),远程写(Remote Write)和包发送(Send Packet)三种工作模式,由命令寄存器(CR)中的RD0RD1RD2���控制。其中远程读和远程写的工作相似,都是先赋值远程DMA的起始地址寄存器(RSAR0,RSAR1)和远程DMA字节计数器(RBCR0,RBCR1),然后在RTL8019AS的远程DMA端口读写即可。包发送操作用于数据发送,只需要发送一个包发送命令,就可以在RTL8019AS的远程DMA端口读取RAM中接收的数据。当执行这个指令时,RTL8019AS就自动设置了起始地址寄存器和字节计数器,边界寄存器(BNRY)指向下一个数据帧

------------------------------------------------------------------------------------

关于具体的寄存器功能请大家查看RTL8019AS数据手册

 

 

具体下载目录在 /2012年资料/6月/3日/基于ARM LPC2210的以太网RTL8019AS驱动系统设计/

相关推荐