AN0055 应用笔记 |
AT32 EMAC wake on LAN |
前言
随着物联网的发展,各式各样的装置都必须具备连网的能力,单芯片也不例外,为此我们以雅特力的AT32F407系列,演示了一系列的范例,以其用户能基于这些范例,使用雅特力的开发板发展出自己所需要的功能。
支持型号列表:
支持型号 | 具备EMAC的型号 |
目录
2.3 wake on LAN project设置... 6
表目录
图目录
本使用指南展示如何使用Magic Packet,透过ethernet将单片机唤醒,用户可基于这个功能,开发自己想添加的应用。
- wake_on_lan, 远程唤醒源程序,透过魔术封包唤醒单片机
- AT3 wake on LAN程序设置
表1. 管脚设置
EMAC信号 | 管脚 |
EMAC_MDC | PC1 |
EMAC_MDIO | PA2 |
EMAC_RMII_REF_CLK | PA1 |
EMAC_RMII_CRS_DV | PD8 |
EMAC_RMII_RXD0 | PD9 |
EMAC_RMII_RXD1 | PD10 |
EMAC_RMII_TX_EN | PB11 |
EMAC_RMII_TXD0 | PB12 |
EMAC_RMII_TXD1 | PB13 |
-
- LwIP设置
硬件资源只提供从PHY到MAC的信号处理,若要进行开发,则需要实作TCP/IP协议栈,在本应用中使用LwIP协议栈,该协议栈主要关注的是怎样减少减少内存的使用和程序代码的大小,这样就可以让LwIP适用于资源有限的小型平台例如嵌入式系统,更详细的内容可以访问官方网站。
由于整个协议栈已经整合到代码中,大部分的内容都无须修改,使用者只要根据自己的网段去设定IP地址及闸口地址即可,这两个全局变量宣告在netconf.c的上头。
图1. 配置RX脚位
在本应用中,与其他历程不同的是,在配置完LwIP之后,整个程序就准备进入SLEEP mode, 所以除了接收器之外,其他如发送器、DMA等等相关功能都必须要关闭。此外还要开始魔术封包检测及配置外部触发,emac的远程唤醒对应到的中断线是19。
图2. 配置外部触发及魔术封包检测
- 设定上位机的IP地址、网路屏蔽及闸口,IP地址与闸口需要跟芯片设置在同一个网段下。
- 打开PC端的发送魔术封包的工具,这里使用WakeMeOnLan, 这里需要手动输入单片机的IP
- 唤醒之后LED开始闪烁
图3. 设置PC端的IP、网络屏蔽及网关
图4. 打开WakeMeOnLan
表2. 文档版本历史
日期 | 版本 | 变更 |
2021.09.06 | 2.0.0 | 最初版本 |