TCP/IP芯片W5200掉电模式应用笔记

2019-04-14 19:04发布

W5200 Power Down Mode Application Note   W5200 和W7200 都有提供两种很吸引性的功能, 就好像有掉电模式和LAN叫醒功能. 但是这两种功能不可以同一个时间一齐使用. 如果已经启动掉电模式, 芯片中的PHY 会关闭和停止它的功能. 所以如果在掉电模式的情况下, 它是不可以使用LAN叫醒功能,因为这个功能是通过LAN来接收魔术数据包来叫醒的. 一般来说, 掉电模式是一个可以控制PHY 开关的功能来控制使用的电量. LAN叫醒功能是控制MCU 来转换MCU的模式是睡觉模式或正常模式. 当 W5200 接收到魔术数据包, LAN叫醒功能 就会通过W5200打断MCU的程序给MCU进入睡觉模式.     1. 连接图 2. W5200E01-M3_PWDN的示例代码 if (strcmp(choice,”7″)== 0) { bTreat = (bool)SET; if((IINCHIP_READ(PHY)&0×08) == 0×00){ SerialPutString(“ Enabling… ”); GPIO_SetBits(GPIOB, WIZ_PWDN); Delay_ms(500); if((IINCHIP_READ(PHY)&0×08) == 0×08) SerialPutString(“ Enabled PHY Power Down!!! ”); } else{ SerialPutString(“ Already Enabled!!! ”); } } 当你已经选择7号这个功能, 如果代表PHY 的寄存器是没有启动掉电模式(0×00), GPIO会启动为掉电模式. 如果已经启动,串口就会打印出掉电模式已经启动. if (strcmp(choice,”8″)== 0) { bTreat = (bool)SET; if((IINCHIP_READ(PHY)&0×08) == 0×08){ SerialPutString(“ Disabling… ”); GPIO_ResetBits(GPIOB, WIZ_PWDN); Delay_ms(3000); if((IINCHIP_READ(PHY)&0×08) == 0×00) SerialPutString(“ Disabled PHY Power Down!!! ”); } else{ SerialPutString(“ Already Disabled!!! ”); } } 当你已经选择8号这个功能, 如果代表PHY 的寄存器是启动掉电模式(0×00), GPIO会关闭掉电模式. 如果已经关闭,串口就会打印出掉电模式已经关闭. 3. 配置 IAR Embedded Workbench Type.h 如果你使用的是W5200E01-M3, W7200的定义就要关闭. #define __DEF_W5200__ //#define __DEF_W7200__ 如果你使用的是iMCU7200EVB, W5200的定义就要关闭. //#define __DEF_W5200__ #define __DEF_W7200__ Flash Loader Demonstrator 启动”Flash Loader Demo software”编程程序到 iMCU7200EVB或 W5200E01-M3. 如下是编程步骤: PC1 是需要使用静态IP 在串口终端程序 在 W5200E01-M3_PWDN 的程序中, PHY的掉电模式已经默认为关闭.
PHY 的掉电的意思是代表控制PHY. 所以, 掉电模式是启动代表不可以传送和接收任何数据包. 4. 设置网络设置 5. 启用PHY掉电 6. 禁用PHY掉电 7. Ping测试 PC 1 ping 到 iMCU7200EVB(192.168.11.254). 如果 PC1 使用串口终端程序去改变 W7200 到功能8. 关闭PHY 的掉电模式之后再开到 启用PHY掉电模式, PC 1 就不可以ping 到 iMCU7200EVB 和 会打印出信息 “Request timed out”. 如果 PC1 使用串口终端程序改W5200到功能7来启用PHY掉电模式之后改到关闭PHY 的掉电模式, PC 1 就可以Ping iMCU7200EVB .     Written By:  Ron, HK member W5200 Power Down Mode Application Note