KSZ8863RLLI 是一款集成 3 端口(2PHY + 1MAC)的交换机芯片,与 STM32F407 连接时,通常利用其 Port 3 (MAC3)​ 配置为 RMII 模式,将 STM32 的 MAC 层与交换芯片对接。以下是硬件设计的关键接口与电源方案。

🔌 核心硬件接口(RMII)

STM32F407 内置以太网 MAC,与 KSZ8863 的 RMII 接口引脚对应关系如下(推荐使用 50MHz 有源晶振给 KSZ8863 提供时钟):

✅ STM32F407 与 KSZ8863 (Port 3) RMII 引脚对应表

信号线

STM32F407 引脚

信号方向

KSZ8863RLLI 引脚号

KSZ8863 信号名

备注

REF_CLK

PA1

26

REFCLKI_3

关键:需外部 50MHz 有源晶振

CRS_DV

PA7

25

SMRXDV3

载波侦听/数据有效

RXD0

PC4

29

SMRXD30

接收数据 0

RXD1

PC5

28

SMRXD31

接收数据 1

TXD0

PG13

19

SMTXD30

发送数据 0

TXD1

PG14

20

SMTXD31

发送数据 1

TX_EN

PG11

16

SMTXEN3

发送使能

MDC

PC1

36

SCL_MDC

管理时钟

MDIO

PA2

37

SDA_MDIO

管理数据

nRST

任意 GPIO (如 PD3)

46

RSTN

硬件复位,低电平有效

时钟方案选择

  • 推荐:使用 50MHz 有源晶振​ 直接供给 KSZ8863 的 X1 引脚(Pin 14),同时将 KSZ8863 配置为 RMII MAC 模式,REF_CLK 由芯片内部产生供给 STM32。

  • 若使用 25MHz 晶振,需确保 KSZ8863 能正确输出 50MHz 的 REFCLKO_3(Pin 26)给 STM32,配置较为复杂,易导致时钟不同步。

⚡ 电源架构与去耦

KSZ8863RLLI 需要多路电源供电,设计时需特别注意 LDO 的布局:

电源网络

芯片引脚

电压

来源与处理

VDDIO

22, 40

3.3V

直接接 STM32 的 3.3V 电源,作为 I/O 电平(与 STM32 通信)

VDDA_3.3

5

3.3V

模拟电源,建议通过 磁珠 (Ferrite Bead)​ 从 3.3V 隔离后接入

VDDA_1.8

7

1.8V

内部 LDO 输出仅用于内部滤波严禁外接负载

VDDC / VDDCO

32, 42

1.8V

数字核心电源,由内部 LDO 从 VDDCO 生成,需外接 10μF+0.1μF 去耦

电源设计要点

  1. 1.8V LDO 处理:KSZ8863 内部集成了 1.8V LDO(为 VDDC 供电),你只需在 VDDCO (Pin 42) 和 VDDC (Pin 32) 引脚附近放置 10μF + 0.1μF​ 的去耦电容即可,不要从 VDDA_1.8 (Pin 7) 引脚向外供电。

  2. 模拟电源隔离:VDDA_3.3 (Pin 5) 是模拟收发器电源,建议通过磁珠(如 600Ω@100MHz)从数字 3.3V 电源隔离,并在靠近引脚处放置 0.1μF 电容,以降低噪声。

⚠️ 关键配置引脚(上电 Strapping)

KSZ8863 的部分引脚在上电复位时会读取电平状态(Strapping)来确定工作模式,必须通过上下拉电阻固定这些引脚,否则可能导致 RMII 接口无法识别:

KSZ8863 引脚

引脚名

推荐接法

功能说明

17

SMTXD33/EN_REFCLKO_3

上拉 (10kΩ)

使能 Port3 REFCLK 输出(若 STM32 用外部时钟则下拉)

18

SMTXD32

下拉 (10kΩ)

选择 X1 输入为 50MHz 时钟源(配合有源晶振)

26

SMRXD33/REFCLKO_3

视情况

若用作 50MHz 时钟输出给 STM32,需配置为输出模式

硬件检查清单

  • [ ] 确认使用 50MHz​ 时钟源(有源晶振)接 KSZ8863 X1 (Pin 14)。

  • [ ] 确认 STM32 的 PA1 配置为 RMII_REF_CLK 输入​ 模式。

  • [ ] 确认 KSZ8863 的 Pin 17/18 已按上述要求接好上下拉电阻。

  • [ ] 确认 VDDIO 为 3.3V,且 VDDA_1.8 引脚未接任何外部电路。

🛠️ STM32 CubeMX 配置

在 STM32CubeMX 中配置 ETH 外设时,请遵循以下步骤:

  1. 引脚复用:在 Pinout 视图启用 ETH,模式选择 RMII。软件会自动分配 PA1, PA2, PA7, PC1, PC4, PC5, PG11, PG13, PG14 等引脚。

  2. 时钟树:确保系统主频(通常 168MHz)正确,且 ETH 时钟显示为 50.00 MHz(由外部 KSZ8863 提供)。

  3. PHY 参数:在 ETH 参数设置中,PHY 地址填写 3(对应 KSZ8863 的 MAC3),并选择正确的 PHY 型号(或通用 100M PHY)。

避坑提示:最常见的错误是 时钟方案不匹配(如 KSZ8863 输入 25MHz 但未正确输出 50MHz,或 STM32 误配置为输出时钟)。坚持使用 50MHz 有源晶振​ 可大幅降低调试难度。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