W5500问题集锦要点.pdf
《W5500问题集锦要点.pdf》由会员分享,可在线阅读,更多相关《W5500问题集锦要点.pdf(20页珍藏版)》请在三一文库上搜索。
1、W5500问题集锦 ( 一) 发布时间: 2013-11-27 阅读次数: 1445 字体大小 : 【小】【中】【大】 在”WIZnet 杯” 以太网技术竞赛中,有很多参赛者在使用中对W5500 有各种各样的疑问,对于这款WIZnet 新推出的以太网芯片,使用中大家是不是也一样存在 以下问题呢?来看一看: 1. W5500 不支持自动极性变换,有点失 望 答: 其实,只要对方支持极性变换就可以实现,现在的设备不支持极性变换的很少的。 你要是碰到个别老设备连不上,再换交叉线也不迟。基本上2000 年以后的设备都没问题的啦 原帖来自: 9MCU 2. W5500+STM32F0无法通信 问题描述
2、1:我现在做毕设,老师推荐买了W5500 这款芯片,与 STM32 F0 进行通信。 但是根据收集到的资料,修改的例程找不到问题所在。对于网络这部分, 本人小白一个,附上程序,希望大家指导一下! 谢谢! 答 1:先附上W5500 的例程 问题描述 2:如果 ping 不通, TCP 连接不能建立是代码的问题吗?loopback 的程序步骤是怎样的 答 2: W5500 若想 Ping 通的话需要保证以下2 点: 1)物理信道通信正常:初步判定Link 灯及状态灯指示正常。 2)配置了 W5500 的 IP,网关,子网掩码, MAC 地址这些特殊寄存器 由于 W5500 内部硬件逻辑电路实现了A
3、RP 协议。所以,一旦收到 ping 包请求的话,会自动回复。 以上的设置不过是为了保证基本信道及通讯能够建立的而已。 反向而言,如果 Ping 不通,也可以先从这两方面着手。 原帖来自: 9MCU 3. W5500 没指明接收缓冲数据格式,和 W5100 一样? 问题描述:习惯码字和调试分离,虽然待会调试就知道了,也不妨提出来沟通下。 答:注意 SPI 帧的不同。 W5100: W5500: 原帖来自: 9MCU 4. 关于 w5500 程序的几个问题 问题描述: 有几个关于 w5500 程序的问题想请教大家: void Reset_W5500(void) WIZ_RESET_0; / 低电
4、平 Delay_us(50); / 这个的时间如果设为500us ,貌似指示灯就全暗了? WIZ_RESET_1; Delay_ms(200); while( (getPHYCFGR() /PHYCFGR_LNK_OFF是 0 00,PHYCFGR_LNK_ON是 0 01。代码在这里 死循环了!绿色的灯常亮,黄色的闪烁。 相关代码: uint8 getPHYCFGR(void) return WIZCHIP_READ(PHYCFGR); uint8 WIZCHIP_READ(uint32 AddrSel) uint8 ret; WIZCHIP_CRIS_enter(); WIZCHIP_CS
5、_select(); AddrSel |= (_W5500_SPI_READ_ | _W5500_SPI_VDM_OP_); /* /RWB #define _W5500_SPI_READ_ (000 16); WIZCHIP_SPI_write_byte(AddrSel WIZCHIP_SPI_write_byte(AddrSel /8位控制段 ret = WIZCHIP_SPI_read_byte(); WIZCHIP_CS_deselect(); WIZCHIP_CRIS_exit(); return ret; uint8 WIZCHIP_SPI_read_byte(void) uint
6、8 data; data = MSP430 _SPI_read_byte(); return data; uint8 MSP430_SPI_read_byte(void) while (!(UC0IFG / wait for an rx character? return UCB0RXBUF; / reading clears RXIFG flag 答: 具体的问题? 开始是一个 reset 的延时,表示拉低reset 脚多长时间使 reset 引脚生效。 下面那个是检查 W5500PHY 的状态。看一下网线是插入还是断开状态。你看一下你的While 函数判断过后是否进入死循环。 建议先参考一
7、下官方的STM32+W5500的代码,再转移到 MSP430 平台上 原帖来自: 9MCU 5. W5500io 的 Keil C 工程文件包 参考: 9MCU 下载 6. W5300 和 W5500 的区别 问题描述: 您好,我想问一下,咱们的W5300 和 W5500 的区别在哪里呢!?从它们的说明书上的特性和架构上来看,W5300 比 W5500 还要复杂,能告知一下W5500 相比较于 W5300 有什么相同点和不同点 吗?!谢谢 迫切渴望您的回答! 答: 关于 W5300 和 W5500 的区别,请参考一下几点: 1. 单片机接口不同。 W5300 具有 8/16 位总线接口; W5
8、500 只有 SPI 接口 2. 发送 /接收缓存大小不同。 W5300 的缓存是 W5500 的二倍 3. 功耗方面, W5500 具有低功耗模式 4. 工艺方面, W5500 是.13nm 工艺,W5300 是.18 的 5. 其他一些细微差别 因此如果要是高速率应用,选用W5300 比较适合。若是对速率要求不高,可以选用W5500 。 如有任何问题可随时留言给我们,或发送至WIZnet 官方邮箱: wiznetbjwiznet.co.kr 关注 WIZnet 更多动态: WIZnet 官方微博: http:/ W5500问题集锦 ( 二) 发布时间: 2014-11-26 阅读次数: 4
9、41 字体大小 : 【小】【中】【大】 W5500问题集锦 (二) 2014/11/11 | Filed under: W5500问题集锦 and tagged with: W5500 , 问题 247 Views W5500自去年 9 月推出,已经有一年的时间。一年间,不乏很多客户纷纷将目光投向了W5500这颗性价比很高的全新硬件TCP/IP 以太网芯片,无论是在工控、 安防、交通,还是在智能医疗、智能家居等众多领域中,得到了广泛应用及认可。同时,也收到了很多客户在使用过程中的问题反馈,比如W5500 中断问题、 切换端口问题,及W5500做服务器,多端口连接等常见问题。这些,我们都一一帮助
10、大家分析,一同解决!那么,为了提高技术支持效率,也特此将这些问题 再次整理给大家,以供分享!期待能有所帮助! 1. W5500作为服务器时,如何获取来自连 接方的 IP 地址及端口 问题描述: w5500作为服务器时,如何获取来自连接方的IP 地址及端口?我怎么没有找到寄存器呢 读 DIPR 和 SIPR都不对, 是不是没有查询方法呀? UDP 和 TCP 模式我都试过了,整了一天也没找出明堂来,如果实在不行,只能依靠,谁来连接W5500,谁就在 DATA 区自报家门了,但这样做感觉有点不是很 爽,按说是可以获取到来自连接方的IP 地址及端口的 比如 W5500接在网络上,要对它进行搜索和设置
11、,那么就要UDP 广播包,目前可以收到广播包,但量回应的包,去对方收不到,只能怀疑是目标地址和端口 没有更新在 dipr 寄存器了 ,请支招儿,谢谢! 答 1:TCP Server模式下,在连接建立后,由硬件更新目标IP 和端口值。 答 2:收到信息的前面6 个字节即为对方 IP 地址和端口号。 答 3:TCP Server 模式下,可以读取Sn_DIPR和 Sn_DPORT 来确定连接方的 IP 及端口。这个是可以,你可以打印这个地址里的信息来查看。 W5500 As TCP Server 原帖来自: 9MCU 2. W5500一个独立端口作为Server 模式可 以支持多少个客户端连接 问
12、题描述 1:W5500 一个独立端口端口作为TCP Server模式打开一个端口,此端口已经映射到外网,现在可能有多个客户端连接过来,可以支持多少个客户端 连接?经测试,只能支持一个连接,连接上一个客户端后,后连的客户端根本连接不上;而采用ENC28J60采用 uip 协议时,利用 TCP 方式监听端口,是可以 支持客户端多连接的。不知w5500 内部的硬件协议栈能否支持作为server ,多个客户端连接过来? 答 1:可以这样用,但是要把5500的 Socket都设置成 TCP Server ,然后端口都一致。这样就可以有8 个客户连接进来了。 问题描述 2:就是说,每个独立端口实际上对应的
13、是一个连接,最多只能有8 个连接,对吧? 答 2:是的 答 3:按照你初始化第一个Socket 0为 TCP Server 的方式,将其他 Socket 17 配置成参数一致的TCP Server即可 原帖来自: 9MCU 3. W5500无法清中断 问题描述:这几天一直在调试W5500,MCU 用的是 STM32F205, 可以正常的收发,非中断方式。 现在改用中断模式,无法清除中断。 用户手册上写, Sn_IR,清除需对应位写1。但此寄存器为只读寄存器,每次对此寄存器进行写操作都会导致看门狗复位。 有没有人遇到类似情况,求教 注: UDP 方式 答:问题已解决,是回环测试后又产生了SEND
14、_OK 中断,最终因超时引起看门狗复位。 屏蔽发送中断后一切正常。 原帖来自: 9MCU 4. 问一下:无论是通用寄存器中断IR 还是 socket 中断寄存器 SN_IR中断的清除都 是我们使用 MCU 对该寄存器进行手动写 0XFF么?谢谢哦。期待回信。 。 。 问题描述: W5500的中断是不是可以理解成二级中断?首先判断是不是通用寄存器IR 的中断,如果不是然后判断中断是不是来自SN_IR。如果来自 SN 那么进 行检测 SN 的中断触发。检测到中断之后,需要手动的向产生中断的IR 寄存器写入 0XFF 进行中断的清除? 请问是这种思路么? 答 1:请看看 W5500 中断寄存器的理解
15、 http:/ ead / BAUD_M = 0 U1GCR |= 0 11; / BAUD_E = 17 SPI的速率我这是设置的4M,我也尝试着提高了速率,但是没什么效果,减少速率也是不行,大多数数据都是错误的,中间偶尔会出现几包正确数据。 答 2:问题已经解决,是库函数没设置好,send_data_processing() 和 recv_data_processing() 中,ptr 一开始是 16位,因为移位使数据溢出,可以设置成32 位,或 者在移位的时候,进行强制类型转换的时候,多使用括号,不要因为优先级不同,不能安装自己想要实现的功能来运行。 原帖来自: 9MCU 7. W550
16、0作为客户端直接连接电脑和交换 机失败。通过路由器可以 问题描述: /* * 函数名 : Detect_Gateway * 描述 : 检查网关服务器 * 输入 : 无 * 输出 : 无 * 返回值 : 成功返回 TRUE(0xFF),失败返回 FALSE(0 00) * 说明 : 无 */ unsigned char Detect_Gateway(void) unsigned char ip_adde4; ip_adde0=IP_Addr0+1; ip_adde1=IP_Addr1+1; ip_adde2=IP_Addr2+1; ip_adde3=IP_Addr3+1; /检查网关及获取网关的
17、物理地址 Write_W5500_SOCK_4Byte(0,Sn_DIPR,ip_adde);/向目的地址寄存器写入与本机IP 不同的 IP 值 Write_W5500_SOCK_1Byte(0,Sn_MR,MR_TCP);/设置 socket 为 TCP 模式 Write_W5500_SOCK_1Byte(0,Sn_CR,OPEN);/打开 Socket os_dly_wait (100);/Delay(5);/延时 5ms if(Read_W5500_SOCK_1Byte(0,Sn_SR) != SOCK_INIT)/如果 socket打开失败 Write_W5500_SOCK_1Byte
18、(0,Sn_CR,CLOSE);/打开不成功 ,关闭 Socket return FALSE;/返回 FALSE(0 00) Write_W5500_SOCK_1Byte(0,Sn_CR,CONNECT);/ 设置 Socket为 Connect模式 do u8 j=0; j=Read_W5500_SOCK_1Byte(0,Sn_IR);/读取 Socket0中断标志寄存器 if(j!=0) Write_W5500_SOCK_1Byte(0,Sn_IR,j); os_dly_wait (10);/Delay(5);/延时 5ms if(j else if(Read_W5500_SOCK_1By
19、te(0,Sn_DHAR) != 0xff) Write_W5500_SOCK_1Byte(0,Sn_CR,CLOSE);/关闭 Socket return TRUE; while(1); 直接连接电脑的时候死在了这个函数里。Read_W5500_SOCK_1Byte(0,Sn_DHAR) 的返回值一直是 ff 答 1:无法获取目标MAC 地址。应该是 W5500发出 ARP请求,没有收到对应的回复。 你的交换机各个口之间是透明的吗?如果是的话,用PC连在一个 port上,用 Wireshark 抓包看一下。你也可以把抓包附上来看一下。 答 2:问题找到了。用交叉网线就可以了 原帖来自: 9M
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- W5500 问题 集锦 要点
链接地址:https://www.31doc.com/p-5198445.html