应用WIZnet产品的开源硬件

博客
如下开源硬件项目列表中,均使用了WIZnet芯片及模块。 以太网 Arduino 兼容 Arduino Ethernet Shield Arduino Ethernet Shield R2.0 Arduino Ethernet Shield R3.0 Arduino Ethernet Adafruit:Ethernet Shield  DFRobot:Electronics DIY Arduino Ethernet Shield W5100  DFRobot:DFRduino Ethernet Shield V2.1   DFRobot:Ethernet Shield W5100 For Arudino  XBoard V2 -家庭及因特网之间的网桥 (Arduino 兼容) from DFRobot Ethernet Shield for Arduino - W5200 from DFRobot W5200 DFRduino 以太网扩展板 Elecfreaks:Ethernet Shield  Elecfreaks:Ethernet shield - W5100   Elecfreaks:NX Bridge (含有Bee适配器)  ELEC House:Arduino Ethernet Shield  Elecrow:W5200 Ethernet Shield  Freetronics:Ethernet Shield with PoE  Freetronics:EtherMega Freetronics:EtherTen  Freeduino 以太网模块 E-Shield v2 Gravitech:Ethernet Shield for Arduino nano IteadStudio:ITEAD W5100 Ethernet Shield  NKC Electronics:Ethernet Shield OpenJumper:Zduino Ethernet Sainsmart:Ethernet Shield W5100 SeeedStudio:Ethernet Shield SeeedStudio:W5200 Ethernet Shield  SeeedStudio:Seeeduino Ethernet Sparkfun:PoEthernet Shield Sparkfun:Ethernet Pro Tinker.it:Ethernet Shield AndyMark:Ethernet Microcontroller GHI:FEZ Connect Shield  Korduino Ethernet Shield Lseeduino Ethernet Shield Arduino Ethernet Shield R3 优化版本 以太网板 使用 W5500: Netzwerk…
Read More

Microduino-W5500

博客
2014-06-13, Microduino 发布了全新的以太网模块Microduino-W5500 ,模块基于WIZnet以太网芯片,拥有独特的全硬件TCP/IP协议栈。 特点 继W5100、W5200和W5300之后一款全新的全硬件TCP/IP协议栈以太网芯片,这款芯片具有更低功耗与工作温度,及改良工艺,是嵌入式以太网的最佳选择方案; 采用 U型 27pin Microduino 标准接口,与 Microduino-RJ45 模块叠加使用,即插即用,整体体积更小; 开源的硬件电路设计,与 Arduino 兼容的编程开发环境程; 统一的 Microduino 接口规范,和丰富的外围模块,可方便、灵活的与其他符合 Microduino 接口规范的模块、传感器进行快速的连接和扩展; 2.54间距的排母接口方便集成到洞洞板。 Microduino 在去年9月9日在kick-starter上发起众筹. 此项目一直在kicktraq.com的technology类中的“popular this week” 名单, 以及 top 10 “hot list”中。Microduino 在前三天就达到了预期目标$20,000 ,一周之内就200%达成目标。最终以原目标的六倍收尾!!! 来源: http://www.microduino.cc/w5500 WIZnet官方微博:http://weibo.com/wiznet2012
Read More

WIZnet推出串口转以太网模块WIZ550S2E

博客
WIZ550S2E 是一个网关模块,提供RS-232转TCP/IP协议功能。并可基于TCP/IP及以太网实现网络设备管理、远程测量,只需用RS-232串口连接当前设备。换句话说,WIZ550S2E是一个协议转换器,可将数据以TCP/IP数据格式通过串口发送,反之亦然。   特点 即插即用串口转以太网模块 * 简单快速增加网络功能 * 提供固件订制 单串口转以太网 * 支持RS-232接口的主板 * 支持RS-422/485接口的主板 支持TCP&UDP通讯 支持DHCP,DNS 简易配置 * 配置工具&串口命令 10/100 以太网,串口速度高达230,400bps 硬件配置 MCU  LPC11E36FHN33 TCP/IP 控制器W5500 RJ45(集成变压器) 2.54mm 单排针座*2       >>浏览WIZ550S2E用户手册
Read More

W5500 ARM mbed 库发布

博客
WIZnet 是 ARM mbed 的官方合作伙伴,并为 mbed 发布了W5500库。这个库支持 W5100, W5200 及 W5500,你可以通过SPI将你的  WIZ550io 连接mbed平台。以下详解了如何在mbed平台上使用WIZnet以太网库。我们用 几个mbed平台测试过,如果你有任何问题,可以在Wiznet mbed 社区留言。   更多WIZnet动态,请关注WIZnet官方微博:http://weibo.com/wiznet2012
Read More

W5100硬件设计和调试要点

