您的位置:首页 > 其它

嵌入式系统中常见的网卡驱动比较(CS8900A,RTL8019,DM9000)————转

2009-10-22 11:23 260 查看
引自:http://blog.ednchina.com/gurongjiang/245620/message.aspx

今天我又看了一些文章,想看看具体DM9000和CS8900A有什么区别?在KITL移植的时候,怎么样才能才能把CS8900A换成DM9000,因为我的KITL移植就卡在这里了,我的板子是DM9000驱动,我当然想在5.0到6.0的移植一步到位,可是在移植过程中由于是基于模拟器进行移植的,默认的是CS8900A网卡驱动,导致KITL出错,具体怎么改呢?这是一个问题,先留在这里。先把我今天看的一篇文章留在这里!

1. CS8900A

CS8900芯片是Cirrus Logic公司生产的一种局域网处理芯片,在嵌入式领域中使用非常常见。它的封装是100-pin TQFP,内部集成了在片RAM、10BASE-T收发滤波器,并且提供8位和16位两种接口。CS8900与ARM芯片按照16位方式连接,网卡芯片复位后默认工作方式为I/O连接,基址是300H。

CS8900A还提供其它性能和配置选择.它独特的Packet Page结构可自动适应网络通信量模式的改变和现有系统资源,从而提高系统效率。

MCU与CS8900A的数据传输有三种模式:I/O模式,存储器模式和DMA模式.本设计采用CS8900A默认的I/O模式,因为I/O模式简单易用. 在I/O模式下,通过访问8个16位的寄存器来访问PacketPage结构,这8个寄存器被映射到2410地址空间的16个连续地址。当CS8900A上电后,寄存器默认的基址为0x300h。

电路连接如下:

Code
void

eth_halt(void)

{

DM9000_iow(DM9000_GPR, 0x01); /* Power-Down PHY */

DM9000_iow(DM9000_IMR, 0x80); /* Disable all interrupt */

DM9000_iow(DM9000_RCR, 0x00); /* Disable RX */

}
[/b]

总结:可以看出CS8900A的接线最为复杂需要将地址线全部接上,CS8900A支持内存模式和IO模式; rtl8019功能较CS8900A强大,提供了BROM接口,采用寄存器统一编址,驱动简单.接线相对简单只要若干根地址线;DM9000,功能最强大,自适应以太网速度(10M/100M).接线最为简单只要一个地址线+一个片选线.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: