Back to Blog

基于FPGA的3U机箱轨道交通网络通讯板,对内和主控板、各类IO板通信,对外可进行RS485、CAN或MVB组网通信

#fpga开发#边缘计算#人工智能#大数据#嵌入式硬件

引言

本文围绕 基于FPGA的3U机箱轨道交通网络通讯板(NETI) 进行深入解析。读者将了解该板卡在轨道交通系统中的定位、硬件组成、内部与外部通信方式以及在实际项目中如何进行集成和调试。通过本文,您可以快速掌握该网络板的技术要点,为后续的系统设计和验证提供参考。

1. 板卡概述

01.jpg

NETI(Network Interface)板是轨道交通专用的网络通讯板,主要承担:

  • 对内:与主控板以及各类 IO 板进行高速、可靠的数据交互;
  • 对外:提供 RS485、CAN 或可选的 MVB(Multifunction Vehicle Bus)组网通信,满足现场总线的多样化需求。

该板卡采用 3U 机箱(220 mm × 100 mm × 1.6 mm)规格,便于在标准轨道交通机箱中实现模块化布置。

2. 硬件规格

项目参数
电源DC5V,DC3.3V
FPGAXC6SLX25-2FG484I
MCUMK60DN512VLL10 × 2
CPLDEPM570T100I5N
存储PROM 16 MB(用于 FPGA 配置)
通信接口(面板侧)CAN × 2(D‑SUB9)RS485 × 2(D‑SUB9)可选 MVB × 2(D‑SUB9)
通信接口(背板侧)CAN × 1I2C × 4
尺寸220 mm × 100 mm × 1.6 mm
重量0.160 kg
工作温度-25 ℃ ~ 70 ℃

:以上参数均取自原始规格说明,未作任何改动。

3. 功能框图

02.jpg

功能框图展示了板卡内部的主要模块及其相互关系,核心包括:

  • FPGA:负责高速数据转发、协议转换以及实时控制逻辑;
  • 双 MCU:提供通用处理能力,执行系统监控、状态上报以及与外部设备的交互;
  • CPLD:实现低速配置信号的管理和电源监控;
  • 多路通信接口:实现对内背板和对外面板的多协议互联。

4. 关键芯片解析

4.1 FPGA – XC6SLX25-2FG484I

Xilinx Spartan‑6 系列的 XC6SLX25 具备 25 K 逻辑单元,适合中等规模的数字信号处理和协议栈实现。其 2 Mbit 的块 RAM 为缓存和临时存储提供足够空间,能够在 RS485、CAN、MVB 等总线之间进行高速转发。

设计建议:在开发时可利用 Xilinx ISE 或 Vivado(兼容 Spartan‑6)进行 RTL 设计,使用 IP Integrator 快速搭建协议转换模块;注意时钟约束,确保跨总线的时序满足各协议的最小传输间隔。

4.2 MCU – MK60DN512VLL10

Freescale(现 NXP)Kinetis K60 系列 MCU 采用 ARM Cortex‑M4F 内核,最高主频 150 MHz,内置 512 KB Flash128 KB SRAM。双 MCU 的布局通常采用 主/备 结构:

  • 主 MCU:负责系统初始化、网络协议栈(如 TCP/IP、CANopen)以及与上位机的交互;
  • 备 MCU:执行看门狗监控、故障转移以及与 FPGA 的低速控制信号交互。

调试要点:使用 JTAG / SWD 接口进行固件烧录,建议在 IDE(如 MCUXpresso)中开启 RTOS 支持,以便在多任务环境下管理通信任务。

4.3 CPLD – EPM570T100I5N

Altera(现 Intel)EPM570T 属于 MAX II 系列,拥有 5700 个逻辑单元。该 CPLD 主要用于:

  • 电源监控:检测 DC5V、DC3.3V 的电压状态并向 MCU 报警;
  • 复位控制:在异常情况下对 FPGA、MCU 进行同步复位;
  • IO 配置:对 D‑SUB9 接口的方向、驱动强度进行硬件层面的切换。

实现提示:CPLD 逻辑相对固定,建议在硬件设计阶段完成全部功能,后期仅通过 PROM 更新 FPGA 配置文件。

5. 通信接口详解

5.1 对内背板通信

  • CAN × 1:用于与主控板的高速控制网络,兼容 CAN 2.0A/B 标准,支持 500 kbps 以上的实时数据传输。
  • I2C × 4:提供低速、点对点的寄存器读写通道,适用于传感器状态查询、EEPROM 读取等场景。

布局建议:在背板设计时,保持 CAN_H / CAN_L 线对的阻抗匹配(120 Ω 终端),并在每条 I2C 总线上加 4.7 kΩ 上拉电阻,以确保信号完整性。

