跳转至

硬件连接图

本文引用的文件 - README_Gateway.md - include/config.h - old_version/include/config.h - old_version/docs/CH390H_Wiring.md - include/eth_manager.h - include/wifi_manager.h - include/hci_transport.h - managed_components/espressif__ch390/include/esp_eth_mac_ch390.h - managed_components/espressif__ch390/include/esp_eth_phy_ch390.h - old_version/components/ch390/include/esp_eth_mac_ch390.h - old_version/components/ch390/include/esp_eth_phy_ch390.h - old_version/main/main.c

目录

  1. 简介
  2. 项目结构
  3. 核心组件
  4. 架构总览
  5. 详细组件分析
  6. 依赖分析
  7. 性能考虑
  8. 故障排查指南
  9. 结论
  10. 附录

简介

本文件面向ESP32-S3 BLE网关的硬件连接设计,提供完整且可落地的电气连接方案:ESP32-S3主控制器与nRF52833 BLE协处理器(UART/HCI)以及CH390D以太网控制器(SPI)之间的引脚分配、信号命名、电压等级、电源与地线分配、信号完整性保护、连接器规格、线缆长度与阻抗匹配建议,以及实际测试连接示例与连接顺序指导。内容严格依据仓库中的配置头文件与说明文档整理,确保与软件层引脚定义一致。

项目结构

  • 硬件层面由ESP32-S3主控、nRF52833 BLE协处理器、CH390D以太网控制器组成。
  • 软件层面通过配置头文件集中定义各外设的引脚映射与参数,确保硬件连接与软件初始化一致。
  • 以太网部分使用SPI接口,nRF52833通过UART进行HCI通信;两者均通过独立的GPIO引脚连接至ESP32-S3。
graph TB
subgraph "硬件"
ESP["ESP32-S3"]
NRF["nRF52833"]
ETH["CH390D"]
end
subgraph "软件配置"
CFG["引脚配置头文件<br/>include/config.h"]
ETHM["以太网管理接口<br/>include/eth_manager.h"]
WIFIM["WiFi管理接口<br/>include/wifi_manager.h"]
HCIT["HCI传输接口<br/>include/hci_transport.h"]
end
ESP --> NRF
ESP --> ETH
CFG --> ESP
CFG --> ETH
CFG --> NRF
ESP --> ETHM
ESP --> WIFIM
ESP --> HCIT

图表来源 - README_Gateway.md - include/config.h - include/eth_manager.h - include/wifi_manager.h - include/hci_transport.h

章节来源 - README_Gateway.md - include/config.h

核心组件

  • ESP32-S3主控制器:双核240MHz,负责系统调度、网络管理、BLE数据转发、WebUI与MQTT服务。
  • nRF52833 BLE协处理器:运行Zephyr HCI固件,通过UART与ESP32-S3通信,实现BLE扫描与连接。
  • CH390D以太网控制器:SPI接口PHY+MAC,提供10/100M以太网连接能力。

章节来源 - README_Gateway.md - include/config.h

架构总览

下图展示了硬件与软件层的交互关系,以及关键外设的连接方向。

graph TB
subgraph "硬件"
ESP["ESP32-S3"]
NRF["nRF52833"]
ETH["CH390D"]
end
subgraph "软件"
MAIN["主程序<br/>old_version/main/main.c"]
HCIT["HCI传输层<br/>include/hci_transport.h"]
ETHM["以太网管理<br/>include/eth_manager.h"]
WIFIM["WiFi管理<br/>include/wifi_manager.h"]
end
ESP --> NRF
ESP --> ETH
MAIN --> HCIT
MAIN --> ETHM
MAIN --> WIFIM
HCIT --> NRF
ETHM --> ETH

图表来源 - README_Gateway.md - old_version/main/main.c - include/hci_transport.h - include/eth_manager.h - include/wifi_manager.h

详细组件分析

以太网控制器(CH390D)连接图与电气特性

  • 接口类型:SPI
  • SPI主机:SPI2_HOST
  • 时钟频率:20MHz
  • 引脚分配(ESP32-S3 → CH390D):
  • IO9 → E-SCS(片选)
  • IO10 → E-MOSI(主机输出/从机输入)
  • IO11 → E-SCK(时钟)
  • IO12 → E-MISO(主机输入/从机输出)
  • IO13 → E-INT(中断,低电平有效)
  • IO4 → E-RSTB(复位,低电平有效)
  • 电源与地:
  • VCC → 3.3V(与ESP32-S3逻辑电平一致)
  • GND → 地
  • RJ45接口:模块自带RJ45与隔离变压器,可直接接入网线。
  • 中断模式:INT引脚用于中断通知,便于高效处理接收数据。
