阅读:919回复:3
91c96网卡,很困惑的问题!!!
91c96网卡,word(16bit)读写,68K bus
裸机下测试: 1. in loopback mode, 可以收到发送的数据,前面加了Byte count,但是没有status word。 2. in normal, 可以接收到PC发送的包,包前面加了Byte count,但是也没有status word,并且有丢数据现象,总是第9和12个word 丢失,后面的没有分析。 修改smsc网站上的driver,现象和裸机下(2)一样。 为什么没有加上status word,这是91c96自己加的,为什么总读不到;还有为什么会有丢数据现象,是进到chip里的数据就有问题? 各位驱友,可否遇到过此问题;或是你对此问题有什么丝丝见解,我都不甚感激!!! |
|
论坛版主
|
沙发#
发布于:2005-03-30 19:24
byte count和status是读mac帧之前读出来的值吗?
我没有具体看过这块网卡,不过原来用的一块卡曾经有过读这些值有误的状况,你再看看data sheet,看看有没有什么寄存器值没设好,还有以上数据是从同一端口串行读出的吗?还有没有别的地方可以读出这些值,你看看其他地方读出来的值对不对。再看看读时序有没有什么要求。 |
|
板凳#
发布于:2005-03-31 09:44
我是按照datasheet上的流程操作的;status word&byte count是网卡就收到正确的MAC帧后,在帧前面加的。
会不会是芯片接收的物理线路(变压器等)不匹配,导致数据丢失 :( :( :( |
|
论坛版主
|
地板#
发布于:2005-03-31 13:43
这个问题你需要多试试,你能确定从接受端口读数,当读第二个字时本来是status,现在变成了mac帧的第一个字?
你直接去读接收长度和状态寄存器看看呢。 变压器不匹配怎么可能老是同一个错误呢。 如果可能,最好直接询问一下芯片厂的工程师,这个问题好像有好几次了,看看有什么地方需要特别处理 |
|