1. 工业网关需求分析与STM32选型
工业现场做通信改造时,最先遇到的往往不是“协议怎么写”,而是“现场到底乱成什么样”。一条产线上可能同时存在西门子S7-1200的Profinet、三菱FX系列的RS-422、几台Modbus RTU温控表、一台CANopen伺服,以及上位机要求的MQTT上云通道。这些设备各自为政,接口电气特性不同、数据语义不同、刷新周期不同,传统做法是用工控机加多张通信卡,成本高、体积大、长期运行稳定性也难保证。多协议网关要解决的,正是把这种“多源异构”收敛成“统一出口”的问题。
从需求角度看,工业现场通信痛点可以归纳为四类。第一是物理层碎片化:RS-232、RS-485、CAN、以太网并存,电平、隔离、终端电阻要求各异。第二是协议语义割裂:Modbus的寄存器地址、CANopen的对象字典、Profinet的槽位索引,彼此没有天然映射关系。第三是实时性分层:急停、联锁类信号要求毫秒级,而温度、电量类数据秒级刷新即可,网关必须能区分优先级。第四是运维与上云:现场需要本地缓存、断线续传、远程配置,还要把数据以JSON或二进制形式送到云平台。
因此,多协议网关的功能定义应当围绕“南向采集、北向汇聚、内部映射、边缘处理”四层展开。南向负责多路串口、CAN、以太网的协议解析与轮询调度;北向负责以太网、4G或Wi-Fi的上行链路;内部映射把不同协议的变量统一到一张“点表”中,点表包含变量名、源协议、源地址、数据类型、缩放系数、刷新周期和优先级;边缘处理则完成滤波、报警判断、本地存储和断线续传。这四层决定了MCU需要哪些外设资源。
接下来是MCU选型。STM32F4、F7、H7三个系列都能覆盖上述功能,但资源边界差异明显。F4系列以Cortex-M4内核为主,主频最高180MHz,典型型号STM32F407带1MB Flash、192KB SRAM、3个USART、3个SPI、2个CAN、1个以太网MAC,适合协议数量不多、点表规模在几百点以内的中低端网关。F7系列升级到Cortex-M7,主频216MHz,带L1 Cache和更大的SRAM(如STM32F767有512KB SRAM),以太网和CAN资源更充裕,适合需要同时跑Modbus TCP、CANopen和轻量边缘计算的场景。H7系列主频可达480MHz甚至550MHz,SRAM可达1MB以上,带双精度FPU和更丰富的高速接口,适合多路以太网、复杂协议栈和较大点表的高端网关。
选型时不能只看主频,要按“接口数量、协议栈内存、实时性、成本与供货”四个维度逐项核对。接口数量方面,先统计现场需要几路RS-485、几路CAN、几路以太网,再对照MCU的USART、CAN、ETH外设数量,注意有些USART引脚会与CAN或ETH复用,需要提前做引脚规划。协议栈内存方面,Modbus RTU从站占用较小,Modbus TCP加上LwIP通常需要几十KB RAM,CANopen从站栈约十几KB,若再叠加MQTT和JSON解析,F4的192KB SRAM会偏紧,F7或H7更从容。实时性方面,若要求1ms级联锁响应,需要评估中断延迟和DMA搬运能力,H7的Cache和TCM RAM优势明显。成本与供货方面,F4系列单价低、渠道广,适合批量产品;F7和H7单价较高,且部分型号交期波动大,选型时应优先选择长期供货承诺明确的型号,并预留至少一个引脚兼容的备选型号。
下面给出一份可直接用于选型评审的对照表,参数为典型值,实际以具体型号数据手册为准。
| 对比项 | STM32F407 | STM32F767 | STM32H743 |
|---|---|---|---|
| 内核 / 主频 | Cortex-M4 / 168MHz | Cortex-M7 / 216MHz | Cortex-M7 / 480MHz |
| Flash / SRAM | 1MB / 192KB | 2MB / 512KB | 2MB / 1MB |
| USART / UART | 4+2 | 4+4 | 4+4 |
| CAN | 2路 bxCAN | 3路 bxCAN | 2路 FDCAN |
| 以太网 | 1路 10/100 MAC | 1路 10/100 MAC | 1路 10/100 MAC |
| 典型网关定位 | 中低端、串口为主 | 中高端、多协议并行 | 高端、多路高速汇聚 |
| 成本与供货 | 低,渠道广 | 中,需关注交期 | 高,优先选长期供货型号 |
最后是外设接口需求评估的落地方法。以一台典型网关为例:南向需要2路RS-485(Modbus RTU,9600bps,各带16台从站)、1路CAN(CANopen,500kbps,8个节点)、1路RS-232(调试与仪表);北向需要1路以太网(Modbus TCP + MQTT);本地需要1路SDIO接SD卡做数据缓存,1路I2C接EEPROM存配置,1路RTC做时间戳。按这个清单,F407的USART数量刚好满足,但若再增加1路RS-485就会紧张;F767则有余量,且SRAM足够同时运行LwIP、FreeRTOS和多个协议任务。若项目要求双以太网冗余或EtherCAT从站,则应直接考虑H743并外接PHY或专用从站控制器。
成本与供货考量要贯穿整个选型过程。建议在BOM中同时锁定主选和备选型号,两者尽量做到引脚兼容或封装兼容,例如LQFP144封装的F407与F767在部分引脚上可兼容布局。批量采购前应确认代理库存和原厂长期供货计划,避免选用已进入停产预警的型号。对于网关这类需要长期现场运行的产品,MCU的供货稳定性往往比单颗价格更重要。