控制板、仪表与采集终端,可以从现有基础继续开发
只做固件、协同改板或从零开发均可分别委托。先确定需要改善的功能、现场条件与稳定性问题,不必为增加一个接口重做整套系统。
按控制时序、外设和功耗选择合适的 STM32
系列名称只用于缩小选择范围,最终按完整料号、封装、资源占用和供货条件确认。现有板卡优先评估复用,再比较换型成本。
STM32 选型与资源评估
按完整料号与封装列出 ADC、PWM、通信、Flash 和 RAM 预算,核对引脚复用、时钟与 DMA 冲突。新增资源不足时再比较换 MCU 或外设扩展的迁移成本。
驱动与实时固件架构
任务有限时采用非阻塞裸机状态机;多路通信与存储并行时评估 RTOS。核查优先级、栈、队列和互斥,实测最坏负载,RTOS 不自动保证实时性。
传感、控制与执行器联调
处理 ADC、PWM、编码器及 I2C/SPI/UART 驱动,分开记录采样值和有效性。关键控制不等待串口或 Flash;看门狗监督任务健康,异常输出按设备风险确定。
工业通信与协议适配
按芯片外设和板级电路实现 CAN、RS485/Modbus 等通信。CAN FD、以太网并非所有 STM32 都具备;外接模组另核对缓冲、功耗和异常恢复。
网关、平台与上位机连接
把设备状态、参数、事件和控制命令接入现场网关、ZedIoT、客户平台或上位机软件。
OTA 与远程诊断
核对 Bootloader、分区、包签名、启动确认与参数迁移,逐阶段注入掉电故障。只有具备并验证恢复机制的目标板,才约定自动回退,联网本身不赋予此能力。
产测与交付准备
产测关联序列号、板卡修订、固件与测试站;交付可复现构建、发布包、校准与维修说明。关闭调试口或启用读保护前,先验证后续升级和返修路径。
先复现现状,再验证关键任务和完整设备
控制时序、信号与供电问题先查清楚。进入开发后,硬件与软件版本、测试条件和验收结果一起记录,方便共同判断下一阶段投入。
拿到的不只是固件,还有可核对的设计与测试资料
源码、构建环境、第三方许可、产测及维护范围事先约定。样机验证不代替 EMC、安规或适用行业测试,相关测试由约定的专业方负责。
设备当前做到哪一步,就从哪里开始
项目复杂度、资料完整程度与硬件状态比 MCU 名称更影响工作量。可以先确认保密安排,再交换原理图、源码和现场记录。
- 01
在现有板卡上增加功能
板卡已经验证、代码可构建时,可只委托驱动、协议或业务功能。提供完整芯片料号、原理图、引脚表与可测试样机,无需默认重做硬件。
- 02
先定位死机、复位或通信故障
结合故障条件、供电波形、复位标志、堆栈和总线记录区分硬件与固件原因。暂时不可复现时先增加诊断,不用无限重试掩盖供电或信号缺陷。
- 03
从新产品原型推进完整开发
先确认用途、控制目标、供电与成本,再推进样机。固件、硬件整改、上位机、工装、第三方许可和测试分项报价;采购、认证与现场窗口分别约定责任。
四类典型设备, 各有不同的控制与通信要求
从实际负载、安装环境和维护方式判断需要哪些驱动、控制、诊断及产测功能。
采集、控制和通信并行,断线不能拖住控制任务
以一台温度采集控制器为例:ADC 获取传感数据,本地逻辑驱动执行器,RS485 上传状态。示例说明任务隔离方法,不代表安全认证设计或特定设备性能。
-
采样与数据有效性分开处理
定时触发采集,按传感器要求处理转换、滤波和校准。传感器断路、短路、越量程和过期数据使用独立状态,不把异常数值直接带入控制计算。
-
控制路径不等待上行通信
本地状态机读取最近有效数据,在规定时序执行控制与保护。串口发送、网络连接和 Flash 写入采用不会阻塞关键任务的方式;是否允许保持上次输出由设备风险分析决定。
-
通信错误进入自己的恢复流程
RS485 超时记录错误并有限重试,不立即复位整个设备;总线持续异常时仍保留本地必要功能。参数写入先校验范围与版本,确认成功后再反馈。
-
异常重启后恢复到已知状态
保存复位原因与关键诊断信息;参数更新采用带版本、校验和可恢复提交机制的设计。看门狗应由受监督任务健康状态共同决定喂狗,不能由一个始终运行的定时器掩盖主任务卡死。
控制板要经历真实故障,不只跑正常流程
测试覆盖按设备风险确定。桌面样机测试不替代 EMC、安规、计量或功能安全等适用验证;涉及这些要求需明确专业责任人与测试安排。
| 故障或边界 | 重点观察 | 验收材料 |
|---|---|---|
| 欠压、重复上电、参数写入掉电 | 启动是否可预测、参数是否损坏、输出是否进入规定状态、是否反复重启。 | 电源波形、复位标志、配置校验、恢复过程与版本信息。 |
| 总线断开、报文错误、持续拥塞 | 通信任务能否恢复,缓冲是否溢出,关键采样与控制是否被阻塞。 | 原始通信记录、错误计数、响应时间和任务时序。 |
| 传感器失效与量程边界 | 异常是否被区分,错误输入是否触发不当控制,校准数据是否正确使用。 | 输入条件、测量对照、状态转换和保护行为。 |
| 长时间运行与最重负载 | 任务栈与内存、队列、计时器溢出、存储写入量及看门狗行为。 | 约定时长与负载下的趋势、故障记录和回归结果。 |
| 升级与固件变更 | 签名与版本检查、存储边界、掉电恢复、参数兼容与回退能力。 | 每个升级阶段的故障注入记录;硬件不具备恢复条件时明确限制。 |
可交接的固件包,应能构建、烧录、检查并追踪设备
只收到一个 bin 文件,后续换人、返修或版本追溯都会困难。开始前约定源码权属、第三方许可、产测边界和维护范围。
| 交付项 | 建议包含 | 客户怎样核对 |
|---|---|---|
| 可重现构建 | 源码或约定交付物、工具链版本、依赖、编译配置、内存布局与构建说明。 | 在指定环境重新构建,核对版本与发布包关联,不仅确认工程文件能打开。 |
| 发布包 | 固件、Bootloader 兼容条件、目标板版本、哈希、变更记录和烧录/升级说明。 | 不匹配目标板是否会被识别;测试包与量产包是否有清楚区分。 |
| 产测流程 | 工装接口、烧录、序列号、通信与 I/O 自检、校准写入及失败处理。 | 样表字段包括 serial、boardRev、fwVersion、testStation、result、failedStep;结果关联到每台设备。 |
| 安全与维修 | 生产凭证处理、调试口策略、现场诊断、返修与恢复方案。 | 读保护或调试口关闭前验证后续更新和返修路线,不把安全设置当作生产后再补的选项。 |
ZedIoT 物联网云平台