基于实时Linux的工业控制方案设计

📚 共计 30 章节
01
实时Linux概述
什么是实时系统 · 实时Linux发展历程 · PREEMPT_RT补丁 · 工业实时性要求
实时背景
02
硬件平台选型
ARM/x86/RISC-V对比 · 工业主板特性 · GPIO/SPI/I2C/CAN选型
硬件选型
03
实时Linux内核编译
源码获取 · PREEMPT_RT配置 · 交叉编译 · 镜像制作与烧录
内核编译
04
实时性测试与评估
Cyclictest · 延迟分布 · 最大/平均延迟 · Jitter评估
测试延迟
05
实时任务调度策略
SCHED_FIFO/RR/DEADLINE · 优先级反转 · CPU亲和性
调度实时
06
内存管理优化
实时分配策略 · mlockall · 大页内存HugeTLB · 避免页错误
内存优化
07
中断处理与软中断
IRQ管理 · 中断线程化 · tasklet · napi工业网络
中断软中断
08
设备驱动开发基础
Linux设备模型 · 字符驱动 · platform驱动 · 设备树
驱动基础
09
实时设备驱动开发
原子操作 · 自旋锁 · 完成量 · 等待队列 · DMA实时
实时驱动
10
GPIO控制与工业IO
gpiolib · libgpiod · 数字量输入输出设计
GPIO工业IO
11
SPI总线通信
SPI控制器驱动 · spidev · 高速SPI实时优化
SPI通信
12
I2C总线通信
I2C子系统 · i2c-dev · 多主设备冲突处理
I2C总线
13
CAN总线通信
CAN控制器 · SocketCAN · CAN帧编程 · CANopen移植
CAN现场总线
14
工业以太网协议
EtherCAT主站 · PROFINET · EtherNet/IP实现
以太网工业
15
实时网络通信
RTnet · 实时UDP/TCP · 网络延迟优化 · 零拷贝
网络实时
16
数据采集与AD/DA
ADC/DAC驱动 · 环形缓冲区 · 触发/定时采集
数据采集AD/DA
17
运动控制基础
步进/伺服电机 · 脉冲方向 · 编码器反馈
运动控制电机
18
PID控制算法实现
位置/增量PID · 积分分离 · 参数整定 · 实时周期
PID控制
19
PLC功能实现
IEC 61131-3 · 梯形图引擎 · 软PLC · OpenPLC
PLCIEC
20
实时数据库与日志
环形缓冲区日志 · SQLite嵌入式 · 时序数据库替代
数据库日志
21
多任务协同设计
任务划分 · 共享内存/消息队列/信号量 · 看门狗
多任务协同
22
状态机与有限状态自动机
状态机模式 · 层次状态机HSM · 工业控制案例
状态机HSM
23
安全完整性等级SIL
IEC 61508 · SIL等级 · 故障安全 · 冗余架构
安全SIL
24
功能安全实现
安全软件设计 · 诊断覆盖率 · 故障注入 · Black Channel
功能安全诊断
25
工业人机界面HMI
LVGL移植 · 触摸屏 · 实时数据刷新 · 报警事件
HMILVGL
26
远程监控与运维
MQTT · OPC UA · Web HMI · 远程固件升级
远程运维
27
系统集成与测试
HIL/SIL测试 · 压力/稳定性测试 · EMC注意事项
测试集成
28
性能优化与调优
sysctl · isolcpus · cgroups · perf分析
优化调优
29
工业控制系统安全
工控威胁 · Secure Boot · SELinux/AppArmor · TLS
安全工控
30
综合案例实战
数控机床控制器 · 机器人运动控制器 · 项目交付规范
实战综合