graph LR
subgraph "ESP32-S3"
IO9["IO9 - CS(E-SCS)"]
IO10["IO10 - MOSI(E-MOSI)"]
IO11["IO11 - CLK(E-SCK)"]
IO12["IO12 - MISO(E-MISO)"]
IO13["IO13 - INT(E-INT)"]
IO4["IO4 - RST(E-RSTB)"]
VCC["3.3V"]
GND["GND"]
end
subgraph "CH390D"
CS["SCS"]
MOSI["MOSI"]
CLK["SCK"]
MISO["MISO"]
INT["INT"]
RST["RSTB"]
end
IO9 --> CS
IO10 --> MOSI
IO11 --> CLK
IO12 --> MISO
IO13 --> INT
IO4 --> RST
VCC --> |"3.3V"| VCC
GND --> GND

图表来源 - include/config.h - old_version/docs/CH390H_Wiring.md - old_version/docs/CH390H_Wiring.md

章节来源 - include/config.h - old_version/docs/CH390H_Wiring.md

nRF52833 BLE协处理器连接图与电气特性

  • 接口类型:UART(带硬件流控)
  • 波特率:1Mbps
  • 引脚分配(ESP32-S3 → nRF52833):
  • IO17 → RXD(nRF52833接收)
  • IO16 → TXD(nRF52833发送)
  • IO15 → CTS(nRF52833清零)
  • IO7 → RTS(nRF52833允许)
  • IO42 → INT(nRF52833事件中断)
  • 复位:共享EN引脚(不使用GPIO控制),可通过上电复位或外部复位电路实现。
  • 电源与地:3.3V逻辑电平,与ESP32-S3兼容。
  • 中断:INT为低电平有效,用于BLE事件通知。
graph LR
subgraph "ESP32-S3"
TX["IO17 - TX"]
RX["IO16 - RX"]
RTS["IO15 - RTS"]
CTS["IO7 - CTS"]
INT["IO42 - INT"]
RST["EN(共享)"]
VCC["3.3V"]
GND["GND"]
end
subgraph "nRF52833"
NRX["RXD"]
NTX["TXD"]
NCTS["CTS"]
NRTS["RTS"]
NINT["INT"]
end
TX --> NRX
RX --> NTX
RTS --> NCTS
CTS --> NRTS
INT --> NINT
RST --> RST
VCC --> |"3.3V"| VCC
GND --> GND

图表来源 - include/config.h - README_Gateway.md

章节来源 - include/config.h - README_Gateway.md

电源分配与地线连接

  • 电源:所有外设统一使用3.3V供电,与ESP32-S3逻辑电平一致,避免电平不匹配。
  • 地线:采用星形接地或单点接地策略,确保共地阻抗最小,减少噪声耦合。
  • 建议:
  • 在电源入口处放置去耦电容(如0.1μF陶瓷电容就近旁路到地)。
  • 以太网与BLE信号线尽量远离高频数字总线,必要时增加磁珠或滤波。
  • 若使用长线缆,建议采用屏蔽双绞线并单端接地。

章节来源 - include/config.h - old_version/docs/CH390H_Wiring.md

信号完整性保护措施

  • 时钟与数据对称布线,尽量等长,减少时序偏差。
  • UART采用硬件流控(RTS/CTS),降低数据溢出风险。
  • SPI使用专用片选(CS),避免多设备共享总线导致冲突。
  • 中断线采用上拉/下拉(根据芯片手册)并缩短走线,减少干扰。
  • 高频时钟(20MHz SPI)建议使用阻抗控制PCB走线(通常50Ω)。

章节来源 - include/config.h - include/config.h - include/config.h

连接器规格与线缆长度限制

  • CH390D:RJ45接口,支持标准网线接入;模块自带隔离变压器,满足工业环境应用。
  • UART连接:建议使用2×4排针或直插式连接器,线缆长度建议不超过1米,以保证1Mbps UART的信号质量。
  • SPI连接:建议使用4~6线连接器,线缆长度不超过1米;若需更长距离,应采用差分或专用高速线缆并注意阻抗匹配。
  • 电源线:建议线缆截面积≥0.5mm²,以降低压降;长线时需考虑压降补偿。

