使用这块网卡芯片需要注意的几个问题
1,Transmit control register 中的SWFDUP是用于控制duplex模式的,而FDUPLX不是
2,Autonegotiation 的使用问题,需要严格按照文档的要求,每次等待1.5秒以上
3,MMU, 91c111使用了较为先进的内存管理方式,当处理器想要使用它发送数据时,需要先分配内存,得到一个Packet Number,并需要从 Allocation Result Register中取出,填入Packet Number Register,然后还要写Pointer Register, 然后把要发送的数据写入91c111中的SRAM,执行MMU的ENQUEUE PACKET NUMBER TO TX FIFO命令,并等待发送完成。
这里有几个概念:
a,Packet Number,对于发送是指从MMU申请到的Packet Number值,对于接收,这个packet number其实也是从MMU申请的,只是,不是由处理器控制申请的,而是由CSMA/CD模块申请的。
b,TX/RX area指的是和Packet Number相对应的SRAM中的内存
c,FIFO Ports Register, 里面放的是Packet Number
d,Pointer Register 是指当前Packet Number 所对应的那段SRAM的指针
4,Multicast Table Registers 由8个寄存器构成,同Recivie Frame Status 寄存器中的Hash Value共同使用,用于地址filter
Hash Value = Most 6 Significant Bit(Destination Address from received packet)
Hash Value 中的Bits 5, 4, 3, 选择8个Multicast Table
1,Transmit control register 中的SWFDUP是用于控制duplex模式的,而FDUPLX不是
2,Autonegotiation 的使用问题,需要严格按照文档的要求,每次等待1.5秒以上
3,MMU, 91c111使用了较为先进的内存管理方式,当处理器想要使用它发送数据时,需要先分配内存,得到一个Packet Number,并需要从 Allocation Result Register中取出,填入Packet Number Register,然后还要写Pointer Register, 然后把要发送的数据写入91c111中的SRAM,执行MMU的ENQUEUE PACKET NUMBER TO TX FIFO命令,并等待发送完成。
这里有几个概念:
a,Packet Number,对于发送是指从MMU申请到的Packet Number值,对于接收,这个packet number其实也是从MMU申请的,只是,不是由处理器控制申请的,而是由CSMA/CD模块申请的。
b,TX/RX area指的是和Packet Number相对应的SRAM中的内存
c,FIFO Ports Register, 里面放的是Packet Number
d,Pointer Register 是指当前Packet Number 所对应的那段SRAM的指针
4,Multicast Table Registers 由8个寄存器构成,同Recivie Frame Status 寄存器中的Hash Value共同使用,用于地址filter
Hash Value = Most 6 Significant Bit(Destination Address from received packet)
Hash Value 中的Bits 5, 4, 3, 选择8个Multicast Table

本文档详细介绍了使用smsc LAN91C111网卡芯片时应注意的关键点,包括控制注册表配置、自协商过程、内存管理、多播表过滤及物理接口设置。在内存管理中,强调了如何正确分配内存并执行发送操作。多播表和哈希值的结合使用,用于实现地址过滤。同时,物理注册表的配置需遵循特定的管理接口协议。
最低0.47元/天 解锁文章
7698

被折叠的 条评论
为什么被折叠?



