项目实践¶
项目的价值不在器件数量,而在于它是否迫使你做出可解释的工程判断。一个优秀的入门项目可以很小,但必须包含预测、实现、测量和差异分析。
项目循环¶
问题与验收
写清用户、输入、输出、约束、测试和非目标。把“做一个滤波器”改写为可以测量的通带、截止、负载和误差要求。
模型与预算
建立最简单可用模型,列出参数来源、量纲、容差、噪声、功耗、成本与安全预算,并预测关键曲线。
仿真与设计评审
覆盖典型与边界条件,检查失效模式。让同伴或导师在购买/制板/上电前审查规格、原理图和测试计划。
实现与分段验证
从最小能量、最小模块开始,每次只增加一个变量。自动化软件/HDL 测试,硬件先做无源和断电检查。
测量与复盘
保留原始数据,将预测、仿真和实测对齐。解释差异、限制和下一版选择,不删除失败路径。
一页项目规格¶
在创建仓库或购买器件前,用一页回答:
| 字段 | 必须写清的内容 |
|---|---|
| 问题 | 谁在什么场景下需要什么结果? |
| 输入/输出 | 信号、能量、数据格式、范围、单位与参考点 |
| 验收测试 | 可重复的测试步骤、通过阈值与测量不确定度 |
| 约束 | 成本、时间、功耗、尺寸、工具、许可、可获得性 |
| 安全边界 | 最大能量、禁止状态、监督和停止条件 |
| 假设 | 环境、负载、模型、器件、采样和使用者行为 |
| 非目标 | 本版本明确不解决什么,防止范围失控 |
| 里程碑 | 每个里程碑都能单独验证和演示 |
如果验收测试写不出来,说明问题仍然过大或术语没有被定义。
从软件到硬件的项目阶梯¶
所有项目先做安全评估。以下例子按概念复杂度递增,不代表对任何具体电压、功率或实验环境的授权。
| 级别 | 项目例 | 核心能力 | 最小验收 |
|---|---|---|---|
| 0 | 测量数据清洗与误差图 | 单位、统计、脚本、可复现图表 | 从原始数据一键重建结果 |
| 0 | RC/RLC 暂态与频响仿真 | 微分方程、相量、模型边界 | 手算、数值与 SPICE 在误差预算内一致 |
| 0 | HDL 状态机与自检测试平台 | 时序、状态、断言、故障用例 | 正常与非法输入均有自动结果 |
| 1 | 受限低能量的传感器读取 | 数据手册、ADC、校准、噪声 | 对已知参考量给出误差和重复性 |
| 1 | 低能量有源滤波/放大 | 运放、带宽、负载、稳定性 | 幅频曲线与预测对齐并说明偏差 |
| 1 | 微控制器数据记录器 | 驱动、时间戳、缓冲、文件格式 | 长时间测试无丢样或能量化丢样 |
| 1 | FPGA 串行接口或小型处理单元 | 协议、跨域意识、综合与时序 | 自检测试 + 资源/时序报告 |
| 0–1 | 数字滤波与实时实现 | 采样、量化、计算预算 | 离线基线与实时输出可比较 |
| 0–1 | 动态系统辨识与闭环控制 | 模型、稳定性、饱和、延迟 | 仿真先通过,低能量装置在边界内验证 |
| 0 | 接收型通信链路分析 | 链路预算、噪声、调制、统计 | 预测与公开/自采数据的误码指标一致 |
| 0 | 电磁或热场参数扫描 | 边界条件、网格、收敛 | 网格独立性与解析/基准问题对照 |
| 2+ | 高能量、射频发射、激光或工艺项目 | 正式风险评估与专业设施 | 仅在获准实验室按监督计划定义 |
项目证据包¶
一个陌生评审者应能在不联系作者的情况下回答“做了什么、为什么可信、怎样复现”。
project/
├── README.md # 摘要、演示、复现入口
├── SPEC.md # 规格、非目标、验收矩阵
├── SAFETY.md # 危害、控制、停止条件
├── design/ # 推导、原理图、约束、评审记录
├── src/ # 软件、固件或 HDL
├── simulation/ # 模型、网表、参数扫描
├── tests/ # 自动测试和硬件测试协议
├── data/raw/ # 只追加的原始数据
├── data/processed/ # 可由脚本重建
├── bom/ # 料号、替代、成本与许可
└── report/ # 结论、误差、失败与下一版
README 首屏应包含¶
- 一句话问题与结果,而不是品牌口号;
- 一张带单位和直接标签的关键结果图;
- 当前状态:概念、仿真、原型、已验证或已停止;
- 三到五步复现路径;
- 安全边界与禁止用途;
- 最重要的限制和失败。
设计评审门¶
Gate 0:问题成立¶
- 验收指标可测;
- 范围可在时间与预算内完成;
- 项目不会依赖无法获得的设备或受限材料;
- 有一条纯软件或低能量的第一里程碑。
Gate 1:可以实现¶
- 模型、接口、元件额定值和误差预算一致;
- 关键器件有数据手册和可获得替代;
- 测试点、调试接口与可观测性已设计;
- 风险控制优先采用消除、限制能量和工程保护。
Gate 2:可以上电或运行¶
- 仿真/自动测试通过;
- 原理图、接线、极性、短路和机械边界已复核;
- 仪器与电源设置已记录;
- 停止条件明确,所需监督人员在场。
Gate 3:可以宣称完成¶
- 所有验收结果都可追溯到原始数据;
- 失败测试与偏差没有被隐藏;
- 报告区分测得、推断和假设的内容;
- 复现者能从锁定环境与版本得到同类结果。
评价量规¶
| 维度 | 0:缺失 | 1:初步 | 2:可靠 | 3:工程级 | | --- | --- | --- | --- | --- | | 问题定义 | 只有题目 | 有目标,无阈值 | 可测指标和非目标 | 指标连接真实场景与权衡 | | 模型 | 无预测 | 公式/仿真未校验 | 假设、单位、基准完整 | 灵敏度、边界和失效模型完整 | | 实现 | 无法运行 | 仅作者机器可用 | 版本、构建、接口清楚 | 模块化、可测试、可维护 | | 验证 | 只有演示 | 少量成功样例 | 测试矩阵和原始数据 | 不确定度、故障注入、重复性 | | 安全 | 未提及 | 通用提醒 | 项目级危害与控制 | 控制已验证并记录遗留风险 | | 沟通 | 只有截图 | 能说明做了什么 | 可复现报告与图表 | 评审记录、权衡与下一版清楚 |
总分不是为了排名,而是暴露证据薄弱的接口。安全为 0 时,项目不能进入硬件执行阶段。
失败日志¶
每次关键失败记录:
避免只写“接触不良”“库有 bug”或“参数不对”。把观察和解释分开;无法确认根因时明确标记未知,并保留最小失败样例。
团队项目¶
- 每个接口都有一名负责人和一名评审者;
- 规格、数据格式、引脚、时序和安全责任写成契约;
- 合并前运行自动测试,并记录硬件版本;
- 会议以决策、证据、反对意见和待验证项结束;
- 署名反映实际贡献,外部代码、模型和数据按许可引用。