AI小家电风扇主控一定要用32位MCU吗?应广PMS120B在ADC采样、PWM调速与安全控制中的应用选型解析
当AI进入小家电,主控选型不能只比较位数和主频。开发团队需要先分清:哪些功能依赖算力与协议,哪些功能更看重确定性、成本和失效安全。
先给答案:语音、视觉、联网协议和OTA通常交给32位MCU、AI SoC或通信模组;按键、低速采样、简单显示、PWM和安全保护可以由8位MCU承担。PMS120B面向后者,不用于本地AI推理。
一、为什么“AI小家电MCU怎么选”正在成为热门问题?
AWE 2026趋势资料把边缘SoC与基础控制MCU放在不同职责中:前者处理视觉与决策,后者维持低功耗控制。这个变化让选型问题从“换成更强芯片”转向“如何分配任务”。产品经理希望加入联网、语音和场景策略,工程团队还要同时控制传感误差、电机噪声、EMC、待机功耗与交付周期。是否保留8位MCU,最终取决于外设匹配、软件稳定度和异常状态,而不是市场概念。
二、8位与32位MCU的差异,体现在任务边界
| 选型维度 | 8位MCU更适合 | 32位MCU更适合 | 工程判断 |
|---|---|---|---|
| 控制任务 | 状态机、按键、定时、简单闭环 | 多任务、复杂算法、RTOS | 先测算最坏情况下的CPU占用 |
| 传感采样 | NTC、光敏、液位、电池电压等低速模拟量 | 高速多通道采样、数字滤波、复杂传感融合 | ADC位数不等于整机有效精度 |
| 驱动输出 | LED、蜂鸣器、继电器、MOSFET、简单PWM调速 | FOC、复杂波形、精密电机控制 | 必须结合定时器、死区和保护外设 |
| 联网与AI | 由外部模组承担,MCU只做本地执行 | 协议栈、本地推理、图形界面、加密 | 检查UART、SPI、I2C及存储资源 |
| 软件升级 | 功能冻结、无需现场更新 | OTA、频繁迭代、多个SKU共平台 | OTP和Flash的商业模型不同 |
| 成本结构 | 大批量、固定功能、外围可精简 | 以一颗芯片整合复杂功能 | 比较整板成本而非只看芯片单价 |
三、应广PMS120B能为小家电基础控制提供什么?
应广科技于2026年7月24日发布的V0.00规格书将PMS120B定义为带12位电阻式ADC的8位OTP微控制器。它更适合功能已经收敛、模拟采样和简单驱动占比较高的控制板。
PMS120B-S08A(SOP8,150 mil)实拍风格示意图。图片由AI生成,用于呈现封装形态,不是厂家实物摄影;丝印、批次与外观以原厂样品和实际交付为准。
- 内核与存储:8位精简指令集CPU,86条指令,大部分为单周期指令;2KW OTP程序空间、128 Bytes数据空间。
- 模拟采样:最多12通道12位R型ADC,可选择VDD以及多档带隙参考电压;在-40℃至85℃指标条件下应按10位有效指标评估。
- 定时与驱动:一个16位Timer16,两个带PWM功能的8位定时器,可用于周期任务、LED调光和简单电机/风扇调速。
- 模拟判断:一个硬件比较器和1.20V Bandgap,可支持阈值检测和部分电源监控设计。
- I/O与显示:最多14个I/O,内置VDD/2 LCD Bias,最高支持5×9点阵显示。
- 供电与封装:1.8V至5.5V,-40℃至85℃;提供SOP8、SOP14、SOP16和QFN3×3-16pin封装。
规格书边界:12位是ADC转换分辨率,不等于整机在全温度、全电压和噪声环境下必然获得12位有效精度。规格书给出的指标在0℃至50℃为12位、-40℃至85℃按10位评估;模拟源阻抗、采样时间、参考电压、PCB布局和软件滤波都会影响结果。
四、分层架构:智能模组处理交互,PMS120B负责现场控制
原创工程示意图:高层AI/联网模组与本地基础控制板分工。图片用于解释系统架构,不是量产原理图或特定产品实物。
建议的任务分工
| 系统层 | 负责内容 | 掉线或故障时的要求 |
|---|---|---|
| AI/联网模组 | 语音命令、App连接、云端策略、设备联动、OTA | 失联不能破坏本地安全状态 |
| PMS120B基础控制 | 按键、ADC采样、档位、PWM、显示、蜂鸣器、看门狗和LVR | 应保持基本功能,并执行安全保护 |
| 功率与保护电路 | MOSFET、继电器、驱动、续流、过流/过温和浪涌防护 | 硬件保护不能完全依赖软件 |
先核对接口:PMS120B规格书未列出硬件UART、SPI或I²C。少量控制命令可以评估GPIO握手或经验证的低速软件通信;持续传输、严格时序和在线升级则应改用带硬件接口与更大存储空间的MCU。
五、公开案例复盘:迁移难点来自资源与任务错配
公开的室内空气质量监测项目采用STM32F103C8与ESP8266,并提供程序、原理图、PCB、物料清单和实物资料。系统读取DHT11、GP2Y1014AU、MQ-2和MQ-7,通过OLED与四个按键完成显示和设置,由本地主控执行报警及风扇PWM,ESP8266负责MQTT连接。
公开任务表显示,系统同时运行五组节拍:20ms按键扫描、200ms界面与报警刷新、500ms ADC更新、2秒温湿度读取和5秒JSON上报,下行命令还会修改阈值与转速。由此可见,迁移评估不能停留在“有ADC和PWM”,还必须计算接口、缓冲、并发时序与异常分支。
5.1 逐项拆解:哪些功能能留下,哪些必须重构?
| 公开项目任务 | 隐藏的资源需求 | PMS120B迁移判断 | 解决方法 |
|---|---|---|---|
| 三路模拟气体/粉尘采样 | 多通道ADC、滤波缓存、传感器标定 | ADC通道数量够,但不能复制DMA方案 | Timer16触发轮询采样,小缓存分时计算;按传感器逐项标定 |
| DHT11温湿度 | 单总线微秒级时序、超时处理 | 可软件实现,但会占用代码和实时预算 | 基础版改用NTC;必须保留DHT11时先验证最坏执行时间 |
| OLED多页面菜单 | I²C、字库、帧缓存和菜单状态 | 不适合直接迁移 | 改为LED、数码管或PMS120B支持的简化LCD显示 |
| ESP8266串口JSON | USART、收发缓存、解析器、超时和重发 | 无硬件UART,128 Bytes RAM也非常紧张 | 智能模组承担协议和数据处理,只保留少量GPIO命令;持续通信则更换带硬件串口的MCU |
| 风扇PWM | 定时器、调速曲线、启动和堵转策略 | 两个8位PWM可覆盖简单调速 | 根据电机类型设计外部驱动,加入最小启动占空比与缓升速 |
| 云端与本地双控制 | 命令优先级、掉线保持、非法参数边界 | 不能只做“收到什么就执行什么” | 安全保护最高优先,本地控制其次,云端只修改允许范围内的目标值 |
5.2 为什么不能把原代码缩小后直接烧进PMS120B?
RAM预算:压缩字段名解决不了JSON占用
一帧温度、湿度、PM2.5、烟雾和CO数据会占用数十字节,还未包含接收缓冲、数值转换、菜单状态、滤波变量与堆栈。对128 Bytes数据空间而言,继续解析JSON会挤压控制任务。更稳妥的处理是让联网模组保留JSON与MQTT,PMS120B只交换固定长度、带校验的状态;若产品必须连续上传多路数据,应终止该迁移方案。
接口代价:软件模拟会占用实时预算
原项目依靠I²C刷新OLED,并通过USART连接ESP8266。改成软件时序后,通信会与DHT11采集、按键扫描和PWM更新争用执行时间,同时扩大抗干扰测试范围。芯片单价的节省若换来更多调试与回归工作,整板成本未必下降。
测量边界:ADC码值不能代替传感器标定
MQ类传感器受预热、温湿度、负载电阻、个体差异和老化影响,粉尘检测还依赖LED脉冲与采样窗口。更细的ADC码值只缩小量化步进,无法自动得到可信的ppm或PM2.5。若产品只需按空气质量区间调节风量,可以采用分级判断;若显示具有健康含义的浓度,必须使用适合的传感器、标定方法和计量验证。
控制权限:安全状态不能被云端覆盖
当远程关机指令与过温散热需求冲突时,系统必须有固定仲裁顺序:硬件保护与传感器故障策略 > 本地安全状态机 > 本地操作 > 云端目标值。云端可以改变运行目标,不能关闭过温、欠压、堵转或传感器开路保护。
案例边界:公开项目并未使用PMS120B。本文只引用其任务周期、接口与功能清单,迁移结论和实现框架均为独立分析,不代表已经完成PMS120B样机验证。
六、重构方案:同一类空气循环产品,拆成基础版与智能版
重构从产品定义开始:基础版保留本地采样与执行,智能版增加联网与数据服务。PMS120B只进入功能已经收敛的控制层,避免通信需求侵占有限资源。
方案A:离线基础版,PMS120B独立完成闭环控制
- 输入:NTC温度、一个经过调理的空气质量模拟信号、三枚按键和可选液位/堵转信号。
- 输出:一路风扇PWM、一路水泵或指示灯PWM、蜂鸣器和简化段码/LED显示。
- 控制:自动、手动、睡眠三种状态;温度或空气质量分区调速;所有核心功能离线可用。
- 取舍:取消Wi-Fi、图形OLED与云端功能,把资源留给传感、驱动和保护。
方案B:智能版,联网模组负责数据与交互
- 联网模组负责Wi-Fi、App、语音、MQTT、OTA和复杂传感器数据处理。
- PMS120B只接收有限档位或开关命令,并独立完成PWM、按键、保护和掉线降级。
- 推荐采用少量GPIO编码或“命令+应答+故障”固定握手,避免在128 Bytes RAM内解析JSON。
- 一旦需要连续遥测、双向参数同步或底层在线更新,改选带硬件通信接口、Flash和更大RAM的MCU。
案例资源分配草案:先分配功能,再锁定具体引脚
| 案例功能 | PMS120B资源 | 实现策略 | 评审问题 |
|---|---|---|---|
| NTC温度 | 一路ADC | 比例采样、低内存滤波、查表转换 | 分压源阻抗和全温误差是否满足要求? |
| 空气质量区间 | 一路ADC | 只输出“优/中/差”控制区间,不虚构精密浓度 | 传感器是否经过预热、老化与标定? |
| 风扇调速 | Timer2或Timer3 PWM | 目标占空比与实际占空比分离,缓启动 | 电机类型、PWM频率和最低启动值是否实测? |
| 水泵/指示灯 | 另一路PWM或GPIO | 按产品需求选择开关或调功 | 与显示、ADC和按键引脚是否复用冲突? |
| 系统节拍 | Timer16 | 中断只置标志,主循环分时执行任务 | 最坏执行时间是否会丢失节拍? |
| 联网模组 | 少量GPIO | 固定编码命令、应答和故障脚 | 如果需求升级为连续数据通信,是否立即终止该选型? |
| 程序恢复 | WDT+LVR | 任务心跳正常后喂狗,上电先进入安全输出 | 复位循环和欠压反复启动如何处理? |
6.1 PMS120B基础版的控制时序如何安排?
| 周期建议 | 任务 | 解决的问题 |
|---|---|---|
| 1ms或更小基础节拍 | Timer16只产生时基和任务标志,不在中断内做复杂换算 | 避免中断过长影响PWM和按键响应 |
| 10–20ms | 按键扫描、消抖、通信握手输入检查 | 兼顾手感并过滤机械抖动 |
| 20–100ms | 分时选择ADC通道,切换通道后预留建立时间;必要时舍弃首个样本 | 减少通道残留和源阻抗带来的误差 |
| 200–500ms | 去极值或滑动平均、传感器故障判断、目标档位计算 | 抑制噪声,避免风扇来回跳档 |
| 100ms渐变 | PWM占空比按步进接近目标值 | 减小启动冲击、电源跌落和噪声突变 |
| 主循环持续 | 喂狗前检查关键任务心跳,而不是无条件复位看门狗 | 使看门狗能够发现任务停滞 |
表中周期用于建立调度框架,量产值需结合系统时钟、PWM频率、传感器响应和体验测试确定。原则是:中断只维护时基,主循环分配任务;普通控制平滑更新,安全事件及时处理。
6.2 ADC采样不稳,应该从哪里解决?
- 先确定参考:如果NTC分压由VDD供电且ADC也以VDD为参考,可以形成比例测量,降低VDD缓慢变化造成的比例误差;其他传感器需按输出范围选择合适参考。
- 再算源阻抗:PMS120B规格书指出源阻抗会影响采样保持电容充电,并建议500kHz输入条件下不超过10kΩ。高阻分压不能只靠多次平均补救,应降低戴维南等效阻抗、延长建立时间或增加缓冲。
- 处理通道切换:多路ADC轮询时,切换通道后先等待信号建立;高阻或差异较大的相邻通道可舍弃首个样本,再累计有效样本。
- 最后做数字滤波:可在小RAM内采用8次或16次累加、去除极端值或一阶低通,不必保存大数组。滤波只能抑制随机噪声,不能修复接错参考或传感器漂移。
- 增加故障窗口:ADC长期接近0或满量程可判为开路/短路候选,再结合持续时间确认,避免瞬态干扰直接触发故障。
6.3 风扇PWM能转,并不等于驱动设计完成
两线直流风扇、四线风扇和小水泵的控制方式不同。两线负载通常通过外部MOSFET切换电源,感性负载需要续流和浪涌处理;四线风扇通常保留恒定供电,通过专用PWM输入调速。无论哪种方式,都应测量启动电流、最低可靠启动占空比、堵转温升和电源跌落。软件上建议先给启动脉冲,再降到目标档位,并设置2–3℃或相应ADC回差,避免阈值附近频繁启停。
6.4 故障发生时,系统应给出什么动作?
| 故障场景 | 检测方法 | 建议动作 | 验证重点 |
|---|---|---|---|
| NTC开路或短路 | ADC越界并持续多个采样周期 | 加热类关闭输出;散热类进入安全转速并报警 | 拔插传感器、线束接触不良 |
| 风扇堵转 | 有转速反馈时比较目标与反馈;无反馈时结合电流或温升保护 | 停机重试有限次数,失败后锁定故障 | 堵转电流、MOSFET温升、重试间隔 |
| 联网模块掉线 | 握手超时或故障脚异常 | 保持本地按键和自动模式,拒绝陈旧命令 | 断网、重启模组、异常电平 |
| 电源跌落 | LVR复位与上电状态检查 | 输出先进入安全态,完成初始化后再软启动 | 反复插拔、负载启动、不同LVR设置 |
| 程序异常 | 关键任务心跳+看门狗 | 复位后记录或显示故障,限制连续重启 | 人为阻塞任务、干扰注入 |
6.5 从样机到OTP量产,设置七道门禁
- 需求门禁:冻结基础版和智能版边界,不允许在OTP冻结阶段临时增加协议、菜单或传感器。
- 资源门禁:核算最坏堆栈、RAM、程序空间、I/O复用和最长执行路径,并保留修改余量。
- 测量门禁:使用可追溯仪器完成低、中、高三个温度点及电压上下限校验,记录整机误差而非只看ADC码值。
- 负载门禁:验证启动、堵转、反接、浪涌、电源跌落和MOSFET温升,不用空载波形代替实际负载测试。
- 异常门禁:逐一拔掉传感器、联网模组和按键线束,验证每个故障动作与恢复条件。
- 环境门禁:在目标温度范围、电磁干扰、静电和长时间运行条件下验证采样与控制稳定性。
- 烧录门禁:量产文件包含型号、版本、日期和校验值;小批试产通过后才开放OTP批量烧录,并保留追溯记录。
七、PMS120B核心控制代码:围绕小RAM和确定性任务设计
代码使用说明:以下为本文原创的C风格实现框架,重点展示任务拆分、算法和安全逻辑,不是应广原厂可直接编译工程。Timer16中断入口、ADC寄存器、PWM寄存器、看门狗语句和引脚初始化必须根据PMS120B最新版规格书、应广开发环境、封装和系统时钟改写。量产阈值必须来自实测与标定。
7.1 非阻塞任务调度:中断只产生时间,不处理业务
/* C风格框架:假设Timer16每1ms调用一次tick_hook() */
#define JOB_10MS 0x01u
#define JOB_100MS 0x02u
#define JOB_500MS 0x04u
volatile uint8_t g_jobs;
void tick_hook(void)
{
static uint8_t div10;
static uint8_t div100;
static uint8_t div500;
static uint8_t half;
if (++div10 >= 10u) { div10 = 0u; g_jobs |= JOB_10MS; }
if (++div100 >= 100u) { div100 = 0u; g_jobs |= JOB_100MS; }
if (++div500 >= 250u) { /* 8位计数器分两次 */
div500 = 0u;
if (++half >= 2u) { half = 0u; g_jobs |= JOB_500MS; }
}
}
int main(void)
{
hardware_init_safe(); /* 输出先关闭或进入安全态 */
for (;;) {
uint8_t jobs = take_jobs_atomically();
if (jobs & JOB_10MS) { key_scan(); module_gpio_check(); }
if (jobs & JOB_100MS) { adc_scan_one_channel(); pwm_ramp(); }
if (jobs & JOB_500MS) { control_update(); display_update(); }
if (all_critical_tasks_alive()) {
watchdog_reset(); /* 不要在固定位置无条件喂狗 */
}
}
}
价值:避免在中断中进行除法、查表和显示刷新,使按键、ADC与PWM任务互不阻塞。实际工程应检查任务标志并发读写及最坏执行时间。
7.2 不用大数组的ADC滤波:10次采样,去掉最大值和最小值
#define ADC_FULL_SCALE 4095u
uint16_t adc_read_filtered(uint8_t channel)
{
uint8_t i;
uint16_t value;
uint16_t minimum = ADC_FULL_SCALE;
uint16_t maximum = 0u;
uint16_t sum = 0u;
adc_select_channel(channel);
adc_wait_acquisition_time();
(void)adc_convert_once(); /* 通道切换后的首样本舍弃 */
for (i = 0u; i < 10u; ++i) {
value = adc_convert_once();
sum += value;
if (value < minimum) minimum = value;
if (value > maximum) maximum = value;
}
sum -= minimum;
sum -= maximum;
return (sum >> 3); /* 剩余8个样本求平均 */
}
该算法不保存10个样本,只使用累加值、最大值和最小值。它能抑制偶发尖峰,但不能修复错误参考电压、高源阻抗或传感器系统误差。
7.3 传感器故障必须先于温控算法
typedef enum {
SENSOR_OK = 0,
SENSOR_SUSPECT,
SENSOR_FAILED
} sensor_state_t;
static sensor_state_t ntc_state;
static uint8_t ntc_bad_count;
static uint8_t fan_band;
void control_update(void)
{
uint16_t raw = adc_read_filtered(ADC_NTC);
/* RAW_SHORT和RAW_OPEN必须由实际分压方向及标定确定 */
if ((raw < RAW_SHORT) || (raw > RAW_OPEN)) {
if (ntc_bad_count < FAULT_CONFIRM_COUNT) ++ntc_bad_count;
} else {
ntc_bad_count = 0u;
}
if (ntc_bad_count == 0u) ntc_state = SENSOR_OK;
else if (ntc_bad_count < FAULT_CONFIRM_COUNT) ntc_state = SENSOR_SUSPECT;
else ntc_state = SENSOR_FAILED;
if (ntc_state == SENSOR_FAILED) {
pwm_target = product_safe_pwm(); /* 散热与加热产品策略不同 */
alarm_set(ALARM_NTC);
return;
}
/* 使用0.1摄氏度定点值,避免浮点库占用程序空间 */
int16_t temperature_x10 = ntc_lookup_x10(raw);
fan_band = band_with_hysteresis(temperature_x10, fan_band);
pwm_target = band_to_pwm(fan_band);
}
核心顺序是“先判断输入是否可信,再计算控制目标”。故障确认次数、查表数据、回差和安全PWM都必须按整机风险确定。
7.4 PWM缓启动与安全仲裁:云端命令永远低于保护逻辑
uint8_t select_pwm_target(void)
{
if (critical_fault_active()) {
return product_safe_pwm();
}
if (over_temperature_active()) {
return 100u; /* 散热案例:保护优先满速 */
}
if ((mode == MODE_REMOTE) && module_command_fresh()) {
return clamp_u8(module_pwm, PWM_MIN, PWM_MAX);
}
return local_control_pwm(); /* 掉线自动回到本地逻辑 */
}
void pwm_ramp(void)
{
pwm_target = select_pwm_target();
if (pwm_actual < pwm_target) {
uint8_t delta = pwm_target - pwm_actual;
pwm_actual += (delta > PWM_STEP_UP) ? PWM_STEP_UP : delta;
} else if (pwm_actual > pwm_target) {
uint8_t delta = pwm_actual - pwm_target;
pwm_actual -= (delta > PWM_STEP_DOWN) ? PWM_STEP_DOWN : delta;
}
pwm_write(pwm_actual);
}
实现要点:远程命令必须带有效期,目标占空比与实际输出分开维护;过流、续流和热保护仍由硬件设计承担。
7.5 代码评审时必须问的六个问题
- 所有阈值是否来自实际样机和传感器方向,而不是从示例代码复制?
- ADC通道切换后的建立时间是否满足规格书,首样本是否需要舍弃?
- 最长任务执行时,Timer16节拍、PWM和软件通信是否仍能满足时序?
- 传感器可疑状态、确认故障和恢复正常是否有不同条件,避免故障来回跳变?
- 看门狗是否验证关键任务心跳,还是主循环卡在局部状态时仍会被喂狗?
- OTP烧录前是否保留编译映射文件、校验值、配置选项和对应测试报告?
八、案例价值:让工程决策转化为用户体验
PMS120B的意义不止是降低芯片成本。更重要的是,它促使团队把基础控制、智能交互与安全保护分开设计,让每项功能都有明确的责任边界。
| 用户需求 | 工程决策 | 可感知结果 | 验证方法 |
|---|---|---|---|
| 夜间运行平稳安静 | ADC滤波、控制回差和PWM渐变 | 临界温度附近不反复跳档,风速变化更平顺 | 记录跳档次数、转速曲线、噪声变化和启动成功率 |
| 断网后仍可使用 | 本地状态机独立运行,云端命令设置有效期 | 按键、温控和保护不依赖路由器或云服务 | 执行断网、模组复位和陈旧命令测试 |
| 测量结果可信 | 按传感器能力选择标定数值或区间显示 | 减少数据突跳、误报警和过度精确的假象 | 对比参考仪器,检查重复性、漂移和误报警率 |
| 故障能够被发现 | 增加开短路、堵转、看门狗和安全输出 | 传感器或风扇异常时及时提示并进入安全状态 | 注入断线、堵转、欠压和程序阻塞故障 |
| 只为需要的功能付费 | 基础版与智能版拆分SKU | 基础款不承担无线模组、图形显示和认证成本 | 比较完整BOM、PCB面积、测试工时和售后成本 |
失效代价不能只看芯片:一次设计失误可能同时带来返工报废、售后物流、用户时间损失、安全风险和品牌影响。ADC突跳、低档无法启动、联网命令过期、传感器断线和OTP版本错误,都应在设计评审与故障注入阶段拦截。
九、哪些产品适合PMS120B,哪些不适合?
更适合评估PMS120B
- 温控风扇、循环扇与散热风机的本地控制
- 加湿器、香薰机、小水泵和雾化器基础控制
- 暖手宝、加热垫、杯垫等温度与档位控制
- 感应灯、夜灯及多档PWM调光
- 功能固定、无OTA需求的量产控制板
不宜优先选择PMS120B
- 本地语音、图像识别或机器学习推理
- Wi-Fi、蓝牙、Matter等完整协议栈
- 彩屏GUI、复杂菜单、历史数据或文件系统
- 多路UART、SPI、I²C高速或持续通信
- 需求频繁迭代、远程OTA或复杂电机控制
十、用三道问题完成PMS120B选型
- 需求是否已经冻结?如果菜单、协议或传感器仍在变化,先使用可重复编程的平台验证。
- 通信是否能被简化?如果必须持续双向传输或在线升级,不进入PMS120B方案。
- 安全功能能否独立闭环?断网、传感器异常和电源波动时,本地主控仍需给出确定动作。
只有三个问题都得到明确答案,PMS120B才值得进入样机验证。选型的目标不是使用资源最少的芯片,而是用最少的复杂度完成可验证、可量产的功能。
十一、关于AI小家电与PMS120B的常见问题
如何确认PMS120B的ADC方案已经达到整机要求?
在电源上下限和目标温度范围内,用参考仪器检查重复性、偏差、通道切换影响与故障阈值;仅在室温读取稳定码值不足以放行。
什么现象说明软件模拟通信已经不值得继续?
当通信开始影响PWM、采样节拍或按键响应,或者需要重发、长帧缓存和在线升级时,应停止优化软件时序,改用带硬件通信接口的MCU。
OTP量产前必须保留哪些文件?
至少保留烧录文件、版本号、校验值、Code Options、编译映射、首件确认、异常测试报告和批次对应关系,确保问题能够追溯到唯一程序版本。
出现哪些条件应立即停止评估PMS120B?
需求持续变化、RAM或程序余量不足、接口必须长期软件模拟、需要底层OTA,或安全策略无法在本地独立完成时,都应重新选择主控。
