粟 昆,王 奇,代 飞
(株洲中车时代电气股份有限公司, 湖南 株洲 412001)
轨道交通安全计算机平台是进行各类轨道交通产品开发的基础。对安全计算机平台中各个板卡的工作状态进行实时精准监控,有利于安全计算机平台的可靠稳定运行,也是轨道交通产品走向智能化、网络化必不可少的一个环节[1-2]。现有轨道交通安全计算机平台各个板卡的监控模块是通过在主处理器中附加程序、在外围使用看门狗电路并采用软硬件结合的方式进行的[3-4]。这种方式消耗主处理器的资源,安全功能和非安全功能分割不明显,需要针对各个处理器进行定制开发,无法进行模块化开发,监控和记录的信息不全面,通用性很低[5]。
为解决现有电路监控方式存在的通用性差、监控信息不全面和处理器资源消耗大等问题,本文提出了一种轨道交通安全计算机平台通用维护模块的设计思路。该模块由电源电路、GD32最小系统电路、电压采集电路、复位和同步信号采集电路、以太网通信电路组成,具有体积小、通用性强、核心器件能国产化替代的优点,为轨道交通领域多种板卡的监控单元设计提供了模块化解决方案。
为监控整个安全计算机平台系统,需要将系统中所有的通用维护模块有序地组织起来,形成通用维护网络。通用维护网络的架构如图1所示。通用维护模块监控安全计算机平台板卡的复位信号和工作电压,并通过以太网收集各个板卡的状态信息;完成运算和处理后,将处理结果进行存储并转发至维护网络中的系统交换机。用户可通过接入到系统交换机的计算机终端查看平台各个板卡状况,也可以通过该终端对整个安全计算机平台进行程序更新、配置更新等日常维护工作。为确保系统运行过程中时间的同步,安全计算机平台会给各个模块提供统一的时钟信号,各模块参考该时钟进行时间同步。
图1 通用维护网络架构Fig. 1 Architecture of general maintenance network
通用维护模块的设计从硬件和软件两个层面进行,且维护模块完全独立于板卡中其他工作模块而存在,从而规避维护模块本身对安全计算机平台正常运行产生的影响。通用维护模块的硬件采用独立的控制器,模块的一切指令均由该控制器执行,所以在系统维护过程中不会占用主CPU的资源;并通过单向隔离通道,使得主CPU的复位信号和工作电压信号只能从各个板卡单向传递至通用维护模块。此外,通用维护模块和板卡主CPU的供电系统采用完全隔离的两路电源,进一步保证了模块的独立性和维护过程的安全性。通用维护模块的软件使用完全独立的环境进行开发,模块和板卡主CPU之间的数据交换网络与系统正常工作的网络采用完全独立的两个局域网网段,且相互之间的通信采用专用的通信协议,以确保模块始终处于被动接收信息的模式,不会向主CPU发出任何控制指令。
通用维护模块由电源电路、GD32最小系统电路、电压采集电路、复位和同步信号采集电路、以太网通信电路构成(图2)。为保证模块的抗干扰能力,对维护模块和板卡其他电路模块进行隔离设计[6],以确保维护模块和板卡其他电路模块相互独立。这样,即使维护模块自身发生故障,也不会影响板卡其他模块的正常工作。
图2 通用维护模块结构框图Fig. 2 Schematic diagram of the general maintenance module
板级电源设计一般有DC-DC转换器和低压差线性稳压(low dropout regulator, LDO)芯片两种方案。DC-DC转换器体积小、效率高、发热量小,但是输出纹波较大,适用于负载电流较大的场合。LDO内部的晶体管工作在线性放大状态,其效率较低、发热量较大,但是LDO的输出更稳定、电源纹波更小[7]。本设计使用的输入电压为5 V,模块的工作电压为3.3 V,工作电流在200 mA以下。为了提升整个模块电源的稳定性,有效降低纹波电压,选择TI公司的LDO芯片TPS76801为核心进行电源模块设计,其典型电路如图3所示[8],输出电压计算见式(1),式中1.1834为芯片手册给出的输出电压基准值。
图3 通用维护模块电源电路Fig. 3 Power circuit of the general maintenance module
考虑到国产化设计需求,本设计选用国产的GD32F450ZIT6型芯片作为核心控制器。GD32F450ZIT6型芯片具有丰富的片内资源,其内部集成了32位ARM Cortex-M4内核,工作主频高达200 MHz,片内具有2 MB FLASH和512 KB SRAM,且具备片内AD转换器、以太网控制器和中断控制器等多种外设[9]。GD32F450ZIT6芯片较高的集成度,在满足维护模块功能需求的同时,能有效降低最小系统的设计难度。GD32最小系统的原理如图4所示。时钟电路采用25 MHz的有源晶振,给GD32系统提供工作时钟。复位电路采用TPS3306芯片搭建,该芯片不但能够监控板内的5 V和3.3 V电源电压,而且还具备看门狗功能。主控芯片需要每隔800 ms进行喂狗操作[10],否则GD32系统将会复位,这种设计能有效地防止因软件跑飞和程序卡死而带来的系统瘫痪。为存储维护模块在工作过程中的重要数据,GD32系统设计有外接的FLASH芯片电路。该FLASH电路采用串行SPI接口与GD32芯片通信;JTAG接口用于模块制造过程中的边界扫描测试;RS232接口则是为了便于对整个GD32系统进行后期维护。为了便于对维护模块的硬件版本进行管理,在GD32最小系统中设计了电阻阵列,组成二进制代码,用于代表不同的硬件版本号,系统上电后,通过IO口读取硬件版本号代码,从而识别硬件版本。
图4 GD32 系列微控制器最小系统Fig. 4 Minimum system of GD32 series microcontroller
电压采集电路如图5所示。外部电压信号(板卡主处理器供电电压)经过电阻分压和隔离放大器隔离之后,接至GD32控制器的AD转换器采集引脚。隔离放大器选用TI公司的AMC1311B芯片。该芯片前端为高阻抗输入,最高可承受2 V输入电压,电压放大增益为1,二次侧采用差分输出方式[11]。选用该芯片的另一个重要原因是该芯片可用国产化芯片替代,替代型号为NSI1311B。因为放大器的最高输入电压为2 V,所以在实际电路中,应合理地选择R3和R4的电阻值,使得分压电路将3.3 V电压衰减到2 V范围内,且必须考虑电压波动问题。为此,设计了电容滤波电路,二次侧电压经RC滤波后再输入到CPU的AD引脚。由于GD32控制器的AD输入为单端形式,而AMC1311B的输出为差分形式,因此本设计将二次侧的两个电压端分别接到CPU的两个AD采集通道,CPU采集两个电压端的电压值后进行减法运算,以得到前端输入的电压值。
图5 通用维护模块电压采集电路Fig. 5 Voltage acquisition circuit of the general maintenance module
板卡的复位信号和同步信号使用GD32控制器内部自带的定时器通道采集,外部信号经过电容器隔离之后,接到控制器的定时器引脚。根据设计要求,模块内部信号与板卡上的信号需进行物理隔离,因此这一部分电路设计的重点在于隔离方案的选取。目前主流的隔离方案有光电耦合器隔离、磁隔离和电容器隔离3种。光电耦合器隔离的失效率和功耗较高,在复杂环境中发光源易受污染且成本较高;磁隔离的对外辐射较大,抗电磁干扰能力较弱。因此,本设计选用电容器隔离的方案。本设计选用TI的ISO7720芯片,该芯片工作电压范围宽,工作带宽高且EMC性能优异,其外围电路简单,只需对电源引脚进行滤波即可[12],可用国产的NSI7720型芯片完全替代。复位信号和同步信号的采集原理如图6所示。
图6 复位和同步信号采集原理Fig. 6 Schematic diagram of reset and synchronization signal acquisition
通用维护模块提供一路隔离的100 Mb/s以太网通信接口,其电路原理框图如图7所示。GD32F450ZIT6内部集成了一路以太网控制器,并支持IEEE802.3有线以太网物理层和数据链路层系列标准,能通过MII接口访问外部物理层芯片。本文选用的物理层芯片为KSZ8081MLXIA型以太网收发器[13],其可用国产YT8512型芯片替代。KSZ8081MLXIA使用MII接口和GD32控制器进行数据交换,其外围需要电源滤波电路、晶振电路和配置电路。电源滤波电路用于滤除外部电源干扰,确保KSZ8081MLXIA稳定工作。晶振电路采用有源晶振,给KSZ8081MLXIA芯片提供25 MHz高精度时钟信号。配置电路用于物理层芯片上电时的初始化配置和物理层芯片地址的设置。为降低成本,进一步减小维护模块的体积,最终的以太网差分信号经电容器隔离后输出。
图7 通用维护模块的以太网接口电路Fig. 7 Ethernet interface circuit of the general maintenance module
通用维护模块的软件流程如图8所示。模块上电之后先进行自身的初始化工作,包括GD32各个外设寄存器的初始化、中断子程序的优先级配置、内存自检以及FLASH自检等。初始化工作完成后,将进行4个中断子程序的处理,分别为:电压采集处理子程序、复位信号处理子程序、同步信号处理子程序和主CPU数据接收子程序。之后,主程序将提取4个中断子程序处理结果中的特定信息,将这部分信息存储在通用维护模块的FLASH中。最后,主程序按特定的协议将中断程序处理结果打包,并通过以太网接口发送至系统的维护网络。该软件对维护模块采集的数据进行了分类和预处理,只将处理的结果发送至维护网络,减少了维护网络的数据传输量,节省了传输带宽,降低了维护网络计算机终端监控程序的设计复杂度。
图8 通用维护模块软件流程Fig. 8 Block diagram of the general maintenance module software
基于上述各个电路功能模块的设计即可构建轨道交通安全计算机平台通用维护模块。图9为所设计的通用维护模块实物,模块中的信号通过连接器和安全计算机平台各个插件进行交互。由于通用维护模块相对独立,在实际应用中,一旦发现维护模块故障,便可以迅速进行更换,极大地提高了整个系统的可维护性。
图9 通用维护模块实物Fig. 9 Practical general maintenance module
该通用维护模块应用于安全计算机平台插件的实验室测试结果如图10所示。从图中程序运行的结果可知,该模块能完成既定功能,将板卡的各类状态信息及时传送至维护网络,为整个系统的维护提供了可靠的数据来源。
图10 应用效果图Fig. 10 Application rendering
基于国产处理器研制的轨道交通安全计算机平台通用维护模块具有体积小、通用性强的特点,同时兼顾了完全国产化设计要求。目前该模块已被广泛应用于轨道交通牵引系统、网络系统和信号系统的多种单板设计中,极大地降低了单板监控功能的设计难度,对推动轨道交通通用安全计算机平台维护系统网络化进程具有重要意义。但本设计目前是收集安全计算机平台的板卡信息并整理后上传维护终端,并没利用这些信息进行故障诊断。未来可研究如何利用这些信息让维护模块对各个板卡进行智能诊断。