如何使用W5200的间接总线接口模式(二)
2013-02-27 09:51
831 查看
W5200是WIZnet公司研发的一款高速SPI以太网控制芯片,内嵌全套硬件TCP/IP协议栈。它支持ADSL连接 (支持PPPOE协议 & 带PAP/CHAP验证),支持8个独立的端口(sockets)同时连接,内部32K字节存储器作TX/RX缓存。多种指示灯信号输出(Full/Half duplex. Link, Speed)。休眠模式及网络奂醒也是其很有特色的功能。下面继续给大家介绍如何使用W5200的间接总线接口模式?
驱动程序移植指引
首先,我们要定义W5200的基地址
定义它为 ‘__DEF_IINCHIP_MAP_BASE__’
方法: #define __DEF_IINCHIP_MAP_BASE__ 0x8000
如果它的基地址是大于0xffff, 以下的部分就要改变一下.
<Refer to types.c>
static u32 SBUFBASEADDRESS[MAX_SOCK_NUM];
static u32 RBUFBASEADDRESS[MAX_SOCK_NUM];
u32 getIINCHIP_RxBASE(u8 s)
u32 getIINCHIP_TxBASE(u8 s)
u8 IINCHIP_WRITE(u32 addr, u8 data)
u8 IINCHIP_READ(u32 addr)
W5200界面
用户使用不同的MCU会有不同‘__DEF_IINCHIP_BUS__’的基本值. 用户是需要在间接模式和SPI模式选择其中一个模式来实现硬件界面
<Refer to types.h>
#define __DEF_IINCHIP_INDIRECT_MODE__ 1
#define __DEF_IINCHIP_SPI_MODE__ 2
#define __DEF_IINCHIP_BUS__ __DEF_IINCHIP_INDIRECT_MODE__
W5200初始化
1) 设置ADDR[0-1]为0x0000。(写入0x00值到0x0000地址)
*((volatile uint8*)(0x0000)) = 0x00;
2) W5200硬件重设
3) 设置W5200为间接的接口模式和地址自动增加功能
MR [0x0000] 0x03;
4) 使用软件重设将W5200初始化.
MR [0x0000] 0x80;
5) 设置网络配置
以下是要配置的基本网络的配置
- 网关地址寄存器
- 源硬件地址寄存器
- 子网掩码寄存器
- 源IP地址寄存器
ex) 网关地址要设置为192.168.0.1
GAR [0x0001 ~ 0x0004] [0xC0, 0xA8, 0x00, 0x01];
使用以上的方法来配置其他的寄存器 (源硬件地址寄存器, 子网掩码寄存器, 源IP地址寄存器)
6) 设置RX寄存器和TX寄存器的内存大小.你可以分配每一个信道的内存大小
7) 当你完全第6 步, 你可以得到W5200的ICMP应答消息. 这代表了,你可以用W5200的IP 地址去 “Ping” 来得到自W5200的回复.
感谢关注!
相关内容:
如何使用W5200的间接总线接口模式(一)
驱动程序移植指引
首先,我们要定义W5200的基地址
定义它为 ‘__DEF_IINCHIP_MAP_BASE__’
方法: #define __DEF_IINCHIP_MAP_BASE__ 0x8000
如果它的基地址是大于0xffff, 以下的部分就要改变一下.
<Refer to types.c>
static u32 SBUFBASEADDRESS[MAX_SOCK_NUM];
static u32 RBUFBASEADDRESS[MAX_SOCK_NUM];
u32 getIINCHIP_RxBASE(u8 s)
u32 getIINCHIP_TxBASE(u8 s)
u8 IINCHIP_WRITE(u32 addr, u8 data)
u8 IINCHIP_READ(u32 addr)
W5200界面
用户使用不同的MCU会有不同‘__DEF_IINCHIP_BUS__’的基本值. 用户是需要在间接模式和SPI模式选择其中一个模式来实现硬件界面
<Refer to types.h>
#define __DEF_IINCHIP_INDIRECT_MODE__ 1
#define __DEF_IINCHIP_SPI_MODE__ 2
#define __DEF_IINCHIP_BUS__ __DEF_IINCHIP_INDIRECT_MODE__
W5200初始化
1) 设置ADDR[0-1]为0x0000。(写入0x00值到0x0000地址)
*((volatile uint8*)(0x0000)) = 0x00;
2) W5200硬件重设
3) 设置W5200为间接的接口模式和地址自动增加功能
MR [0x0000] 0x03;
4) 使用软件重设将W5200初始化.
MR [0x0000] 0x80;
5) 设置网络配置
以下是要配置的基本网络的配置
- 网关地址寄存器
- 源硬件地址寄存器
- 子网掩码寄存器
- 源IP地址寄存器
ex) 网关地址要设置为192.168.0.1
GAR [0x0001 ~ 0x0004] [0xC0, 0xA8, 0x00, 0x01];
使用以上的方法来配置其他的寄存器 (源硬件地址寄存器, 子网掩码寄存器, 源IP地址寄存器)
6) 设置RX寄存器和TX寄存器的内存大小.你可以分配每一个信道的内存大小
7) 当你完全第6 步, 你可以得到W5200的ICMP应答消息. 这代表了,你可以用W5200的IP 地址去 “Ping” 来得到自W5200的回复.
感谢关注!
相关内容:
如何使用W5200的间接总线接口模式(一)
相关文章推荐
- 如何使用W5200的间接总线接口模式(一)
- 装饰者模式的学习(c#) EF SaveChanges() 报错(转载) C# 四舍五入 保留两位小数(转载) DataGridView样式生成器使用说明 MSSQL如何将查询结果拼接成字符串 快递查询 C# 通过smtp直接发送邮件 C# 带参访问接口,WebClient方式 C# 发送手机短信 文件 日志 写入 与读取
- 如何让360浏览器优先使用极速模式打开自己的网站
- 如何使用设计模式来构造系统--(7)
- 如何使用Spark的local模式远程读取Hadoop集群数据
- 如何使用Proxy模式及Java内建的动态代理机制
- 如何使用不同dll的相同namespace下的相同接口
- 如何整合Spring和Mybatis的思路分析(使用面向接口的mapper代理,不用再去写Dao的实现类)
- 不会接口测试时,该如何使用eoLinker进行接口测试
- 如何使用委托与事件来实现观察者模式
- 如何在Java类中定义接口属性并如何使用接口的方法
- 如何使用js来调用微信扫一扫接口
- 如何用代码设置控制自己网站的网页在360浏览器打开时强制优先使用极速模式,而非兼容模式
- 如何使用 Java8 实现观察者模式?(上)
- 与Erich Gamma的一次谈话(第一部分) - 如何使用设计模式 (zt)
- [Silverlight入门系列]使用MVVM模式(3):Model的INotifyPropertyChanged接口实现
- Eclipse 如何使用列编辑模式提高编码效率
- 用C++实现单例模式3——如何在不使用锁和C++11的情况下,用C++实现线程安全的Singleton
- 运行在VMware上的Linux虚拟机如何使用NAT模式连接物理机的外部网络
- 如何使用设计模式来构造系统--(1)