W5100硬件设计和调试要点
文章来源:成都浩然
与MCU的接口
W5100与MCU接口採用并行总线方式(假设要使用SPI接口,建议採用W5200),因此W5100与MCU的接口设计相对简单。以AT89C52为例,例如以下图所看到的。

外扩一个32K的SRAM(IS62C256),依照图示的硬件接口,地址线A15作为SRAM的片选信号。
因此32K的XDATA地址空间在0×0000~0x7FFF。
W5100作为外部接口也映射到89C52的XDATA空间。地址线A15反相(74AHC1G04)后作为W5100的片选信号。因此W5100的地址空间在0×8000~0xFFFF。
假设使用间接总线,地址线A2~A14必须接地。以保证间接总线初始化成功。
复位信号
W5100硬件设计中最重要的复位信号往往被我们所忽视。非常多project师採用RC复位,尽管能够达到复位的效果,但实际使用时非常不理想。
W5100的复位不好往往引起器件不能正常工作,尤其是以太网的物理层不能正常启动,也可能引起MCU对W5100初始化失败。
最理想的复位方法是使用MCU的IO口输出复位信号。这样能够绝对保证W5100与MCU之间的同步,并且一旦工作失败,也便于MCU对W5100进行控制。
假设MCU无法提供足够多的IO口输出复位信号。也能够採用专用的复位芯片(如IMP809T)。这样能够保证可靠复位,但在设计MCU软件时。注意MCU对W5100的操作同步问题。
怎样连接网络变压器或RJ45

HS-MAG1201是带网络变压器的RJ-45,以此为例,TCT和RCT是变压器发送端和接收端的中心抽头。中心抽头必须接3.3V拉高。
非常多project师在设计时忽略了这个细节。
另外。RJ-45的金属外壳最好不要接电源地,有条件的话最好接大地。
TXOP/TXON,RXIP/RXIN的PCB布线尽量等长,并且尽量平行走线。
RSET_BG的电阻
连接到W5100的第1脚的RSET_BG电阻最好用1%的精密电阻,尤其是在大批量生产时,使用普通精度的电阻(5%)会给你的产品调试带来意想不到的麻烦。
电感
数字电源到模拟电源之间的电感很重要。由于从该电感通过的电流比較大,假设电感质量不好,会产生较大的直流压降和交流噪声,严重影响W5100的工作。
有非常多project师在初期调试时都遇到过这样的问题。假设没有合适的电感,能够把电感去掉,直接用导线短路。
晶体振荡
晶体振荡出现的问题最多,也最难解决。
W5100(W5300和W7100与W5100同样)的晶体振荡器有问题,问题主要表如今:
1. 振荡频率偏差较大,远远偏离25MHz;
2. 振荡幅值不够,XTLN和XTLP的最大幅度仅仅有几百毫伏。
出现这样的现象,主要问题是晶体,WIZnet给出的晶体參数例如以下:

W5100的XTLN的正常波形和幅度例如以下:

W5100的XTLP的正常波形和幅度例如以下:

