基于sopc技术的mvb总线解码与随车记录系统的制作方法

文档序号:6675357阅读:352来源:国知局
基于sopc技术的mvb总线解码与随车记录系统的制作方法
【专利摘要】本发明涉及一种基于SOPC技术的MVB总线解码与随车记录系统,包括FPGA芯片、EPCS串行FLASH芯片、SDRAM芯片、SRAM芯片、SD卡和MVB电平转换电路,所述的FPGA芯片包括NIOS-II软核处理器、锁相环倍频器、MVB解码器、SRAM读写控制器、SPI接口切换模块和SPI接口,所述的NIOS-II软核处理器分别与EPCS串行FLASH芯片、SDRAM芯片、锁相环倍频器、MVB解码器、SRAM读写控制器和SPI接口连接,所述的MVB解码器分别与锁相环倍频器、MVB电平转换电路和SRAM读写控制器连接,所述的SPI接口切换模块分别与SPI接口、SRAM读写控制器和SD卡连接。与现有技术相比,本发明具有软硬结合、可靠性高、操作方便、实时性好等优点。
【专利说明】基于SOPC技术的MVB总线解码与随车记录系统

【技术领域】
[0001]本发明涉及一种MVB总线数据分析与存储技术,尤其是涉及一种基于SOPC技术的MVB总线解码与随车记录系统。

【背景技术】
[0002]随着高速铁路与现代轨道交通技术的发展,列车通信网络(Train Communicat1nNetwork, TCN)已成为一种主流的车辆及列车数据通信系统。国际电工技术委员会的IEC-61375标准,将列车通信网络分成用于连接各节可动态编组的铰链式列车总线WTB(Wire Train Bus)和用于连接车辆内固定设备的多功能车辆总线MVB(Multifunct1nVehicle Bus)。与其他的通用现场总线在列车上的应用相比,MVB在实时性、可靠性、可管理性、介质访问控制方法、寻址方式及通信服务种类等方面具有更大的优势。
[0003]MVB总线数据以帧为基本单位,数据传输速率为1.5Mbps,数据帧采用了曼彻斯特码传输,因此编码后的波特率为3Mbaud。编码器和解码器不仅要完成曼彻斯特编解码、CRC序列的生成和校验,同时还要添加和识别帧头帧尾以实现数据帧的同步。MVB中有两种帧:一种是只能由总线主设备发送的主设备帧,简称“主帧”,主帧内容包含了所问询的设备端口号和功能码;另一种为响应主帧而由从设备发送的从设备帧,简称“从帧”,从帧的长度和类型是由功能码决定的。
[0004]轨道交通列车在正常运行情况下,MVB总线上会产生大量的数据,MVB数据按报文的类型可以分为过程数据、信息数据和监视数据。通过收集列车上的MVB设备的状态监测和故障诊断信息,可以分析列车及设备运行的可靠性与安全性,为列车设备的维护和维修提供有用的信息。所谓MVB设备是指轨道交通列车上使用了 MVB通信控制芯片,能够按照MVB通讯协议进行数据通讯的设备。传统的MVB通信控制器芯片虽然囊括了 MVB数据链路层及应用层的完整功能,但因其成本昂贵,使用复杂,且由国外的公司技术垄断,并不适合作为自主开发的MVB总线分析仪的首选。


【发明内容】

