- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统中常见的网卡驱动比较
嵌入式系统中常见的网卡驱动比较(CS8900A,RTL8019,DM9000)
今天我又看了一些文章,想看看具体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。
电路连接如下:
CS8900A的IO模式特点就是这个PacketPage结构,使用PacketPagePointer和PacketPageData Port这两个寄存器对CS8900A的内部寄存器进行配置,非常方便。
#define CS8900_PPTR *(volatileCS8900_REG*) (CS8900_BASE+0x05*CS8900_OFF)
//PacketPagePointer的定义
#define CS8900_PDATA *(volatile CS8900_REG *)(CS8900_BASE+0x06*CS8900_OFF)
//PacketPageData Port
通过如下函数对cs8900a设置
get_reg(int regno) //32位模式,读寄存器的数据
{
CS8900_PPTR = regno; // regno为要读的寄存器偏移地址
return (unsigned short) CS8900_PDATA; //返回要读寄存器的数据
}
static void put_reg(int regno, unsigned short val) //写寄存器
{
CS8900_PPTR = regno;
CS8900_PDATA = val; //写寄存器
}
其中CS8900_BASE为基址与硬件连接有关。硬件原理图决定在S3C2410的地址空间中,CS8900A的基地址为那么在I/O模式下,CS8900A的内部寄存器默认基地址为0x300h,在S3C2410的地址空间中的地址为0
#define CS8900_BASE 0完成以上,下面的驱动就非常好写了,用网卡挂起函数示例:
void eth_halt( void )
{
/* disable transmitter/receiver mode */
put_reg(PP_LineCTL, 0); //禁止网卡
/* shutdown to show ChipID or kernel wouldnt find he cs8900 ... */
get_reg_init_bus(PP_ChipID);
}
2.???? rtl8019
RTL8019AS 是高度集成以太网控制器,为了提供完全解决即插即用方案,RTL8019AS 在集成10BASET 收发器,BNC,和AUI 接口之间的自动检测功能。此外,8 条IRQ 总线和16 条基本地址总线为大资源情况下提供了宽松的环境。
RTL8019AS 支持16k,32k,和64k 字节BROM 和闪存接口。它仍然提供页面模
文档评论(0)