Skip to content

Latest commit

 

History

History
775 lines (628 loc) · 21.2 KB

File metadata and controls

775 lines (628 loc) · 21.2 KB

M2.1 & M2.2 执行计划与进度追踪

发布日期: 2026-01-20
M2.1 目标: 2026-02-16 Alpha 发布
M2.2 目标: 2026-03-16 Beta.1 发布
执行周期: 8 周 (W2 - W9)


📊 高层时间线

W2 (1/28-2/2)    W3 (2/3-2/9)    W4 (2/10-2/16)   W5 (2/17-2/23)
├─ PTP: 300 LOC  ├─ 集成测试      ├─ M2.1 发布     ├─ 性能优化
├─ TSN: 300 LOC  ├─ CI/CD 完善   ├─ 文档完成      ├─ 多网络支持
├─ HW: 50% PCB  ├─ 文档编写      ├─ 发布记者会   ├─ HW 扩展卡
└─ Test: 完整    └─ 性能基准      └─ 社区启动      └─ 技术评估

W6 (2/24-3/2)   W7 (3/3-3/9)    W8 (3/10-3/16)
├─ 联合集成测试  ├─ 文档完整化    ├─ M2.2 发布
├─ 多网络测试    ├─ 性能验证      ├─ 企业用户启动
├─ 硬件集成      ├─ 质量报告      └─ 公开路演
└─ Beta.1 准备   └─ GO/NO-GO      


🎯 M2.1 执行计划 (4 周)

W2 (1/28 - 2/2): 基础功能开发

PTP Team - 目标: 300+ LOC

任务清单:
─────────────────────────────────────────────────────────

【Priority 1】ANNOUNCE 消息扩展 (40 LOC)
└─ 完成 ptp-stack/src/master/announce.c 实现
   • 消息序列化 (12 LOC)
   • 消息解析 (12 LOC)
   • 单元测试 (16 LOC)
   预期完成: 1/29
   验收标准: ✅ 编译无警告, ✅ 100% 覆盖率

【Priority 1】SYNC 消息实现 (50 LOC)
└─ 新文件: ptp-stack/src/master/sync.c/h
   • 消息结构定义 (15 LOC)
   • 序列化/解析 (20 LOC)
   • 时间戳集成 (15 LOC)
   • 单元测试 (20 LOC)
   预期完成: 1/30-1/31
   验收标准: ✅ 与 announce 集成无冲突

【Priority 1】BMC (Best Master Clock) 算法 (80 LOC)
└─ 新文件: ptp-stack/src/protocol/bmc.c/h
   • Master 选举逻辑 (40 LOC)
   • 时钟数据集比较 (30 LOC)
   • 状态机转移 (10 LOC)
   • 单元测试 (30 LOC)
   预期完成: 2/1-2
   验收标准: ✅ 支持 ANNOUNCE 消息评估

【Priority 2】时钟伺服 (70 LOC)
└─ 新文件: ptp-stack/src/master/servo.c/h
   • PI 伺服实现 (40 LOC)
   • 偏差计算 (15 LOC)
   • 频率调整 (15 LOC)
   • 单元测试 (30 LOC)
   预期完成: 2/2
   验收标准: ✅ <20µs 精度基线

【Priority 2】API 完整化 (60 LOC)
└─ 更新: ptp-stack/src/api/ptp.h/c
   • Master 状态查询 (20 LOC)
   • 时戳获取接口 (15 LOC)
   • 统计信息接口 (15 LOC)
   • API 文档注释 (10 LOC)
   预期完成: 2/2
   验收标准: ✅ 完整的 Doxygen 文档

小计: 300 LOC ✅

每日检查清单:

  • 1/29: ANNOUNCE 消息完整,所有测试通过
  • 1/30: SYNC 消息集成,性能基线建立
  • 2/1: BMC 算法可运行,选举逻辑验证
  • 2/2: 伺服精度验证,<20µs 达成

TSN Team - 目标: 300+ LOC

任务清单:
─────────────────────────────────────────────────────────

