首页 理论教育RTL8019AS现场总线与工业以太网寄存器描述及应用技术

RTL8019AS现场总线与工业以太网寄存器描述及应用技术

【摘要】:RTL8019AS中的寄存器根据其地址和功能可大致分为两组:NE2000寄存器和即插即用寄存器,下面仅对NE2000寄存器进行介绍。每页包含16个寄存器。表8-7 RTL8019AS寄存器注:1.“—”表示保留。该寄存器用于选择寄存器页,使能或禁止远程DMA操作和发送命令。第6、7位:PS0、PS1,寄存器页选择。主机读取该寄存器以判断产生中断的原因。上电后该寄存器必须被清除。该寄存器指明一个包发送的状态。

RTL8019AS中的寄存器根据其地址和功能可大致分为两组:NE2000寄存器和即插即用寄存器,下面仅对NE2000寄存器进行介绍。

1.NE2000寄存器

该组包括4页寄存器,这些寄存器由CR寄存器的PS0和PS1位选择。每页包含16个寄存器。除了与NE2000兼容的寄存器,RTL8019AS还定义了一些用于软件配置和增强功能的寄存器。RTL8019AS的寄存器见表8-7。

表8-7 RTL8019AS寄存器

978-7-111-35607-3-Chapter08-27.jpg

注:1.“—”表示保留。

2.RTL8019AS定义的寄存器用粗斜体表示,标准的NE2000适配器不支持这些寄存器。

RTL8019AS第0页寄存器定义见表8-8。

表8-8 RTL8019AS第0页寄存器定义(PS1=0,PS0=0)

978-7-111-35607-3-Chapter08-28.jpg

(续)

978-7-111-35607-3-Chapter08-29.jpg

RTL8019AS第1页寄存器定义见表8-9。

表8-9 RTL8019AS第1页寄存器定义(PS1=0,PS0=1)

978-7-111-35607-3-Chapter08-30.jpg

(续)

978-7-111-35607-3-Chapter08-31.jpg

RTL8019AS第2页寄存器定义见表8-10。

表8-10 RTL8019AS第2页寄存器定义(PS1=1,PS0=0)

978-7-111-35607-3-Chapter08-32.jpg

2.寄存器功能

1)CR:命令寄存器(00H,读/写)。

该寄存器用于选择寄存器页,使能或禁止远程DMA操作和发送命令。

第6、7位:PS0、PS1,寄存器页选择。当PS0、PS1为00~11时,对应第0~3页。

第3~5位:RD0~RD2,其功能见表8-11所示。

表8-11 RD0~RD2功能选择

978-7-111-35607-3-Chapter08-33.jpg

第0位:STP。为Stop命令,为1时任何包都无法被发送或接收,上电为1。

第1位:STA。上电为0,无任何意义,仅反映写入该位的数值。

第2位:TXP。该位必须为1,以发送一个包。传输完成或终止时该位被内部复位。向该位写0无效。

2)ISR:中断状态寄存器(07H,读/写,第0页)。

该寄存器反映了NIC(网络接口卡)状态。主机读取该寄存器以判断产生中断的原因。写入“1”可以清除相应的位。上电后该寄存器必须被清除。

第0位:PRX。该位表明接收包无错误。

第1位:PTX。该位表明发送包无错误。

第2位:RXE。当接收到的包存在CRC错误、帧队列错误、丢包等一个或多个错误时,该位置位。

第3位:TXE。发送错误位,当一个包传输由于额外冲突被中止时该位置位。

第4位:OVW。当接收缓冲器满时,该位置位。

第5位:CNT。当一个或多个网络计数器的最高有效位被置位时,该位置位。

第6位:RDC。当远程DMA操作完成时,该位置位。

第7位:RST。当NIC进入复位状态时,或者接收缓冲器溢出时,该位置位;当开始命令发给CR时,或者从缓冲器读取了一个或多个包时,该位被清除。

3)IMR:中断屏蔽寄存器(0FH,第0页为写类型,第2页为读类型)。

所有位都与ISR寄存器的位相对应。上电全清0。将某位置位可以使能相应的中断。

4)DCR:数据配置寄存器(0EH,第0页为写类型,第2页为读类型)。

第0位:WTS,字传输选择。该位为0时,字节宽度DMA传输;为1时,字宽度DMA传输。

第1位:BOS,字节顺序选择。该位为0时,高有效位置于MD8~MD15,低有效位置于MD0~MD7(如INTEL80×86处理器);为1时,高有效位置于MD0~MD7,低有效位置于MD8~MD15(未使用)。

第2位:LAS。该位必须置为0。NIC仅支持双16位DMA方式。上电为1。

第3位:LS,回送选择。该位为0时选定回送方式,此时TCR的第1位和第2位也必须设定为回送方式;为1时正常操作。

第4位:ARM,远程自动初始化。该位为0时,不执行发送包命令;为1时,执行发送包命令。

第5位、第6位:FT0、FT1。FIFO起点选择位。

第7位:固定为1。

5)TCR:发送配置寄存器(0DH,第0页为写类型,第2页为读类型)。

第0位:CRC。NIC CRC逻辑包含一个发送器的CRC发生器和一个接收器的CRC校验器。该位控制CRC逻辑的动作。若该位置位,则发送器不使用CRC;否则发送器使用CRC。(www.chuimin.cn)

第1、2位:LB0、LB1。操作方式选择见表8-12。

