ywh
|
f96f713e09
|
P14/P15/P16 批次合并:硬件计数、软限位高频采样、性能遥测与真机测试体系
P14 硬件计数与四轴 100kHz 压力:
- TIM9/TIM12 硬件计数接入(Q0/Q2、Q1/Q3 共享,16 位溢出扩展 counterBlockPulses,目标脉冲 CC1IF 判定)
- 计数资源租约与软件回退(Q2/Q3 走源 UIF),counter_stress 脚本 + 规格文档
P15 软限位边界:
- 制动距离改用真实硬件输出频率,2000Hz 高频采样提前 1 脉冲进入减速
- 四轴正/负 500/2000Hz 矩阵测试(验收 ±1 脉冲),soft_limit_matrix 脚本
P16 性能遥测:
- PlsrProcess/TIM6/输出 ISR/计数 ISR 最坏执行时间遥测(DWT cycles + 分段峰值)
- performance_test 脚本 + 规格文档(全部预算 PASS)
其余:
- Modbus 命令扩展:SAVE/LOAD_CONFIG 持久化命令、错误码 5/6、RESET_ERROR
- Flash 双槽 CRC+代数持久化(SFD900~1419,SAVE/LOAD 已接命令口)
- CW/CCW 段尾停止机制(cwStopPending,物理下降沿停止)
- AB 启动预热机制(abStartupPriming,首次启动 ISR 内释放引脚)
- USB CDC 运行时诊断(Rx 重装失败计数等)
- 上电自测改由 plsr_build_config.h 宏开关控制
- 新增真机测试脚本/文档:AB_STRESS、BIT_INPUT、LONG_STRESS、PERSISTENCE_BOARD
- 交接提示词与问题总清单(2026-08-10)
|
1 month ago |
ywh
|
fdbbe71aea
|
P13 Modbus 控制窗口打通:COMMIT/START 分离、命令应答与一致性状态读取 + PAUSE/RESUME 修复
本批完成内容:
Modbus 控制窗口(新增 plsr_modbus_control/data + modbus_data_store):
- COMMIT 与 START 分离:COMMIT 校验通过后生效;COMMIT 后
再修改 S0/S1,START 返回 BUSY,要求重新提交。
- 命令支持:停止、暂停、继续、位置设置、清零、保存;
重复命令序号幂等,不重复执行。
- 四轴状态均可读取;32/64 位状态用首尾版本号保证一致性
(防撕裂读取)。
- 控制窗口基址可配置:P13 暂用 D1200~D1455(非信捷固定
地址),S0=D1600、S1=D1700。
PAUSE/RESUME 闭环修复:
- PAUSE 不再终止当前 S0 路径,保留当前段与已发脉冲;
RESUME 从 S2 起始速度重新激活速度曲线。
- 硬件定时器恢复时不清零脉冲计数,任务累计连续。
- 暂停回差补偿段时恢复专用速度参数。
- STOP_DECEL 正常收到减速完成事件并进入 STOPPED。
- Python 脚本增加"频率非零 + 计数增长"恢复判定,不再把
ACCEL+0Hz 误判为恢复成功。
测试:
- Host:3500 项检查全部通过(含控制窗口/命令/一致性/幂等)。
- IAR:0 errors,0 warnings。
- 上板验证(逻辑分析仪,Q0):
START 后 1000Hz 平滑加速至 2000Hz → 稳定段 → PAUSE 约
200ms 平滑减速停止,暂停期间 0 边沿恒低 → 重复 PAUSE
无第二次动作 → RESUME 从 ~1000Hz 重新加速 → STOP_DECEL
平滑减速至停。全程 0 个 <10µs 毛刺、无截断尾脉冲、
无意外重启。
|
1 month ago |
ywh
|
c776438bcd
|
P5 软限位保护 + 受控停止落地:限位提前减速真机验证 + 已知问题清单
本批完成内容:
软限位保护(P5):
- profile 新增受控停止入口 PlsrProfileRequestStop:目标频率/终止
频率置 0,按减速斜率平滑减速至停(无斜率时直接停止)。
- 软限位判定接入运动循环:位置到达限位前按减速距离提前触发
受控停止,避免撞击限位后急停。
- 自测新增 PlsrProtectionSelfTestQueue:Q0 脉冲 + Q4 方向,
目标 +10000 脉冲、正软限位 +500、1000Hz、减速 100ms、
方向延时 10ms(SFD900 软限位使能、SFD912/915 端子配置)。
- main.c 上电自测入口切换为保护测试(验证后可删除)。
文档:
- 新增《已知问题清单_2026-08-09.md》:记录 AB 启动边沿
(7501)与软限位边界精度(502)两个未关闭问题及根因方向。
上板验证(逻辑分析仪实测):
- 恒定 1000Hz 输出 460 脉冲后进入减速段(84.5ms 平滑减速
至 134Hz),共 502 个脉冲停止——验收 499~501,**超停 1~2
个脉冲**(触发点晚 ~9 个),停止后零残余边沿、无毛刺,
Q4 方向正向正常。
- 边界偏差已记录到已知问题清单,待定位(判定位置源/
提前量公式)。
|
1 month ago |
ywh
|
3d3662d27a
|
fix(plsr): 校正首脉冲及减速尾段频率输出
- 修正 Q0~Q3 对应定时器的实际时钟频率
- 清除 UG 产生的 UIF,避免更新事件被误计为物理脉冲
- 增加共享中断 UIF 检查和硬件脉冲计数原子读取
- 在方向稳定期间暂停运动曲线推进
- 根据频率积分计算线性加速首脉冲周期
- 使用硬件实际计数同步运动曲线虚拟脉冲数
- 根据剩余脉冲数反算减速频率并补偿 ARR 预装载延迟
- 增加减速距离计算的 uint64_t 溢出保护
- 增加 Q0 定时器调试快照及相关主机测试
- 忽略并取消追踪本地截图和波形分析文件
验证:
- 实际上板波形验证通过
- 1308 项主机测试全部通过
- IAR 全量编译 0 错误、0 警告
|
1 month ago |
ywh
|
b2e407d91c
|
P3a 硬件层上板验证:修复 PWM 输出两个硬件缺陷,优化段间衔接,扩展三段自测
- PlsrHwStartPwmTimer 补配 CCMR1.OC1M=PWM模式1:裸定时器复位为冻结模式,
通道输出恒定电平(上板实测 PF6 无方波,仅一段 672ms 恒高)
- ARR/CCR 使能预装载(ARPE/OC1PE)+ 启动时 EGR.UG 加载影子寄存器:
运行中调频不再因 CNT 超调提前回绕,加速段多余脉冲消除(7517→7500)
- 方向延时仅在方向变化时生效(首次/换向/换方向点),
段间同向衔接由 14.9ms 缩短至 ~2ms
- 上电自测扩展为 3 段(2000Hz/1000 脉冲、5000Hz/6000、1000Hz/500),
上电延时 1s 后启动,顺带验证段间跳转
- 新增波形分析脚本(破译 16bit/CH0/100MS/s 导出格式 + 时频曲线拟合),
实测三段总脉冲 7500,与理论完全一致
已知遗留(不影响脉冲计数与位置精度,留待 P4 上板调试):
- 段尾 profile DONE 后冻结频率收尾(段3 尾部 150Hz 平台 38 脉冲)
- 段首第一周期被压缩(首脉冲占空比异常)
|
1 month ago |
ywh
|
e35595aae1
|
完成了初版需求规格书与方案书
|
1 month ago |
ywh
|
a31b00b803
|
完善需求,写了点方案书
|
1 month ago |
ywh
|
4c3793fa8a
|
更新了需求文档
|
1 month ago |
ywh
|
31e9874a19
|
写了些需求文档
|
1 month ago |
ywh
|
3986737ec8
|
写了一点PLSR的文档
|
1 month ago |
ywh
|
4c45d6e670
|
开始做PLSR项目
|
1 month ago |