Files
STM32F4-Base/Drivers/BSP/CH395F/README.md
T
wandering1 39bd06adea 为自建代码目录补齐 README,建立目录级导航体系
- 新增 26 份目录 README:App/(+log,task,util,protocol)、Drivers/BSP/(+8子系统)、
  Src/、Inc/、scripts/、tools/(+6子工具)、test/、MDK-ARM/、simulator/(+sim,tests)
- 每份含:定位、文件清单表、关键约束/陷阱、指向 docs 权威文档
- 第三方库与生成代码目录排除(CMSIS/HAL/Middlewares/Lib/SDL2)
- docs/文档规范.md 新增 §1.1b 代码目录 README 约定;根 README 目录结构加入说明
2026-09-26 12:25:36 +08:00

1.6 KiB
Raw Blame History

Drivers/BSP/CH395F/ — CH395F 以太网控制器驱动

CH395F 是 SPI 接口的 10/100M 以太网 MAC+PHY 控制器。本目录是其底层寄存器级驱动, 上层的 BSD Socket 抽象见 ../NET/。

文件一览

文件 作用
ch395f.c/h SPI 命令收发、寄存器读写、芯片初始化、通道/中断管理

关键点

  • SPI 接口:SPI2(PB12 CS / PB13 SCK / PB14 MISO / PB15 MOSI)
  • 每次 SPI 事务必须 ch395f_spi_begin() / ch395f_spi_end() 包裹
  • SPI 分频系数必须为 8(PCB 信号完整性约束,勿"优化"改快)
  • 芯片最多 8 个 socket,本层用事件中断 + 周期轮询驱动
  • PHY 强制 100M 全双工(net_task 中配置)

⚠️ 改本驱动前必读陷阱(Trap Records)

Trap 问题 状态
Trap 21 TC-NET-604 "RX 窗口冻结" 判定为非缺陷(原报告系测试程序自吞数据 + 判读工具误判) ✅ 结案
Trap 22 快速复连丢 CONNECT/DISCONNECT 中断 → 监听静默死亡;修复 = net_reconcile_tick() 周期对账自愈 ✅ 已修
Trap 23 上传中止后首笔复连被静默截断(≤2048B)并误报成功;修复 = 异常释放后复监听隔离排空 ✅ 已修

完整台账与复现配方见 docs/问题记录/CH395F_Trap_Records.md(改驱动前必读)。

相关文档

  • 测试指南:docs/测试说明/CH395F_Test_Guide.md
  • 上层抽象:../NET/README.md
  • 台架探针:MDK-ARM/tcp_reconnect_probe.py、MDK-ARM/ftp_abort_probe.py