W5200/WIZ820io的MSP430驱动程序

博客
[Mattew Cashdollar] 使用Experimenter Board和TI的Code Composer Studio 5,为W5200研发了MSP430的驱动程序,并且发布了部分实例, Daytime客户端,Echo服务器和DHCP客户端。 由于这种选择比较昂贵,所以Stellaris Launchpad和Ethernet Booster pack将会成为更加廉价和强大的解决方案。更多信息,请参考他的博客(http://www.cashdollar.org/tag/w5200/)。 在做DHCP客户端的这个过程中(http://www.cashdollar.org/tag/w5200/),作者也提到,“该代码是用C语言写的,仅仅差不多只有4千行。编译后的二进制文件也只有15kb, 这真的算很小的了,这要归功于WIZnet的芯片,由于WIZnet  W5200卸载了主控芯片对相关的网络协议处理负担,我们也无需用软件实现IP/TCP/UDP,如果你像我一样着手开发一个项目,我强烈建议你使用WIZnet的芯片。我认为它现在唯一的缺点就是只支持IPV4,而不支持IPV6.然而,我在家没有使用到IPV6网络,因此,这不会给我照成任何影响。” "...有人可能会问我为什么做这事,我原本的计划是为家庭智能化系统写一套代码,但是它比我当初想象的更花时间,我猜想,大部分人可能会用Linux或Arduino这样的平台,这样的话,他们不必为每一个过程都写代码,尽管这样,我还是选择这样做,因为我想要知道如何通过我亲历其为去创造一些东西,同时也为了学习的目的..." ------------------------------------------------------------------ 事实上,尽管IPV6还未完全普及开来,特别是在国内,但WIZnet已经正在研发测试针对IPV6的以太网控制芯片,并会在不久的将来发布。对于作者这种亲力亲为写每行代码而不用Linux或Arduino这样的平台,大家也什么看法呢?这种做法可能见仁见智,但不管怎么样,能自己写出完整代码的确是一件让人信心倍增的事情.^^新年快乐
Read More

全新网络电子秤 购物安心更公正

WIZnet 产品应用小例全系列, 博客
——WIZnet产品应用小例31:网络电子秤        电子秤:新型电子秤通过背部的RJ-45以太网接口接入网络,实现物价信息实时更新,商品总价在线计算等实用功能,既避免了价格变动造成差价的情况,又有效解决了计价失误等人为操作失误,在最大程度上保证购物者的权益,同时又极大地提供给人们便利 更多产品应用小例,参见>>>WIZnet产品应用小例全系列 ——————————————————– WIZnet专注全硬件TCP/IP协议栈,面向嵌入式开发应用,为物联网发展助力!
Read More

W5100故障调试

博客
来自EDNChina: http://bbs.ednchina.com/BLOG_ARTICLE_1981946.HTM “故障现象:W5100在上电后不对其进行任何操作的情况下 LINKLED灯不停闪烁。其正常现象应是上电后灯熄灭。芯片不工作。灌进经正常调试过的程序后PING芯片连续丢包。 …拨通了芯片代理商的电话求助。在与他进行交流后他给我提了一个建议将电源上的2个电感拿掉直接短路试试。抱着试一试的想法。取下电感一通电我就感到有戏了。芯片不开始乱闪了。灌进程序调试后芯片连接正常。至此困恼我N天的问题终于解决了。 在此我总结了W5100一些调试方法与大家分享 1:芯片工作不正常时首先检查晶振频率和幅度 25M晶振的振幅最少在2V左右,低于此值有危险同时要在晶振上并联1M电阻利于起振 2:检查芯片第一脚的偏置电阻。此偏置电阻比较敏感,大小要在12.3K左右,误差不超过1%。所以一般选择12K与300串联 3:检查芯片的31脚SEN 该脚是串并联选择脚。该脚在并行模式下要接10K电阻到地。SPI模式下接VCC 4:芯片的RST信号需要低电平复位 持续时间大于10us MCU上电复位后先延时一段时间在对W5100复位以保证正确复位 5:当出现LNKLED灯莫名闪烁 PING芯片丢包时检查芯片的3.3V和1.8V的各个引脚是否正确连接。可以去掉串在其中的电感。(本次故障的原因) 总结了以上几点包含了芯片的几种错误解决办法。希望对大家有用” --------------------------------------------------------------------------------------------------- 感谢这位朋友的心得分享。对于W5100的调试,第一次接触它的朋友或许会感到很苦恼,让我们看看一位WIZnet代理商的给力总结吧^^ http://www.hschip.com/news_show.aspx?id=183   ---W5100与MCU可以采用并行总线连接或者SPI连接,针对不同的需要,可以采用合适的连接方式,引脚接口说明请参见官网的相关用户手册。  ---“最理想的复位方法是使用MCU的IO口输出复位信号。这样可以绝对保证W5100与MCU之间的同步,而且一旦工作失败,也便于MCU对W5100进行控制。”   --- HS-MAG1201是带网络变压器的RJ-45,以此为例,TCT和RCT是变压器发送端和接收端的中心抽头,中心抽头必须接3.3V拉高。很多工程师在设计时忽略了这个细节。 ---连接到W5100的第1脚的RSET_BG电阻最好用1%的精密电阻   ---数字电源到模拟电源之间的电感非常重要。因为从该电感通过的电流比较大,如果电感质量不好,会产生较大的直流压降和交流噪声,严重影响W5100的工作。   ---晶体振荡出现的问题最多,也最难解决。关于晶体振荡的问题,可以参考:http://www.hschip.com.cn/news_show.aspx?id=113其它关于W5100的设计问题,请参考:http://www.hschip.com.cn/news_show.aspx?id=110   谢谢阅读,也欢迎您评论分享你自己的心得!^^
Read More

W3150A+评估板–EVB-PIC24用户手册(四)硬件设计指南

博客
前几次给大家介绍了关于W3150A+评估板--EVB-PIC24用户指南中一些程序安装测试以及程序员指南的一些内容,今天继续给大家介绍最后一部分,有关于硬件设计指南的部分。供大家详细了解其结构。 4.   硬件设计指南 4.1. 框图 <图 4.1: EVB B/D 框图>   4.2. 框图描述 EVB B/D由 MB-EVB-PIC(EVB 底板) 和PM-PIC24(PIC 模块)组成.  以下的9部分是 EVB B/D的组件. -          PM-PIC24 -          NM7010B+ -          LCD -          SRAM -          RS-232 Port -          扩展板接口 -          功率调节器 -          3.3V系统复位电源  4.2.1.             PM-PIC24 PM-PIC24 由PIC处理器, 8MHz外部晶振以及底板(JP1,JP2)和ICD2(J1)接口的接头组成.   <图 4.2: PM-PIC24 模块尺寸>   为了用EVB板进行轻松的开发,所有引脚除了OSC(RC12, RC15) 都通过模块接口(JP1,JP2)接到MB-EVB-PIC. 接口引脚描述见 <表 4‑1: PM-PIC24 模块引脚描述 >.    <表 4‑1: PM-PIC24 模块引脚描述>   PIC ICD2 和ICSP (J1)引脚图 PIC ICD2 接头(J2) 引脚图和上面的一样. 请参考 MPLAB ICD2用户手册的Chapter 9.3. 4.2.2.             NM7010B+ 模块 NM7010B+ 是一个网络模块,它由W3150A+(TCP/IP 硬件芯片), RTL8201CP(Ethernet PHY)和 MAG-JACK(RJ45 with X’FMR)组成.  TCP/IP,MAC协议层 : W3150A+ 物理层 : Ethernet PHY 连接器 : MAG-JACK  关于NM7010B+ 模块的详细信息,请参考 “NM7010B+ Datasheet Vx.x.pdf”  4.2.3.             LCD LCD 用于调试以及系统状态显示. LCD接口(JP5)的引脚描述如下所示. <表 4‑3: LCD 引脚描述> 4.2.4.             SRAM SRAM有32K字节, 用于PIC的外部数据存储器.  4.2.5.             RS232端口 RS232端口是一个PIC支持的串行USARTs接口. EVB B/D使用9引脚的 DSUB male Type连接器. (PM-PIC24只使用一个 RS232端口.)  4.2.6.             扩展板接口 设计扩展板接口的目的是能够使用EVB B/D轻松进行开发.…
Read More

【转】Arduino学习笔记:2560+W5100试验实时室温对Pachubbe.com推送

博客
  转自极客工坊:http://www.geek-workshop.com/forum.php?mod=viewthread&tid=544 作者:沧海笑1122 试验名称:2560+W5100试验实时室温对Pachubbe.com推送 试验时间:2012-02-18 控制板:arduino 2560 元器件:LM-35 DZ模拟传感器一只,正对标示,从左往右,+5V,模拟输出,GND 连接方法:接好+5V,GND,将LM35的模拟输出接2560的模拟PIN4 W5100连接至你的路由器,路由器连接互联网,PC连接2560便于观察网络连接以及数据采集情况 结果运用 : Tep= ** C;将实时室温传感器数据推送至www.pachube.com,每10秒刷新一次 代码原型:(1)官方例程pachubeout(-使用 ERxPachube 库的实例. ) (2)弘毅教程--学习笔记11, (3)其它结合网络资源整理 * 本实例创建于2011.04.22,作者是Jeffrey Sun * 开源项目详见http://code.google.com/p/pachubelibrary/ 所需要的库在此处下载http://code.google.com/p/pachube ... ip&can=2&q=,释放至此处:                     第一步: 如果你还没有一个 Pachube 账户, 先去注册一个 (http://www.pachube.com/).注意,有一个开发账号和一个通讯组讨论账号,我们需要前者。注册成功后,我们将获得一个API key pahube.com是一个免费的提供给开发者的实时数据上送、展示的网站。内置API,使用者只需要调用API(给出feed的ID),就可以将传感器数据推送至你自己独享的feed数据库。然后以图形方式进行丰富展示。 第二步:创建一个类似http://www.pachube.com/feeds/23408这样的素材库(feed) 为了测试,我们只需要创建一个ID为0的数据流 以下就是我建立的一个ID号码为49030的feed,需要设置项目名称、简介、关键词(便于检索)、项目的位置(经纬度、海拔、室内还是室外、移动还是固定等等)、数据表ID编号、表述、单位等。支持多数据ID。你可以在一个素材中推送多个传感器数据,数据格式有长型、字符型等。 第三步: 将以太网扩展板(W5100)堆叠至2560板上。LM35接2560的模拟输入(PIN 4) 第四步:输入、编译代码 代码一共分为个部分: 1、设置MAC地址、IP地址,API KEY以及FEED ID 2、连接互联网,将温度传感器数据转换为摄氏度,然后推送至pachube.com 3、在串口助手中,监视网络连接情况,以及传感器数据,状态值为200则连接成功,否则不成功   第五步:在www.pachube.com中观察你的数据 为了引起温度波动,图中的两处波动是我用手指贴近FM35后造成的波动。 后记: 本实例学习过程中,先后遇到了W5100不能稳定工作、无线路由器损坏、找不到一个实时推送数据的网站等问题,感谢弘毅、HEAVEN、小强、张丹、风的孩子等高手支持。我是以arduino为兴趣的一个软硬件基础都很薄弱的初学者,但是兴趣是最大的推动力。这个实例的学习仅仅是将一个开源项目与弘毅笔记简单的组合,即便是一个简单的尝试也感到很多困难,里面如有理解错误的地方敬请指正。 附代码: /*项目名称:LM35温度传感器连接2560向www.pachube,cin推送数据试验 试验时间:2012-02-18 * 本实例创建于2011.04.22,作者是Jeffrey Sun * 开源项目详见http://code.google.com/p/pachubelibrary/ */ #include <Arduino.h> #include <HardwareSerial.h> #include <ERxPachube.h> //调用ERxPachube库 #include <Ethernet.h> #include <SPI.h> byte mac[] = { 0xCC, 0xAC, 0xBE, 0xEF, 0xFE, 0x91 }; // 确认这是你网络中唯一的MAC地址,用小强的话说,你就是网卡厂商,自己定一个 byte ip[] = { 192, 168, 1, 177 }; // 设置以太网扩展板的IP地址 #define PACHUBE_API_KEY "Your API_KEY" // 填写你自己的 API key #define PACHUBE_FEED_ID Your Feed Id // 填写你自己的素材ID( feed id) //定义三个FM35用的变量 int potPin…
Read More

网络数码相框 精彩尽在分享

WIZnet 产品应用小例全系列, 博客
——WIZnet产品应用小例30:网络数码相框         数码相框:目前家中使用的数码相框,大多是通过读取储存卡展示相片,未来的发展趋势,也许根本就不需要储存卡,只需要一个以太网芯片,就可将通过网络传输过来的图片显示在相框内,WIZnet为您实现了这一想象。在数码相框中安装WIZnet以太网芯片,使其通过联网获得由手机、数码相机甚至是摄像机拍摄的图片或视频,然后再相框中显示出来,想象一下,你出门在外旅游,拍摄一张照片,只需奥联网就可以传到家中的相框里,就好像是电子版明信片,很有趣吧。手机的拍摄通过服务器连入互联网,而数码相机摄像机则是线连接电脑,通过电脑连入ISP服务器再连入互联网。我们将来的生活将会变得丰富多彩。 更多产品应用小例,参见>>>WIZnet产品应用小例全系列 ——————————————————– WIZnet专注全硬件TCP/IP协议栈,面向嵌入式开发应用,为物联网发展助力!  
Read More

W3150A+评估板–EVB-PIC24 用户手册(三)

博客
昨天给大家讲了关于W3150A+评估板--EVB-PIC24 关于程序员指南中,关于内存映射和EVB B/D固件的编译及管理程序的一些内容。 今天给大家介绍 程序员指南中,关于EVB B/D固件中应用的问题,包含回路程序, 网络服务器,和DHCP 客户端. 通过管理程序选择应用. 3.2.6.             应用 它是一个用iinChip™的网络应用,它包含回路程序, 网络服务器,和DHCP 客户端. 通过管理程序选择应用.  3.2.6.1.     回路 TCP 服务器 回路TCP服务器程序中, EVB B/D 工作在服务器模式, AX1, PC 测试程序工作在客户端模式. AX1 连接到EVB B/D, 如果连接成功, AX1 通过 TCP信道发送数据流. EVB B/D通过TCP信道不经过处理发挥数据流. 回路TCP 服务器程序使用loopback_tcps() , <图 3.14> 展示了loopback_tcps()的处理流程.  <图 3.14 : loopback_tcps() > <表 3‑23: loopback_tcps()中的参考函数> 如果服务器socket在SOCK_CLOSED 状态,loopback_tcps()用Sn_MR_TCP, 监听端口号和 Option Flag等元素调用socket() 来创建TCP服务器socket.  socket() 函数改变socket状态为SOCK_INIT而不顾原来的socket状态.如果服务器socket创建成功, 在以参数用服务器socket调用listen()之后,它处于TCP 服务器模式.listen()使得服务器socket 状态为监听状态并保持坚挺状态直到任何客户端的连接.  此时, 当任一客户端尝试连接到服务器socket时,服务器 socket 状态从 “listen” 改为 “established”. 此时客户端和服务器之间的连接建立,在SOCK_ESTABLISHED状态可以进行数据传送. 数据的传送在SOCK_ESTABLISHED中使用 recv() 和send()实现.这里的数据传送是EVB B/D(服务器) 和AX1(客户端)之间1对1的传送.   在SOCK_ESTABLISHED状态,如果客户端请求关闭连接, 服务器 socket状态将从 SOCK_ESTABLISHED 改变为SOCK_CLOSE_WAIT. 在SOCK_CLOSE_WAIT 状态,不能进行数据通信并且必须关闭服务器 socket. 在 SOCK_CLOSE_WAIT状态, 调用disconnect() 关闭socket. disconnect() 改变socket 状态为SOCK_CLOSED 而不顾以前的socket状态.  3.2.6.2.     回路 TCP 客户端 在 回路TCP 客户端程序, EVB B/D 工作在客户端模式 , AX1, PC 测试程序工作在服务器模式. EVB B/D 尝试连接到以服务器状态等待的 AX1, 如果连接成功,EVB B/D 通过TCP 信道接收数据流, 然后 EVB B/D将接收到的数据流不经过处理发送给AX1.  回路 TCP 客户端程序是用 loopback_tcpc() 创建的, <图3.15>是loopback_tcpc()处理的进程. 如果客户端socket在SOCK_CLOSED 状态, loopback_tcpc()用Sn_MR_TCP, Any Port Number和Option Flag等元素调用socket()以创建TCP客户端socket.  这里调用socket, get_system_any_port()使用任意端口号. 这是因为如果用同样的端口号尝试连接到同样的服务器连接有可能失败.…
Read More

直面W5100发热问题

博客
W5100是WIZnet研发的一款非常经典的TCP/IP芯片,它能将相关网络协议从主控芯片中卸载出来,释放更多内存资源,能明显提升整个系统的网络接入性能。它经历住了长期的市场考验,它的易用性和出色表现也得到了不少开发者的认可和亲睞。各位朋友们也可能注意到了W5100在使用过程中可能温度略高,朋友们也在网站、论坛等平台上针对这个问题展开了一些讨论,下面将这些整理出来供大家参考一下。 来自“极客工坊”:http://www.geek-workshop.com/forum.php?mod=viewthread&tid=1179 “电源插头”提问:“入手W5100,用的时候一上电就发热,烫手。刚开始还都能运行,后来就ping不通了,不知道什么情况。板子是带小SD的那种。” 网友回帖: ---“囧。。。会不会是你的W5100板子有问题,我自己做的W5100,运行一晚上往外网发数据。。。第二天也没死机。。。温度嘛,不能算很烫。比较热那种感觉。。” ---“烫确实有点烫,不过我的已经连续运行一个多星期了,一分钟发一次数据。。。” ---“W5100的确发热有点高。据说这是很正常的。因为以太网的phy本身不是低功耗的,所以产热量有点高。” ---“很热是正常的,能工作。不过这种模块有一个很有趣的问题,你只是接上USB上电,而没有点开arduino的串口监视窗口(打开时IDE会由串口发送复位信号),或者没有按复位。芯片里面的程序是正常运行,但网络不通的。” 来自“阿莫西电子论坛”:http://www.amobbs.com/thread-4702243-1-1.html “Andiwxz”的提问: “W5100很热,烫手怎么回事? 在测试的时候我的W5100很热,烫手。我还没找出问题。请大家帮忙看看有什么问题” 网友回帖: ---“W5100发热是正常现象,因为它集成了PHY,工作电流在130mA左右。。。” 来自“百度知道”: “ W5100的温度有点高,这是不是说明芯片有问题?” 网友回帖: ---“因为W5100中嵌入了PHY(模拟部分),会比其他WIZnet芯片产生的热量多些,但是这并不影响它的性能。W5100是通过了关于温度的可靠性测试的。“   -----------------------------------------------------------------------------------------------------------------------------------------------   小结: 由于W5100是将以太网的PHY集成在芯片内,在加上W5100封装的体积小,因此在实际使用时发现W5100比较热。W5100的发热主要是由以太网的PHY引起的。一般的以太网PHY的电流都比较大,比如RTL8201CP,IP101A等,在3.3V工作电压、100BaseT时功耗都在120mA左右。W5100属于工业级器件,工作温度范围在-40度到85度。一般不需要散热处理,如果工作环境实在是极其恶劣,果然工作环境实在恶劣如周围有大发热设备,可以考虑加散热片或通风换热。 但面对绝大多数工业应用,W5100是没问题的,也不需要做散热处理。W5100也通过了相关测试,大家可以放心使用!     相关文档:W5100温度认证报告(W5100 Temperature Qualification Report)  
Read More

全新网络电子秤 购物安心更公正

WIZnet 产品应用小例全系列, 博客
——WIZnet产品应用小例29:网络电子秤        电子秤:新型电子秤通过背部的RJ-45以太网接口接入网络,实现物价信息实时更新,商品总价在线计算等实用功能,既避免了价格变动造成差价的情况,又有效解决了计价失误等人为操作失误,在最大程度上保证购物者的权益,同时又极大地提供给人们便利。 更多产品应用小例,参见>>>WIZnet产品应用小例全系列 ——————————————————– WIZnet专注全硬件TCP/IP协议栈,面向嵌入式开发应用,为物联网发展助力!
Read More

W3150A+评估板–EVB-PIC24 用户手册(二)

博客
今天给大家继续介绍有关W3150A+评估板--EVBPIC24用户手册中关于 程序员指南的相关内容,供大家参考! 3.   程序员指南 3.1. 内存映射 3.1.1.             代码 & 数据内存映射 EVB-PIC24的内存映射有128 K字节的程序存储和8K字节的SRAM. 外部空间(并行主端口)分为SRAM 区域和 W3150A+ 区域. 除了这些, 还有4K字节的 串行EEPROM. 各种环境变量记录在EEPROM上.  <图 3.1>, <表 3-1> 是EVB B/D的系统内存映射简介.  <图 3.1: EVB B/D 内存映射>       <表 3‑1: 设备 MAP 定义> 3.2.1.             串行 EEPROM MAP <图 3.2>, <表 3.2> 示串行 EEPROM Map的图和表. 请参考 “evb/config.h” and “evb/config.c.”  <图 3.2: 串行 EEPROM Map> <表 3‑2: 串行 EEPROM MAP 定义>    3.1.2.1.     系统信息  系统信息区域用在诸如EVB B/D的固件版本的记录系统信息中.  <表 3‑3: 系统信息> 系统信息以 SYSINFO 数据类型的方式被访问. <表 3‑4: SYSINFO 数据类型定义> <表 3‑5: 系统信息访问功能>  3.1.2.2.     网络信息 网络信息用与记录网络配置信息以便于被EVB B/D使用. <表 3‑6: 网络信息> 网络信息以 NETCONF 数据类型被访问.  <表 3‑7: NETCONF 数据类型定义>  3.1.2.3.     信道信息  以下表格介绍了iinChip™的4个信道的应用.  <表 3‑9: 信道信息> 信道信息用于记录iinChip™的 4 个信道的应用类型. 信道应用类型包含 回路 TCP服务器, 回路TCP 客户端,回路 UDP,DHCP客户端, 网络服务器,信道信息以APPTYPE枚举类型定义.  <表3‑10: 信道应用类型> 信道信息以 CHCONF数据类型被访问.  <表 3‑11: CHCONF 数据类型定义> <表 3‑12: 信道信息访问功能>  3.2. EVB B/D 固件  EVB B/D 固件…
Read More