章节来源 - old_version/docs/CH390H_Wiring.md - include/config.h - include/config.h

实际硬件测试连接示例与连接顺序

  • 连接顺序建议: 1) 先完成电源与地线连接(确保3.3V与GND正确)。 2) 连接CH390D SPI接口(CS/MOSI/SCK/MISO/INT/RST)。 3) 连接nRF52833 UART接口(TX/RX/RTS/CTS/INT)。 4) 检查复位引脚(EN共享,确保上电复位路径正常)。 5) 加载固件后,通过软件初始化以太网与BLE,观察指示灯状态。
  • 测试要点:
  • 以太网:确认ETH_INT引脚电平变化,检查链路状态与IP获取。
  • BLE:确认nRF52833 INT引脚电平变化,检查扫描与连接流程。
  • UART:使用串口工具验证1Mbps波特率下的数据收发。

章节来源 - old_version/main/main.c - include/eth_manager.h - include/hci_transport.h

依赖分析

  • 引脚配置集中于include/config.h,确保软件初始化与硬件连接一致。
  • 以太网管理模块依赖SPI主机与GPIO引脚配置,同时提供状态查询与回调机制。
  • nRF52833通过UART与ESP32-S3通信,软件层提供初始化、发送、回调与复位接口。
  • 主程序按启动顺序初始化各子系统,并在失败时给出提示信息。
graph TB
CFG["include/config.h"]
ETHM["include/eth_manager.h"]
WIFIM["include/wifi_manager.h"]
HCIT["include/hci_transport.h"]
MAIN["old_version/main/main.c"]
CFG --> MAIN
CFG --> ETHM
CFG --> HCIT
MAIN --> ETHM
MAIN --> HCIT
MAIN --> WIFIM

图表来源 - include/config.h - include/eth_manager.h - include/wifi_manager.h - include/hci_transport.h - old_version/main/main.c

章节来源 - include/config.h - include/eth_manager.h - include/wifi_manager.h - include/hci_transport.h - old_version/main/main.c

性能考虑

  • SPI时钟:20MHz,满足CH390D性能需求;若后续升级更高带宽PHY,需评估PCB走线与驱动能力。
  • UART带宽:1Mbps,配合硬件流控可稳定传输;若扩展到更高吞吐量,需评估缓冲区大小与任务优先级。
  • 中断处理:以太网与BLE均使用中断引脚,建议在软件层设置合适的中断优先级与处理队列,避免丢失事件。
  • 电源纹波:在高负载场景下,建议增加电源滤波与去耦,避免影响通信质量。

故障排查指南

  • 以太网无法连接:
  • 检查CS/CLK/MOSI/MISO/INT/RST引脚是否正确连接。
  • 确认SPI主机与时钟频率配置一致。
  • 观察ETH_INT引脚电平变化,确认链路状态。
  • BLE无法通信:
  • 检查UART TX/RX/RTS/CTS/INT引脚连接。
  • 确认波特率为1Mbps且硬件流控启用。
  • 查看nRF52833 INT引脚电平变化,确认事件中断。
  • 复位异常:
  • 确认EN引脚(nRF52833复位)连接正确,必要时添加外部复位电路。
  • 电源问题:
  • 使用万用表测量3.3V输出与GND间压降,确保在允许范围内。

章节来源 - include/eth_manager.h - include/hci_transport.h - include/config.h - include/config.h

结论

本文档基于仓库中的配置与说明,给出了ESP32-S3与nRF52833、CH390D之间的完整硬件连接方案。通过统一的引脚配置、明确的电气特性与信号完整性保护措施,可确保系统在实际部署中具备良好的稳定性与可维护性。建议在PCB布局与线缆选择上遵循阻抗控制与短路径原则,并在测试阶段重点关注中断与复位引脚的正确性。

附录

  • 以太网默认配置(来自软件配置头文件):
  • SPI主机:SPI2_HOST
  • 时钟频率:20MHz
  • 引脚:CS/MOSI/SCK/MISO/INT/RST
  • nRF52833默认配置(来自软件配置头文件):
  • UART主机:UART1
  • 波特率:1Mbps
  • 引脚:TX/RX/RTS/CTS/INT
  • 复位:EN共享(不使用GPIO)

章节来源 - include/config.h - include/config.h - old_version/include/config.h