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种方法,如果有硬件,业务流程很好调试.但是大部分硬件,只有和客户联调才会有硬件调试的机会.那业务流程没有硬件 ...
随机推荐
- J2EE的体系架构——J2EE
J2EE是Java2平台企业版(Java 2 Platform,Enterprise Edition),它的核心是一组技术规范与指南,提供基于组件的方式来设计.开发.组装和部署企业应用.J2EE使用多 ...
- Mac和Windows上Android Studio经常使用的快捷键
小编整理了一些Mac和Windows上超有用的Android Studio经常使用的快捷键. Ctrl(Command)+Y 删除行 Ctrl(Command)+Z 倒退 Ctrl(Command)+ ...
- jquery的ajax-serialize()
jQuery ajax - serialize() 方法 jQuery Ajax 参考手册 实例 输出序列化表单值的结果: $("button").click(function() ...
- Python内置函数之filter()
filter(function,iterable)用来过滤可迭代对象 如果提供过滤条件的函数为None,则可迭代对象中为False的元素将被过滤掉. 例如: >>> a = [,,F ...
- java-SimpleDateFormatDemo & BirthDemo
java日期格式设置,以及案例BirthDemo package com.example; import java.text.ParseException; import java.text.Simp ...
- ORA-00349: failure obtaining block size for '+fra_grp01_d
有一次恢复库以后,open时报错ORA-00349,例如以下.最后通过删除这个log group解决. SQL> alter database open resetlogs; alter d ...
- Vim使用技巧(2) -- 插入模式技巧 【持续更新】
组合快捷键 Ctrl + h //删除前一个字母(同退格键) Ctrl + w //删除前一个单词 Ctrl + u //删除到行首 Esc //切换到普通模式 Ctrl + [ //切换到普通模式 ...
- 配置LANMP环境(5)-- 安装NGINX与配置
安装nginx yum install nginx 若提示找不到nginx,则在软件源中添加nginx的软件源文件: vim /etc/yum.repos.d/nginx.repo 添加如下内容: [ ...
- java 获取网页指定内容
import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; ...
- dynamic web project