本 demo 基于 BL706 emac 实现通过以太网发送一个 ARP 裸数据包的例程,通过本例程可以确认 emac 以及 PHY 芯片的配置是否正确。
以太网 PHY 芯片这里使用的是 PHY8720
硬件准备
一块 BL706 ETH
开发板
一块 PHY 8720 模块
一个串口线
一根标准 5/6 类网线
硬件连接
本 demo 基于 BL706 ETH 开发板,将对应的功能引脚连接到 PHY8720 模块上,连接方式如下:
接下来需要将 PHY8720 模块的 RJ-45 接口通过标准 5/6 类网线连接到与测试 PC 在同一局域网中的路由器或者交换机上。
构造 ARP 数据包
通过查阅 ARP 协议可以知道 ARP 包的数据报文组织结构如下:
因此按照上图所示数据结构,构造一个 ARP 数据包,交由 EMAC,通过 MAC 层将数据发送出去即可,下面的数据报文中的 IP 和 MAC 地址是本机当前的测试环境下的信息, 如在不同网络环境下测试则需要自行修改下列数据帧结构,使其符合当前的测试环境网络,方可正确完成测试。
编译和下载
命令行编译
烧录
详见 BLDevCube 烧录工具指南
实验现象
串口 log 信息:
以太网状态:
原作者:BL MCU SDK 开发指南