commit 19689f980ae8e2361da0056acb2d646e813e8a3d Author: xiao Date: Mon Mar 23 13:05:53 2026 +0800 初始化项目:添加项目需求说明及参考资料 diff --git a/Reference/CH390DS1.PDF b/Reference/CH390DS1.PDF new file mode 100644 index 0000000..c249192 Binary files /dev/null and b/Reference/CH390DS1.PDF differ diff --git a/Reference/stm32f103c8.pdf b/Reference/stm32f103c8.pdf new file mode 100644 index 0000000..857ca61 Binary files /dev/null and b/Reference/stm32f103c8.pdf differ diff --git a/项目需求说明.md b/项目需求说明.md new file mode 100644 index 0000000..58dc4e7 --- /dev/null +++ b/项目需求说明.md @@ -0,0 +1,59 @@ +# TCP2UART 项目需求说明 + +## 一、项目概述 + +基于 STM32F103 单片机和 FreeRTOS 开发一款具有双网口通信功能的 TCP 串口透传设备,实现网络数据与串口数据之间的双向透明传输。 + +## 二、硬件平台 + +| 项目 | 说明 | +|------|------| +| 主控芯片 | STM32F103(后续大批量生产可用 GD32 替代) | +| 以太网芯片 | CH390D | +| PCB 设计工具 | 立创 EDA(避免 AD 版权纠纷) | +| 串口通道 | 2 路 UART | + +## 三、软件平台 + +| 项目 | 说明 | +|------|------| +| 开发环境 | STM32CubeMX + HAL 库 | +| 操作系统 | FreeRTOS | +| 协议栈 | 标准 TCP/IP 协议 | + +## 四、核心功能需求 + +### 4.1 双链路 TCP 通信 + +- **Server 链路**:设备作为 TCP Server,监听指定端口,等待外部客户端连接 +- **Client 链路**:设备作为 TCP Client,主动连接远程服务器 +- 两条链路共享**同一个对外 IP 地址** + +### 4.2 串口透传 + +- **Server 链路数据** <==> **UART1** 双向透传 +- **Client 链路数据** <==> **UART2** 双向透传 +- 仅透传 TCP 数据区(Payload),无需解析串口协议 + +### 4.3 参数配置 + +- 支持通过串口命令修改设备 IP 地址等网络参数 +- 配置参数需掉电保存 + +### 4.4 数据可靠性 + +- 确保 TCP 数据与串口数据双向传输不丢包 +- 提供丢包率测试方案及测试数据 + +## 五、交付物 + +1. 原理图及 PCB 设计文件(立创 EDA 格式) +2. STM32 固件源码(CubeMX 工程 + HAL 库 + FreeRTOS) +3. 丢包测试方案及测试工具/数据 +4. 使用说明文档 + +## 六、约束条件 + +- 通信协议:标准 TCP/IP +- 串口透传:纯数据透传,不解析上层协议 +- 硬件尺寸及供电参数由甲方提供