[0005]本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种软硬结合、可靠性高、操作方便、实时性好的基于SOPC技术的MVB总线解码与随车记录系统,用于MVB总线数据的实时分析及大容量数据的实时存储。
[0006]本发明的目的可以通过以下技术方案来实现:
[0007]一种基于SOPC技术的MVB总线解码与随车记录系统,其特征在于,包括FPGA芯片、EPCS串行FLASH芯片、SDRAM芯片、SRAM芯片、SD卡和MVB电平转换电路,所述的FPGA芯片包括N1S-1I软核处理器、锁相环倍频器、MVB解码器、SRAM读写控制器、SPI接口切换模块和SPI接口,所述的N1S-1I软核处理器分别与EPCS串行FLASH芯片、SDRAM芯片、锁相环倍频器、MVB解码器、SRAM读写控制器和SPI接口连接,所述的MVB解码器分别与锁相环倍频器、MVB电平转换电路和SRAM读写控制器连接,所述的MVB电平转换电路与MVB总线连接,所述的SPI接口切换模块分别与SPI接口、SRAM读写控制器和SD卡连接。
[0008]EPCS串行FLASH芯片作为程序存储器,以及引导程序下载和加载的EPCS控制器;
[0009]SDRAM芯片作为处理器的内存,以及控制内存读写的SDRAM控制器;
[0010]锁相环倍频器(PLL),为N1S-1I软核提供高速的系统工作时钟,同时为MVB解码、数据存储模块提供数倍于MVB码率的工作时钟;
[0011]MVB解码器完成MVB数据解码的全部工作,解码得到的串行数据经过串行转并行处理后,通过SRAM读写控制器写入SRAM芯片缓存;
[0012]SRAM读写控制器,缓存的输入来自MVB解码后的数据,输出到并行转串行及格式转换模块,最后经过SPI接口切换模块写入SD卡;
[0013]SPI接口切换模块,用于控制来自SRAM内缓存的解码数据流和来自N1S-1I数据流的SD卡读写切换。
[0014]与SRAM读写控制器连接的SRAM芯片,解决了高速写SD卡所需的FPGA片内缓存不足的问题。
[0015]所述的MVB解码器包括分界符识别模块、曼彻斯特解码模块、CRC校验器、定时器、总线异常管理单元和解码流程控制单元,所述的分界符识别模块包括主帧帧头识别单元、从帧帧头识别单元和帧尾识别单元,所述的解码流程控制单元分别与主帧帧头识别单元、从帧帧头识别单元、帧尾识别单元、曼彻斯特解码模块、CRC校验器、定时器和总线异常管理单元连接,所述的总线异常管理单元分别与曼彻斯特解码模块、CRC校验器连接;
[0016]通过分界符识别模块来实现帧定位,所述的曼彻斯特解码模块解码主帧,所述的CRC校验器校验数据,获取功能码后确定回复的从帧格式,再对从帧进行解码;
[0017]所述的定时器用于判断从帧超时未响应的计时;总线异常管理单元用于收集各单元反馈的异常信号并反馈给解码流程控制单元。
[0018]所述的异常信号包括曼彻斯特解码异常、CRC检验结果错误、帧长度错误和从帧超时未响应。
[0019]所述的MVB解码器采用FSM(Finite State Machine,有限状态机)方法来进行帧同步和曼彻斯特解码。
[0020]所述的SRAM读写控制器包括:
[0021]一是由硬件实现缓存读写控制器,负责简单、重复但是大量、高速的数据搬运工作;
[0022]二是采用了乒乓操作的数据流控制方法,将SRAM缓存空间划分为两个缓冲区,数据的输入与输出总是连续、交替循环在两个缓冲区内进行,实现数据的高速缓存。
[0023]所述的N1S-1I软核处理器运行SD卡传输协议及FAT32文件系统协议程序,支持FAT32文件系统下的SD卡读写。
[0024]所述的SPI接口切换模块将SRAM读写控制器缓存的解码数据和N10S-1I软核处理器的SD卡传输协议及FAT32文件系统协议程序(包括SD卡初始化、读写控制指令等底层驱动、FAT32文件系统读取SD卡系统引导扇区、更新文件分配表等操作)所产生的数据流在时序的配合下通过SPI接口,完成数据的实时、高速地存储。
[0025]还包括PC端的MVB数据分析软件,用于导出、查看、分析SD卡中记录的原始数据文件,并可对数据进行后期的处理,软件在Microsoft Visual Stud1 2010编译环境下,使用C#语言编写PC端软件。软件功能具体包括:
[0026]根据用户自定义MVB设备诊断字表或帧的位定义,对记录的帧数据进行解析,获取MVB设备名称、逻辑地址、设备地址、故障类型、状态变化信息,使用户能够更加直观地分析列车运行时MVB设备状态的变化和可能出现的故障。
[0027]本发明系统的软硬件功能划分:系统硬件负责处理数据量大、算法相对单一的MVB解码功能和数据缓存,而相对复杂、不易于硬件实现的文件系统协议和SD卡传输协议则由N1S-1I处理器以软件的方式完成。硬件部分通过硬件描述语言Verilog编写,FPGA片上的可编程逻辑资源综合实现;软件部分由C语言编写,在FPGA芯片上的N1S-1I软核内运行。
[0028]数据解析功能由MVB解码模块完成,MVB电平转换接口实现物理电平的转换。数据解析过程全部由硬件实现,因此能够满足高速、实时地解析数据帧。
[0029]记录功能则由N1S-1I处理器、缓存SRAM读写控制器、SPI接口配合完成。N1S-1I运行相对复杂、不易于硬件实现的FAT32 (File Allocat1n Table)文件系统协议和SD卡传输协议,缓存读写控制器负责简单、重复但是大量、高速的数据搬运工作,而不需要处理器内核额外的干预,N1S-1I产生数据流和解码得到的数据流在时序的配合下经SPI接口,写入SD卡。SD卡内的数据为去除帧头帧尾、曼彻斯特解码并经CRC校验确认数据正确的帧信息,使数据量较原始的总线数据大为较少。
[0030]与现有技术相比,本发明具有以下优点:
[0031]I)软硬结合、可靠性高,系统充分利用了嵌入式处理器内核与可编程逻辑器件的软硬件协同工作优势,系统硬件负责处理数据量大、算法相对单一的MVB解码功能和数据缓存,而相对复杂、不易于硬件实现的文件系统协议和SD卡传输协议则由N1S-1I处理器以软件的方式完成。
[0032]2)操作方便、实时性好,系统以随车安装、在线监视MVB总线的方式,实现实时地、长时间地、不间断地收集列车上的MVB设备的状态监测和故障诊断信息,为分析列车及设备运行的可靠性与安全性提供依据。