【Priority 1】TSN 调度器核心 (120 LOC)
└─ 完成: tsn-scheduler/src/tsn/core/scheduler.py
   • 调度算法实现 (60 LOC)
   • 周期管理 (30 LOC)
   • 单元测试扩展 (30 LOC)
   预期完成: 1/29-1/30
   验收标准: ✅ 8 个优先级支持, ✅ 周期准确

【Priority 1】Linux 网络驱动集成 (100 LOC)
└─ 新文件: tsn-scheduler/src/tsn/linux/taprio.py
   • taprio 驱动调用 (50 LOC)
   • 门控配置 (30 LOC)
   • 错误处理 (20 LOC)
   预期完成: 1/31-2/1
   验收标准: ✅ Linux 6.6+ 支持, ✅ 测试覆盖

【Priority 1】网络接口管理 (60 LOC)
└─ 新文件: tsn-scheduler/src/tsn/core/interface.py
   • 网卡检测 (20 LOC)
   • 配置应用 (25 LOC)
   • 状态查询 (15 LOC)
   • 单元测试 (20 LOC)
   预期完成: 2/1-2
   验收标准: ✅ ethtool 集成, ✅ 多网卡支持

【Priority 2】测试框架扩展 (80 LOC)
└─ 更新: tests/unit/test_scheduler.py
   • 性能测试用例 (40 LOC)
   • 压力测试 (25 LOC)
   • 集成测试准备 (15 LOC)
   预期完成: 2/2
   验收标准: ✅ 100+ 测试用例, ✅ <100µs 延迟

小计: 360 LOC ✅

每日检查清单:

  • 1/29: 调度器核心完成,性能基线建立
  • 1/31: Linux 驱动集成可运行
  • 2/1: 网卡管理完整,多网卡测试通过
  • 2/2: 性能基线验证,<100µs 达成

Hardware Team - 目标: PCB 原理图 50%

任务清单:
─────────────────────────────────────────────────────────

【Priority 1】参考设计原理图 (50% 完成)
└─ 文件: zone-controller/hardware/kicad/zone-controller.kicad_sch
   • CPU 电路 (STM32H7) - 100% ✅
   • 电源管理 - 100% ✅
   • 网络接口 (主网卡) - 50% (进行中)
   • PTP 时间戳电路 - 规划中
   预期完成: 2/2 (主网卡部分)
   验收标准: ✅ 电路图完整, ✅ 参考设计可复制

【Priority 2】材料清单 (BOM) v0.1
└─ 目标成本: ~¥361/块
   • 核心器件 (STM32, 电源, 晶振)
   • 网络器件 (PHY, RJ45)
   • 其他元器件
   预期完成: 2/2
   验收标准: ✅ 主要元器件国内可供

【Priority 3】参考资料整理
└─ 收集数据手册、应用笔记
   预期完成: 2/2
   验收标准: ✅ 与原理图对应, ✅ 网络共享

小计: 50% PCB ✅

每日检查清单:

  • 1/29: CPU 电路完成,符合参考设计
  • 1/30: 电源管理完成,稳压精度验证
  • 2/1: 网络接口原理图完成
  • 2/2: BOM 初稿完成,成本估算

Test & QA Team - 目标: 完整测试框架

任务清单:
─────────────────────────────────────────────────────────

【Priority 1】单元测试扩展 (100+ 测试用例)
└─ 更新: tests/unit/
   • PTP 消息测试 (30 用例)
   • TSN 调度测试 (40 用例)
   • 性能基准测试 (30 用例)
   预期完成: 2/2
   验收标准: ✅ 覆盖率 ≥80%, ✅ CI/CD 自动运行

【Priority 2】集成测试框架
└─ 新建: tests/integration/
   • PTP ↔ TSN 集成 (10 测试)
   • 硬件适配层 (5 测试)
   预期完成: 2/2 (框架就绪)
   验收标准: ✅ 框架完成,用例待补

【Priority 3】CI/CD 流水线
└─ 更新: .github/workflows/
   • ci-ptp.yml - 扩展覆盖
   • ci-tsn.yml - 扩展覆盖
   • 性能基准报告
   预期完成: 2/2
   验收标准: ✅ 自动发布 GitHub Release

小计: 完整框架 ✅

每日检查清单:

  • 1/30: 单元测试框架完成,100+ 用例就绪
  • 2/1: 集成测试框架搭建完成
  • 2/2: CI/CD 流水线全面运行

