阅读:1958回复:4
请问8139c网卡怎样启动传输?
有那位大侠知道8139c网卡设置什么寄存器能启动fifo进行远程dma操作吗? 我在芯片资料中怎么找不到相应的寄存器?
我就是想用直接操作8139寄存器的办法控制数据收发,谢谢了。 |
|
|
沙发#
发布于:2002-12-31 11:09
8139不支持远程DMA
|
|
板凳#
发布于:2002-12-31 14:40
\"远程DMA\" ? 没有听说过。
如果想启动 发送 的话,操作 发送描述符就可以。 |
|
地板#
发布于:2003-01-15 18:12
支持DMA吧
|
|
地下室#
发布于:2003-01-16 15:26
先说一下RTL8139的体系结构:RTL8139采用4个描述符来控制。每个描述符都包括2个寄存器:发送起始地址寄存器(TSAD0-3),记录包的物理地址;发送状态寄存器(TSD0-3),通过对状态寄存器不同位的读写表明发送状态。当程序开始写描述符,pci操作开始将TSAD指向的包写入发送缓冲区。发送缓冲区是芯片上一块2k字节的缓存。当发送缓冲区的数据到达一定字节数,开始向外界发送。
在程序编写中,首先将数据包(packet)传送到物理地址连续的内存中。将内存的起始地址写入地址寄存器,将包的大小写入TSD的0-12位,设置触发传送位,并将OWN位置0。当进入FIFO的字节数到达transmit threshold,芯片开始向外界发送数据。当一个包完全进入FIFO,置OWN为1。当一个包完全被发送,置TOK为1。而如果IMR的TOK为1,此时产生一个中断。 |
|