物灵之家
技术的灵感来源于生活
全部文章(21 篇)
- 延迟、抖动、周期、余量,怎么合成一张能用的设计表?
四个数单独看都对,合起来才是决策:延迟 57.02 µs、抖动 σ 10 ns、T/τ = 0.2、超时概率 3%。给一张四行表,写清每行填什么、怎么得到,以及三条能立刻抓出矛盾的一致性检查。
实时系统 · 2026-10-29 - 用一条曲线描述执行时间,会把超时概率低估多少倍?
双峰执行时间下,2 万次抽样实测 1.0% 的拍超过周期;用一条对数正态拟合只有 0.17%(低估 6 倍),把最高 1% 当离群点剔掉再拟合只剩 0.029%(低估 35 倍)。
实时系统 · 2026-10-29 - 平均占用率 70% 就算安全吗?
按对数正态模型算:平均占用 70% 时,单拍执行时间超过周期的概率约 3%–9%(1/34–1/11);即使降到 50%,仍有 0.02%–0.7%。安全判据是尾部概率,不是平均占用。
实时系统 · 2026-10-29 - 采样周期越短,控制就一定越好吗?
同一控制器下,τ=0.5 s 时周期从 1 ms 拉到 100 ms,IAE 只差 0.3%(0.4091–0.4104);而 τ=20 ms 时,100 ms 的周期让 IAE 直接变成 2.83。决定成败的是 T/τ 比值,不是绝对快慢。
实时系统 · 2026-10-29 - 三个 10 ns 的抖动加起来,是 30 ns 还是 17 ns?
三个互不相关的 ±10 ns 抖动:线性相加得 30 ns,峰值平方和开根得 17.3 ns,真实标准差只有 10 ns。三个数都对,取决于问的是最坏值、峰值包络还是 σ——混用会让预算差三倍。
实时系统 · 2026-10-29 - 一次采样到一次输出,延迟到底花在哪一段?
周期 100 µs 时,异步采样的平均延迟是 57.02 µs,其中 50 µs 花在「等下一次采样」;换成同步锁相后只剩 7.02 µs。五段分解里,最容易被忽略的那段往往占八成以上。
实时系统 · 2026-10-29 - 文档说功能已完成,代码里却没有——怎么让这种错误在构建时就失败?
把 69 条主张写成机检条目,接入构建的第 5 道闸门:宏必须真被定义、拒绝码必须真被赋值、能力位不得同时出现在「未实现」列表。某类登记数低于下限,判定为「判据无效」,而不是「一切正常」。
工程方法 · 2026-10-29 - 固件说自己是 400 MHz,怎么从外部证明它不是 380?
用逻辑分析仪量 PA8 翻转周期反推:4,907 个跳变、有效间隔均值 99.9975 µs,反推 400.010 MHz(+25 ppm,标准误 1.6 ppm)。同一公式若把假定值填成 450,会打印出一个误差 +0.002% 的完美结论。
嵌入式 · 2026-10-29 - 怎么实测定出控制程序的最小稳定周期?
从 100 μs 逐档压低周期,每档记录 ISR 执行时间与 CPU 占用:43 条路由实测执行 4.86–4.99 μs,于是 5.00 μs 是临界、4.50 μs 已过载(110.8%)。判据只有一条:执行时间必须小于周期。
嵌入式 · 2026-10-29 - 用调试器 halt 看 MCU,为什么会看到「系统死了」?
halt 会一起冻结内核、定时器计数与 DMA 请求链:GPIO 停止更新、周期计数不再增长,而且 halt 后读到的外设寄存器常是 0 或旧值。改用 RTT、DTCM 环形缓冲、GPIO 心跳三种非侵入手段,才能看到真实状态。
嵌入式 · 2026-10-29 - 上电后每隔约半秒复位一次,怎么确认是不是 IWDG?
IWDG 超时 = (4×2^PR×RLR)/LSI;PR=0、RLR=0xFFF、LSI≈32 kHz 时正好 512 ms。若 option byte 把 IWDG 设为硬件模式,软件关不掉,必须 main() 第一行写 0xAAAA,否则初始化稍长就被复位。
嵌入式 · 2026-10-29 - 同一个 100 μs 周期,为什么 DWT 能测出 13600 和 19200 两个数?
因为 CYCCNT 按 CPU 时钟计数,不是固定频率:13600 周期在 136 MHz、19200 在 192 MHz、24000 在 240 MHz 下都等于 100 μs。引用周期数时必须同时给出当时主频,否则纳秒换算会差 1.4–2 倍。
嵌入式 · 2026-10-29 - 把控制逻辑编译成一张数据表,执行时间就能在编译期算出来吗?
能。DCL 的编译产物是一张路由表:表头 12 B + 路由表 16 KB + 参数表 8 KB + CRC 4 B(另可选 4 KB 状态表)。引擎顺序扫描原语、没有分支跳转。43 条路由的执行时间恒为 4.86–4.99 μs:把周期从 100 μs 压到 4.5 μs,这个数不变。
嵌入式 · 2026-10-28 - 怎么用一张路由表在 STM32H723 上做到 100 μs 确定性控制?
把控制逻辑编译成一张约 24 KB 的路由表(表头 12 B + 路由 16 KB + 参数 8 KB + CRC 4 B),由 TIM1 强制 100.000 μs 周期顺序扫描。43 条路由的 ISR 执行 4.86–4.99 μs,最小稳定周期 5.00 μs(200 kHz);改逻辑秒级部署,不用重烧固件。
嵌入式 · 2026-10-28 - STM32H7 的 DMA 能访问 DTCM 吗?
Direct Mode 下不能:DMA2 Stream5 的 M0AR 指向 DTCM 0x200000E0 时 DMEIF5 置位、EN 被硬件清零;改成 AXI SRAM 0x24000000 后立即恢复正常。另附 Stream 偏移与 M0AR 写保护两个连带坑。
嵌入式 · 2026-10-28 - 定时器很准,为什么 MCU 的 GPIO 输出边沿还是抖?
抖动来自写 IO 的那一刻,不是定时器:ISR 入口抖动会原样传到引脚(ESP32 实测 462 ns)。改成影子寄存器加 DMA 硬件锁存后,STM32H723ZG 输出沿抖动小于 10 ns。
嵌入式 · 2026-10-28 - AI多轮对话讨论: AI 写代码到底有没有未来?
本期物灵团队围绕「是否推行 AI 辅助编程」开了六轮会。最终共识:不全面铺开,先受控试点——预算绕开审批链小步快跑、首月八千分档熔断、三层架构栅栏(应用层 AI 自由 / 领域层人签字 / 基础设施层禁改)、review 分诊制、蜜罐匿名化、成绩单两阶段、功能月底就绪两周灰度。一句话结论:AI 写代码有未来,但它属于会算账、肯认错、把栅栏扎进流程里的团队——未来不在 AI 手里,在用 AI 的人手里。
AI实践 · 2026-08-22 - 结构化提示词:让 AI 编程能力翻倍的写作规范
把提示词当作需求文档来写:上下文、角色任务、约束边界、示例、验收标准、分步迭代——六步结构化写作,让 AI 编程从'能跑'到'好用'。
AI实践 · 2026-08-20 - 对比测试:MiMo TTS 不同音色的效果体验
用同一篇文章分别测试冰糖(女声)和苏打(男声)两种音色,感受 AI 语音播报的不同风格。
AI实践 · 2026-08-18 - MiMo TTS 语音合成实战:用 AI 给技术文章配音
实测小米 MiMo TTS 模型,手动为文章生成 AI 语音播报,支持多种音色和分段拼接。
AI实践 · 2026-08-18 - 欢迎来到我的博客:部署笔记(FastAPI + Vue3 + MiMo TTS)
这是一篇演示文章:从零到上线,一个带 AI 语音播报的个人技术博客的部署全过程。
随笔 · 2026-08-18