W5100使用中的常见问题

来自:成都浩然

越来越多的嵌入式网络系统工程师喜欢上了W5100,它集TCP/IP协议栈、以太网的MAC和PHY一体,不仅使系统性能得到很大的提升,也给产品开发工作带来极大的方便。随着W5100的普及推广,我们的许多工程师在开发过程中也遇到很多的问题,我们把这些问题整理总结,与大家分享。W5300的使用中遇到的问题也同样可以参考处理。

1. 最常见的是焊接问题,由于W5100引脚密集,稍有不慎便会出现虚焊,短路的现象,因此在进行以后的硬件和软件调试前,先确认焊接无误。

2. 硬件复位没有处理好。由于W5100内部没有上电复位电路,因此必须外部给W5100一个可靠的复位信号。

3. W5100复位与CPU复位不同步。由于W5100要3.0V以上才能够正常工作,而某些低电压的CPU在2.7v就已经开始工作。CPU一正常工作就对W5100初始化,势必会造成初始化不成功的后果。

4.使用W5100的SPI接口,检查SPI的驱动程序是否正常,最简单的办法是向IP地址寄存器写入IP地址值,然后再读出来进行比较。如果错误,则检查W5100的硬件接线是否正确,如SEN (W5100的第31脚)是否为高电平等。然后检查软件中SCLK的时序,读/写命令是否正确,发送的字节是否先从MSB开始等等。

5. 使用并行总线则检查硬件连接是否正常,SEN应该接低电平。其它检查的办法与SPI总线相同。

6. 如果上面的方法还不能够解决问题,则检查RSET_BG (W5100的第1脚)的电阻,这是12K和300欧的电阻的串联,要求12.3K的阻值,该值误差应控制在1%以内。

7. 如果上述检查都正确无误,那么则需要检查W5100与RJ45之间的网络变压器的接线。网络变压器应使用1:1的变比。浩然电子都提供的有相关的图纸和资料。

只要注意上述问题,W5100就可以正常工作。将W5100的MAC地址,子网掩码和IP地址配置好以后,就可以通过网内的计算机对W5100进行ping。

更多:W5100常见问题汇总

WIZnet官方微博: http://weibo.com/wiznet2012

W5100使用中的常见问题,布布扣,bubuko.com

时间: 2024-08-05 21:04:20

W5100使用中的常见问题的相关文章

Maven安装及使用中的常见问题

环境:win7  +    eclipse mars版本 一.安装maven 1.安装maven插件 1).下载maven并解压到指定目录,到该目录下复制当前路径path 2).在eclipse的dropins目录下编辑maven.link,将maven所在的path填写进去: path=D:/Program Files/DevTools/apache-maven-3.3.9 然后启动eclipse,在Window-->Prefrence窗口看到Maven的选项说明maven插件安装成功. 2.

[转载]c语言宏定义

一. #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利. 1 #define命令剖析 1.1   #define的概念 #define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为

C++ #define用法详解

#define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利. 1 #define命令剖析 1.1 #define的概念 #define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本

使用Maven自动部署Java Web项目到Tomcat问题小记

导读 首先说说自己为啥要用maven管理项目,一个直接的原因是:我在自己电脑上开发web项目,每次部署到服务器上时都要经历如下步骤: 首先在Eclipse里将项目打包成war包 将服务器上原来的项目文件夹删掉 cd /var/lib/tomcat7/webapps sudo rm XXX.war sudo rm -rf XXX 将war包传到服务器上,比如用pscp命令上传 pscp -pw "xxx" XXX.war [email protected]:/var/lib/tomcat

c++ define的用法(转)

#define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利.1 #define命令剖析1.1 #define的概念#define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本.该命

C++中#define用法

http://blog.sina.com.cn/s/blog_686188ef0100klku.html #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利.1 #define命令剖析1.1 #define的概念#define命令是C语言中

[转]C++宏定义详解

一.#define的基本用法     #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利. 1 #define命令剖析 1.1   #define的概念     #define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符

C++宏定义详解

一.#define的基本用法     #define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利. 1 #define命令剖析 1.1   #define的概念     #define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符

C语言宏定义#define用法

#define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利.1 #define命令剖析1.1   #define的概念#define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本.