一、简介:为什么矿用控制器必须“国产芯+实时系统”?
政策驱动:2025 年矿山智能化建设意见明确要求“关键控制系统自主可控”,进口 PLC+Windows 方案被限制进入井下。
环境挑战:井下 50 °C、95% 湿度、煤尘易爆 → 需隔爆外壳+本质安全电源,对功耗、散热、稳定性提出极致要求。
实时需求:瓦斯传感器 50 ms 内必须停机;提升机 10 ms 内完成抱闸 → 通用 Linux 无法满足。
飞腾优势:FT-2000/4 功耗 < 15 W,支持 SM2/3/4 国密,内置看门狗 & 温度传感器,一颗芯片=CPU+国密+安全启动,替代“x86+国外 PLC”黄金组合。
掌握“飞腾+实时 Linux”落地方法 = 拿到能源、矿山、轨道交通等关键场景入场券,也是国产化投标加分项。
二、核心概念:6 个关键词先搞懂
| 关键词 | 一句话说明 | 本文出现场景 |
|---|---|---|
| 隔爆 Ex d | 外壳能承受内部爆炸而不传爆 | 整机结构设计 |
| 本安 Ex ia | 电路能量限制,短路也不会点燃瓦斯 | 电源与 GPIO 设计 |
| PREEMPT_RT | Linux 实时补丁,中断线程化,延迟 < 100 μs | 内核编译必开 |
| SM2/3/4 | 国密算法,飞腾硬件加速 | 数据上云加密 |
| EtherCAT | 实时工业以太网,周期 1 ms,矿用本安网线 | 传感器总线 |
| 看门狗 | 软件跑飞 100 ms 内自动复位 | 飞腾内置 WDT |
三、环境准备:10 分钟搭好“矿用实验台”
1. 硬件
| 模块 | 型号/规格 | 备注 |
|---|---|---|
| 飞腾核心板 | FT-2000/4 2.2 GHz 4 核 | 官方 EVB 或信迈矿用板 |
| 电源 | 24 V 本安电源,带双重保护 | 输出 12 V/2 A |
| 隔爆外壳 | 304 不锈钢,IP66 | 自备或淘宝样品 |
| 温湿瓦斯传感器 | 本安型 RS485/EtherCAT | 符合 GB3836.4 |
| 调试转接板 | 串口+网口引出,防爆格兰头 | 需灌胶密封 |
2. 软件
| 组件 | 版本 | 一键安装脚本 |
|---|---|---|
| Ubuntu Server | 20.04 (ARM64) | 飞腾源http://repo.phytium.com.cn |
| 实时内核 | linux-5.10.y-rt | 见下 |
| EtherCAT 主站 | IgH 1.6 | apt install ethercat-1.6 |
| 国密工具 | gmssl 2.5 | apt install gmssl |
3. 一键编译飞腾 RT 内核(可复制)
#!/bin/bash # build_ft_rt.sh set -e KERNEL=linux-5.10.142 RT_PATCH=${KERNEL}-rt61.patch wget https://cdn.kernel.org/pub/linux/kernel/v5.x/${KERNEL}.tar.xz wget https://cdn.kernel.org/pub/linux/kernel/projects/rt/5.10/${RT_PATCH} tar -xf ${KERNEL}.tar.xz && cd ${KERNEL} xzcat ../${RT_PATCH} | patch -p1 # 飞腾默认 config wget http://repo.phytium.com.cn/arm64/config.ft2004 -O .config ./scripts/config -e CONFIG_PREEMPT_RT make -j$(nproc) Image dtbs sudo make modules_install sudo cp arch/arm64/boot/Image /boot/vmlinuz-5.10.142-rt sudo update-grub重启选 RT 内核,确认:
uname -r # 5.10.142-rt61 cyclictest -p99 -i100 -d60s | tail -1 # Max 延迟 < 80 μs 即合格四、应用场景(300 字):井下采面智能化集控
某矿 3403 综采面,埋深 800 m,采高 3.2 m,布置 128 台液压支架、2 台采煤机、4 路瓦斯传感器。
传统方案:进口 S7-400 PLC + Profibus,周期 500 ms,线缆多、节点多、易爆。
采用飞腾本安控制器后:
隔爆箱内仅 1 块 FT-2000/4 核心板,功耗 < 15 W,无需风冷。
EtherCAT 环网 1 ms 周期,同步 128 个支架位移传感器,控制精度 ±2 mm。
瓦斯浓度>1.0% 时,1 ms 切断牵引电机电源,< 50 ms 完成支架闭锁。
数据经 SM4 加密后通过 5G 本安 CPE 上云,地面调度室实时 3D 可视化。
国产化率 100%,通过煤安 MA 认证,成本下降 30%,维护工作量减半。
五、实际案例与步骤:从“裸板”到“矿用集控”
5.1 硬件连接图(简化)
温湿传感器 ─┐ ├─ EtherCAT 本安环网 ── 飞腾 ECAT 主站 ── FT-2000/4 ── 5G CPE 瓦斯传感器 ─┘ │ └─ 本安 DO → 接触器断电5.2 步骤 1:设备树开启 EtherCAT 主站
# 编辑 dts 打开 MACB 外设 sudo nano arch/arm64/boot/dts/rockchip/ft2004-evb.dts # 添加 &macb0 { status = "okay"; phy-handle = <&phy0>; };编译并替换 dtb:
make dtbs sudo cp arch/arm64/boot/dts/rockchip/ft2004-evb.dtb /boot/5.3 步骤 2:IgH EtherCAT 主站快速配置
sudo apt install ethercat-1.6 sudo modprobe ec_master main_devices=00:0a:35:00:01:02 # MACB0 地址 sudo ethercatctl start扫描从站:
sudo ethercat slaves # 应显示 4 个传感器5.4 步骤 3:实时数据采集线程(可复制)
/* ecrt_demo.c */ #include <ecrt.h> #include <stdio.h> #include <pthread.h> #include <sched.h> static ec_master_t *master; static ec_domain_t *domain; static uint8_t *process_data; void *cyclical_task(void *arg) { struct timespec ts = {0, 1000000}; /* 1 ms */ while (1) { ecrt_master_receive(master); ecrt_domain_process(domain); /* 读取瓦斯值 */ uint16_t gas = EC_READ_U16(process_data); if (gas > 1000) { /* 1.0% = 1000 */ system("echo 0 > /sys/class/gpio/gpio99/value"); // 断电 } ecrt_domain_queue(domain); ecrt_master_send(master); nanosleep(&ts, NULL); } return NULL; } int main() { master = ecrt_request_master(0); domain = ecrt_master_create_domain(master); ecrt_domain_reg_pdo(domain); ecrt_master_activate(master); process_data = ecrt_domain_data(domain); pthread_t tid; pthread_attr_t attr; struct sched_param param = { .sched_priority = 90 }; pthread_attr_init(&attr); pthread_attr_setschedpolicy(&attr, SCHED_FIFO); pthread_attr_setschedparam(&attr, ¶m); pthread_create(&tid, &attr, cyclical_task, NULL); pthread_join(tid, NULL); ecrt_release_master(master); return 0; }编译:
gcc ecrt_demo.c -o ecrt_demo -lethercat -pthread sudo ./ecrt_demo5.5 步骤 4:看门狗与故障复位
飞腾内置 WDT 节点:/dev/watchdog
sudo apt install watchdog sudo nano /etc/watchdog.conf # 取消注释 watchdog-device = /dev/watchdog max-load-1 = 24启动服务:
sudo systemctl enable watchdog --now软件跑飞 1 s 内自动复位整机,满足 MA 认证“故障安全”条款。
六、常见问题与解答(FAQ)
| 问题 | 现象 | 解决 |
|---|---|---|
| cyclictest Max > 200 μs | 未关 CPU 省电 | BIOS 关闭 Turbo、C-State;加内核参数nohz_full=2,3 |
| EtherCAT 丢包 | 周期 1 ms 抖动大 | 使用专用网口,关闭 NetworkManager;irqbalance移出该 IRQ |
| 本安电源无法启动 | 过流保护 | 确认飞腾板 12 V 峰值 < 1.5 A,加 470 μF 钽电容 |
| SM4 加密卡顿 | 单核占用 80% | 改用/dev/crypto飞腾硬件加速接口,吞吐量提升 10 倍 |
| MA 认证样机被否 | 无“故障自检”记录 | 在代码里加printf("DIAG: %d\n", err);并保存到掉电存储,审计时导出 |
七、实践建议与最佳实践
边开发边测试
每合并 1 个功能 → 自动跑cyclictest + ethercat回归,MR 流水线失败禁止合并。版本锁定
内核、IgH、fpga 固件哈希写入《配置清单》,现场升级需走“变更影响分析”。故障记录掉电保存
使用 SPI-FRAM 存储最后 1000 条诊断日志,审计员可随身带走。双核冗余
关键继电器输出采用“双 MCU 交叉校验”,即使飞腾核跑飞也能硬件切断。培训与文化
每月举办“矿安下午茶”,分享认证发现,把标准从纸面落到习惯。维持证书连续性
现场修改参数 → 必须走“变更请求→安全评估→回归测试→文档更新”闭环,否则 MA 证书暂停。
八、总结:一张脑图带走全部要点
飞腾矿用实时控制 ├─ 芯片:FT-2000/4 低功耗 <15 W,内置国密 & WDT ├─ 系统:PREEMPT_RT + EtherCAT 1 ms 周期 ├─ 安全:本安电源 + 隔爆外壳 + 故障自检 + 看门狗 ├─ 认证:MA / SIL 2 追溯链 + 故障注入记录 └─ 实战:cyclictest < 80 μs + SM4 硬加速 + 双核冗余掌握“飞腾 + 实时 Linux”组合,你就能:
替代进口 PLC,成本降 30%,国产化率 100%。
让井下控制器在 50 °C 粉尘环境里 7×24 零故障运行。
轻松通过煤安、SIL、CCC 认证,投标直接加分。
立刻把本文脚本git clone到本地,跑一遍cyclictest,再插上 EtherCAT 从站——下一座智慧矿山,就将由你的代码守护