# PLSR P16 实时性能统计测试 ## 1 功能 固件使用STM32F407的DWT周期计数器,持续记录以下路径从本次复位以来的最坏执行周期: - `PlsrProcess`任务自身CPU执行时间; - `PlsrProcess`包含高优先级中断抢占的墙钟响应时间; - TIM6 10kHz控制刷新中断; - TIM10/11/13/14输出定时器中断; - TIM9/TIM12硬件计数中断; - 双AB末周期快速门控路径。 - `PlsrProcess`六个内部阶段的自身CPU时间,用于定位超过1ms的峰值路径。 统计结果通过D1200~D1537控制窗口中的D1256~D1263和D1456~D1469发布。D1205~D1206给出CPU计时频率,D1207为性能统计版本V7;V7保留D1470~D1515持久化诊断并增加D1516~D1537 USB CDC只读统计,但不改变P16各计时字段。该区域属于项目诊断增强,不对应信捷固定软元件。 | 地址 | 内容 | | --- | --- | | D1256~D1257 | PlsrProcess自身CPU最大周期数(32位) | | D1258~D1259 | PlsrProcess墙钟响应最大周期数(32位) | | D1260~D1261 | TIM6控制ISR最大周期数(32位) | | D1262 | 输出定时器ISR最大周期数(16位饱和) | | D1263 | TIM9/TIM12计数ISR最大周期数(16位饱和) | | D1456~D1457 | 脉冲合并与保护检查最大周期数(32位) | | D1458~D1459 | 关键事件处理最大周期数(32位) | | D1460~D1461 | 命令队列处理最大周期数(32位) | | D1462~D1463 | 普通事件与方向批量提交最大周期数(32位) | | D1464~D1465 | HAL tick、路径和Profile推进最大周期数(32位) | | D1466~D1467 | 合并后的HSD Backup SRAM检查点最大周期数(32位) | | D1468~D1469 | 双AB末周期快速门控最大周期数(32位) | ## 2 测试方法 重新复位开发板后运行P14脚本: ```powershell python HostComputer\plsr_modbus_counter_stress_test.py --port COM5 ``` 脚本在四轴100kHz、Modbus持续轮询完成后自动读取P16数据,显示cycles和微秒,不需要手工读取Watch。 ## 3 自动预算 - `PlsrProcess`自身CPU时间必须小于1ms对应周期数。 - `PlsrProcess`墙钟响应单独显示;超过1ms时给出抢占提示,不与函数自身WCET混算。 - TIM6控制ISR必须小于0.1ms对应周期数。 - 输出ISR和计数ISR必须小于100kHz的10us周期数。 - 双AB压力测试中,末周期快速门控必须非零且小于420 cycles(168MHz下为2.5us)。P14 PULSE/DIR用例不要求该项非零。 - P14所覆盖的五项必须都被实际执行,数值不得为0。 - 仍须同时满足P14四轴计数精确、无毛刺和无残余输出;执行时间通过不能替代波形验收。 建议把脚本输出的五个总体最坏值、六个阶段值和五个流程检查点记录到测试报告。V7保留自身CPU时间和包含抢占的墙钟响应时间、六个分阶段独立最大值及合并后的HSD检查点,并保留D1468~D1469的双AB快速门控统计;阶段最大值来自不同轮次,不能直接相加作为总执行时间。 ## 4 已关闭的P16板测记录(2026-08-10) 硬复位清除DWT历史最大值后,四轴PULSE/DIR 100kHz、每轴200000脉冲及Modbus并发轮询实测: - `PlsrProcess`自身最大53748 cycles(319.929us),低于168000 cycles预算; - `PlsrProcess`响应最大85655 cycles(509.851us); - TIM6控制ISR最大231 cycles(1.375us); - 输出ISR最大893 cycles(5.315us); - TIM9/TIM12计数ISR最大883 cycles(5.256us)。 P14端子波形同时确认Q0~Q3各严格200000个上升沿,因此本次P16 PULSE/DIR性能闭环验收通过。D1468~D1469只属于双AB新路径,仍须随双AB 100kHz板测单独关闭。 该记录是本轮AB、持久化V7窗口和USB诊断落盘前的已通过基线。烧录最终工作区后仍须硬复位并重跑 P14/P16;只有新输出继续满足预算且四轴计数/波形不回退,才可作为本批次发布回归证据。