W3 (2/3 - 2/9): 集成与验证

集成测试与性能基准

任务清单:
─────────────────────────────────────────────────────────

【Day 1-2】PTP ↔ TSN 联合测试
└─ 目标: 验证消息优先级处理
   • PTP ANNOUNCE 不丢包
   • SYNC 消息低延迟
   • TSN 队列正常工作
   预期完成: 2/3-2/4

【Day 3】硬件适配层集成
└─ 目标: Zone Controller 与代码集成
   • 时间戳获取
   • 网卡配置
   • 性能数据收集
   预期完成: 2/5

【Day 4-5】性能基准建立
└─ 目标: 建立 M2.1 性能基线
   • PTP 延迟: <20µs
   • TSN 延迟: <100µs
   • 内存占用: <10 MB
   • CPU 占用: <5%
   预期完成: 2/6-2/7

【Day 6】文档编写启动
└─ 目标: 快速参考指南 (QUICKSTART.md 更新)
   • 编译说明
   • 运行示例
   • 故障排查
   预期完成: 2/8

【Day 7】质量评估
└─ 目标: W3 质量报告
   • 测试通过率: >95%
   • 代码覆盖率: ≥80%
   • 文档完成度: 70%
   预期完成: 2/9 EOD


W4 (2/10 - 2/16): M2.1 发布

发布准备

任务清单:
─────────────────────────────────────────────────────────

【2/10-2/12】最终代码审查
└─ 目标: 所有 PR 合并,代码冻结
   • PTP: 完整代码审查
   • TSN: 完整代码审查
   • Tests: 完整代码审查
   • 解决所有 review 意见

【2/13-2/14】最后测试与验证
└─ 目标: 回归测试,Go/No-Go 决策
   • CI/CD 全部通过
   • 性能达标验证
   • 文档最终审查

【2/15】GitHub 发布准备
└─ 目标: Release 发布前所有准备
   • Release Notes 编写
   • GitHub Release 准备
   • Docker 镜像构建
   • 社区通知准备

【2/16】M2.1 Alpha 正式发布
└─ 目标: v0.2.0-alpha.1 发布
   • GitHub Release 发布
   • 社区公告
   • 媒体发布
   • 发布直播/演讲


🎯 M2.2 执行计划 (4 周)

W5 (2/17 - 2/23): 性能优化启动

PTP 团队 - 目标: 200+ LOC 优化代码

任务清单 (性能优化重点):
─────────────────────────────────────────────────────────

【Priority 1】PI 伺服参数极致优化 (50 LOC)
└─ 更新: ptp-stack/src/master/servo.c
   任务:
   • 自适应系数算法 (25 LOC)
   • 参数调优工具 (15 LOC)
   • 优化验证脚本 (10 LOC)
   目标: <5µs 稳定精度 (从 <20µs)
   验收:
   • 24h 运行 <5µs
   • 标准差 <1µs
   • PI 参数自适应工作

【Priority 1】硬件时间戳优化 (40 LOC)
└─ 新文件: ptp-stack/src/platform/timestamp.c
   任务:
   • TS 精度提升算法 (20 LOC)
   • 缓存机制 or 内插 (15 LOC)
   • 性能对比测试 (5 LOC)
   目标: ±2ns 精度 (从 ±10ns)
   验收:
   • 硬件 TS 误差 <2ns
   • 软件算法正确性验证

【Priority 2】延迟追踪与分析 (60 LOC)
└─ 新文件: ptp-stack/src/tools/latency_analyzer.c
   任务:
   • 各环节延迟测量 (35 LOC)
   • 延迟分解报告 (20 LOC)
   • 优化建议生成 (5 LOC)
   目标: 完整的延迟分解数据
   验收:
   • 每个环节延迟清晰
   • 优化方向明确

【Priority 2】API 增强 (50 LOC)
└─ 更新: ptp-stack/src/api/ptp.h/c
   任务:
   • 新增 ptp_get_stats() (15 LOC)
   • 新增 ptp_get_latency_breakdown() (15 LOC)
   • 文档与例子 (20 LOC)
   目标: 完整的统计 API
   验收:
   • API 调用无误
   • 返回数据准确