其他关于W5100的设计问题,请參考:http://www.hschip.com.cn/news_show.aspx?
id=110
W5100硬件设计和调试要点的更多相关文章
- 关于AD9516芯片的硬件设计和FPGA程序编写心得
最近在做一个项目,其中有涉及时钟芯片AD9516的硬件设计和软件编程,有些使用心得,供大家参考讨论. AD9516,这是一个由ADI公司设计的14路输出时钟发生器,具有亚皮秒级抖动性能,还配有片内集成 ...
- SLAM+语音机器人DIY系列:(四)差分底盘设计——1.stm32主控硬件设计
摘要 运动底盘是移动机器人的重要组成部分,不像激光雷达.IMU.麦克风.音响.摄像头这些通用部件可以直接买到,很难买到通用的底盘.一方面是因为底盘的尺寸结构和参数是要与具体机器人匹配的:另一方面是因为 ...
- Android之 看“马达”如何贯通Android系统 (从硬件设计 --> 驱动 --> HAL --> JNI --> Framework --> Application)
在Android 2.3(Gingerbread) 系统的时候,我写过一篇关于“Android 震动马达系统“的文章,当时的Linux内核还是2.6版本的.写那篇文章的目的,是想彻底的了解从硬件到驱动 ...
- USB2.0学习笔记连载(六):USB2.0硬件设计需要注意事项
笔者在设计USB2.0时找到了一个官方给的硬件设计正确设计指南,其中有些内容还挺nice的.不单单只是USB的设计,其中有些思想可以应用到其他的场合中. 对于USB2.0而言,全速状态下可以达到480 ...
- HDMI接口基础知识及硬件设计
参考资料:http://blog.csdn.net/u013625961/article/details/53434189: http://blog.csdn.net/u014276460/artic ...
- 实时人工智能:微软发布Project Brainwave预览版 现场可编程门阵列(Field Programmable Gate Array,简称FPGA) 硬件设计可以迅速演进
https://mp.weixin.qq.com/s/bAPiPURZd-YsbV5PbzwpQQ 编者按:随着各大公司对于数据计算的要求越来越高,实时AI成为了研究者们关注的重点.在美国西雅图举行的 ...
- 硬件设计--DC/DC电源芯片详解
本文参考:http://www.elecfans.com/article/83/116/2018/20180207631874.html https://blog.csdn.net/wangdapao ...
- usb工业相机之硬件设计-双缓冲-双端口sdram-fpga
usb工业相机之硬件设计-双缓冲-双端口sdram-fpga 在前期的产品设计中,采用cb提供的结构,68013直接操作摄像头,iic配置摄像头寄存器,板载晶振提供时钟,摄像头的pclk直接接ifcl ...
- C#硬件开发业务流程调试技巧
C#硬件开发,一种是调用厂家提供的api;另一种就是通过com口,发送命令,和硬件通信.这2种方法,如果有硬件,业务流程很好调试.但是大部分硬件,只有和客户联调才会有硬件调试的机会.那业务流程没有硬件 ...
随机推荐
- Cocos2dx3.0过渡篇 globalZOrder()与localZOrder()
这篇博客的标题本想叫“...3.0新的渲染...介绍”,最后还是拉不下这个脸.为啥?觉得自己对渲染的认识还是过于表面,谈不上理解.当然了,这并不影响这篇博客继续写下去.下面看一段3.0Release ...
- 初次玩耍lucene.net,一个小小的记录
lucene.net虽说是强大,但是我还是一年前第一次玩耍,然后就没有然后了,最近准备养成记录博客的习惯了,所以又玩了玩,回来记录一下 首先新建一个类,便于调用 public class Lucene ...
- JanusGraph与Cassandra集成模式
//如果使用的是cassandra 2.2或更高版本,需要开启thift,以使janus连接到cassandra. ./bin/nodetool enablethrift. 15.1 Local Se ...
- Centos RSA 登录
创建密钥 ssh-keygen -t rsa 1.用户目录下新建.ssh/authorized_keys mkdir .ssh #创建隐藏目录 #修改文件访问权限 chmod 700 .ssh cd ...
- 经过Nginx代理后如何区分HTTP请求头中的X-Forwarded-For和X-Real-IP,以及Java示例
在开发工作中,我们常常需要获取客户端的IP.一般获取客户端的IP地址的方法是:request.getRemoteAddr();但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实 ...
- atitit.解决struts2 SpringObjectFactory.getClassInstance NullPointerException v2 q31
atitit.解决struts2 SpringObjectFactory.getClassInstance NullPointerExceptionv2 q31 1. #--现象 java.lang. ...
- Java synchronized详解(java 线程同步)
http://www.cnblogs.com/devinzhang/archive/2011/12/14/2287675.html
- Angularjs学习笔记3_datepicker
1.使用jquery-ui +angular <script src="http://libs.useso.com/js/jquery/1.11.1/jquery.js&qu ...
- js实现div闪烁-------Day46
近期在学着用easyui,发现框架用起来果然是方便简洁,能弄出这框架的都是大神级别了吧,牛啊.... 今天碰到这个应用能够说是让我很之无语,整出源代码来一看就明确了.可之前却还是感觉很奇妙,我也经常告 ...
- C#动态调用WCF接口(2)
如何使用 1.第一种方式比较简单,而且也是大家喜欢的,因为不需要任何配置文件就可解决,只需知道服务契约接口和服务地址就可以调用. 2.使用Invoke的方式,但是需要在调用客户端配置WCF,配置后在I ...