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?
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种方法,如果有硬件,业务流程很好调试.但是大部分硬件,只有和客户联调才会有硬件调试的机会.那业务流程没有硬件 ...
随机推荐
- C# NPOI操作Excel(下)
根据自己项目需求编写,仅供参考 个人建议:使用Excel模板进行导出操作.尽量避免自己生成Excel(既繁琐又容易出BUG).大多情况下导出Excel都是固定格式,使用模板导出会方便很多. publi ...
- sql语句单据编号生成防并发
有用户反馈说发现重复单据号,检查发现以下单据号被分配给了不同的两个职工 系统中使用语句exec GetNewOrderNumber 'pwgnumber','PWG',1, @pwg_number o ...
- C++在线编译器
主要有3个,且它们都支持C++11 http://gcc.godbolt.org/ http://coliru.stacked-crooked.com/ http://ideone.com/ 第一个网 ...
- python自动生成文件头
"auto add pyhton header --start autocmd BufNewFile *.py 0r ~/.vim/vim_template/vim_python_heade ...
- python语言 buffer类型数据的使用 'ascii' codec can't decode byte 0xe5 问题的解决
在python中我们使用buffer类型时可以将其转换为str类型. 如果obejct的类型为<type 'buffer'> ,可以使用str(object)将其转换为字符串类型. 在转换 ...
- java中获取长链接的域名
示例:长链接:https://www.baidu.com?a=1&b=2 域名:www.baidu.com static String getDomainUrl(String url) { S ...
- mysql5.7.22 zip 版安装
2.将zip文件解压到本地,本文解压到如下目录:D:\softwares\mysql-5.7.14-winx64 3.新建一个配置文件(my.ini)用于配置字符集.端口等信息,用以覆盖原始的配置文件 ...
- centos 源码安装apache 之apr、apr-util
apr 和 apr-util官网下载地址: http://apr.apache.org/download.cgi 安装顺序是先安装apr然后再安装 apr-util,因为安装apr-util需要apr ...
- cookie做订单
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- tomcat 测试页面显示
首先下载匹配jdk版本的tomcat 解压即可使用 将完成的html文件直接放置到webapps目录下的子目录中是无法使用的 原因是tomcat默认加载的是jsp文件,且需要文件配置 所以,除去在we ...