小计: 200 LOC ✅ (大部分为性能优化)

每日检查清单:

  • 2/17: PI 伺服优化方案确定
  • 2/18: 硬件 TS 优化可运行
  • 2/19-20: 延迟分析工具完成,优化方向确认
  • 2/21: 新 API 函数完成
  • 2/23: <5µs 目标验证完成

TSN 团队 - 目标: 200+ LOC 多网络支持

任务清单 (多网络支持重点):
─────────────────────────────────────────────────────────

【Priority 1】多网络架构设计 (设计文档)
└─ 新建: tsn-scheduler/docs/MULTI_NETWORK_DESIGN.md
   任务:
   • 多网络拓扑设计 (10 KB)
   • 故障转移算法 (5 KB)
   • 互动图和时序图 (5 KB)
   目标: 清晰的技术方案
   验收:
   • 架构文档清晰
   • 决策记录完整

【Priority 1】网络冗余选择与故障转移 (60 LOC)
└─ 新文件: tsn-scheduler/src/tsn/core/network_redundancy.py
   任务:
   • 主备网络选择 (30 LOC)
   • 故障检测 (15 LOC)
   • 故障转移逻辑 (15 LOC)
   目标: 支持双网卡冗余
   验收:
   • 网络切换 <100ms
   • 零丢包转移 (新消息)

【Priority 1】Linux taprio 多网络适配 (70 LOC)
└─ 更新: tsn-scheduler/src/tsn/linux/taprio.py
   任务:
   • 多网卡驱动支持 (40 LOC)
   • 网络配置管理 (20 LOC)
   • 错误处理 (10 LOC)
   目标: Linux 6.6+ 双网卡支持
   验收:
   • 多网卡配置成功
   • 网络切换流畅

【Priority 2】队列优化与多级测试 (50 LOC)
└─ 更新: tsn-scheduler/src/tsn/core/queue.py
   任务:
   • 队列优化算法 (25 LOC)
   • 性能参数调优 (15 LOC)
   • 测试扩展 (10 LOC)
   目标: <50µs 延迟 (从 <100µs)
   验收:
   • 多网络下 <50µs
   • 优先级处理正确

【Priority 2】新 API 函数 (30 LOC)
└─ 更新: tsn-scheduler/src/api/__init__.py
   任务:
   • 网络选择 API (10 LOC)
   • 网络状态查询 API (10 LOC)
   • 文档 (10 LOC)
   目标: 完整的多网络 API
   验收:
   • API 功能完整
   • Python 绑定正确

小计: 210 LOC ✅ (主要为多网络功能)

每日检查清单:

  • 2/17: 多网络架构设计完成
  • 2/18: 网络冗余故障转移可运行
  • 2/19: Linux 驱动多网卡支持完成
  • 2/20: 队列优化完成,性能验证
  • 2/23: <50µs 目标验证完成

硬件团队 - 目标: PCB Layout 完成 50%

任务清单:
─────────────────────────────────────────────────────────

【2/17】网络扩展卡原理图 100% 完成
└─ 文件: zone-controller/hardware/kicad/eth-expansion.kicad_sch
   • 双网口电路 (PHY × 2)
   • 隔离电路
   • 连接器设计
   目标: 完整、可制造的原理图
   验收: ✅ 符合参考设计

【2/18-19】PCB Layout 设计 50% 完成
└─ 更新: zone-controller/hardware/kicad/eth-expansion.kicad_pcb
   任务:
   • 芯片位置规划 (Day 1)
   • 关键网络布线 (Day 2)
   • DFM 初步检查 (Day 3)
   目标: Layout 框架完成
   验收: ✅ 关键网络正确布线

【2/20-23】DFM 检查与优化
└─ 目标: 准备进入制造
   • DFM 规则检查
   • BOM 优化,成本 ¥520
   • 样品订单准备
   验收: ✅ 可提交制造

小计: PCB Layout 50% ✅

每日检查清单:

  • 2/17: 网络扩展卡原理图完成
  • 2/18: PCB Layout 开始
  • 2/20: 关键网络布线完成
  • 2/23: DFM 检查完成,准备送样

