ywh
|
f1babb383a
|
本批完成内容:
HAL 启动参数增加 outputMode,core 会明确传递 PULSE/DIR、AB 或 CW/CCW 模式。
实现 AB 正向相序:00→10→11→01→00。
实现 AB 反向相序:00→01→11→10→00。
四次相位跳变、一个完整周期只累计一个指令脉冲。
AB 仅允许 D=Y0 或 Y2,对应 Q0/Q1、Q2/Q3。
AB 模式忽略 DIR 点和 SFD907 方向延时。
调频同时更新 A、B 两路,且不重置当前相位。
正常完成只在完整 00 周期边界停止。
紧急停止会将主机模型恢复至安全 00。
支持两组 AB 轴独立运行,停止一轴不会影响另一轴。
CW/CCW 目前明确返回 PLSR_RESULT_NOT_SUPPORTED。
目标板 AB 硬件尚未实现时也明确拒绝启动,防止误输出为单路 PWM。
同时修复两个旧边界问题:
零脉冲跳转链耗尽本轮预算时,不再误启动一个 0 脉冲硬件段。
极短段可能在 ACCEL 或 DECEL 阶段结束;现在 ACCEL/RUN/DECEL 均可正确处理段完成事件。
|
пре 1 месец |
ywh
|
3d3662d27a
|
fix(plsr): 校正首脉冲及减速尾段频率输出
- 修正 Q0~Q3 对应定时器的实际时钟频率
- 清除 UG 产生的 UIF,避免更新事件被误计为物理脉冲
- 增加共享中断 UIF 检查和硬件脉冲计数原子读取
- 在方向稳定期间暂停运动曲线推进
- 根据频率积分计算线性加速首脉冲周期
- 使用硬件实际计数同步运动曲线虚拟脉冲数
- 根据剩余脉冲数反算减速频率并补偿 ARR 预装载延迟
- 增加减速距离计算的 uint64_t 溢出保护
- 增加 Q0 定时器调试快照及相关主机测试
- 忽略并取消追踪本地截图和波形分析文件
验证:
- 实际上板波形验证通过
- 1308 项主机测试全部通过
- IAR 全量编译 0 错误、0 警告
|
пре 1 месец |
ywh
|
83803085ec
|
PLSR 新增 P3a 硬件层:单轴 PULSE/DIR 输出打通(host 模拟 + core 接线)
- 新增 plsr_hal_f407.c/.h:Q0~Q3 定时器/引脚映射(PF6-9 + TIM10/11/13/14)、
DIR 输出与方向建立延时状态机、PWM 启停/动态改频(50%占空比、预装载无毛刺)、
更新中断软件计数 + 段完成事件注入、精确停止(周期末关通道,无额外脉冲)
- 定时器时钟按 RCC 实际配置计算(修正 TIM13/14=84MHz 疑点,APB2 分频2 时实际 168MHz)
- core 接线:段进入自动启动硬件+速度曲线、段间自动重启、tick 驱动 profile→改频、
加速完成自动注入 ACCEL_COMPLETE、STOP/急停/限位/故障/终态统一停止硬件
- PLSR_HOST_TEST 下模拟定时器寄存器,HAL 逻辑可单测
- 新增 test_plsr_hal 380 项(含端到端:START→DIR延时→PWM→加速→计数→段间→完成),
六套 host 测试共 1151 项全绿,IAR 0 错误 0 警告
- 待办:上板前补 GPIO 复用与 NVIC 使能(host 覆盖不到)
|
пре 1 месец |
ywh
|
2fe534c39f
|
PLSR 多段路径执行器落地,并完成 P0 接口纠偏
【P1 多段路径执行器】新增 plsr_path.c/.h,在任务快照与十态状态机之上实现段级执行语义:
- 六种等待条件(完成/WAIT时间/WAIT信号/ACT/EXT/EXT或完成),ACT 可截断未完成段,段先完则等 ACT
- EXT 按 0→1 新边沿触发,段开始已有效的电平不误触发
- 跳转支持顺序、指定段、自循环,动态跳转(D/HD/FD)每次跳转时重新求值,运行期越界转 ERROR
- 绝对模式零位移与相对零脉冲段直接跳转;每轮最多 100 次连续无脉冲跳转后让出 CPU
- 状态转换表放宽 RUN/DECEL→ACCEL(段间衔接为正常路径);新增 SEGMENT_COMPLETE 事件与 1ms tick 推进
- STATUS 增加 currentSegment 诊断字段;STOP/PAUSE/急停/限位/故障时路径立即终止
【P0 接口纠偏】
- HSD 改为 16 位 WORD 语义(两个相邻 WORD 组成 32 位值),新增 Dword 读写 API,对外回绕并置溢出诊断
- HSD 检查点记录升级 v2:持久化 position_valid/last_busy,运动中掉电恢复后位置不可信
- SET/CLEAR_POSITION、启动、完成/停止/错误均触发 HSD 检查点(此前生产流程从未保存)
- SFD/K0 出厂默认值补齐(FOLLOW=50、最大速度 100000 等),全新 Flash 可直接启动
- directionDelayUs 改名 directionDelayMs;PlsrPostStart 隐藏为仅测试可用
- 新增 test_plsr_path(13 场景 227 项);四套 host 测试共 696 项全绿,IAR 0 错误 0 警告
|
пре 1 месец |
ywh
|
9296f55657
|
PLSR S0 S1 S2 D 现在可以解析、校验、生成不可变任务快照,并异步提交给 PLSR 核心
|
пре 1 месец |
ywh
|
ffd715ae75
|
建立十态单轴状态机
|
пре 1 месец |