读lwip协议深度剖析与实践演练笔记
寄存器介绍
RTL8091AS内部的寄存器根据其功能和地址可以大概分为两大类,一类是NE2000适配器兼容的寄存器,一类是ono功能实现密切相关的寄存器。对于数据的收发主要涉及的是NE2000适配器兼容的寄存器。
RTL809AS与主控制器间通讯的IO地址一共32个,地址偏移量为00-1F其中00到-0F共16个地址为内部寄存器地址,每个寄存器都是8位的,所有寄存器分成0-3共4页,每一页都共享有16个偏移地址,但当前那一页的寄存器有效是由CR寄存器决定的,每一页都有一个共同的CR寄存器,方便对网卡控制,page0-page2是与NE2000兼容的,而page3是RTL2019AS独有的。10-17这8个地址是DMA地址,使用时只用其中一个就可以,18-1F是复位端口也是只用一个就好
重要寄存器
CR命令寄存器
用于选择寄存器页面(哪一页),使能DMA操作,地址00H。
设置例子:NE_CR = ENCR_PAGE0 + ENCR_NODMA
page范围
#define ENCR_PAGE0 0x00 // Select page chip registers
#define ENCR_PAGE1 0x40// using the two high-order bits <