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种方法,如果有硬件,业务流程很好调试.但是大部分硬件,只有和客户联调才会有硬件调试的机会.那业务流程没有硬件 ...
随机推荐
- Audio简介
本片只简单从硬件角度简介Audio AC97/HDA Audio总线分两种: (1)I2S (2)HDA HD Audio spec Audio verb table是用来初始化audio的,一个au ...
- ubuntu 12.04上安装sougou输入法
1.卸载ibus sudo apt-get install ibus 2.添加源 sudo add-apt-repository ppa:fcitx-team/nightly 3.更新源 sudo a ...
- iOS的isnan函数
假设一个数是一个确定的数.那它就不是nan值 假设一个数是无穷大,无穷小.那它就是nan值 我试着打印了下面的值是不是nan值 if (isnan(1)) { DLog(@"1是NAN&qu ...
- 使用SVN管理unityproject
我们的项目使用SVN管理.这几天遇到了几个问题,攻克了一下.顺便做了一个总结. 1.关于使用SVN管理unity项目的一些设置和说明 首先在unity中进行两部操作:Edit->Proje ...
- 如何获取wifi名称(SSID)
@import SystemConfiguration.CaptiveNetwork; /** Returns first non-empty SSID network info dictionary ...
- Debian run jar like a native program
sudo apt install binfmt-support jarwrapper 比如 swagger-codegen wget -O ~/.local/bin/swagger-codegen h ...
- A - Bi-shoe and Phi-shoe 欧拉函数
/** 题目:A - Bi-shoe and Phi-shoe 链接:https://vjudge.net/contest/154246#problem/A 题意:每一个数都有一个得分,它的得分就是, ...
- 如何添加、删除、合并PDF文件里的页面?
使用Adobe Acrobat. Adobe中文官网http://www.adobe.com/cn/products/acrobat.html 能够自己下载破解版. watermark/2/text/ ...
- 配置LANMP环境(4)-- 安装MYSQL与安装相关软件,配置
一.安装MySQL 5.7 1.下载配置与安装 cd ~ wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm ...
- 个人博客开发之 ueditor 安装