- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
以太网控制器RTL8019
以太网控制器RTL8019
RTL8019是高度集成的以太网控制器,为即插即用式NE2000兼容网络适配器提供了简易的解决方案.RTL8019共有32个输入输出地址,对应地址偏移量为00h—lFh.RTL8019的内部寄存器是分页的,每个寄存器都是8位.
RTL8019的复位
RTL8019的复位引脚RSTDRV是高电平有效的复位信号,高电平时间长度需大于800 ns,通常在RSTDRV从高电平回到低电平之后的100ms时,再对RTL8019进行读写操作,以确保完全复位.当处理器复位时,以太网控制器也复位.
热复位:为了保证能够完全复位,可以使用热复位方法.18h一1Fh的8个地址,为复位端口,对该端口的偶数地址读或写入任何数,都会引起以太网控制器的复位,这种方式称为热复位.
中断状态寄存器中的第7位RST跟复位有关,它的地址为07h,位于第0页,可直接读写.在以太网控制器执行了正确复位之后该位为1.一般在复位之后检查该标志位,以确认是否复位成功.
RTL8019寄存器
1.命令寄存器CR:地址偏移量是00h,长度为一个字节.
位 符号 描述
7,6 PS1,PS0 选择寄存器页 00:0页 01:1页 10:2页 11:3页(为RTL8019AS配置)
5—3 RD2—0 表示要执行的功能 000:不允许;001:远程读取以太网控制器内存;010:远程写入以太网控制器内存;011:发送包 1XX:中止/完成远程DMA
2 TXP 要发送数据包时,要将该位置1,该位可能在发送完成后或者发送中止时内部清0,对该位写0操作无效
1 STA 写STP组合使用
0 STP 该位是停止命令.该位被置1,就停止接收或发送任何数据包,上电时该位为1.STA 与STP组合使用,10:启动命令 01:停止命令
RTL8019寄存器(1)
2.与发送/接收相关的寄存器:
PSTART:接收缓冲区的起始页地址(位于01h,在第0页可写,在第2页可读).
PSTOP:接收缓冲区的结束页地址(该页不用于接收,位于02h,在第0页可写,在第2页可读).
BNRY:边界寄存器(作为读指针使用,位于03h,在第0页可读写).这个寄存器用来避免对环形接收缓冲区中数据的错误覆盖,通常用作指针,指向接收缓冲区中已经被读取的最后一个页.
CURR:当前页寄存器(作为写指针使用,位于07h,在第1页可读写).这个寄存器的内容指向接收缓冲区中第一个可用于接收新数据的页面.
DCR:数据配置寄存器.将它设置为使用FIFO缓存,普通模式,8位数据传输模式.字节顺序为高位字节在前,低位字节在后.
RTL8019寄存器(2)
⑥TPSR:为发送页的起始页地址.初始化为指向第一个发送缓冲区的页.
RCR :接收配置寄存器,设置为使用接收缓冲区,仅接收与自己地址相匹配的数据包(以及广播地址数据包)和多点播送地址包;小于64字节的包和校验错的数据包将被丢弃.
TCR:发送配置寄存器,启用CRC(循环冗余校验)自动生成和校验功能,工作在正常模式.
RSAR0,1:对存储器进行操作的起始地址寄存器,RSAR0存放低8位,RSARl存放高8位.
RBCR0,1:对存储器操作的字节计数寄存器,RBCR0存放低8位,RBCRl存放高8位.
TBCR0,1:发送字节计数器,这两个寄存器设置了要发送数据包中的字节个数.TBCR0存放低8位,TBCRl存放高8位.
RTL8019寄存器
3.其他寄存器:
IMR:中断屏蔽寄存器,设置成0x00时,屏蔽所有的中断,设置成0xFF将允许中断.
MAR0一MAR8:多点播送地址,可以全写0xFF.
PAGE2的寄存器是只读的,不用设置.PAGE3的寄存器不是NE2000兼容的,所以也不用设置.
RAM空间结构
以太网控制器含有16KB的RAM,地址为0x4000—0x7FFF,每256个字节称为一页,共有64页.
_使用0x40—0x45作为以太网控制器的发送缓冲区,共6页.使用0x46~0x5F作为以太网控制器的接收缓冲区,共32页.
CURR和BNRY寄存器是以太网数据收发中用到的两个最主要的寄存器,CURR和BNRY主要用来控制缓冲区的存取过程,保证能顺次写入和读出.
CURR是以太网控制器写接收缓冲区的指针.
BNRY指向接收缓冲区中已经被读取的最后一个页.
网卡的物理地址
在完成对寄存器的初始化后,还要对以太网控制器的物理地址(即48位的以太网控制器地址)进行设置.
RAM地址中的0x0000~0x000B的12字节是网卡的物理地址.网卡的物理地址本应该是6个字节的,这12字节是单双地址重复存储的.0x000B后面的地址存储的是生产厂商的代码和产品标识代码,也是单双地址重复存储的.
以太网模块的接口设计
配置RTL8019:为了系统
文档评论(0)