W6 (2/24 - 3/2): 集成与测试

联合集成与性能验证

任务清单:
─────────────────────────────────────────────────────────

【2/24】多网络故障转移集成测试
└─ 目标: PTP + TSN + 多网络 end-to-end 测试
   • PTP ANNOUNCE 不丢包
   • 网络切换 <100ms
   • TSN 优先级保持
   验收: ✅ 故障转移流畅

【2/25】硬件扩展卡集成
└─ 目标: Zone Controller + 网络扩展卡 集成
   • 新硬件驱动适配
   • 双网卡配置
   • 性能验证
   验收: ✅ 双网卡可用

【2/26】综合性能测试
└─ 目标: 验证性能指标
   • PTP: <5µs ✅
   • TSN: <50µs ✅
   • 多网络: 故障转移正常 ✅
   验收: ✅ 性能达标

【2/27-3/2】Beta.1 发布准备
└─ 目标: 准备 M2.2 Beta.1 发布
   • 代码冻结
   • 文档完整化
   • GO/NO-GO 决策
   验收: ✅ 可发布状态


W7 (3/3 - 3/9): 文档与发布准备

文档与质量保障

任务清单:
─────────────────────────────────────────────────────────

【文档】(W7 全周)
- [ ] 3/3: 硬件设计文档完整化
- [ ] 3/4: API 参考手册 (C + Python)
- [ ] 3/5: 性能优化指南 (4+ 场景)
- [ ] 3/6: 故障诊断指南
- [ ] 3/7: 硬件兼容性列表
- [ ] 3/9: 所有文档定稿

【测试】(W7 全周)
- [ ] 3/3: 性能基准测试 (<5µs, <50µs)
- [ ] 3/4: 24h 压力测试
- [ ] 3/5: 网络故障场景测试 (5+)
- [ ] 3/6: 多网络故障转移测试
- [ ] 3/7: 硬件兼容性测试
- [ ] 3/9: 最终质量报告,GO/NO-GO 决策


W8 (3/10 - 3/16): M2.2 正式发布

发布与社区启动

任务清单:
─────────────────────────────────────────────────────────

【3/10】代码冻结
└─ 目标: 所有 PR 合并,tag v0.3.0-beta.1-rc1

【3/11-12】最后验证
└─ 目标: RC1 回归测试,关键场景验证

【3/13】发布准备
└─ 目标: Release Notes 完成,所有链接验证

【3/14】最终签字
└─ 目标: PM + 所有 Lead 签字确认

【3/15】GitHub 正式发布
└─ 目标: v0.3.0-beta.1 正式发布
   • GitHub Release 发布
   • Docker 镜像发布
   • 文档完整发布

【3/16】社区推广
└─ 目标: 企业用户启动,公开路演
   • 发布新闻稿
   • 论坛公告
   • 邮件通知
   • 技术直播 (可选)


📊 资源分配与依赖

团队成员分配

PTP Team (3 人):
├─ Lead (1人): BMC, 伺服优化, API 设计
├─ Senior (1人): 消息实现, 时间戳优化
└─ Junior (1人): 测试, 文档辅助

TSN Team (3 人):
├─ Lead (1人): 多网络架构, 集成
├─ Senior (1人): 驱动集成, 性能优化
└─ Junior (1人): 测试, 文档辅助

Hardware Team (2 人):
├─ Lead (1人): 原理图设计, DFM
└─ PCB Designer (1人): Layout 设计

QA Team (2 人):
├─ Lead (1人): 测试计划, 性能基准
└─ Test Engineer (1人): 用例编写, 执行

Project Manager (1人):
└─ 进度跟踪, 风险管理, 沟通协调

跨团队依赖

PTP ← Hardware
└─ 需要硬件时间戳能力支持

TSN ← Hardware
└─ 需要网卡配置和多网卡支持

PTP ↔ TSN (相互依赖)
├─ PTP 需要 TSN 的低延迟保证
└─ TSN 需要 PTP 的时间同步

所有 ← QA
└─ 性能验证, 集成测试依赖

所有 ← PM
└─ 进度追踪, 风险管理

✅ 验收标准总结

M2.1 Alpha (2/16)

