1. 轨道交通联锁实验系统概述
轨道交通联锁系统是确保列车运行安全的核心控制系统,它通过逻辑控制实现信号机、道岔和轨道区段之间的安全联锁。传统联锁系统多采用继电器逻辑或工控机方案,存在体积大、成本高、扩展性差等问题。本设计创新性地采用STM32F103系列MCU作为主控芯片,构建了一套完整的联锁实验系统。
系统设计亮点:采用光电隔离+功率驱动架构,32路输入/输出通道均实现200mA驱动能力,通过CAN总线与上位机通信,整体成本控制在传统方案的1/5以内。
系统由三大模块构成:
- 沙盘模型:按1:87比例还原真实站场,包含铁大站、新百站和驼峰场三个车站,配置有可编程信号机、电动道岔及轨道区段传感器
- 控制核心:STM32F103VBT6最小系统板,扩展TLP521-4光电隔离、ULN2004功率驱动等电路
- 人机界面:OLED显示屏实时显示设备状态,支持通过按键模拟调度操作
2. 硬件系统设计详解
2.1 主控芯片选型依据
选用STM32F103VBT6主要基于以下考量:
- 性能参数:72MHz主频的Cortex-M3内核,128KB Flash+20KB RAM,满足实时控制需求
- 接口资源:内置CAN控制器,可直接连接TJA1050T收发器;多达80个GPIO方便扩展I/O
- 开发生态:完善的HAL库支持和丰富的第三方资源(正点原子、野火等开发套件)
实测表明,该芯片处理32路I/O扫描周期可控制在5ms以内,完全满足联锁系统实时性要求。
2.2 关键电路设计
2.2.1 信号驱动电路
c复制// 典型驱动代码示例
void Signal_Output(uint8_t ch, GPIO_PinState state)
{
HAL_GPIO_WritePin(GPIOB, 1<<ch, state); // STM32输出
// 经TLP521-4隔离后进入ULN2004
}
电路特性:
- 隔离电压:2500Vrms(TLP521-4)
- 驱动能力:50V/500mA(ULN2004达林顿阵列)
- 保护设计:每路输出并联1N4007续流二极管
2.2.2 状态采集电路
采用矩阵扫描方式实现32路输入检测:
- 4×8矩阵布局,节省GPIO资源
- 光耦隔离防止干扰串扰
- 硬件去抖电路(100nF电容+10kΩ电阻)
2.2.3 CAN通信电路
c复制CAN_FilterTypeDef filter;
filter.FilterIdHigh = 0x123<<5; // 设置接收ID
HAL_CAN_ConfigFilter(&hcan, &filter);
参数配置:
- 波特率:500kbps(终端电阻120Ω)
- 帧格式:标准数据帧(11位标识符)
- 传输距离:实验室环境下稳定通信可达50米
2.3 抗干扰设计
-
电源处理:
- 三级滤波:100μF电解电容+100nF陶瓷电容+1μF钽电容
- 数字/模拟地分割,单点连接
-
PCB布局:
- 信号线与功率线分层走线
- 关键信号包地处理
- 所有接口添加TVS二极管防护
3. 软件系统架构
3.1 主程序流程
mermaid复制graph TD
A[系统初始化] --> B[CAN通信配置]
B --> C[GPIO初始化]
C --> D[定时器启动]
D --> E{主循环}
E --> F[扫描输入状态]
F --> G[执行联锁逻辑]
G --> H[更新输出状态]
H --> I[CAN数据交换]
I --> E
3.2 核心算法实现
3.2.1 进路锁闭算法
c复制uint8_t Route_Lock(uint16_t route_id)
{
if(Check_Conflict(route_id)) return 0;
Set_Switch_Position(route_id);
Lock_Track_Section(route_id);
return 1;
}
安全机制:
- 三级校验:道岔位置、区段占用、敌对进路
- 操作互斥:采用信号量保护共享资源
3.2.2 故障诊断模块
实现特征:
- 周期自检(看门狗+RAM校验)
- 输入信号合理性判断
- 输出反馈检测(电流采样)
4. 系统调试要点
4.1 硬件调试步骤
-
电源测试:
- 空载电压偏差≤5%
- 满载纹波<100mV
-
I/O通道验证:
- 使用逻辑分析仪抓取时序
- 负载测试:200mA连续工作1小时
-
CAN通信测试:
- 使用CANalyzer监控总线负载
- 错误帧注入测试
4.2 软件调试技巧
-
联锁逻辑验证:
- 制作测试用例覆盖表
- 边界条件测试(如瞬时断电恢复)
-
性能优化:
- 关键路径使用寄存器变量
- 中断服务程序精简处理
调试中发现的问题:早期版本在强电磁干扰下会出现CAN通信丢包,通过增加磁环和优化软件重传机制后解决。
5. 教学应用方案
5.1 实验项目设计
-
基础实验:
- 信号机点灯控制
- 道岔定位/反位操作
-
综合实验:
- 进路排列与解锁
- 故障场景模拟(如轨道占用丢失)
-
创新实验:
- 联锁逻辑修改验证
- 通信协议扩展(如添加TCP/IP网关)
5.2 系统扩展接口
预留的扩展能力:
- 通过USART连接无线模块
- 预留ADC接口用于环境监测
- 支持SD卡存储运行日志
本系统在实际教学中表现出色,学生可通过修改Interlock_Core.c中的规则表来自定义联锁关系,直观理解"故障-安全"原则。一个有趣的案例是,有小组尝试用机器学习算法优化进路分配,虽然最终因实时性要求未能实用,但这个过程深化了对系统架构的理解。
