# 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` |