功能验收:
  ✅ PTP Master 完整实现 (ANNOUNCE, SYNC, BMC, Servo)
  ✅ TSN 调度器完整实现 (调度算法, Linux 驱动集成)
  ✅ 硬件参考设计 (原理图完整, BOM 确认)
  ✅ 完整的 CI/CD 和测试框架

性能验收:
  ✅ PTP 延迟: <20µs
  ✅ TSN 延迟: <100µs
  ✅ 内存占用: <10 MB
  ✅ CPU 占用: <5%

质量验收:
  ✅ 代码覆盖率: ≥80%
  ✅ 编译无警告
  ✅ CI/CD 全部通过
  ✅ 文档完成度: 70%

文档验收:
  ✅ QUICKSTART.md 更新
  ✅ 性能基准数据
  ✅ 发布 Notes
  ✅ API 初步文档

M2.2 Beta.1 (3/16)

功能验收:
  ✅ PTP 性能优化至 <5µs
  ✅ TSN 多网络支持与故障转移
  ✅ 硬件扩展卡设计完成 (PCB Layout)
  ✅ 硬件兼容性测试完成

性能验收:
  ✅ PTP 精度: <5µs (标准差 <1µs)
  ✅ TSN 延迟: <50µs
  ✅ 网络故障转移: <100ms
  ✅ 内存占用: <15 MB
  ✅ CPU 占用: <5%

质量验收:
  ✅ 代码覆盖率: ≥85%
  ✅ 编译无警告
  ✅ CI/CD 全部通过
  ✅ 文档完成度: 100%

硬件验收:
  ✅ PCB Layout 完成 100%
  ✅ 样品订单下达
  ✅ 成本确认 ¥520
  ✅ 交期确认 (4-6 周)

文档验收:
  ✅ 完整 API 文档 (Doxygen)
  ✅ 硬件设计文档
  ✅ 性能优化指南
  ✅ 故障诊断指南

🚨 风险与缓解

高风险项

风险 概率 影响 缓解方案
硬件设计延期 参考设计提前锁定,PCB 快速打样
性能目标未达 性能测试提前启动,备选方案准备
文档滞后 文档与代码并行,模板预准备
集成冲突 定期集成测试,接口设计先行

📅 关键决策点

【2/17】PI 伺服系数算法选择
└─ A) 固定极值 (简单, 性能好)
   B) 自适应系数 (复杂, 更优)
   决策者: PTP Lead
   影响: 性能-复杂度权衡

【2/18】硬件 TS 缓存机制
└─ A) 硬件 TS 缓存 (成本, 性能提升 20%)
   B) 软件内插 (低成本, 性能提升 10%)
   决策者: Hardware Lead + PTP Lead
   影响: 成本-性能权衡

【2/17】多网络方案
└─ A) 主备网络 (简单, 故障转移)
   B) 负载均衡 (复杂, 充分利用)
   决策者: TSN Lead
   影响: 功能-复杂度权衡

【2/19】Linux 内核版本
└─ A) Linux 6.6 LTS (稳定, 功能齐全)
   B) Linux 6.8 (最新, 性能更好)
   决策者: TSN Lead
   影响: 支持周期 vs 性能

【3/9】M2.2 GO/NO-GO
└─ 决策者: 所有 Lead + PM
   条件: 性能达标 + 质量达标 + 文档完整
   备选方案: 延期发布或功能裁剪

📞 沟通计划

每日

09:00-09:15 - 站立会议 (所有成员)
├─ 昨日完成
├─ 今日计划
├─ 问题与阻碍
└─ 工作量预估

16:00-16:15 - 下午检查 (Lead 参与)
├─ 进度状态
├─ 关键问题跟踪
└─ 次日预测

每周

周五 16:00-17:00 - 周总结会 (所有人)
├─ 周进度汇报
├─ 质量评估
├─ 风险评估
├─ 下周计划确认
└─ 跨团队协调

每2周

双周一 14:00-15:30 - 全体大会 (含利益相关者)
├─ 里程碑进度
├─ 演示与反馈
├─ 需求澄清
└─ 资源调整

📋 进度追踪表

详见下一页:M2_PROGRESS_TRACKING.md