net_env_project/README.md

65 lines
2.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Avionics Network Communication Environment (机载系统网络通信环境)
## 概述
本工程实现了机载系统网络通信环境的三个核心软件单元,满足 GJB 2786A-2009 和 GJB 438C-2021 军用软件开发标准要求,支持在 Windows 11 和 Ubuntu 20.04 双操作系统环境下编译运行。
## 模块结构
| 模块 | 命名空间 | 说明 |
|------|----------|------|
| DAU (数据采集单元) | `dau` | 基础通用通讯功能多总线数据接收、ID 过滤、错误帧处理、睡眠/唤醒管理、总线负载监控 |
| PPU (协议处理单元) | `ppu` | 协议兼容与互通信CAN2.0 ↔ CANFD 协议转换ARINC825 标准兼容 |
| DSU (数据存储单元) | `dsu` | 数据存储与回放:缓冲写入、磁盘故障告警与路径切换、数据查询与按时序回放 |
## 编译方法
### 前置条件
- CMake >= 3.16
- 支持 C++17 的编译器GCC >= 7, Clang >= 6, MSVC 2019+
### 编译步骤
```bash
# 进入工程目录
cd codegen-runs/codegen_dde59ff85c1e4e4797ab9a9c6483a125
# 配置
mkdir -p build && cd build
cmake ..
# 编译主程序
cmake --build . --target avionics_network_env
# 编译测试程序
cmake --build . --target basic_test
```
### 运行
```bash
# 运行主程序
./avionics_network_env
# 运行测试
./basic_test
```
## 接口清单
| 标识 | 描述 | 实现函数 |
|------|------|----------|
| IF-HW-001 | 物理信号接口 (Byte Array / Integer) | `dau::DAU_Process` |
| IF-CTRL-001 | TCP/IP 控制接口 (JSON String) | 预留 |
| IF-BUS-001 | CAN/CANFD 总线接口 (Struct) | `ppu::PPU_Convert`, `ppu::PPU_Check` |
## 需求覆盖
| 需求标识 | 需求名称 | 实现函数 |
|----------|----------|----------|
| SRS-F-01-001 | 基础通用通讯功能 | `dau::DAU_Process`, `dau::DAU_SetSleep`, `dau::DAU_GetBusLoad` |
| SRS-F-01-002 | 协议兼容与互通信功能 | `ppu::PPU_Convert`, `ppu::PPU_Check` |
| SRS-F-02-001 | 数据存储功能 | `dsu::DSU_Write`, `dsu::DSU_CheckDisk` |
| SRS-F-02-002 | 数据管理与回放功能 | `dsu::DSU_Query`, `dsu::DSU_Replay` |