博客
文章来源:成都浩然 与MCU的接口 W5100与MCU接口采用并行总线方式(如果要使用SPI接口,建议采用W5200),因此W5100与MCU的接口设计相对简单。以AT89C52为例,如下图所示。   外扩一个32K的SRAM(IS62C256),按照图示的硬件接口,地址线A15作为SRAM的片选信号。因此32K的XDATA地址空间在0x0000~0x7FFF。 W5100作为外部接口也映射到89C52的XDATA空间,地址线A15反相(74AHC1G04)后作为W5100的片选信号。因此W5100的地址空间在0x8000~0xFFFF。 如果使用间接总线,地址线A2~A14必须接地,以保证间接总线初始化成功。 复位信号 W5100硬件设计中最重要的复位信号往往被我们所忽视。很多工程师采用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拉高。很多工程师在设计时忽略了这个细节。 另外,RJ-45的金属外壳最好不要接电源地,有条件的话最好接大地。        TXOP/TXON,RXIP/RXIN的PCB布线尽量等长,而且尽量平行走线。 RSET_BG的电阻 连接到W5100的第1脚的RSET_BG电阻最好用1%的精密电阻,尤其是在大批量生产时,使用普通精度的电阻(5%)会给你的产品调试带来意想不到的麻烦。   电感 数字电源到模拟电源之间的电感非常重要。因为从该电感通过的电流比较大,如果电感质量不好,会产生较大的直流压降和交流噪声,严重影响W5100的工作。 有很多工程师在初期调试时都遇到过这种问题。如果没有合适的电感,可以把电感去掉,直接用导线短路。 晶体振荡 晶体振荡出现的问题最多,也最难解决。 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
Read More

搭建属于你的家庭网络实时监控–HTML5在嵌入式系统中的应用·高级篇