5.2 对外面板通信

  • CAN × 2(D‑SUB9):面向现场设备的双通道 CAN,满足多列车或多子系统的并行通信需求。
  • RS485 × 2(D‑SUB9):支持 半双工 传输,常用于 Modbus RTU 或自定义协议的长距离链路(最长可达 1200 m)。
  • MVB × 2(可选):MVB 为轨道交通专用的多功能车辆总线,提供 同步异步 两种传输模式,适合对时序要求极高的控制系统。

注意事项:若选用 MVB,需要在硬件层面增加 隔离变压器差分驱动 电路,以满足 IEC 61375 标准的电磁兼容要求。

6. 电源与环境适配

  • 电源:板卡内部采用 DC‑DC 转换器将 5 V3.3 V 稳压供给 FPGA、MCU、CPLD 等核心器件。建议在系统电源设计时加入 输入滤波(LC)以及 过压/欠压保护
  • 温度范围:-25 ℃ ~ 70 ℃ 的工业级工作温度,使其能够在严寒的北方车站或高温的地下隧道中可靠运行。
  • 尺寸与重量:220 mm × 100 mm × 1.6 mm 的薄型设计以及 0.160 kg 的轻量化,使其易于在 3U 机箱内部进行堆叠或横向布置。

7. 集成与调试流程

7.1 硬件接入

  1. 背板连接:将板卡的背板 CAN 与系统主控板的 CAN 端口通过 双绞线 直连,并在两端分别加 120 Ω 终端电阻。
  2. I2C 配置:确认 I2C 地址冲突,必要时通过 CPLD 的寄存器对地址进行映射。
  3. 面板接口:根据现场需求选择 RS485CANMVB 接口的 D‑SUB9 插头,确保线缆规格符合 ISO/IEC 标准。

7.2 软件加载

  • FPGA 配置:使用 JTAG 下载 16 MB PROM 中的位流文件(.bit),该文件在出厂时已预置;若需更新,只需通过 MCU 调用 PROM 编程接口即可。
  • MCU 固件:采用 MCUXpresso IDE 编译并烧录固件,建议使用 FreeRTOS 进行任务调度,以实现 CAN、RS485、MVB 的并发处理。
  • CPLD 编程:CPLD 逻辑在硬件层面固定,若有特殊需求(如更改电源监控阈值),需重新生成 .jic 文件并通过 USB‑Blaster 烧录。

7.3 功能验证

步骤验证点参考工具
1电源稳定性示波器监测 5 V/3.3 V 波形
2FPGA 配置成功JTAG 状态灯或读取 PROM 内容
3MCU 启动日志UART 115200 bps 输出
4CAN 通信CANalyzer / CANoe 抓包
5RS485/ModbusModbus Poll 测试
6MVB(若选)MVB 仿真工具(如 MVB‑Sim)

8. 典型应用场景

  1. 列车控制系统:作为列车内部的网络枢纽,将车载传感器、执行器与上位控制系统通过 CAN 与 RS485 进行实时数据交换。
  2. 信号联锁:在信号机房中使用 MVB 接口,实现多节点的同步时钟分配和安全状态广播。
  3. 车载监控:利用双 MCU 的冗余设计,实现对关键参数(温度、电压、故障码)的持续监测,并通过 RS485 将数据上报至中心监控平台。

9. 设计注意事项与最佳实践

  • 时钟同步:FPGA 与 MCU 之间的时钟源建议使用 外部晶振,并在 PCB 上做好 时钟线的阻抗匹配,避免因抖动导致协议错误。
  • 电磁兼容(EMC):在 RS485 与 CAN 线路上加入 共模电感滤波电容,降低高频噪声对信号的干扰。
  • 热管理:虽然功耗相对较低,但在高温环境下仍建议在板卡上加装 散热片风扇,确保 FPGA 与 MCU 的工作温度不超过额定范围。
  • 固件升级:采用 双备份 PROM(或外部 SPI Flash)实现固件热升级,避免在现场更新时出现不可恢复的故障。

10. 小结

基于 FPGA 的 3U 轨道交通网络通讯板(NETI)通过 FPGA 的高速数据处理、双 MCU 的可靠控制以及 CPLD 的低层监控,实现了对内与主控板、各类 IO 板的高效互联,并提供了 RS485、CAN、可选 MVB 三种对外组网方式。其工业级的电源、温度适配以及紧凑的尺寸,使其能够在严苛的轨道交通环境中长期稳定运行。通过本文的硬件解析、接口说明以及集成调试流程,您可以快速上手该板卡的开发工作,并在实际项目中发挥其强大的通信能力。