第3位:ATD,自动发送禁止。该位为0时正常操作。为1时,如果接收到第62位的多点地址,将禁止发送器;如果接收到第63位多点地址,将使能发送器。

表8-12 操作方式选择

978-7-111-35607-3-Chapter08-34.jpg

第4位:OFST,冲突偏移使能。

第5位~7位:固定为1。

6)TSR:发送状态寄存器(04H,第0页,读类型)。

该寄存器指明一个包发送的状态。

第0位:PTX,表明传送完成且无错误。

第1位:固定为1。

第2位:COL,表明该次传送过程与网络中的其他站冲突。

第3位:ABT,表明NIC由于冲突而中止传送。

第4位:CRS,载波传感丢失位。当传送包期间丢失载波时该位置位。

第5位:固定为1。

第6位:CDH,CD心跳(Heartbeat)信号。传送后的帧间隙的首个6.4μs期间,NIC监视冲突信号(即CD心跳信号)。如果收发器没有成功发送该信号,则CDH位置位。

第7位:OWC,脱离窗口冲突。在一个Slot时间(51.2μs)后检测到冲突时,该位置位,并重新进行传送。

7)RCR:接收配置寄存器(0CH,第0页为写类型,第2页为读类型)。

第0位:SEP。该位为1时,接收带有接收错误的包;为0时,不接收带有接收错误的包。

第1位:AR。该位为1时,接收长度小于64字节的包;为0时,不接收长度小于64个字节的包。

第2位:AB。该位为1时,接收广播目的地址的包;为0时,不接收广播目的地址的包。

第3位:AM。该位为1时,接收多点传送目的地址的包;为0时,不接收多点传送目的地址的包。

第4位:PRO。该位为1时,所有物理目的地址的包均可被接收;为0时,只可接收与PAR0~PAR5中设定的节点地址相匹配的物理目的地址。

第5位:MON,监视方式位。该位置位时,需要检查接收到的包的地址匹配、CRC校验、帧队列,但接收到的包不放入内存。否则,接收到的包将放入内存。

第6、7位:固定为1。

8)RSR:接收状态寄存器(0CH,第0页,读类型)。

第0位:PRX,表明接收到的包无错误。

第1位:CRC,CRC错误位。表明接收到的包有CRC错误。如果有FAE错误,该位也被置位,使CNTR1计数器值增加。

第2位:FAE,帧队列错误位。表明传送来的包不是整字节,或者CRC不匹配,使CNTR0计数器值增加。

第3位:固定为1。

第4位:MPA,丢包位。由于接收缓冲器满或者NIC处于监视方式而导致传送来的包无法被NIC接收时,该位置位,使CNTR2计数器值增加。

第5位:PHY。当接收到的包具有多点传送或广播目的地址时,该位置位。当接收到的包具有物理目的地址时,该位复位。

第6位:DIS,接收禁止。当NIC进入监视方式时,该位置位,接收被禁止。退出监视方式后,接收使能,该位复位。

第7位:DFR,当检测到载波或冲突时该位置位。

9)CLDA0、CLDA1:当前本地DMA寄存器(01H和02H,第0页,读类型)。读取这两个寄存器可得到当前本地DMA地址。

10)PSTART:页起始寄存器(01H,第0页为写类型,第2页为读类型)。该寄存器设定接收缓冲区的起始页地址。

11)PSTOP:页结束寄存器(02H,第0页为写类型,第2页为读类型)。该寄存器设定接收缓冲区的结束页地址。

12)BNRY:边界寄存器(03H,第0页,读/写类型)。该寄存器用于防止接收缓冲区的溢出,通常用做一个指针,指明主机已读取缓冲区的最后一页。

13)TPSR:发送页起始寄存器(04H,第0页,写类型)。该寄存器设定要发送的包的起始页地址。

14)TBCR0、TBCR1:发送字节计数寄存器(05H和06H,第0页,写类型)。这两个寄存器设定要发送的包的字节数。

15)NCR:冲突数目寄存器(05H,第0页,读类型),记录了包传送期间一个节点发生的冲突数目。

16)FIFO:先入先出寄存器(06H,第0页,读类型),允许主机在回送后检查FIFO的内容。

17)CRDA0、CRDA1:当前远程DMA地址寄存器(08H和09H,第0页,读类型)。这两个寄存器包含远程DMA的当前地址。

18)RSAR0、RSAR1:远程起始地址寄存器(08H和09H,第0页,写类型)。这两个寄存器设定远程DMA的起始地址。

19)RBCR0、RBCR1:远程字节计数寄存器(0AH和0BH,第0页,写类型)。这两个寄存器设定远程DMA的数据字节数目。

20)CNTR0:帧队列错误计数寄存器(0DH,第0页,读类型)。

21)CNTR1:CRC错误计数寄存器(0EH,第0页,读类型)。

22)CNTR2:丢包计数寄存器(0FH,第0页,读类型)。

23)PAR0~PAR5:物理地址寄存器(01H~06H,第1页,读/写类型)。这些寄存器包含本地以太网节点地址,并与接收到的包的目的地址比较,以决定接收或不接收。

24)CURR:当前页寄存器(07H,第1页,读/写类型)。该寄存器指向将要用于接收包的接收缓冲区首页的页地址。

25)MAR0~MAR7:多点传送地址寄存器(08H~0FH,第1页,读/写类型)。这些寄存器提供被CRC逻辑打乱的多点传送地址的过滤位。