本测试覆盖两组固定 AB 点对:Q0/Q1(轴 Y0)和 Q2/Q3(轴 Y2)。脚本使用
K3 的 100kHz 零加减速配置,自动写入 S0/S1、COMMIT、START,并核对两组
TIM9/TIM12 硬件计数租约、任务/位置/物理周期数和 DWT 实时预算。动态用例还会
执行100kHz→50kHz→100kHz原子变频以及Q0/Q1单组PAUSE/RESUME。
当前状态(2026-08-10):安全首沿建立、双硬件计数租约和末周期快速门控代码已通过Host回归及IAR编译;尚未按本文件完成四通道真机波形验收,因此AB首次启动7501历史问题和双AB 100kHz压力项仍不得标记为关闭。
main.c 的板测准备路径必须执行 PlsrHardwareCounterSelfTestPrepare(),以生成 K3。完整执行独立停止、等长并发、动态变频/暂停三个用例:
python HostComputer\plsr_modbus_ab_stress_test.py --port COM5
为便于逻辑分析仪精确统计,推荐硬复位后分别采集:
python HostComputer\plsr_modbus_ab_stress_test.py --port COM5 --case independent
python HostComputer\plsr_modbus_ab_stress_test.py --port COM5 --case simultaneous
python HostComputer\plsr_modbus_ab_stress_test.py --port COM5 --case dynamic
independent 要求 Q0/Q1 完成后计数冻结且保持低,同时 Q2/Q3 继续运行。
simultaneous 使用相同的 200000 周期目标验证两组并发完成;两个 START 通过
Modbus 串行提交,因此两组实际启动/结束时刻允许相差一次 RTU 事务时间。
dynamic 使用每组300000周期,要求两组调频时保持相位和连续计数;Q0/Q1只在
完整00边界暂停并保持低,Q2/Q3不受影响,随后Q0/Q1从00恢复正确相序。
脚本还检查 D1468~D1469 发布的 AB 末周期快速门控最大周期数。168MHz 下必须
非零且小于 420 cycles(2.5us,一个 100kHz AB 周期的四分之一)。
00→10→11→01→00,反向必须为逆序。00边界生效,RESUME从00重新建立相序,另一组全程不得停顿或串扰。00;A/B 首个上升沿间隔 2.50us(建议容差 ±0.05us),不得同时上升。00;停止后至少 1ms 全低且无残余边沿。脚本的内部 physical_pulses 只用于固件一致性检查,不能替代端子波形验收。