STM32的二乘二取二的光通信系统设计
扫描二维码
随时随地手机看文章
引言
随着轨道交通列车速度的不断提高,对轨道交通的安全性和可靠性提出了更高的要求。而传输设备在轨道交通系统中起到了不可替代的作用,提高传输设备的安全性,对轨道交通系统起着至关重要的作用。传输设备的主机单元要求采用双机热备结构或二乘二取二结构。二乘二取二计算机联锁系统比双机热备计算机联锁系统具有更高的安全性。
目前,大量站间传输设备的CPU采用的是Intel 51系列芯片或者。x86系列PC兼容机,而ARMv7系列中Cortex—M4内核在嵌入式系统中应用更加广泛。意法半导体公司STM32是以Cortex—M3处理器为内核的,该处理器具有门数目少、中断延迟短、调试成本低的特点,是为要求有快速中断响应能力的深度嵌入式应用而设计的,STM32从性能到片上资源都比原传输设备的CPU更具有竞争力。综上,采用STM32作为各个板块的CPU,重点对基于STM32的二乘二取二系统进行设计。
1 光通信传输设备位置及作用
基于光通信站间安全信息传输设备是以计算机技术和光通信技术为基础,利用光纤或光通道取代传统的电缆或架空明线作为站间信息的传输媒介,同时采用信息安全传输保障技术构成的铁路站间信息安全传输的专用设备。传输设置系统组成如图1所示。
该设计结构应用于新传输设备的主控单元模块,即图1中主控单元1和2部分。主控单元主要完成逻辑处理和系统控制工作;通信及接口单元主要完成数据的收发;I/O接口单元要完成站间信息的采集与驱动。
2 二乘二取二安全系统设计
系统采用模块化设计,整个系统分为5大模块:主控板、通信板、采集驱动板、网络接口板和电源板。其中,参与核心运算的主控板、通信板和采集驱动板采用二乘二取二结构设计,其他板采用单CPU结构。“二乘”结构中具有两套安全相同的二取二系统,系统1为主系工作,系统2处于热备冗余状态。两个系统具有完全相同的硬件结构。开机时,两个系统同时独立地工作。两个系统都正常的情况下,系统1作为主系,系统输出为系统1的输出。如果系统1发生故障,则切换系统2为主系工作系统,系统输出为系统2的输出,系统1报告故障或者自动重启。二乘系统间采用CAN总线进行通信,任意时刻系统CAN总线上只有一个CAN输出为有效。
2.1 主控板设计
主控板作为二乘二取二系统的核心,主要完成系统的控制、继电半自动闭塞站间、站/场间联系等信息的处理。根据二乘二取二结构原理,由于二乘系统间的硬件与软件完全一致,所以这里不再赘述,只给出二取二系统详细设计。主控板的二取二结构包含两块STM32F407芯片作为CPU、一块FPGA主要作为总线处理器,每个CPU有自己配套的外扩存储器,具体结构如图2所示。
“二取二”结构中采用两个相同的CPU组成二取二系统,二取二系统同步方式有时钟级同步和任务级同步。时钟级同步主要是硬件层同步,由硬件完成2个CPU之间的同步和数据表决,包括总线上信号的比较和数据的比较,对于外部相当于只有一个CPU在运行;任务级同步主要是应用层同步,一般采用软件完成,对每个任务的结果进行一致性比对。
主控板采用时钟级同步,STM32F407主频高达168MHz。STM32F407的I—Bus不仅能连接到Flash上,而且还能连接到SRAM和FSMC上,从而加快SRAM或FSMC取指令的速度。利用ST M32F407内置的双CAN控制器,可以向总线处理器发送数据。
时钟信号除了直接输出给两个CPU以外,还须直接供给总线处理器,其内部逻辑结构设计如图3所示。总线处理器中时钟处理子模块用于产生三路时钟信号并完成时钟同步功能。输出给FPGA的时钟与CPU时钟保持一致,输出给过采样处理的时钟是系统时钟的4倍频。过采样是用远大于奈奎斯特采样频率的频率对输入信号进行采样。本设计采用4倍过采样法,可以提高总线的可靠性和数据恢复能力。将两路CAN总线的输入数据经过4倍过采样的数据直接传递给FPGA,由FPGA对这8个数据进行存储判断,并采用多数判决规则。8个数据有5个及以上一致时,取多数的数据为待发送数据,这样同一比特数据在总线出现不超过3处以上错误时,可以完成数据的正确恢复。当超过错误个数时,判定总线故障,FPG A向STM32F407返回故障报警信息。
2.2 通信板设计
由于通信板主要完成主控板与外部设备的通信,所以对CPU的要求没有主控板高,CPU选用STM32F103,其主频为72 MHz。通信板二取二结构图与主板相似,不同处主要有两点:
①在FPGA中嵌入一个2M生成器;
②通信板上配置E1驱动收发模块。2M生成器用于将数据封装为满足于E1协议的数据报,或者将E1数据报解封装为所需数据。这样就省去传统协议转换器,减小了设备在机房的占用空间。E1驱动收发模块用于顺利收发E1数据报。
2.3 采集驱动板设计
正确完整地获取室外信号设备的数据信息是实现安全传输设备的重要部分,因此将采集驱动集合到一个模块中处理,即采集驱动板模块,其结构如图4所示。采集驱动板结构中总线处理器与主板相似,不同之处在于FPGA还要处理动态驱动、驱动总线、采集1总线以及采集2总线。为了符合铁路信号“故障-安全”的原则,在采集驱动板中添加动态驱动单元、数控电压发生器、双状态采集。
动态驱动单元处理输入侧脉冲信号,当输入侧有脉冲信号时,输出侧给出一个具有一定驱动能力的高电平,以驱动安全型继电器线圈,使之吸起;当输入侧没有脉冲信号或电路发生故障时,输出侧给出一个低电平,该电平不能使继电器吸起。这种电路一般情况下是“故障-安全”的。
因为站间距离通常是10~20 km,线损大,所以继电器半自动电压范围为24~130 V。这样设计数控电压发生器,使其产生与外部×1和×2相匹配的不同的电压要求。双状态采集主要是动态地采集FPGA和安全防护继电器的高低电平,当有信号时,采集到一个动态的脉冲数据,当无信号时,采集到一个恒定的电平。只有采集到动态信号,设备才对信号动作,否则不响应,这样可以做到故障导向安全。设计为双状态采集是为了提高设备的可靠性,将两个状态采集的结果输入到总线处理器进行比较,若比较一致,则接收该采集的数据,反之,将该故障状态报告给CPU。
采集驱动板模块需要完成的另一重要任务是“二乘”系统间的切换功能。将“二乘”系统中的安全防护继电器进行并联,“二乘”系统都采集外部状态,分别进行处理,使用串口定时进行同步通信。这样若任意一个系统故障,另一个系统都能无缝对接。如果“二乘”系统间采集的数据不一致,则FPGA报告CPU,CPU发送同步采集请求给邻站。邻站收到同步采集请求返回规定的数据后,比较两个采集数据与规定数据是否一致,判断出故障系统。如果都不一致,则向上位机报警。
2.4 网络接口板设计
网络接口板完成下位机(传输设备)与上位机(中央网管)之间控制信息的交互,主要完成上/下位机间CAN协议与以太网协议的转换。CPU选用STM32F207,主频为120 MHz,它支持以太网IEEE 11588v2标准,其结构如图5所示。
2.5 电源板
供电采用220 V市电电压,并在220 V入口处采取电磁兼容及雷电防护措施。为了提高系统内部用电安全性,采用三种电压分别为不同的部分供电,其结构如图6所示。电源板不处理复杂数据,所以电源板采用STM32F103芯片作为CPU,其主要负责对各种电压进行监测,以保证系统用电在一个安全可控的范围内。电源板定时将系统电压情况通过CAN总线反馈给主控板,如果出现电压不正常,则在电源板面板上用指示灯表示,并由主控板向网管发出报警。
结语
基于Intel 51系列芯片或者x86系列PC兼容机为CPU的站间传输设备,从时钟频率和片上资源方面考虑,仅能满足低运算量的逻辑处理,对于时钟级同步也显得力不从心,而STM32系列专为要求高性能、低成本、低功耗的嵌入式应用专门设计。本文提出了一种基于STM32的二乘二取二系统设计,利用不同STM32芯片满足不同模块的实际需求;将过采样的概念引入到总线比较方面,提高总线信息的安全性和可靠性,为设计基于STM32的时钟级同步二乘二取二系统提供了参考。由于实验条件、精力和水平有限,目前该设计的某些细节还需进一步研究,系统的安全性和可靠性仍需进一步分析测试。