【专利附图】

【附图说明】
[0033]图1为基于SOPC技术的MVB数据解码与随车记录系统的系统框图;
[0034]图2为MVB解码模块内部系统框图;
[0035]图3为起始分界符的识别及对应的状态转移示意图。

【具体实施方式】
[0036]下面结合附图和具体实施例对本发明进行详细说明。
[0037]实施例
[0038]图1是基于SOPC技术的MVB数据解码与随车记录系统的系统框图。包括:
[0039]N1S-1I软核,运行SD卡传输协议及FAT32文件系统协议程序,为支持FAT32文件系统下的SD卡读写而设计;
[0040]EPCS串行FLASH芯片作为程序存储器,以及引导程序下载和加载的EPCS控制器;
[0041]SDRAM芯片作为处理器的内存,以及控制内存读写的SDRAM控制器;
[0042]锁相环倍频器(PLL),为N1S-1I软核提供高速的系统工作时钟;同时为MVB解码、数据存储模块提供数倍于MVB波特率的工作时钟,解码的工作时钟理论上应大于两倍的MVB波特率,并且倍数越高分辨率和容错性越强,但受限于锁相环倍频输出的最高频率、FPGA器件性能以及尽量降低功耗的原则,应综合考虑稳定性、容错性和可行性选择合适的时钟频率(本设计实际测试中采用24MHz的工作时钟,经验证工作稳定可靠);
[0043]MVB解码器完成MVB数据解码的全部工作,解码得到的串行数据经过串行转并行处理后,通过SRAM读写控制器写入SRAM芯片缓存;
[0044]SRAM 芯片 IS61WV5128BLL,512KX8bit 高速异步 CMOS 静态 RAM,解决了高速写 SD卡所需的FPGA片内缓存不足的问题;
[0045]SRAM读写控制器采用乒乓操作的数据流控制方法,即将SRAM空间划分为“缓冲区A”和“缓冲区B”,数据的输入与输出总是连续、交替循环在两个缓冲区内进行。数据的输入来自MVB解码后的数据,数据输出到并行转串行及格式转换模块,最后经过SPI接口切换模块写入SD卡。
[0046]SPI接口切换模块,用于控制来自SRAM内缓存的解码数据流和来自N1S-1I数据流的SD卡读写切换。来自SRAM的解码缓存的大量数据,和来自N1S的SD卡初始化、读写控制指令等底层驱动、FAT32文件系统读取SD卡系统引导扇区、更新文件分配表等操作所产生的数据流,在时序的配合下通过SPI接口,完成数据的存储。
[0047]图2是MVB解码模块的内部组成框图,按照FPGA系统自顶向下的设计理念,将其分解为分界符识别(包括主帧帧头识别、从帧帧头识别、帧尾识别)、曼彻斯特解码、CRC校验、定时器、总线异常管理、解码流程控制单元。
[0048]解码流程控制单元,使能、复位解码各子模块的。解码的控制流程:通过分界符识别模块来实现帧定位,曼彻斯特解码模块解码主帧,CRC校验器校验数据,获取功能码后确定回复的从帧格式,再对从帧进行解码。
[0049]定时器,用于判断从帧超时未响应的计时;
[0050]总线异常管理单元,用于收集各单元反馈的异常信号,反馈给解码控制单元。总线的异常包括曼彻斯特解码异常、CRC检验结果错误、帧长度错误、从帧超时未响应等。
[0051]图3是FSM(Finite State Machine,有限状态机)方法实现从巾贞起始分界符检测的状态转移图。因为MVB波特率为3Mbaud,所以每个码元在总线上停留时间为l/3us,理论上使用两倍于MVB波特率的采样率(即6MHz采样率)就可以对信号进行还原,但为了提高分辨率和容错性,往往会尽可能采用高一点的采样率;但受限于锁相环倍频输出的最高频率、FPGA器件性能以及尽量降低功耗的原则,所以应该综合考虑稳定性、容错性和可行性选择合适的时钟频率。
[0052]下面以24MHz的采样率为例,来说明应用FSM方法实现帧同步的具体步骤。24MHz的采样率,即理想情况下一个码元对应8个采样点。若对图3中从帧起始分界符的第一个码元进行采样,图中标明了第I至10个采样点位置,理想情况下应检测到8个高电平,但由于信道噪声等因素影响会稍微偏离8个采样点的高电平,因此我们设定6?10个采样点为高电平即判定该码元为高电平无误,即该码元电平持续时间(即图中所指的码元的长度)是6?10个采样点的时间。若计数未达到6个高电平就检测到低电平,或者计数满10个高电平仍在第11个采样点检测到高电平,则认为该码元错误一若该码元为分界符的一个码元,则返回初始的状态重新进行检测(实际中分界符的第一个码元除外,下一段进行说明);若该码元为曼彻斯特编码的一个码元,则认为曼彻斯特编码错误,产生一个异常信号反馈给解码流程控制单元并记录。显然这是相邻两个码元为不同电平的时候的处理方法,若相邻两个码元为相同电平,则检测同一种电平的持续时间不再是6?10个采样点,而是12?20个采样点(2倍于6?10个采样点),相邻三个码元为相同电平的情况可以依次类推,图中用m?η个采样点统一表示。
[0053]那么如何将上述方法通过有限状态机实现呢?我们将初始的状态设为SO—当它检测到一个高电平时(即图中的状态跳转条件‘I’),它便进入状态sl_l,此时是第一个码元的第一个采样点;如果它一直检测到低电平,则一直停留在初始状态sO。在计数未达到6个高电平之前,它是sl_l—即未达到电平持续时间下限的状态,当达到6个采样点的高电平的时候(即图中的状态跳转条件m个‘I’),它便进入状态sl_2——达到下限但未超过上限的状态,但实际上,分界符的第一个码元比较特殊,它的前面可能是一段持续时间未知的总线上的默认电平,因此它没有上限,只要是检测到高电平,它就一直保持在状态sl_2 ;正常情况下,例如检测第二个码元的第二个状态s2_2,当连续检测到的低电平大于η个时,它应该回到初始状态sO。接下来的每个码元的检测,包括单个码元、电平相同的相邻码元的检测(当然设定的m、n值不同),均可以按照这种方法类推下去,当它通过这些跳转条件最终达到最右端的状态时,说明它已经完成了对分界符的最后一个码元的检测——至此,从帧分解符识别模块成功识别出从帧帧头,将从帧已同步的信号反馈给解码控制单元,解码控制单元使能曼彻斯特解码模块进行后续的解码工作。其他分界符的检测同理,曼彻斯特解码的方法也是仿照此思路进行设计。
[0054]为了方便导出、查看、分析SD卡中记录的原始数据文件,需要配套相应的上位机来对数据进行后期的处理。开发中采用在Microsoft Visual Stud1 2010编译环境下,使用C#语言编写PC端软件。
[0055]软件的功能包括根据用户自定义MVB设备诊断字表或帧的位定义,对记录的帧数据进行解析,获取MVB设备名称、逻辑地址(端口号)、设备地址、故障类型、状态变化等信息,使用户能够更加直观地分析列车运行时MVB设备状态的变化和可能出现的故障。
[0056]使用本系统随车在线监视MVB总线的具体操作步骤如下:
[0057]步骤1:需为MVB数据实时解码记录系统提供5V电源供电,将系统的MVB接口连接至列车的MVB总线,系统上电后,首先对SD卡进行初始化,并读取SD卡文件系统信息,确认SD卡被格式化为FAT32文件系统;此时系统开始对总线上的数据进行实时地、不间断地解码,并记录到SD卡上。
[0058]步骤2:当需要查看数据时,需将插在系统SD卡槽中SD卡取下,如果选择大容量的SD卡,例如32G的SD卡,假定系统24小时不间断地对MVB总线监听,解码后数据量按lOOKbyte/s计,则可以存储3.79天的数据。若超过时限未更换SD卡,新的数据将覆盖旧的数据。
[0059]步骤3:将取下的SD卡连接至PC机,通过配套的相应的软件,软件的功能一是可以导出SD卡中记录的数据文件,查看去除帧头帧尾、经CRC校验、曼彻斯特解码后的数据;二是用户可以通过自定义MVB设备诊断字表或帧的位定义,对这些记录的数据进行进一步地解析,获取MVB设备名称、逻辑地址(端口号)、设备地址、故障类型、状态变化等信息,使用户能够更加直观地分析列车运行时MVB设备状态的变化和可能出现的故障。
[0060]整个系统可以随车安装、保持长时间、不间断地监听MVB总线,对总线数据进行实时地解码、存储。配套PC端的数据分析软件,方便了进一步提取、分析状态信息和故障信息,以及信息的归类和保存。对列车上的MVB设备的状态监测和故障诊断信息收集和分析,可以为分析和保障列车及设备运行的可靠性与安全性的提供依据。
【权利要求】
1.一种基于SOPC技术的MVB总线解码与随车记录系统,其特征在于,包括FPGA芯片、EPCS串行FLASH芯片、SDRAM芯片、SRAM芯片、SD卡和MVB电平转换电路,所述的FPGA芯片包括N1S-1I软核处理器、锁相环倍频器、MVB解码器、SRAM读写控制器、SPI接口切换模块和SPI接口,所述的N1S-1I软核处理器分别与EPCS串行FLASH芯片、SDRAM芯片、锁相环倍频器、MVB解码器、SRAM读写控制器和SPI接口连接,所述的MVB解码器分别与锁相环倍频器、MVB电平转换电路和SRAM读写控制器连接,所述的MVB电平转换电路与MVB总线连接,所述的SPI接口切换模块分别与SPI接口、SRAM读写控制器和SD卡连接,所述的SRAM读写控制器与SRAM芯片连接。
2.根据权利要求1所述的一种基于SOPC技术的MVB总线解码与随车记录系统,其特征在于,所述的MVB解码器包括分界符识别模块、曼彻斯特解码模块、CRC校验器、定时器、总线异常管理单元和解码流程控制单元,所述的分界符识别模块包括主帧帧头识别单元、从帧帧头识别单元和帧尾识别单元,所述的解码流程控制单元分别与主帧帧头识别单元、从帧帧头识别单元、帧尾识别单元、曼彻斯特解码模块、CRC校验器、定时器和总线异常管理单元连接,所述的总线异常管理单元分别与曼彻斯特解码模块、CRC校验器连接; 通过分界符识别模块来实现帧定位,所述的曼彻斯特解码模块解码主帧,所述的CRC校验器校验数据,获取功能码后确定回复的从帧格式,再对从帧进行解码; 所述的定时器用于判断从帧超时未响应的计时;总线异常管理单元用于收集各单元反馈的异常信号并反馈给解码流程控制单元。
3.根据权利要求2所述的一种基于SOPC技术的MVB总线解码与随车记录系统,其特征在于,所述的异常信号包括曼彻斯特解码异常、CRC检验结果错误、帧长度错误和从帧超时未响应。
4.根据权利要求1所述的一种基于SOPC技术的MVB总线解码与随车记录系统,其特征在于,所述的SPI接口切换模块将SRAM读写控制器缓存的解码数据和N1S-1I软核处理器的SD卡传输协议及FAT32文件系统协议程序所产生的数据流在时序的配合下通过SPI接口,完成数据的实时、高速地存储。
5.根据权利要求1所述的一种基于SOPC技术的MVB总线解码与随车记录系统,其特征在于,还包括PC端的MVB数据分析软件,用于导出、查看、分析SD卡中记录的原始数据文件,并可对数据进行后期的处理,具体包括: 根据用户自定义MVB设备诊断字表或帧的位定义,对记录的帧数据进行解析,获取MVB设备名称、逻辑地址、设备地址、故障类型、状态变化信息,使用户能够更加直观地分析列车运行时MVB设备状态的变化和可能出现的故障。
【文档编号】G07C5/08GK104282054SQ201410382432
【公开日】2015年1月14日 申请日期:2014年8月6日 优先权日:2014年8月6日
【发明者】杨月仲, 张峰, 张士文 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1