用51单片机控制RTL8019AS实现以太网通讯
出传送命令;当RTL8019AS完成了上帧的发送后,再开始此帧的发送。RTL819接收到的数据通过MAC比较、CRC校验后,由FIFO存到接收缓冲区;收满一帧后,以中断或寄存器标志的方式通知主处理器。FIFO逻辑对收发数据作16字节的缓冲,以减少对本地DMA请求的频率。
2.3内部RAM地址空间分配
RTL8019AS内部有两块RAM区。一块16K字节,地址为0x4000~0x7fff;一块32字节,地址为0x0000~0x001f。RAM按页存储,每256字节为一页。一般将RAM的前12页(即0x4000~0x4bff)存储区作为发送缓冲区;后52页(即0x4c00~0x7fff)存储区作为接收缓冲区。第0页叫Prom页,只有32字节,地址为0x0000~0x001f,用于存储以太网物理地址。
要接收和发送数据包就必须通过DMA读写RTL8019AS内部的16KBRAM。它实际上是双端口的RAM,是指有两套总线连接到该RAM,一套总线RTL8019AS读或写该RAM,即本地DMA;另一套总线是单片机读或写该RAM,即远程DMA。
2.4I/O地址分配
RTL8019AS具有32位输入输出地址,地址偏移量为00H~1FH。其中00H~0FH共16个地址,为寄存器地址。寄存器分为4页:PAGE0、PAGE1、PAGE2、PAGE3,由RTL8019AS的CR(CommandRegister命令寄存器)中的PS1、PS0位来决定要访问的页。但与NE2000兼容的寄存器只有前3页,PAGE3是RTL8019AS自己定义的,对于其他兼容NE2000的芯片如DM9008无效。远程DMA地址包括10H~17H,都可以用来做远程DMA端口,只要用其中的一个就可以了。复位端口包括18H~1FH共8个地址,功能一样,用于RTL8019AS复位。
3接口电路设计
下面介绍51系列单片机与RTL8019AS的接口电路,实现的网络接口采用UTP(无屏蔽双绞线)RJ-45接口。
图2给出了89C52单片机控制RTL8019AS实现以太网通讯的接口电路框图。用到的主要芯片有80C52、RTL8019AS、93C46(64×16bit的EEPROM)、74HC573(8位锁存)、62256(32K字节的RAM)。为分配好地址空间,采用对93C46进行读(或写)操作来设置RTL8019AS的端口I/O基地址和以太网物理地址。
93C46是采用4线SPI串行接口的SerialEEPROM,容量为1Kbit(64×16bit),主要保存RTL8019AS的配置信息。00H~03H的地址空间用于存储RTL8019AS内配置寄存器CONFIG1~4的上电初始化值;地址04H~11H存储网络节点地址即物理地址;地址12H~7FH内存储即插即用的配置信息。RTL8019AS通过引脚EECS、EESK、EEDI控制93C46的CS、SK、DI引脚,通过EEDO接收93C46的DO引脚的状态。RTL8019AS复位后读取93C46的内容并设置内部寄存器的值,如果93C46中内容不正确,RTL8019AS就无法正常工作。先通过编程器如ALL07把配置好的数据写入93C46,再焊入电路。
对93C46进行数据配置:数据00H写入93C46的地址00H内;93C46地址04H~0AH 《用51单片机控制RTL8019AS实现以太网通讯(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/145073.html
2.3内部RAM地址空间分配
RTL8019AS内部有两块RAM区。一块16K字节,地址为0x4000~0x7fff;一块32字节,地址为0x0000~0x001f。RAM按页存储,每256字节为一页。一般将RAM的前12页(即0x4000~0x4bff)存储区作为发送缓冲区;后52页(即0x4c00~0x7fff)存储区作为接收缓冲区。第0页叫Prom页,只有32字节,地址为0x0000~0x001f,用于存储以太网物理地址。
要接收和发送数据包就必须通过DMA读写RTL8019AS内部的16KBRAM。它实际上是双端口的RAM,是指有两套总线连接到该RAM,一套总线RTL8019AS读或写该RAM,即本地DMA;另一套总线是单片机读或写该RAM,即远程DMA。
2.4I/O地址分配
RTL8019AS具有32位输入输出地址,地址偏移量为00H~1FH。其中00H~0FH共16个地址,为寄存器地址。寄存器分为4页:PAGE0、PAGE1、PAGE2、PAGE3,由RTL8019AS的CR(CommandRegister命令寄存器)中的PS1、PS0位来决定要访问的页。但与NE2000兼容的寄存器只有前3页,PAGE3是RTL8019AS自己定义的,对于其他兼容NE2000的芯片如DM9008无效。远程DMA地址包括10H~17H,都可以用来做远程DMA端口,只要用其中的一个就可以了。复位端口包括18H~1FH共8个地址,功能一样,用于RTL8019AS复位。
3接口电路设计
下面介绍51系列单片机与RTL8019AS的接口电路,实现的网络接口采用UTP(无屏蔽双绞线)RJ-45接口。
图2给出了89C52单片机控制RTL8019AS实现以太网通讯的接口电路框图。用到的主要芯片有80C52、RTL8019AS、93C46(64×16bit的EEPROM)、74HC573(8位锁存)、62256(32K字节的RAM)。为分配好地址空间,采用对93C46进行读(或写)操作来设置RTL8019AS的端口I/O基地址和以太网物理地址。
93C46是采用4线SPI串行接口的SerialEEPROM,容量为1Kbit(64×16bit),主要保存RTL8019AS的配置信息。00H~03H的地址空间用于存储RTL8019AS内配置寄存器CONFIG1~4的上电初始化值;地址04H~11H存储网络节点地址即物理地址;地址12H~7FH内存储即插即用的配置信息。RTL8019AS通过引脚EECS、EESK、EEDI控制93C46的CS、SK、DI引脚,通过EEDO接收93C46的DO引脚的状态。RTL8019AS复位后读取93C46的内容并设置内部寄存器的值,如果93C46中内容不正确,RTL8019AS就无法正常工作。先通过编程器如ALL07把配置好的数据写入93C46,再焊入电路。
对93C46进行数据配置:数据00H写入93C46的地址00H内;93C46地址04H~0AH 《用51单片机控制RTL8019AS实现以太网通讯(第2页)》