博客
*本文已刊登在《无线电》2014年第6期 《搭建属于你的在线实时采集系统》中已经对HTML5平台有了初步的认识,并基于此向大家展示了如何将采集到的数据上传至网络,实现实时观测。HTML 5是近十年来Web开发标准最巨大的飞跃。想必你已经体会到了HTML5的便捷之处,为了帮助大家更好在此平台上拓展应用,本文更加深入的探析“智能家居”与HTML5的完美结合,让家庭网络实时监控轻松实现。 关于智能家居  2013年,太多公司包括三星和飞利浦在内都对智能家居动了念头,在CES的展览上三星展示了他们的新型智能清洁机器人,飞利浦的Hue智能LED灯泡,遭众多模仿的Nest的智能恒温器,结合智能控制、智能终端、智能显示的智能家居,将迎来更多创意。 所有这些,都让我们感受到智能家居已经脱离一种概念,进入到了下一个产品化阶段。但从用户的角度出发,更多人还是希望体验智能家居最基本的安全保障,便捷、经济、实用依然是多数人关注的主题,所以家庭远程监护无疑得到更多青睐,特别是家中有老人、孩子,或者是你的宠物,发生了紧急状况,怎样才能第一时间得知情况并避免事故的发生?   图1 家庭监控系统示意图 (图片来自:http://dynews.zjol.com.cn/pic/0/11/43/44/11434423_934000.jpg) 从此角度出发,我想到DIY一个家庭网络实时监控系统,用手机或电脑连接网络,就能看到家中各个角落的情况。今天我们介绍的内容就是,用一个摄像头 + 一块单片机就可以搞定的家居网络实时监控,搭载html5平台,实现更佳效果。 关于HTML5—WebSocket数据传输 网络实时访问,图像画质是否能够达到理想值呢? 以前的web界面在数据采集显示方面,都是采用的轮询方式,数据及时性不好,如果轮询过快,不但加大浏览器的负担,而且可能达不到你想要的效果。这次之所以选择HTML5,由于新增的websocket API函数,几乎完美的解决了实时性的问题。 那么介于我们是采用单片机,将采集到的数据上传至网页,所以可负载的数据量收到缓存大小的限制,为解决此问题, 我们将采集到的视频数据直接输出JPEG格式的图片,暂设播放速率设置为5帧/秒,即画面每秒切换5幅,如此我们就可以实现视频的观看了。   网络摄像头系统演示 系统环境 a) 单片机:STM32F103RC,256K字节Flash,48K字节SRAM,2K字节EEPROM b) 以太网控制器:W5500,SPI接口与单片机相连 c) 电源:USB供电 d) 硬件外设:OV2640摄像头 图2 W5500EVB与OV2640摄像头连接图 开发工具: IAR for ARM v5.41,这是我们工程所使用的版本。如果使用不同版本的IAR,请对STM的库稍作调整。 看代码之前,我们还是先来了解一下整个的程序流程,流程图由一个主流程图和两个子流程图组成。如下图所示,程序采用轮询机制来处理请求和图像数据。在硬件初始化完成之后,将进行网络参数配置,这是要根据自己网络的情况来配置W5500的IP地址等网络参数,确保W5500能连接外网;本程序中,我们会使用W5500的两个socket资源,一个用来创建Http Server,这样在浏览器上输入配置的IP地址,浏览器作为客户端就能远程访问我们的硬件了;另一个用来创建Web Socket Server,与网页端建立通信链路,用来传输我们的摄像头图像数据。   图3 系统主流程图     图4 a Http处理函数流程图            图4b WebSocket处理函数流程图   当我们在浏览器上访问硬件的IP地址,会向W5500发送http请求,W5500在收到请求后将html5的网页程序发送给浏览器,在网页程序中,浏览器会主动与硬件建立WebSocket连接。在完成握手操作后,图像传输的数据通道即建立了。这样每当硬件轮询到新的图像准备好后,就会通过WebSocket将图像数据发送给浏览器,浏览器收到数据后,在界面上绘制图像。实际效果图请见图5。接下来将对摄像头的初始化和图像数据缓存程序,html5中在画布上绘制图像的程序以及WebSocket数据传输程序做详细介绍。 图5 系统浏览器端效果图   图6 系统实际工作情况 OV2640介绍 1.OV2640硬件简介 图7 OV2640摄像头 OV2640像素输出最大支持200万像素,支持QCIF(176*144)、QVGA(320*240)、VGA(640*480)、1027*768、1600*1200等像素输出。   具备两种输出格式: a、原始数据如RGB565,RGB RAW,YUV422; b、JPEG压缩图像格式(可极大减少传输带宽,例如640*480分辨率的原图片大小在300KB左右, JPEG编码输出后大小仅约为16KB) 在本系统中,由于使用原始数据格式,图像文件过大(以RGB RAW为例,一帧640*480的图像文件大小为640*480*3=900Kbytes),影响数据传输速率和更新图像的频率,进而影响浏览器的视频显示效果;其次stm32f103RBT6处理能力有限,无法做复杂的图像压缩算法,所以选择OV2640内部DSP压缩后的JPEG压缩图像格式是最好的选择。 MCU与OV2640的通信采用串行与并行结合,OV2640带有SCCB(Serial Camera Control Bus)双线串行接口,MCU通过SCCB接口配置和读取OV2640的信息;MCU通过并行总线的方式来接收OV2640的图像数据。系统的硬件连接图如下:   图8 系统硬件电路连接简图   其中,Y(2..9)为8位MSB(Most Significant Bit,最高有效位模式)并行总线,SDIO、SCLK为SCCB接口,PCLK为像素时钟输出管脚(每个周期从并行总线上输出一个像素),VSYNC为列同步输出管脚(每帧图像发生一次跳变),HERF为行参考输出管脚(每个周期总线从并行总线上输出一行图像数据)。SVGA模式时序参考图如下:   图9 OV2640 SVGA模式下图像输出时序图 系统上电后,MCU配置OV2640的工作方式,在OV2640准备好图像后,VSYNC会被拉高一段时间,MCU通过PCLK上升沿中断按字节接收图像数据。接下来我们将对OV2640的初始化配置程序和图像数据缓存程序进行介绍。 2.OV2640程序介绍 初始化配置程序: iic_init();/*初始化MCU I2C_2,与OV2640 SCCB接口通信*/ ov2640_jpeg_config(JPEG_640x480); /*设置输出图像格式*/ /* 设置COMS参数 */ ov2640_brightness_config(0x40); /*设置亮度模式:亮度+2*/ ov2640_auto_exposure(3); /*设置自动曝光等级 0-4*/ ov2640_contrast_config(0x28,0x0c); /*设置对比度:对比度+2*/ ov2640_black_white_config(0x00); /*设置黑白彩色模式:正常模式*/ ov2640_color_saturation(0x68,0x68); /*设置色饱和度:饱和度+2*/ ov2640_light_mode_config(OFFICE); /*设置场景模式:办公室*/ o2640_capture_gpio_init();/*初始化并行传输IO管脚*/ 注:以上代码在main.c文件中  图像数据缓存程序: u8 temp; EXTI_ClearITPendingBit(EXTI_Line0);/*清除PC0(PCLK)中断*/ if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_1)==0)/*HREF管脚为低*/ return; temp =(u8)((GPIOC->IDR)>>8&0x00ff);/*读取一个字节图像数据*/ switch(jpg_flag) { case0: if(temp==0xff)/*图像数据以0xff 0xd8开头*/ { JPEGBuffer[4]=0xff; jpg_flag=1; } break; case1: if(temp==0xd8)…
Read More