60 lines
1.7 KiB
Markdown
60 lines
1.7 KiB
Markdown
# TCP2UART 项目需求说明
|
||
|
||
## 一、项目概述
|
||
|
||
基于 STM32F103 单片机和 FreeRTOS 开发一款具有双网口通信功能的 TCP 串口透传设备,实现网络数据与串口数据之间的双向透明传输。
|
||
|
||
## 二、硬件平台
|
||
|
||
| 项目 | 说明 |
|
||
|------|------|
|
||
| 主控芯片 | STM32F103R8T6(后续大批量生产可用 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 链路数据** <==> **UART2** 双向透传
|
||
- **Client 链路数据** <==> **UART3** 双向透传
|
||
- 仅透传 TCP 数据区(Payload),无需解析串口协议
|
||
|
||
### 4.3 参数配置
|
||
|
||
- 支持通过 **UART1** 串口命令修改设备 IP 地址等网络参数
|
||
- 配置参数需掉电保存
|
||
|
||
### 4.4 数据可靠性
|
||
|
||
- 确保 TCP 数据与串口数据双向传输不丢包
|
||
- 提供丢包率测试方案及测试数据
|
||
|
||
## 五、交付物
|
||
|
||
1. 原理图及 PCB 设计文件(立创 EDA 格式)
|
||
2. STM32 固件源码(CubeMX 工程 + HAL 库 + FreeRTOS)
|
||
3. 丢包测试方案及测试工具/数据
|
||
4. 使用说明文档
|
||
|
||
## 六、约束条件
|
||
|
||
- 通信协议:标准 TCP/IP
|
||
- 串口透传:纯数据透传,不解析上层协议
|
||
- 硬件尺寸及供电参数由甲方提供
|