[PIC®/AVR®/dsPIC®产品] app_ThrsldMeasDefaultValue 校准函数如何适配 PIC18F56Q71 的 8 位内核算力

[复制链接]
117|27
怎么总是重复啊 发表于 2026-6-20 20:51 | 显示全部楼层
工业场景下,除了元件容差,还要考虑温漂和老化,建议在app_ThrsldMeasDefaultValue里加个动态自校准机制,比如每隔一段时间用空载状态测一次基准,更新补偿系数,这样比只靠出厂标定更能应对后期的元件漂移
antusheng 发表于 2026-6-23 09:21 | 显示全部楼层
PIC18 支持 8×8 硬件乘法器产生 16 位结果,uint32_t是编译器模拟 32 位临时缓存,仅运算中间使用,不长期占用 RAM。
蝶弄美人簪 发表于 2026-6-23 14:18 | 显示全部楼层
app_ThrsldMeasDefaultValue 校准函数针对 PIC18F56Q71 的 8 位内核,采用 8 位单周期运算、精简查表法替代浮点计算,减少乘除开销。函数裁剪冗余逻辑,使用寄存器直接存取,配合片内硬件 ADC 采样、硬件比较,降低 CPU 占用,以轻量算法适配 8 位算力,保证校准精度与实时性。
野玫瑰 发表于 2026-7-17 11:14 | 显示全部楼层
采用 8 位定点整型运算,舍弃浮点;复用 FVR 稳定基准,硬件 AD 均值采样;阈值计算移位替代除法;局部变量复用 RAM 减少堆栈占用;单次测量分段运算拆分长逻辑;硬件比较器预筛数据,降低 CPU 计算负荷;常量固化 Flash 不占运行算力;循环精简无冗余判断;单次校准分步执行避免卡顿;参数存 EEPROM 减少重复计算。
少女诗篇 发表于 2026-7-20 11:37 | 显示全部楼层
适配 PIC18F56Q71 8 位内核,简化 ThrsldMeasDefaultValue 校准运算,全部改用 8 位整型,舍弃浮点;分段查表替代实时除法。单次阈值计算拆分多轮循环,降低单周期运算负荷。复用通用寄存器减少堆栈占用,关闭冗余滤波运算,分段采样计算,避免运算溢出与程序卡顿,适配 8 位有限算力
牛奶秋刀鱼 发表于 2026-7-27 10:51 | 显示全部楼层
简化浮点运算,全部转为 8 位整型定点换算;分段查表替代实时复杂计算,减少循环;阈值上下限做 8 位边界截断,避免溢出;单次采样单次运算,拆分多步长计算分次执行;关闭冗余滤波,采用移位替代乘除,压缩运算耗时适配 8 位内核算力。
爱丽丝的梦 发表于 2026-7-27 14:37 | 显示全部楼层
简化阈值测量校准函数浮点运算,全部改用 8 位整型定点换算;拆分多步乘除,避免单次超大运算溢出;分步读取 AD 原始值,分段查表替代复杂计算;减少循环层数,删减冗余判断;复用通用 8 位寄存器,降低 RAM 占用,规避 PIC18 8 位内核运算瓶颈,保证校准实时运**顿。
茉璃夏 发表于 2026-7-27 15:47 | 显示全部楼层
PIC18F56Q71是8位内核,跑浮点运算很吃力,多周期平均里的除法运算要改成整数移位或查表法
豌豆爹 发表于 2026-7-27 16:18 | 显示全部楼层
电感±5%容差会导致LC谐振频率偏移,校准函数通过长期平均把这个偏移量吸收进阈值基准里。
进入猫次元 发表于 2026-7-27 16:50 | 显示全部楼层
8位机算多周期平均要注意累加器溢出,用户设定周期数过大时,16位变量可能不够用。
麻花油条 发表于 2026-7-27 17:20 | 显示全部楼层
跑校准期间LED会闪烁,说明函数是阻塞式执行,8位机主循环在没跑完前不会响应其他任务
classroom 发表于 2026-7-27 17:52 | 显示全部楼层
对外部电感差异的修正有效范围有限,如果电感偏差超过±10%,校准平均可能拉不回来。
cr315 发表于 2026-7-27 18:23 | 显示全部楼层
软件架构里这个函数单独成模块,和PWM发生、阈值检测解耦,方便8位机按顺序调度执行
duo点 发表于 2026-7-27 18:53 | 显示全部楼层
校准周期数设得太小,平均滤波效果差;设得太大,8位机卡在里面的时间会很久。
flycamelaaa 发表于 2026-7-27 19:23 | 显示全部楼层
误差修正因子是减掉一个固定经验值,不是动态算出来的,所以对不同批次元件的适应性一般
onlycook 发表于 2026-7-27 19:55 | 显示全部楼层
8位内核做多周期平均时建议用累加和再右移的方式,避免用除法,省周期。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部
0