硬件连接图¶
本文引用的文件 - 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
目录¶
简介¶
本文件面向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