TCP/IP芯片W5200掉电模式实验
===================================================================================
W5200 和W7200 都有提供两种很吸引性的功能, 就好像有掉电模式和LAN叫醒功能. 但是这两种功能不可以同一个时间一齐使用. 如果已经启动掉电模式, 芯片中的PHY 会关闭和停止它的功能. 所以如果在掉电模式的情况下, 它是不可以使用LAN叫醒功能,因为这个功能是通过LAN来接收魔术数据包来叫醒的.
一般来说, 掉电模式是一个可以控制PHY 开关的功能来控制使用的电量. LAN叫醒功能是控制MCU 来转换MCU的模式是睡觉模式或正常模式. 当 W5200 接收到魔术数据包, LAN叫醒功能 就会通过W5200打断MCU的程序给MCU进入睡觉模式.
===================================================================================
1. 连接图
![](http://editerupload.eepw.com.cn/fetch/20160819/408_4_0.jpg)
2. W5200E01-M3_PWDN的示例代码
if (strcmp(choICe,”7″)== 0)
{
bTreat = (bool)SET;
if((IINChip_READ(PHY)0×08) == 0×00){
SerialPutString(“rnEnabling…rn”);
GPIO_SetBits(GPIOB, WIZ_PWDN);
Delay_ms(500);
if((IINCHIP_READ(PHY)0×08) == 0×08)
SerialPutString(“rnEnabLED PHY Power Down!!!rn”);
} else{
SerialPutString(“rnAlready Enabled!!!rn”);
}
}
当你已经选择7号这个功能, 如果代表PHY 的寄存器是没有启动掉电模式(0×00), GPIO会启动为掉电模式. 如果已经启动,串口就会打印出掉电模式已经启动.
if (strcmp(choice,”8″)== 0)
{
bTreat = (bool)SET;
if((IINCHIP_READ(PHY)0×08) == 0×08){
SerialPutString(“rnDISAbling…rn”);
GPIO_ResetBits(GPIOB, WIZ_PWDN);
Delay_ms(3000);
if((IINCHIP_READ(PHY)0×08) == 0×00)
SerialPutString(“rnDisabled PHY Power Down!!!rn”);
} else{
SerialPutString(“rnAlready Disabled!!!rn”);
}
}
当你已经选择8号这个功能, 如果代表PHY 的寄存器是启动掉电模式(0×00), GPIO会关闭掉电模式. 如果已经关闭,串口就会打印出掉电模式已经关闭.
3. 配置
IAR Embedded Workbench
![](http://editerupload.eepw.com.cn/fetch/20160819/408_4_1.jpg)
Type.h
如果你使用的是W5200E01-M3, W7200的定义就要关闭.
#define __DEF_W5200__
//#define __DEF_W7200__
如果你使用的是iMCU7200EVB, W5200的定义就要关闭.
//#define __DEF_W5200__
#define __DEF_W7200__
Flash Loader Demonstrator
![](http://editerupload.eepw.com.cn/fetch/20160819/408_4_2.jpg)
启动”Flash Loader Demo SOFtware”编程程序到 iMCU7200EVB或 W5200E01-M3. 如下是编程步骤:
![](http://editerupload.eepw.com.cn/fetch/20160819/408_4_3.jpg)
![](http://editerupload.eepw.com.cn/fetch/20160819/408_4_4.jpg)
![](http://editerupload.eepw.com.cn/fetch/20160819/408_4_5.jpg)
![](http://editerupload.eepw.com.cn/fetch/20160819/408_4_6.jpg)
PC1 是需要使用静态IP
![](http://editerupload.eepw.com.cn/fetch/20160819/408_4_7.jpg)
在串口终端程序
![](http://editerupload.eepw.com.cn/fetch/20160819/408_4_8.jpg)
![](http://editerupload.eepw.com.cn/fetch/20160819/408_4_9.jpg)
在 W5200E01-M3_PWDN 的程序中, PHY的掉电模式已经默认为关闭.
PHY 的掉电的意思是代表控制PHY. 所以, 掉电模式是启动代表不可以传送和接收任何数据包.
4. 设置网络设置
![](http://editerupload.eepw.com.cn/fetch/20160819/408_4_10.jpg)
5. 启用PHY掉电
![](http://editerupload.eepw.com.cn/fetch/20160819/408_4_11.jpg)
6. 禁用PHY掉电
![](http://editerupload.eepw.com.cn/fetch/20160819/408_4_12.jpg)
7. PINg测试
PC 1 ping 到 iMCU7200EVB(192.168.11.254). 如果 PC1 使用串口终端程序去改变 W7200 到功能8. 关闭PHY 的掉电模式之后再开到 启用PHY掉电模式, PC 1 就不可以ping 到 iMCU7200EVB 和 会打印出信息 “Request timed out”.
![](http://editerupload.eepw.com.cn/fetch/20160819/408_4_13.jpg)
如果 PC1 使用串口终端程序改W5200到功能7来启用PHY掉电模式之后改到关闭PHY 的掉电模式, PC 1 就可以PINg iMCU7200EVB .
![](http://editerupload.eepw.com.cn/fetch/20160819/408_4_14.jpg)
![](https://webstorage.eepw.com.cn/images/2014/m/wx.png)
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码