s3c2440的网卡接口扩展DM9000
2011-05-26 11:08
162 查看
网络对于嵌入式系统来说必不可少。可是s3c2440没有集成以太网接口,所以要想使s3c2440具备以太网的功能,就必须扩展网卡接口。在这里,我们外接DM9000,使其可以与以太网相连接。
DM9000可以直接与ISA总线相连,也可以与大多数CPU相连。在这里,我们当然是要让DM9000与s3c2440相连接了。DM9000对外来说只有两个端口——地址口和数据口,地址口用于输入内部寄存器的地址,而数据口则完成对某一寄存器的读写。DM9000的CMD引脚用来区分这两个端口,当CMD引脚为0时,DM9000的数据线上传输的是寄存器地址,当CMD引脚为1时,传输的是读写数据。我们把DM9000的A8和A9接为高电平,把A4~A7接为低电平,并且把DM9000的AEN接到s3c2440的nGCS4引脚上,则DM9000的端口基址为0x20000300,如果再把DM9000的CMD引脚接到s3c2440的ADDR2引脚上,则我们就可以定义DM9000的这两个端口地址,它们分别为:
如果要写入DM9000中的某个寄存器,则先把该寄存器的地址赋予DM_ADDR_PORT,然后再把要写入的数据赋予DM_DATA_PORT即可。读取DM9000中的某个寄存器也类似。下面的函数的作用分别是DM9000的读、写寄存器操作:
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhaocj/archive/2010/06/15/5672588.aspx#1463389
DM9000可以直接与ISA总线相连,也可以与大多数CPU相连。在这里,我们当然是要让DM9000与s3c2440相连接了。DM9000对外来说只有两个端口——地址口和数据口,地址口用于输入内部寄存器的地址,而数据口则完成对某一寄存器的读写。DM9000的CMD引脚用来区分这两个端口,当CMD引脚为0时,DM9000的数据线上传输的是寄存器地址,当CMD引脚为1时,传输的是读写数据。我们把DM9000的A8和A9接为高电平,把A4~A7接为低电平,并且把DM9000的AEN接到s3c2440的nGCS4引脚上,则DM9000的端口基址为0x20000300,如果再把DM9000的CMD引脚接到s3c2440的ADDR2引脚上,则我们就可以定义DM9000的这两个端口地址,它们分别为:
#define DM_ADDR_PORT (*((volatile unsigned short *) 0x20000300)) //地址口 #define DM_DATA_PORT (*((volatile unsigned short *) 0x20000304)) //数据口
如果要写入DM9000中的某个寄存器,则先把该寄存器的地址赋予DM_ADDR_PORT,然后再把要写入的数据赋予DM_DATA_PORT即可。读取DM9000中的某个寄存器也类似。下面的函数的作用分别是DM9000的读、写寄存器操作:
//写DM9000寄存器 void __inline dm_reg_write(unsigned char reg, unsigned char data) { DM_ADDR_PORT = reg; //将寄存器地址写到地址端口 DM_DATA_PORT = data; //将数据写到数据端口 } //读DM9000寄存器 unsigned char __inline dm_reg_read(unsigned char reg) { DM_ADDR_PORT = reg; return DM_DATA_PORT; //将数据从数据端口读出 }
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhaocj/archive/2010/06/15/5672588.aspx#1463389
相关文章推荐
- s3c2440的网卡接口扩展(DM9000)
- s3c2440的网卡接口扩展
- s3c2440的网卡接口扩展
- S3C2440驱动简析——DM9000网卡驱动(1)
- 基于ARM和DM9000的网卡接口设计与实现
- ARM和DM9000的网卡接口设计与实现
- 06-S3C2440学习之移植2012u-boot到S3C2440(移植过程四)支持Nand Flash+支持DM9000网卡
- S3C2440驱动简析——DM9000网卡驱动(4)
- s3c2440 DM9000网卡移植,RTC时钟使能
- 抽象类与接口的扩展功能
- /sys/class/gpio 文件接口操作IO端口(s3c2440)
- Kotlin学习(四)—— 类和对象,继承,覆盖,抽象类,属性和字段,接口,可见性修饰符,扩展
- Hive 可扩展接口学习笔记
- dm9000 网卡简介
- NS2多接口多信道扩展实现(Ramon)
- 获得网络接口信息和网卡信息
- Qemu-guest-agent(QGA)原理介绍及接口扩展
- PCI网卡上扩展ROM编程 1.前言
- delphi技术专题---获取网卡物理地址之NetBios网络编程接口LANA介绍
- 【驱动】DM9000网卡驱动分析