W5100以太网模块
- 格式:pdf
- 大小:499.25 KB
- 文档页数:2
以太网接入w5100对比enc28j60的区别和优势对于单片机的以太网接入方案~W5100和ENC28J60都是被常常使用到的芯片,这两种方案也可以说是硬件协议栈和软件协议栈的典型代表,两者都是经住了市场考验的~关于他们的使用和讨论也比较多,除了在传统单片机的以太网接入中被广泛使用,我们也能看到他们在开源硬件的以太网扩展中发挥的重要作用~让我们看看部分论坛的讨论吧。
——————— -来自“极客工坊”提问: ” 本人纯新手、还没买网络模块、看了些教程感觉这两个功能差不多,不知道使用起来哪个好用啊?淘宝价格w5100比enc28j60贵不少啊,这是什么原因?求前辈指点。
”回帖:— “一个是官方出的库,一个是第三方出的库,兼容性方面存在区别“—“绝对w5100好用多了,官方例子多,就是贵”—“建议直接上W5100,性能稳定、第三方库各种丰富啊!”—“我用的就是w5100,有现成的官方库,蛮好用”—-“w5100自带TCP/IP协议栈,enc28j60只有mac和phy,上层都需要自己实现。
对于arduino,w5100是首选,w5100也是arduino官方的方案,开发库完备!”—“ENC28J60这个产品提供的是底层的MAC+PHY(10M Base T)W5100这个产品是硬件TCP/IP协议栈+MAC+PHY(10/100M Base T)也就是W5100里面用硬件逻辑电路实现了TCP/IP的协议栈结构,不需要向ENC28J60这样的网络控制器那样还需要一个资源较大的MCU跑软件协议栈。
Arduino W5100 测试1.将你的W5100扩展板插在Arduino板上,确保所有的引脚接触良好。
尺寸: 长-69MM 宽-53.6MM2.下载测试程序。
arduino w5100 测试程序代码:/************************************************/#include <SPI.h>/** Web Server** A simple web server that shows the value of the analog input pins. */#include <Ethernet.h>byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };byte ip[] = { 192, 168, 0, 15 };EthernetServer server(80);void setup(){Ethernet.begin(mac, ip);server.begin();}void loop(){EthernetClient client = server.available();if (client) {// an http request ends with a blank lineboolean current_line_is_blank = true;while (client.connected()) {if (client.available()) {char c = client.read();// if we've gotten to the end of the line (received a newline// character) and the line is blank, the http request has ended, // so we can send a replyif (c == 'n' && current_line_is_blank) {// send a standard http response headerclient.println("HTTP/1.1 200 OK");client.println("Content-Type: text/html");client.println();// output the value of each analog input pinclient.print("welcome to tinyos electronics");client.println("<br />");client.print("//*************************************");client.println("<br />");client.print("");client.println("<br />");client.print("//*************************************");client.println("<br />");for (int i = 0; i < 6; i++) {client.print("analog input ");client.print(i);client.print(" is ");client.print(analogRead(i));client.println("<br />");}break;}if (c == 'n') {// we're starting a new linecurrent_line_is_blank = true;} else if (c != 'r') {// we've gotten a character on the current linecurrent_line_is_blank = false;}}}client.stop();}}/************************************************/3.用网线连接您的W5100板和PC(如果你直接连接PC和W5100你可能需要一根交叉网线)4. 设置你的电脑本地ip地址5.你将看见电脑的本地连接已连接并且W5100上以下4个LED灯会点亮。
温馨提示本用户手册由《泥人通信模块开发平台》开发团队编写与审核,本手册仅适用于由泥人团队开发的NiRen_W5100模块。
本手册将持续更新于泥人的博客,请各位用户持续关注,同时泥人团队将努力开发出更多适合电子开发人员、在校同学们学习的通信模块。
让我们共同努力,迎接物联网时代的到来!!目录一、泥人W5100以太网模块简介 (1)二、模块排针功能表 (1)三、W5100芯片资源介绍 (2)四、电脑调试软件安装 (3)五、调试方法 (5)1、NiRen_W5100模块接线方法 (5)2、W5100客户端模式 (5)3、W5100服务端模式 (10)4、W5100UDP模式 (13)一、泥人W5100以太网模块简介NiRen_W5100模块是一款基于WIZnet W5100芯片的以太网模块,模块集成硬件化TCP/IP 协议;支持10/100Mbps 的传输速率;支持4个独立端口同时运行;同时模块还支持3.3V 或5V 电源供电,5V 供电时还可以输出3.3V 电源,方便用户在不同的单片机系统中使用;模块与单片机系统的通讯方式是简单、方便的SPI 通信。
以下是NiRen_W5100以太网模块的简单介绍:二、模块排针功能表排针标识功能说明排针标识功能说明3.3V 3.3V 电源输入引脚5V 5V 电源输入引脚MISO SPI 主机输入从机输出引脚GND 电源地引脚MOSI SPI 主机输出从机输入引脚RST W5200硬件初始化引脚(低电平有效)SCS SPI SLAVE 选择引脚(低电平有效)INT W5200中断引脚(低电平有效)SCLKSPI 时钟引脚NC保留、悬空1117_3.3V 电源稳压芯片10uF/16V电源滤波钽电容带网络变压器、带通讯指示LED 的RJ45型网口25MHz 的无源晶体振荡器泥人电子LOGOLED 电源指示灯W5100以太网芯片模拟电源滤高频干扰电感5V/3.3V 电源、SPI 通信片选、时钟、数据输入、数据输出、中断输出、复位输入排针预留两个安装孔,供以后用三、W5100芯片资源介绍W5100是一种款多功能的单片网络接口芯片,内部集成有10/100以太网控制器,主要应用于高集成、高稳定、高性能和低成本的嵌入式系统中。
Wiznet发布固件网络芯片W5100,支持PPPoE协议
Wiznet公司于日前开幕的第十二届国际集成电路研讨会暨展览会(IIC China 2007)深圳站的展会上,展出了其新近推出的固件网络协议芯片W5100。
W5100是其早些时候的W3150A的升级版本,它在W3150A的基础上增加了一个以太网PHY,利用逻辑硬件实现,使系统设计更加简单,紧凑。
目前,很多嵌入式网络芯片是直接通过软件实现的,但是由于网络协议都比较大,写入软件后稳定性欠佳,而且客户时常会有新的需求,这种用软件实现的方式就很难满足频繁更新升级的要求。
因此,一种方式就是将网络协议的处理独立于系统处理器之外,让应用程序与资料的输入/输出分别执行于不同的硬件,来适应多方面的条件。
它将网络协议的处理分成一个由特定处理器执行的控制部分和一个硬件线路部分。
这种方式的优点是具有较短的开发周期与较高的弹性,而其主要的成本则来自于处理器本身的授权费。
Wiznet一级代理商成都加联科技有限公司的刘国辉介绍说:“W5100将10/100Mbps以太网MAC和PHY集成到自动MDIX,具有16KB数据缓冲区,线路传输率可达25Mbps。
此外,它最大的特点是除了支持TCP,ARP,ICMP等硬件协议栈外,还支持PPPoE协议,不需要经过电脑就能直接接入ADSL,实现数据通信。
W5100可以用于要求高通信速率的地方,如机顶盒,数字录像机,以太网络,远程控制等。
”
据了解,目前国内应用还不太多,主要是用于办公室局域网,国外则应用较普遍,多用于机顶盒。
W5100现已开始量产。
W5100使用手册一、 板子尺寸尺寸单位毫米,插针间距2.54毫米。
二、 接线说明3V3--------------3.3伏GND-------------接地RST---------------P1_1SCS---------------P1_0SCLK-------------P1_2MISO-------------P1_3MOSI-------------P1_4以上是51单片机程序接线。
三、 模块的测试接好线后,打开提供的“TCP服务端”程序,修改网络参数设置,让模块的IP设置在你在连接的网络的范围内,程序默认的,网关是192.168.0.1,根据实际修改。
Gateway_IP数组是网关设置,Sub_Mask数组是子码掩网设置,数组Phy_Addr是模块物理地址设置,同一局域网内不能有相同的物理地址。
IP_Addr数组是模块的IP设置,S0_Port数组是端口设置,程序设置默认是5000,S0_DIP数组是目标IP地址设置,在模块工作在UDP或TCP客户端里才用到,S0_DPort数组是目标连接端口设置,在模块工作在UDP或TCP客户端才用到。
修改好上面的参数好,把程序下载到单片机,连接好线,上电后,正常状态,黄灯常亮,绿灯不规则闪烁。
模块跟电脑直接连接采用的是交叉网线,模块跟路由器或交换机,采用的是直通网线。
对于这两个网线的区别,用户自己找资料。
看到以上灯的正常闪烁后,打开WINDOWS的命令窗口,PING模块的地址,下面是连接正常的界面。
打开提供的网络调试助手工具,设置界面如下点击连接,成功后界面如下TCP服务端程序例程提供的测试程序,向模块发送数据,模块会把收到的数据返回给发送方。
程序开始处的Rx_Buffer跟Tx_Buffer数组分别表示发送跟接收到的缓冲数组,一次发送的数据不能超过数组的长度,用户根据需要自己修改。
例如发送1234567890界面如下。
51单⽚机驱动W5100以太⽹接⼝芯⽚51单⽚机驱动W5100以太⽹接⼝芯⽚****************************************************************************** * @file W5100.c* 本⽂件包括5个部分:* 1. W5100初始化* 2. W5100的Socket初始化* 3. Socket连接* 如果Socket设置为TCP服务器模式,则调⽤Socket_Listen()函数,W5100处于侦听状态,直到远程客户端与它连接。
* 如果Socket设置为TCP客户端模式,则调⽤Socket_Connect()函数,* 每调⽤⼀次Socket_Connect(s)函数,产⽣⼀次连接,* 如果连接不成功,则产⽣超时中断,然后可以再调⽤该函数进⾏连接。
* 如果Socket设置为UDP模式,则调⽤Socket_UDP函数* 4. Socket数据接收和发送* 5. W5100中断处理** 置W5100为服务器模式的调⽤过程:W5100_Init()-->Socket_Init(s)-->Socket_Listen(s),设置过程即完成,等待客户端的连接。
* 置W5100为客户端模式的调⽤过程:W5100_Init()-->Socket_Init(s)-->Socket_Connect(s),设置过程即完成,并与远程服务器连接。
* 置W5100为UDP模式的调⽤过程:W5100_Init()-->Socket_Init(s)-->Socket_UDP(s),设置过程即完成,可以与远程主机UDP通信。
** W5100产⽣的连接成功、终⽌连接、接收数据、发送数据、超时等事件,都可以从中断状态中获得。
****************************************************************************** */#include"W5100.h" /* 定义W5100的寄存器地址、状态*/#include"REG51.h"typedef unsigned char SOCKET;sbit SPI_CS= P1^0;sbit SPI_SCK= P1^1;sbit SPI_SO= P1^2;sbit SPI_SI= P1^3;sbit SPI_EN= P1^4;sbit KEY= P1^5;/* 端⼝数据缓冲区*/unsigned char Rx_Buffer[20]; /* 端⼝接收数据缓冲区*/unsigned char Tx_Buffer[20]; /* 端⼝发送数据缓冲区*//* ⽹络参数寄存器*/unsigned char Gateway_IP[4]={192,168,2,254}; /* Gateway IP Address */unsigned char Sub_Mask[4]={255,255,255,0}; /* Subnet Mask */unsigned char Phy_Addr[6]={0x00,0x08,0xDC,0x01,0x02,0x03}; /* Physical Address */ unsigned char IP_Addr[4]= {192,168,2,1}; /* Loacal IP Address */unsigned char S0_Port[2]={0x13,0x88}; /* Socket0 Port number 5000 */unsigned char S0_DIP[4]={192,168,2,43}; /* Socket0 Destination IP Address */ unsigned char S0_DPort[2]={0x13,0x88}; /* Socket0 Destination Port number 5000*/ unsigned char S0_State=0; /* Socket0 state recorder */unsigned char S0_Data; /* Socket0 receive data and transmit OK */unsigned char W5100_Interrupt;/* UDP Destionation IP address and Port number */unsigned char UDP_DIPR[4];unsigned char UDP_DPORT[2];void Delay(unsigned int x){unsigned int i;for(i=0;iSPI_EN=1;}}unsigned char SPI_ReadByte(void){unsigned char i,rByte=0;for(i=0;i<8;i++){rByte<<=1;rByte|=SPI_SO;SPI_SCK=0;Delay(10);SPI_SCK=1;SPI_SCK=0;}return rByte;}void SPI_SendByte(unsigned char dt){unsigned char i;for(i=0;i<8;i++){if((dt<{SPI_SI=1;}else{SPI_SI=0;}SPI_SCK=0;Delay(10);SPI_SCK=1;SPI_SCK=0;}}unsigned char Read_W5100(unsigned short addr){unsigned char i;/* 置W5100的CS为低电平*/SPI_CS=0;/* 发送读命令*/SPI_SendByte(0x0f);/* 发送地址*/SPI_SendByte(addr/256);SPI_SendByte(addr);/* 读取数据*/i=SPI_ReadByte();/* 置W5100的CS为⾼电平*/SPI_CS=1;return i;}void Write_W5100(unsigned short addr, unsigned char dat) {/* 置W5100的CS为低电平*/SPI_CS=0;Delay(100);/* 发送写命令*/SPI_SendByte(0xf0);/* 发送地址*/SPI_SendByte(addr/256);SPI_SendByte(addr);/* 写⼊数据*/SPI_SendByte(dat);Delay(100);/* 置W5100的CS为⾼电平*/SPI_CS=1;}void W5100_Init(void){unsigned char i;SPI_EN=1;SPI_SCK=0;SPI_CS=1;SPI_SO=1;Write_W5100(W5100_MODE,MODE_RST); /*软复位W5100*/ Delay(100);///Write_W5100(W5100_MODE,0); /*软复位W5100*/Delay(100); /*延时100ms,⾃⼰定义该函数*//*设置⽹关(Gateway)的IP地址,4字节*//*使⽤⽹关可以使通信突破⼦⽹的局限,通过⽹关可以访问到其它⼦⽹或进⼊Internet*/ for(i=0;i<4;i++)Write_W5100(W5100_GAR+i,Gateway_IP); /*Gateway_IP为4字节unsigned char数组,⾃⼰定义*/for(i=0;i<4;i++)Gateway_IP=Read_W5100(W5100_GAR+i);/*设置⼦⽹掩码(MASK)值,4字节。
W5100 是一款多功能的单片网络接口芯片,内部集成有10/100Mbps 以太网控制器,主要应用于高集成、高稳定、高性能和低成本的嵌入式系统中。
使用W5100 可以实现没有操作系统的Internet 连接。
W5100与IEEE802.3 10BASE-T和802.3u 100BASE-TX兼容。
W5100 内部集成了全硬件的、且经过多年市场验证的TCP/IP 协议栈、以太网介质传输层(MAC)和物理层(PHY)。
全硬件TCP/IP协议栈支持TCP,UDP,IPv4,ICMP,ARP,IGMP 和PPPoE,这些协议已经在很多领域经过了多年的验证。
W5100 内部还集成有16KB 存储器用于数据传输。
使用W5100不需要考虑以太网的控制,只需要进行简单的端口编程。
W5100提供3种接口:直接并行总线、间接并行总线和SPI总线。
W5100与MCU接口非常简单,就像访问外部存储器一样。
20本词条百科名片缺少名片信息, 百科名片缺少图片, 欢迎各位编辑词条,额外获取20个积分。
特性:l 与MCU多种接口选择:直接总线接口、间接总线接口和SPI总线;l 支持硬件TCP/IP协议:TCP, UDP, ICMP, IGMP, IPv4, ARP, PPPoE, Ethernet;I 可选择1:1 YL18-2050S YT37-1107S,YL2J011D,YL2J201A网络变压器l 支持ADSL连接(支持PPPOE协议,带PAP/CHAP验证);l 支持4个独立的端口(sockets)同时连接;l 内部16K字节存储器作TX/RX缓存;l 内嵌10BaseT/100BaseTX以太网物理层,支持自动应答(全双工/半双工模式);l 支持自动极性变换(MDI/MDIX);l 多种指示灯输出(Tx,Rx,Full/Duplex,Collision,Link,Speed);l 0.18μm CMOS工艺;l 3.3V工作电压,I/O口可承受5V电压;l LQFP80无铅封装,符合环保要求;l 工作温度:-45 ~ 80℃工业级。
SW5100使用手册北京恒信盈泰技术有限公司/index.php1概述SW5100是以WIZnet公司最新推出的固件网络芯片W5100为核心的网络模块,W5100是在W3150A+的基础上,集成了以太网物理层RTL8201CP核,因此W5100集TCP/IP协议栈、以太网MAC和PHY为一体。
W5100支持TCP,UDP,ICMP,IGMP,IPv4,ARP,PPPoE,Ethernet等网络协议;支持4个独立的Socket通信,内部16K字节的发送/接收缓冲区可快速进行数据交换,最大通信速率达到25Mbps;提供多种总线(两种并行总线和SPI 总线)接口方式,可以很方便地与各种单片机连接。
SW5100采用SPI通信模式。
2特性z SPI总线;z支持硬件TCP/IP协议:TCP, UDP, ICMP, IGMP, IPv4, ARP, PPPoE, Ethernet;z支持ADSL连接(支持PPPOE协议,带PAP/CHAP验证);z支持4个独立的端口(Sockets)连接;z内部16K字节存储器作TX/RX缓存;z内嵌10BaseT/100BaseTX以太网物理层,支持自动应答(全双工/半双工模式);z支持自动极性变换(MDI/MDIX);z多种指示灯输出(Tx,Rx,Full/Duplex,Collision,Link,Speed);z0.18µm CMOS工艺;z 3.3V工作电压,I/O口可承受5V电压;z LQFP80无铅封装,符合环保要求。
3功能通过spi接口对w5100的控制,实现网络通信的w5100支持的各种通信协议.3.1 SPI接口方式3.2 SPI时序W5100只支持SPI模式0和模式3,如图:4引脚说明引脚名称说明1 MISO SW5100数据输出引脚2 MOSI SW5100数据输入引脚3 SCS 片选,低电平有效。
4 SCLK SPI时钟引脚,用于SPI时钟输入。
基于W5100的DSP快速网络接入解决方案现代数据采集领域中,越来越多的现场采集设备需要扩展网络功能以实现远程控制和数据传输。
以太网以其低成本,易于集成,传输距离远的优势使其得到了广泛应用。
传统的以太网解决方案,往往采用主控CPU连接物理层接口芯片,在主控器内编写以太网通信协议。
这种方法需要编写繁琐的程序并且耗费大量的时间调试。
由于网络协议一般都比较大,写入软件后稳定性欠佳,不利于系统的快速开发与稳定运行,而且客户时常会有新的需求。
这种用软现代数据采集领域中,越来越多的现场采集设备需要扩展网络功能以实现远程控制和数据传输。
以太网以其低成本,易于集成,传输距离远的优势使其得到了广泛应用。
传统的以太网解决方案,往往采用主控CPU连接物理层接口芯片,在主控器内编写以太网通信协议。
这种方法需要编写繁琐的程序并且耗费大量的时间调试。
由于网络协议一般都比较大,写入软件后稳定性欠佳,不利于系统的快速开发与稳定运行,而且客户时常会有新的需求。
这种用软件实现的方式很难满足频繁更新升级的要求。
因此,一种方式就是将网络协议的处理独立于系统处理器之外,让应用程序与资料的输入/输小分别执行于不同的硬件,来适应多方而的条件。
它将网络协议的处理分成一个由特定处理器执行的控制部分和一个硬件线路部分,这种方式的优点是具有较短的开发周期与较高的弹性,而且能够增加稳定性并有效降低主CPU负担,模块化的没计也便于以后系统的升级。
深圳市谢氏电子有限公司推出的高速硬件以太网协议芯片W51O0,很好的解决了上述问题。
它本身集成了高度成熟的TCP/IP协议栈、以太网MAC层、PHY层等,支持TCP、UDP、IPv4、ICMP、ARP、IGMP和PPPoE等协议,这些协议已经在很多领域经过了多年的验证。
它支持4个独立的Socket通信,内部16 KB的发送/接收缓冲区可快速进行数据交换,最大有效通信速率可达25 Mbps。
使用W5100不需要考虑以太网的控制,只需要进行简单的端口(socket)编程,像访问外部存储器一样简单。
单片网络接口芯片W5100的原理与应用W5100是一种单片以太网控制器,它支持10/100Mbps以太网传输速度,并且集成了TCP/IP协议栈。
这种芯片被广泛应用于嵌入式以太网应用中,包括IoT设备、网关、传感器、自动化设备等。
W5100的工作原理是将数据包从以太网物理层转换成网络层的数据包,然后在协议栈中处理数据包,最终将它们传输到应用层。
使用W5100时,可以直接连接到以太网,并使用通信接口进行通信。
W5100芯片具有许多应用,例如:①IoT设备-使用W5100将IoT设备连接到互联网,并使用TCP/IP协议进行远程监测和控制。
②网关-使用W5100将不同的网络连接到一起,如:以太网、Wi-Fi、电视线、同轴电缆等,以便在室内和室外传输数据。
③传感器-使用W5100将传感器连接到以太网,并将数据传输到云中进行分析和处理。
④智能家居系统-使用W5100将家庭设备连接到互联网,并使用TCP/IP协议进行远程监测和控制。
W5100芯片具有许多优点,在嵌入式应用中体现得淋漓尽致。
首先,它具有低成本、高性能、可靠性高等特点。
其次,它可以使用标准的API进行编程,易于开发,且有广泛的开发人员社区支持。
第三,它可以同时处理几个连接,支持多通道数据传输,因此使得并发连接成为可能。
此外,它还支持硬件加速和流控制,可以在高负荷情况下保持网络性能的稳定。
总体来说,W5100芯片是嵌入式以太网应用的理想选择。
其高性能、低成本、易于使用和广泛的应用范围使得它在IoT、直播、视频会议和其他嵌入式应用中得到了广泛的应用。