1. 工业数据采集终端需求分析与方案选型
工业数据采集终端不是一块“能读传感器的开发板”,而是一台要在配电柜、泵房、产线旁连续运行数年的嵌入式设备。它需要把现场的模拟量、数字量、脉冲量、总线数据统一采集、缓存、打包,再通过有线或无线链路上传到平台。方案选型一旦偏离现场约束,后期往往不是改一行代码能补救的,而是换电源、换外壳、换主控甚至推翻架构。因此本章的核心任务是:先把需求写成可量化的约束,再让约束去筛选 STM32 型号。
1.1 先明确采集对象与通道数量
采集对象决定接口类型和通道规模。工业现场常见对象可以归为四类:
- 模拟量:4–20 mA 压力/液位/温度变送器、0–10 V 变频器输出、PT100/PT1000 热电阻、热电偶。4–20 mA 抗干扰强、可断线检测,是工业首选;热电阻需要恒流激励与差分测量,热电偶需要冷端补偿。
- 数字量:干接点、湿接点、继电器状态、限位开关、急停信号。需要区分有源/无源、常开/常闭,并做光耦隔离。
- 脉冲量:电能表脉冲、流量计脉冲、编码器 A/B 相。涉及计数、频率测量、方向判别,通常用定时器编码器模式或外部计数。
- 总线/智能设备:Modbus RTU(RS-485)、Modbus TCP、CAN、部分仪表私有协议。这类对象不占模拟通道,但占通信外设和协议栈资源。
通道数量要按“当前需求 + 20%~30% 余量”规划,同时区分单端与差分。例如 8 路 4–20 mA 若全部差分接入,需要 16 个 ADC 输入通道;若共地单端接入,8 个通道即可,但共模干扰风险上升。假设某泵站终端需求为:8 路 4–20 mA、4 路 PT100、16 路数字输入、4 路继电器输出、2 路脉冲计数、1 路 RS-485,那么 ADC 通道至少需要 8 + 4×2 = 16 路(PT100 采用差分恒流),数字 IO 至少 20 路,定时器至少 2 个独立计数通道,UART 至少 1 路。这些数字直接决定主控引脚与外设下限。
1.2 精度、采样率与通信距离
精度要写成“综合误差”,而不是只看 ADC 位数。以 4–20 mA 为例,若要求满量程误差 ≤0.2%,则 12 位 ADC(4096 码)理论分辨率约 0.024%,看似足够,但还要叠加基准温漂、采样电阻精度、运放失调、PCB 布局与电源噪声。工程上常按“ADC 有效位数比标称低 1~2 位”估算:12 位 ADC 在工业温度范围内有效约 10~11 位,对应 0.05%~0.1% 分辨率,配合 0.1% 采样电阻和低温漂基准,才能稳定做到 0.2% 综合误差。若要求 0.05%,则应选 16 位 ADC 或外置 ΔΣ ADC。
采样率由被测量的变化速度决定。温度、液位秒级变化,1~10 Hz 足够;电流、振动、压力脉动可能需要 1~10 kHz。采样率还受通道轮询方式影响:多通道顺序扫描时,单通道有效速率 = 总采样率 / 通道数。若 16 通道、每通道需 1 kHz,则 ADC 总吞吐需 ≥16 kSPS,并考虑建立时间与切换延迟。
通信距离决定物理层与拓扑。RS-485 在 9600~115200 bps 下可达 1200 m,适合分散仪表;CAN 在 125 kbps 下约 500 m,抗干扰与多主能力更好;以太网限制 100 m,但带宽高;4G/NB-IoT/LoRa 用于无布线场景,需考虑功耗、资费与信号覆盖。若现场已有 PLC 或 DCS,终端最好作为 Modbus 从站接入,减少协议转换。
1.3 供电方式与环境等级
供电方式直接影响电源树与防护设计。常见有 24 VDC 工业电源、220 VAC、太阳能+蓄电池、PoE。24 VDC 最普遍,但现场存在浪涌、反接、群脉冲,需要防反接、TVS、共模电感、隔离 DC-DC。若终端带 4G 模块,发射瞬间电流可达 2 A,电源要留足瞬态余量并加储能电容。低功耗场景则要计算休眠电流、唤醒周期与电池容量。
环境等级要落到具体指标:工作温度 −40~+85 ℃(工业级)或 −20~+70 ℃(商业级);防护等级 IP20(柜内)到 IP65(户外);EMC 需满足 IEC 61000-4 系列(ESD、EFT、Surge);振动、湿度、盐雾按现场定。这些要求会反向约束晶振、Flash、电源芯片和连接器的选型。
1.4 STM32 系列选型依据
STM32 家族庞大,选型应围绕“外设匹配度、算力、温度等级、封装、供货与生态”五个维度。下表给出典型系列的定位对比(参数为系列典型值,具体型号需查数据手册确认):
| 系列 | 内核/主频 | ADC | 典型外设 | 适用场景 |
|---|---|---|---|---|
| STM32F0 | Cortex-M0 / 48 MHz | 12 位 | UART、SPI、I²C、基本定时器 | 低成本、少通道、简单采集 |
| STM32F1 | Cortex-M3 / 72 MHz | 12 位 | CAN、USB、多 UART | 经典工控、Modbus 从站 |
| STM32F4 | Cortex-M4F / 168 MHz | 12 位 | CAN、USB、以太网、DSP/FPU | 多通道、需滤波与协议栈 |
| STM32F7/H7 | M7 / 216~480 MHz | 12~16 位 | 以太网、CAN-FD、大容量 | 高速采集、边缘计算 |
| STM32L4/L5 | M4/M33 / 80~110 MHz | 12~16 位 | 低功耗外设、LCD、CAN | 电池供电、低功耗终端 |
| STM32G0/G4 | M0+/M4 / 64~170 MHz | 12 位 | CAN-FD、高精度定时器 | 性价比工控、电机与采集 |
选型时先做“外设清单核对”:把所需 ADC 通道、UART、CAN、定时器、IO 数量列出,再对照候选型号的数据手册。例如需要 16 路 ADC、2 路 UART、1 路 CAN、20 个 IO、工业级温度,STM32F103 的 48 引脚封装可能 IO 不足,需选 64 引脚以上;若还需以太网和浮点滤波,则 F4 系列更合适。若现场要求 −40 ℃ 启动,必须确认所选型号的温度等级后缀(如 STM32F4 的工业级为 −40~+85 ℃,部分为 −40~+105 ℃)。
最后要评估供货与生态:优先选择长期供货、资料齐全、社区活跃的型号;对关键物料准备替代方案。选型不是选“最强”,而是选“刚好满足约束且余量合理”的那一颗。
1.5 一份可执行的选型核对清单
下面给出一份可直接填写的选型核对表,字段按工业采集终端的真实约束设计,示例行以某泵站终端为假设场景,便于对照使用。
| 核对项 | 需求值(示例) | 候选型号能力 | 判定 |
|---|---|---|---|
| 4–20 mA 差分通道 | 8 路 | ADC 外部通道 ≥16 | 需 64 引脚以上 |
| PT100 三线制 | 4 路 | 需恒流源 + 差分 ADC | 外置激励或运放 |
| 数字输入(隔离) | 16 路 | GPIO ≥20 | 满足 |
| 继电器输出 | 4 路 | GPIO + 驱动 | 满足 |
| 脉冲计数 | 2 路 10 kHz | 定时器编码器/外部计数 | 需 2 个独立定时器 |
| RS-485 | 1 路 115200 bps | UART + 收发器 | 满足 |
| CAN | 1 路 125 kbps | bxCAN / FDCAN | F1/F4/G4 满足 |
| 工作温度 | −40~+85 ℃ | 工业级后缀 | 必须确认 |
| 供电 | 24 VDC ±20% | 隔离 DC-DC | 满足 |
| 综合精度 | ≤0.2% FS | 12 位 ADC + 0.1% 电阻 | 需校准 |
把这张表填完,选型范围通常就收敛到 2~3 个型号。接下来再比较价格、封装、开发工具链和库存,做出最终决定。需求分析的价值不在于写出一份漂亮文档,而在于让每一个“选这颗芯片”的决定都有现场依据。