2. 硬件架构概览:网关硬件核心组成
做网关硬件选型,说白了就是给系统挑一副好骨架。骨架搭得不对,后面软件调得再好也白搭。我这些年经手过不下二十款网关方案,踩过的坑能写满一本笔记本。今天咱们就把网关硬件的核心组成掰开揉碎了聊。
2.1 核心组成:网关的五大件
一个典型的以太网网关,硬件上离不开这五样东西:CPU、内存、存储、网络接口、外设接口。缺一个,这网关就转不起来。
2.1.1 CPU:网关的大脑
CPU是网关的核心。它决定了你能跑多复杂的协议栈,能处理多少并发连接。
我个人习惯把网关CPU分成三类:
- 低端(MCU类):比如Cortex-M4/M7,主频200MHz以下。适合做简单的协议转换,比如Modbus转MQTT。我有个项目用STM32H7做工业网关,跑轻量级TCP/IP栈,带32个设备没问题。
- 中端(应用处理器):比如Cortex-A系列,主频500MHz-1.5GHz。能跑完整Linux系统,支持多网口、VPN、防火墙。这是目前网关的主流选择。
- 高端(多核SoC):比如4核A72+2核M4的异构方案。适合做边缘计算网关,同时跑AI推理和实时控制。
关键指标:别只看主频。缓存大小、内存带宽、网络加速引擎,这些往往更影响实际性能。我在项目中遇到过,某款1.2GHz的ARM芯片,实际转发性能还不如另一款800MHz带硬件加速的芯片。
2.1.2 内存:决定并发能力
内存大小直接决定了你能同时处理多少条连接。
我一般这样估算:
- 每个TCP连接约占用2-4KB内存(含socket buffer)
- 每个HTTP会话额外占用8-16KB
- 操作系统本身占用32-64MB(Linux)
举个例子:一个需要支持1000个并发连接的网关,至少需要:
OS: 64MB
TCP连接: 1000 × 4KB = 4MB
HTTP会话: 1000 × 16KB = 16MB
其他应用: 16MB
合计: 约100MB
嗯,这里要注意。实际选型时建议留出30%余量。我曾经吃过亏,选了个128MB的配置,结果业务一上线就OOM,最后只能紧急换板子。
2.1.3 存储:固件与数据的家
网关的存储分三块:
- Bootloader:一般用SPI Flash,2-4MB就够了
- 系统与固件:eMMC或NAND Flash,建议至少8GB(Linux系统+应用)
- 数据存储:日志、配置、缓存。可以用TF卡或SSD
我的经验:工业网关强烈建议用eMMC,别用TF卡。TF卡在振动、高温环境下容易掉数据。我有个客户在矿山用TF卡,三个月坏了五张,后来全换成eMMC才消停。
2.1.4 网络接口:网关的门面
网关嘛,核心就是"网"。接口类型和数量决定了你的适用场景。
| 接口类型 | 典型数量 | 适用场景 |
|---|---|---|
| 千兆以太网 | 2-4个 | 企业级网关、边缘计算 |
| 百兆以太网 | 1-2个 | 工业现场、楼宇自控 |
| SFP光口 | 1-2个 | 长距离传输、机房 |
| WiFi 6 | 1个 | 无线覆盖、移动场景 |
| 4G/5G | 1个 | 远程运维、野外部署 |
你想想看,如果做智慧工厂的网关,至少得2个千兆口——一个接内网,一个接外网。再加个4G做备份,万一光纤断了还能远程维护。
2.1.5 外设接口:连接万物的触角
网关不只是连网线,还得连各种设备。常见的外设接口有:
- UART/RS232/RS485:接PLC、电表、传感器。工业现场最常用
- CAN/CAN FD:接汽车、机器人、工程机械
- GPIO/ADC:接开关、温湿度传感器
- USB:接摄像头、U盘、4G模块
- I2C/SPI:接显示屏、加密芯片
避坑指南:我曾经在一个项目中,选了款只有2路UART的芯片,结果现场需要接4个串口设备。最后只能外扩USB转串口,稳定性大打折扣。选型时一定要把外设接口数量算清楚,宁可多不可少。
2.2 主流硬件平台对比
选平台就像选工具,没有最好的,只有最合适的。咱们把四个主流平台掰扯清楚。
2.2.1 ARM:网关界的王者
ARM在网关领域占据绝对主导地位。原因很简单:生态好、功耗低、选择多。
优点:
- 从Cortex-M0到Cortex-A78,覆盖所有性能段
- Linux、RTOS支持完善
- 开发工具链成熟,社区资源丰富
- 功耗控制优秀,很多芯片不到5W
缺点:
- 授权费用高,芯片价格相对贵
- 不同厂商的芯片外设差异大,移植工作量大
我个人最常用的是NXP i.MX系列和TI Sitara系列。i.MX6UL做低端网关,i.MX8M做中高端,性能稳定,文档齐全。
2.2.2 x86:性能怪兽
x86在网关领域主要用于高性能场景,比如企业级防火墙、SD-WAN设备。
优点:
- 性能天花板高,多核+大缓存
- x86生态最完善,软件兼容性最好
- Intel DPDK等加速技术成熟
缺点:
- 功耗高,一般10W起步
- 成本高,不适合大规模部署
- 启动慢,不适合实时性要求高的场景
我记得有个项目要做万兆线速转发,ARM方案根本扛不住,最后上了Intel Celeron J6412,配合DPDK,轻松跑到10Gbps。
2.2.3 RISC-V:后起之秀
RISC-V这两年势头很猛。虽然目前主要用在IoT和MCU领域,但已经开始往网关渗透。
优点:
- 开源免费,没有授权费
- 指令集精简,芯片面积小、功耗低
- 可定制性强,可以加自定义指令
缺点:
- 生态不成熟,Linux支持还在完善中
- 高性能芯片少,目前最高也就1GHz左右
- 开发工具链不如ARM成熟
说实话,RISC-V做网关目前还不太现实。但如果你做的是超低功耗的传感器网关,或者对成本极其敏感,可以关注一下。我最近在玩赛昉科技的JH7110,跑轻量级网关应用还行。
2.2.4 MIPS:老兵不死
MIPS曾经是网关的主流选择,现在份额被ARM蚕食得很厉害。但在某些领域依然有生命力。
优点:
- 架构简单,功耗极低
- 实时性好,中断响应快
- 某些老牌厂商(如联发科、Realtek)还在用
缺点:
- 生态萎缩,开发资源越来越少
- 性能天花板低,不适合复杂应用
- 人才难找,新入行的工程师很少接触MIPS
嗯,MIPS现在主要用在一些存量市场,比如老旧的路由器、光猫。如果你做的是替换型产品,可能会遇到MIPS方案。我个人建议,新项目尽量别选MIPS,除非客户指定。
2.3 平台选型建议
说了这么多,到底怎么选?我总结了一张表:
| 场景 | 推荐平台 | 理由 |
|---|---|---|
| 低功耗工业网关 | ARM Cortex-A7/A53 | 功耗低、生态好、成本可控 |
| 高性能企业网关 | x86 | 性能强、DPDK加速、软件兼容 |
| 超低成本IoT网关 | RISC-V | 免费授权、芯片便宜 |
| 存量替换项目 | MIPS | 兼容现有设计、避免重新开发 |
| 边缘AI网关 | ARM+NPU异构 | AI推理+实时控制兼顾 |
我的核心建议:
- 新项目首选ARM,生态最成熟,风险最低
- 性能不够时上x86,别硬扛
- RISC-V可以关注,但别当主力
- MIPS只做维护,不做新开发
好了,硬件架构概览就聊到这儿。下一章咱们深入聊聊网络接口的选型细节,包括PHY芯片怎么配、变压器怎么选、PCB布线有哪些坑。到时候我会分享一个我当年在EMC测试中差点翻车的案例,保证让你少走弯路。
公众号:蓝海资料掘金营,微信deep3321