用51单片机控制RTL8019AS实现以太网通讯

[09-12 17:52:30]   来源:http://www.88dzw.com  单片机学习   阅读:8159

文章摘要:初始化页0与页1的相关寄存器,页2的寄存器是只读的,不可以设置,页3的寄存器不是NE2000兼容的,不用设置。(1)CR=0x21,选择页0的寄存器;(2)TPSR=0x45,发送页的起始页地址,初始化为指向第一个发送缓冲区的页即0x40;(3)PSTART=0x4c,PSTOP=0x80,构造缓冲环:0x4c~0x80;(4)BNRY=0x4c,设置指针;(5)RCR=0xcc,设置接收配置寄存器,使用接收缓冲区,仅接收自己地址的数据包(以及广播地址数据包)和多点播送地址包,小于64字节的包丢弃,校验错的数据包不接收;(6)TCR=0xe0,设置发送配置寄存器,启用CRC自动生成和自动校验,

用51单片机控制RTL8019AS实现以太网通讯,标签:单片机开发,单片机原理,单片机教程,http://www.88dzw.com

初始化页0与页1的相关寄存器,页2的寄存器是只读的,不可以设置,页3的寄存器不是NE2000兼容的,不用设置。

(1)CR=0x21,选择页0的寄存器;

(2)TPSR=0x45,发送页的起始页地址,初始化为指向第一个发送缓冲区的页即0x40;

(3)PSTART=0x4c,PSTOP=0x80,构造缓冲环:0x4c~0x80;

(4)BNRY=0x4c,设置指针;

(5)RCR=0xcc,设置接收配置寄存器,使用接收缓冲区,仅接收自己地址的数据包(以及广播地址数据包)和多点播送地址包,小于64字节的包丢弃,校验错的数据包不接收;

(6)TCR=0xe0,设置发送配置寄存器,启用CRC自动生成和自动校验,工作在正常模式;

(7)DCR=0xc8,设置数据配置寄存器,使用FIFO缓存,普通模式,8位数据DMA;

(8)IMR=0x00,设置中断屏蔽寄存器,屏蔽所有中断;

(9)CR=0x61,选择页1的寄存器;

(10)CURR=0x4d,CURR是RTL8019AS写内存的指针,指向当前正在写的页的下一页,初始化时指和0x4c+1=0x4d;

(11)设置多址寄存器MAR0~MAR5,均设置为0x00;

(12)设置网卡地址寄存器PAR0~PAR5;

(13)CR=0x22,选择页1的寄存器,进入正常工作状态。

图2 89C52单片机控制RTL8019AS实现以太网通讯的接口电路框图

4.3 发送帧

将待发送的数据按帧格式封装,通过远程DMA通道送到RTL8019AS中的发送缓存区,然后发出传送命令,完成帧的发送。需要设置以太网目的地址、以太网源地址、协议类型,再按所设置的协议类型来设置数据段。之后启动远程DMA,数据写入RTL8019AS的RAM,再启动本地DMA,将数据发送网上。

RTL8019AS无法将整个数据包通过DMA通道一次存入FIFO,则在构成一个新的数据包之前必须先等待前一数据包发送完成。为提高发送效率,设计将12页的发送缓存区分为两个6页的发送缓存区,一个用于数据包发送,另一个用于构造端的数据包,交替使用。

5 软件的调试与验证

调试环境包括RTL8019AS实验板、PC机(带网卡)以及网线。

用C51语言编程,实现TCP/IP协议中ARP数据帧的收发。

实验中,单片机首先构造一个ARP请求包发送给PC机,PC机收到后会发送一个ARP应答包给单片机,单片机收到该应签包后再发一个ARP请求包给PCF机,如此不断循环,来测试系统的性能。在PC机上采用Sniffer软件如Windump软件来监视(或截获)PC机网卡接收ARP包的情况,取得了满意的效果。




上一页  [1] [2] [3] [4] 


Tag:单片机学习单片机开发,单片机原理,单片机教程单片机学习

《用51单片机控制RTL8019AS实现以太网通讯》相关文章

分类导航
最新更新
热门排行