跳转至

Air780EPM 以太网(WAN/LAN)硬件设计说明

Air780EPM 支持以太网 RJ45 接口,如下表所示;

一、WAN 和 LAN 的基本概念

1. 定义与功能

  • LAN(局域网,Local Area Network):

    • 作用:用于设备内部局域网络通信,例如连接同一局域网内的传感器、控制器或其他终端设备。
    • 典型配置:
      • 固定 IP 或 DHCP 分配。
      • 通过 RJ45 接口实现本地数据传输(如 Air780EPM 开发板默认支持 LAN 功能)。
    • WAN(广域网,Wide Area Network):

    • 作用:用于连接外部网络(如互联网),通常作为网关或路由器的上游接口。

    • 典型配置:
      • 需动态 IP 或运营商提供的固定 IP。

2. Air780EPM 的以太网接口支持

  • 硬件设计:

    • 开发板默认支持 LAN 功能,通过一个 RJ45 接口实现局域网通信。
    • 同时支持 WAN 和 LAN 需额外硬件支持:
      • 需要两个 RJ45 接口(一个用于 WAN,一个用于 LAN)。
      • 需外接 CH390H/CH390D 芯片(支持双以太网接口)。
    • 芯片选型:

    • CH390H/CH390D:支持以太网协议,与 Air780EPM 通过 SPI 和 GPIO 通信。


二、硬件设计注意事项

1. 以太网接口电路设计

  • 核心芯片:

    • CH390H/CH390D:支持 10/100M 以太网,需遵循以下设计原则:
      • 供电:确保芯片工作电压(通常 3.3V)与 Air780EPM 的 GPIO 电平一致。
      • 信号连接:
        • SPI 接口:连接到 Air780EPM 的 GPIO 和 SPI 引脚。
        • PHY 接口:接到 RJ45。
    • PCB 布局关键点:

    • 差分对走线:以太网信号线(如 TX+/TX-、RX+/RX-)需走差分线,阻抗控制在 50Ω。

    • 地平面设计:
      • 避免在信号线周围放置大面积覆铜。
    • 电源与去耦:
      • 在以太网芯片的电源引脚旁并联 100nF 陶瓷电容和 10μF 电解电容,滤除噪声。

2. 天线与射频干扰

  • 4G 与以太网共存:
    • 确保以太网接口与 4G 天线之间保持至少 2cm 的物理距离,避免射频干扰。

3. 电源与复位

  • 以太网芯片供电:
  • 独立供电(如 5V 转 3.3V LDO),避免与 Air780EPM 的电源耦合干扰。

4. 硬件参考设计


三、软件开发注意事项

1. LuatOS API 与配置

  • 网络初始化(LAN 模式):
-- 创建netdrv, 使用CH390驱动, SPI0, 片选脚GPIO8
netdrv.setup(socket.LWIP_ETH, netdrv.CH390, {spi=0,cs=8})
-- 配置LAN接口(静态IP)
netdrv.ipv4(socket.LWIP_ETH, "192.168.4.1", "255.255.255.0", "192.168.4.1")
-- 创建DHCP服务器, 为其他设备提供获取ip的功能
dhcps.create({adapter=socket.LWIP_ETH})
-- 代理内网DNS查询请求, 转发到4G网络
dnsproxy.setup(socket.LWIP_ETH, socket.LWIP_GP)
  • 多接口管理:

    • 若同时支持 WAN 和 LAN,需通过不同接口名称区分(如 socket.LWIP_ETH 和 socket.LWIP_USER0):
    -- 获取 RJ45 接口状态,判断网线是否已经接上, 前提是与 CH390H 通信正常
    local lan_status = net.ready(socket.LWIP_ETH)
    local wan_status = net.ready(socket.LWIP_USER0)
    

2. 关键注意事项

  • 固件版本:

    • 确保使用支持以太网功能的最新LuatOS固件。
  • 网络模式切换:

    • 仅LAN模式:默认配置单接口,开发板仅需一个RJ45接口。
    • WAN+LAN双模式:需硬件支持双接口,且在代码中分别配置两组参数。

3. 通信协议限制

  • MTU设置:

    • 默认MTU为1460字节,当前不可配置。
  • DHCP与静态IP:

    • LAN需要使用静态IP(避免动态分配冲突)。
    • WAN需根据实际网络要求配置, 通常是动态IP。
      netdrv.dhcp(socket.LWIP_ETH, true)
      

四、典型问题排查

1. 网络连接失败

  • 检查清单:
    • 确认以太网芯片供电正常,复位信号正确。
    • 验证 RJ45 接口的物理连接(水晶头压接是否牢固)。
    • 检查 IP 配置是否冲突(如与网关同网段)。
    • 确保固件版本支持以太网功能。

2. WAN 无法使用

  • 可能原因:

    • 所在网络不支持 DHCP,需要设置静态 IP,掩码,网关。

    netdrv.ipv4(socket.LWIP_ETH, "192.168.4.101", "255.255.255.0", "192.168.4.1")
    
    - 网关不支持DNS, 需在代码中指定DNS服务器:
    socket.setDNS(socket.LWIP_ETH, 1, "114.114.114.114")
    socket.setDNS(socket.LWIP_ETH, 2, "223.5.5.5")
    


五、典型应用场景

1. 工业物联网:

  • 通过 LAN 连接本地传感器,通过 WAN 上传数据至云平台。 2. 4G 转以太网网关:

  • 将 4G 网络转换为有线网络(WAN 为 4G 接入以太网,LAN 为局域网输出)。 3. 智能家居控制:

  • 通过 LAN 连接本地设备,WAN 实现远程控制。


六、参考资料与工具

  • 硬件设计:以太网接口电路参考设计。
  • 软件调试:Luatools 工具。
  • API 文档:LuatOS 的 netdrv 库说明(net``drv``. setup, net.``ipv4 等)。

七、总结

在 Air780EPM 上开发以太网功能需注意以下关键点:

  1. 硬件层面:确保以太网芯片(如 CH390H)的供电、信号连接和 PCB 布局符合阻抗控制要求。
  2. 软件层面:正确配置 WAN/LAN 的 IP、协议及错误处理机制。
  3. 多模式支持:双接口设计需额外硬件,单接口默认支持 LAN 功能。