首页 / 专利库 / 图形技术 / / 一种多总线数据记录与回放装置及方法

一种多总线数据记录与回放装置及方法

阅读:730发布:2024-01-16

专利汇可以提供一种多总线数据记录与回放装置及方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种多总线数据记录与回放装置及方法,该装置分为数据记录系统和数据回放系统两部分,数据记录系统包括总线数据输入输出模 块 、 数据处理 模块、数据存储模块、电源模块及指示 电路 ,数据回放系统包括数据记录装置和上位机。其中数据处理模块对总线数据输入输出模块采集的数据进行处理,使其符合存储协议的格式,并将数据传向下一级;数据存储模块包括存储 控制器 和 存储器 ,完成记录阶段的数据存储和回放阶段的数据检索等功能。本发明支持RS485总线,CAN总线,以太网总线和FlexRay总线四种总线系统的单独数据记录或多总线同时记录,并可实现已记录数据的回放,具有成本低,开发周期短,高可靠性和高效率等优点。,下面是一种多总线数据记录与回放装置及方法专利的具体信息内容。

1.一种多总线数据记录与回放装置,其特征在于,包括数据记录系统和数据回放系统,其中数据记录系统包括总线数据输入输出模数据处理模块、数据存储模块、电源模块及指示电路,数据回放系统包括数据记录装置和上位机;其中数据处理模块对总线数据输入输出模块采集的数据进行处理,使处理后的数据符合存储协议的格式,并将数据传向下一级;数据存储模块包括存储控制器存储器,完成记录阶段的数据存储和回放阶段的数据检索功能;
数据记录阶段,数据存储模块按照蛇形存储的方式进行数据的接收与存储,整个过程由数据处理模块控制,数据处理模块将需要存储的数据发送给当前激活的数据存储模块,数据存储模块接收并将数据暂存在存储器中,当数据处理模块发送给数据存储模块的数据达到2k字节后,激活下一个存储控制器,上一个被激活的存储控制器开始将数据从存储器中读出,并存入Flash相应的页中,当前激活的存储控制器开始接收暂存数据;
数据回放阶段,数据处理模块接收上位机的信息,并通知数据存储模块进行符合特征的数据的检索,数据存储模块将各自检索到的信息起始点回传给数据处理模块,数据处理模块进行数据起始点的判断,并通知各存储控制器正确的数据起始点,数据存储模块开始按照规定的顺序进行数据的传输,最终数据处理模块按照总线的原始时序将符合总线数据特征的原始数据进行回放。
2.根据权利要求1所述的多总线数据记录与回放装置,其特征在于,所述数据处理模块的主控制器选用32位ARM处理器STM32F407ZET6。
3.根据权利要求1所述的多总线数据记录与回放装置,其特征在于,所述总线数据输入输出模块包括:10M/100M以太网输入输出模块、CAN总线输入输出模块、RS485总线输入输出模块和FlexRay总线输入输出模块;其中10M/100M以太网输入输出模块使用物理层芯片LAN8720A与主控制器STM32F407ZET6通过RMII接口相连,以太网接口选用自带网络变压器的RJ45接口;CAN总线输入输出模块使用CAN总线收发器芯片SN65HVD230DR与主控制器STM32F407ZET6的CAN1口相连;RS485总线模块使用电平转换芯片SP3485EN与主控制器STM32F407ZET6的USART3接口相连;除网口外其他总线端口使用20针接线端子接出,每路总线引脚同时使用两个端子接出。
4.根据权利要求1所述的多总线数据记录与回放装置,其特征在于,所述数据存储模块采用4个独立的数据存储单元进行存储,其中每个数据存储单元具有各自的存储控制器芯片STM32F407VET6,主存储介质为Nand Flash芯片K9WAG08U1A,容量为2G字节,数据缓冲存储器选用电存储器FM25V02,容量为256Kb;各数据存储模块与主控制器芯片之间通过并口连接,其中数据线公用,控制线、状态线独立;每个数据存储模块预留一路串口作为备用端口,存储的数据能够直接从串口读出。
5.根据权利要求3所述的多总线数据记录与回放装置,其特征在于,所述FlexRay总线输入输出模块采用自带两路FlexRay总线控制器的16位微处理器MC9S12XF512通过FlexRay总线收发芯片TJA1080扩展,其中芯片MC9S12XF512与主控制器芯片STM32F407ZET6的USART6相连,进行数据交换。
6.一种多总线数据记录与回放方法,其特征在于,步骤如下:
步骤1,根据系统任务,划分多个处理器:数据接收为单独处理器,负责数据的接收与封装,并将封装好的数据传送给数据存储模块,数据存储模块的多个存储控制器分别控制不同的存储区域;
步骤2,多处理器之间的数据传输方式的确定:根据处理器划分结果,使用双向异步FIFO进行数据的缓冲与传输;
步骤3,数据接收时各总线接收方式的确定:多总线数据的接收采用DMA传输方式与中断接收方式配合;
步骤4,数据存储时存储方法的确定:根据数据存储模块多处理器的划分,选择蛇形存储的方式,即两个存储控制器交替进行数据的接收和存储;
步骤5,数据记录阶段,数据存储模块按照蛇形存储的方式进行数据的接收与存储,整个过程由数据处理模块控制,数据处理模块将需要存储的数据发送给当前激活的数据存储模块,数据存储模块接收并将数据暂存在存储器中,当数据处理模块发送给数据存储模块的数据达到2k字节后,激活下一个存储控制器,上一个被激活的存储控制器开始将数据从存储器中读出,并存入Flash相应的页中,当前激活的存储控制器开始接收暂存数据;
步骤6,数据回放阶段,数据处理模块接收上位机的信息,并通知数据存储模块进行符合特征的数据的检索,数据存储模块将各自检索到的信息起始点回传给数据处理模块,数据处理模块进行数据起始点的判断,并通知各存储控制器正确的数据起始点,数据存储模块开始按照规定的顺序进行数据的传输,最终数据处理模块按照总线的原始时序将符合总线数据特征的原始数据进行回放。
7.根据权利要求6所述的多总线数据记录与回放方法,其特征在于,步骤4所述数据存储时存储方法的确定,具体如下:
数据存储控制器分为两个存储控制器,分别控制两个存储空间,数据的存储采用蛇形存储的方式;其中第一存储控制器接收数据接收控制器传送的数据,将数据暂存在存储器中,数据接收处理器传送一页字节数据后,开始向第二存储控制器传送数据,第二存储控制器开始接收数据并暂存,同时第一存储控制器将已收到的数据写入Flash中。
8.根据权利要求6所述的多总线数据记录与回放方法,其特征在于,步骤5所述数据存储模块接收并将数据暂存在存储器中,采用最大虚拟的方法,具体如下:设置一个变量FrameLenMax记录从上电开始的最大帧长,在向存储控制器发送数据时,已发送的数据字节数与FrameLenMax之和大于等于Flash一页字节时,认为下帧会出现截断现象,停止向该存储控制器传送数据,发送停止传送协议,转向下一个存储控制器;当存储控制器收到的数据不足2K,但已收到停止传送协议时,用0x00补足2K字节数据,写入当前页。

说明书全文

一种多总线数据记录与回放装置及方法

技术领域

[0001] 本发明涉及数据记录与回放技术领域,特别是一种多总线数据记录与回放装置及方法。

背景技术

[0002] 随着电子技术的迅速发展,嵌入式系统的复杂程度越来越高,数据通信量不断增大,总线类型也不再单一,同时,总线上的数据信息对系统的正常运行至关重要,通过对总线数据的分析可以很方便的掌握系统的运行状况。做好对总线数据的记录分析,将在系统调试、故障诊断、故障定位、缩短维修时间等方面具有很大的意义,尤其在故障定位、缩短维修时间等方面,具有很重要的实际意义。另一方面,系统在研发阶段会出现各种故障,但某些故障的出现频率很低,如果等这些故障重现,需要很长的时间,会大大增加故障排除的时间,但是如果记录的数据可以进行回放,就可以将记录阶段出现的故障人为的复现,增大排除故障的几率,缩短开发周期。因此,解决各类总线的数据记录与回放成为关键技术。
[0003] 目前,国内的大部分数据记录系统是针对单个总线而设计的,但同一个系统上具有多种不同总线系统的情况变得越来越常见,由于不同数据总线采用的协议、接口、传输介质不尽相同,单一的总线系统已经不能满足对同一个系统的总线数据进行同时记录的要求。且现阶段的总线记录仪普遍使用FPGA和DSP等高成本的解决方法,这些高成本的解决方案不适用于开发成本较低的系统。如果在原有的解决方案中仅将核心处理器更换为成本较低,开发难度小的处理器,则不能适应现有总线系统数据记录的要求,尤其是在一个数据记录系统中含有多条总线同时记录的情形中,这种解决方案是不可取的。随着总线数据量的增加,总线数据传输速度的增加,单个处理器的每个环节都可能成为数据记录系统的瓶颈

发明内容

[0004] 本发明的目的在于提供一种成本低、开发周期短、可靠性强和效率高的多总线数据记录与回放装置及方法,以很好的记录RS485总线、CAN总线、以太网总线和FlexRay 总线四种总线系统上的数据,并进行回放。
[0005] 实现本发明目的的技术解决方案为:一种多总线数据记录与回放装置,包括数据记录系统和数据回放系统,其中数据记录系统包括总线数据输入输出模数据处理模块、数据存储模块、电源模块及指示电路,数据回放系统包括数据记录装置和上位机;其中数据处理模块对总线数据输入输出模块采集的数据进行处理,使处理后的数据符合存储协议的格式,并将数据传向下一级;数据存储模块包括存储控制器存储器,完成记录阶段的数据存储和回放阶段的数据检索功能;
[0006] 数据记录阶段,数据存储器按照蛇形存储的方式进行数据的接收与存储,整个过程由数据处理模块控制,数据处理模块将需要存储的数据发送给当前激活的数据存储模块,数据存储模块接收并将数据暂存在存储器中,当数据处理模块发送给数据存储模块的数据达到2k字节后,激活下一个存储控制器,上一个被激活的存储控制器开始将数据从存储器中读出,并存入Flash相应的页中,当前激活的存储控制器开始接收暂存数据;
[0007] 数据回放阶段,数据处理控制模块接收上位机的信息,并通知数据存储模块进行符合特征的数据的检索,数据存储模块将各自检索到的信息起始点回传给数据处理模块,数据处理模块进行数据起始点的判断,并通知各存储控制器正确的数据起始点,数据存储模块开始按照规定的顺序进行数据的传输,最终数据处理模块按照总线的原始时序将符合总线数据特征的原始数据进行回放。
[0008] 进一步地,所述数据处理模块的主控制器选用32位ARM处理器STM32F407ZET6。
[0009] 进一步地,所述总线数据输入输出模块包括:10M/100M以太网输入输出模块、CAN 总线输入输出模块、RS485总线输入输出模块和FlexRay总线输入输出模块;其中 10M/100M以太网输入输出模块使用物理层芯片LAN8720A与主控制器 STM32F407ZET6通过RMII接口相连,以太网接口选用自带网络变压器的RJ45接口; CAN总线输入输出模块使用CAN总线收发器芯片SN65HVD230DR与主控制器 STM32F407ZET6的CAN1口相连;RS485总线模块使用电平转换芯片SP3485EN与主控制器STM32F407ZET6的USART3接口相连;除网口外其他总线端口使用20针接线端子接出,每路总线引脚同时使用两个端子接出。
[0010] 进一步地,所述数据存储模块采用4个独立的数据存储单元进行存储,其中每个存储单元具有各自的存储控制器芯片STM32F407VET6,主存储介质为Nand Flash芯片 K9WAG08U1A,容量为2G字节,数据缓冲存储器选用电存储器FM25V02,容量为 256Kb;各存储模块与主控制器芯片之间通过并口连接,其中数据线公用,控制线、状态线独立;每个数据存储模块预留一路串口作为备用端口,存储的数据能够直接从串口读出。
[0011] 进一步地,所述FlexRay总线输入输出模块采用自带两路FlexRay总线控制器的16 位微处理器MC9S12XF512通过FlexRay总线收发芯片TJA1080扩展,其中芯片 MC9S12XF512与主控制器芯片STM32F407ZET6的USART6相连,进行数据交换。
[0012] 一种多总线数据记录与回放方法,步骤如下:
[0013] 步骤1,根据系统任务,划分多个处理器:数据接收为单独处理器,负责数据的接收与封装,并将封装好的数据传送给数据存储模块,数据存储模块的多个存储控制器分别控制不同的存储区域;
[0014] 步骤2,多处理器之间的数据传输方式的确定:根据处理器划分结果,使用双向异步FIFO进行数据的缓冲与传输;
[0015] 步骤3,数据接收时各总线接收方式的确定:多总线数据的接收采用DMA传输方式与中断接收方式配合;
[0016] 步骤4,数据存储时存储方法的确定:根据数据存储模块多处理器的划分,选择蛇形存储的方式,即两个存储控制器交替进行数据的接收和存储;
[0017] 步骤5,数据记录阶段,数据存储器按照蛇形存储的方式进行数据的接收与存储,整个过程由数据处理模块控制,数据处理模块将需要存储的数据发送给当前激活的数据存储模块,数据存储模块接收并将数据暂存在存储器中,当数据处理模块发送给数据存储模块的数据达到2k字节后,激活下一个存储控制器,上一个被激活的存储控制器开始将数据从存储器中读出,并存入Flash相应的页中,当前激活的存储控制器开始接收暂存数据;
[0018] 步骤6,数据回放阶段,数据处理控制模块接收上位机的信息,并通知数据存储模块进行符合特征的数据的检索,数据存储模块将各自检索到的信息起始点回传给数据处理模块,数据处理模块进行数据起始点的判断,并通知各存储控制器正确的数据起始点,数据存储模块开始按照规定的顺序进行数据的传输,最终数据处理模块按照总线的原始时序将符合总线数据特征的原始数据进行回放。
[0019] 进一步地,步骤4所述数据存储时存储方法的确定,具体如下:
[0020] 数据存储控制器分为两个存储控制器,分别控制两个存储空间,数据的存储采用蛇形存储的方式;其中第一存储控制器接收数据接收控制器传送的数据,将数据暂存在存储器中,数据接收处理器传送一页字节数据后,开始向第二存储控制器传送数据,第二存储控制器开始接收数据并暂存,同时第一存储控制器将已收到的数据写入Flash中。
[0021] 进一步地,步骤5所述数据存储模块接收并将数据暂存在存储器中,采用最大虚拟的方法,具体如下:设置一个变量FrameLenMax记录从上电开始的最大帧长,在向存储控制器发送数据时,已发送的数据字节数与FrameLenMax之和大于等于Flash一页字节时,认为下帧会出现截断现象,停止向该存储控制器传送数据,发送停止传送协议,转向下一个存储控制器;当存储控制器收到的数据不足2K,但已收到停止传送协议时,用0x00补足2K字节数据,写入当前页。
[0022] 本发明与现有技术相比,其显著优点为:(1)主控制器采用Cortex-M4核的ARM 处理器,主频为168MHz,每个时钟周期为5.95ns,因此可以提供更高的总线数据采集速度,适应更高速度的总线;(2)多条总线记录系统集中在一个系统上,避免在多总线同时记录的场合使用多个不同的总线数据记录装置,具有体积小,安装方便等优点;(3) 具有FlexRay总线的数据记录功能,具有较强的前瞻性,为FlexRay网络的普及做了准备,也为现有的FlexRay网络系统提供了总线数据记录和回放的解决方案;(4)具有总线数据的回放功能,可以快速定位系统的故障点,有利于缩短系统的研发周期;(5)采用较为常见的ARM处理器,具有成本低,研发难度小,研发周期短等特点,不但适用于高成本的大系统开发,也适用于成本较低的系统中,并不会给原有的系统造成很大的额外开销,可大范围推广;(6)多总线数据记录与回放装置数据接收与数据存储控制器采用不同的控制器,两个操作过程可以真正的并行处理,提高了整个系统的速度和可靠性。
[0023] 下面结合附图对本发明作进一步详细描述。

附图说明

[0024] 图1为本发明多总线数据记录与回放装置的系统总体架构图。
[0025] 图2为本发明总线接收与数据处理电路的逻辑图。
[0026] 图3为本发明的总线输入输出端子的接线图。
[0027] 图4为本发明的FlexRay总线数据接收A通道电路图。
[0028] 图5为本发明的单路存储单元逻辑图。
[0029] 图6为本发明的存储器与存储控制器的连接电路图。
[0030] 图7为FlexRay总线控制器程序流程图
[0031] 图8为主数据处理器程序流程图。
[0032] 图9为数据整合及数据发送至存储控制器程序流程图。
[0033] 图10为数据存储控制器程序流程图。

具体实施方式

[0034] 本发明多总线数据记录与回放装置,包括数据记录系统和数据回放系统,其中数据记录系统包括总线数据输入输出模块、数据处理模块、数据存储模块、电源模块及指示电路,数据回放系统包括数据记录装置和上位机;其中数据处理模块对总线数据输入输出模块采集的数据进行处理,使处理后的数据符合存储协议的格式,并将数据传向下一级;数据存储模块包括存储控制器和存储器,完成记录阶段的数据存储和回放阶段的数据检索功能;
[0035] 数据记录阶段,数据存储器按照蛇形存储的方式进行数据的接收与存储,整个过程由数据处理模块控制,数据处理模块将需要存储的数据发送给当前激活的数据存储模块,数据存储模块接收并将数据暂存在存储器中,当数据处理模块发送给数据存储模块的数据达到2k字节后,激活下一个存储控制器,上一个被激活的存储控制器开始将数据从存储器中读出,并存入Flash相应的页中,当前激活的存储控制器开始接收暂存数据;
[0036] 数据回放阶段,数据处理控制模块接收上位机的信息,并通知数据存储模块进行符合特征的数据的检索,数据存储模块将各自检索到的信息起始点回传给数据处理模块,数据处理模块进行数据起始点的判断,并通知各存储控制器正确的数据起始点,数据存储模块开始按照规定的顺序进行数据的传输,最终数据处理模块按照总线的原始时序将符合总线数据特征的原始数据进行回放。
[0037] 进一步地,所述数据处理模块的主控制器选用32位ARM处理器STM32F407ZET6。
[0038] 进一步地,所述总线数据输入输出模块包括:10M/100M以太网输入输出模块、CAN 总线输入输出模块、RS485总线输入输出模块和FlexRay总线输入输出模块;其中 10M/100M以太网输入输出模块使用物理层芯片LAN8720A与主控制器 STM32F407ZET6通过RMII接口相连,以太网接口选用自带网络变压器的RJ45接口; CAN总线输入输出模块使用CAN总线收发器芯片SN65HVD230DR与主控制器 STM32F407ZET6的CAN1口相连;RS485总线模块使用电平转换芯片SP3485EN与主控制器STM32F407ZET6的USART3接口相连;除网口外其他总线端口使用20针接线端子接出,每路总线引脚同时使用两个端子接出。
[0039] 进一步地,所述数据存储模块采用4个独立的数据存储单元进行存储,其中每个存储单元具有各自的存储控制器芯片STM32F407VET6,主存储介质为Nand Flash芯片 K9WAG08U1A,容量为2G字节,数据缓冲存储器选用铁电存储器FM25V02,容量为 256Kb;各存储模块与主控制器芯片之间通过并口连接,其中数据线公用,控制线、状态线独立;每个数据存储模块预留一路串口作为备用端口,存储的数据能够直接从串口读出。
[0040] 进一步地,所述FlexRay总线输入输出模块采用自带两路FlexRay总线控制器的16 位微处理器MC9S12XF512通过FlexRay总线收发芯片TJA1080扩展,其中芯片 MC9S12XF512与主控制器芯片STM32F407ZET6的USART6相连,进行数据交换。
[0041] 一种多总线数据记录与回放方法,步骤如下:
[0042] 步骤1,根据系统任务,划分多个处理器:数据接收为单独处理器,负责数据的接收与封装,并将封装好的数据传送给数据存储模块,数据存储模块的多个存储控制器分别控制不同的存储区域;
[0043] 数据记录仪的主要任务包括总线数据的接收,总线数据的存储,但单处理器时,两个任务只能串行执行,大大制约了整个数据记录仪的速度。将数据记录仪的多个任务分给不同的处理器,可增加数据记录仪的速度,尤其在多总线数据接收与存储系统中可明显减小总线数据帧的漏帧。本方法中,数据接收为单独处理器,负责数据的接收与封装,并将封装好的数据传送给数据存储处理器,数据存储分为两个数据存储控制器,分别控制两个不同的存储区域;
[0044] 数据的接收为单独的处理器,负责总线数据的接收和数据回放阶段的数据传输,总线数据接收处理器将数据从总线端口读入,然后将原始数据帧按照要求的存储帧结构进行封装,最后传输给数据存储控制器。考虑到成本和各处理器间速度的匹配,以及编程的统一性,处理器选择同一厂家同一系列处理器。
[0045] 步骤2,多处理器之间的数据传输方式的确定:根据处理器划分结果,使用双向异步FIFO进行数据的缓冲与传输;
[0046] 本方法在数据接收处理器和数据存储处理器之间使用双向异步FIFO芯片 IDT72V85作为两个处理器之间的数据缓冲。IDT72V85支持两端的处理器同时操作该芯片,并具有空,半满,满三种状态信号,当进行数据之间的传输时,数据发送处理器只需将数据写入FIFO中,接收处理器可以等到空闲时读出数据即可,发送和接收可以不同时进行,增加了处理器的程序运行独立性。且IDT72V85是高速FIFO,相当于SRAM,写入和读出的速度不会影响其他程序的运行。
[0047] 步骤3,数据接收时各总线接收方式的确定:多总线数据的接收采用DMA传输方式与中断接收方式配合;
[0048] 针对总线数据到达时间的不确定性,本方法选择使用DMA和中断接收相互配合的方式。充分利用处理器的DMA功能,将没有DMA功能的总线接口设为中断接收,并将中断接收的总线接口设为最高优先级响应;
[0049] 步骤4,数据存储时存储方法的确定:根据数据存储模块多处理器的划分,选择蛇形存储的方式,即两个存储控制器交替进行数据的接收和存储;
[0050] 数据存储控制器分为两个存储控制器,分别控制两个存储空间,数据的存储采用蛇形存储的方式;其中第一存储控制器接收数据接收控制器传送的数据,将数据暂存在存储器中,数据接收处理器传送一页字节数据后,开始向第二存储控制器传送数据,第二存储控制器开始接收数据并暂存,同时第一存储控制器将已收到的数据写入Flash中。存储模块中两个存储控制器的数据接收和数据写入Flash同时进行,解决了当前数据记录仪Flash写入慢的瓶颈问题。
[0051] 步骤5,数据记录阶段,数据存储器按照蛇形存储的方式进行数据的接收与存储,整个过程由数据处理模块控制,数据处理模块将需要存储的数据发送给当前激活的数据存储模块,数据存储模块接收并将数据暂存在存储器中,当数据处理模块发送给数据存储模块的数据达到2k字节后,激活下一个存储控制器,上一个被激活的存储控制器开始将数据从存储器中读出,并存入Flash相应的页中,当前激活的存储控制器开始接收暂存数据;
[0052] 所述数据存储模块接收并将数据暂存在存储器中,为了避免出现数据帧的截断,即同一帧数据存储在一个存储芯片一页的尾部和下一个存储芯片一页的首部,采用最大虚拟帧的方法,具体如下:设置一个变量FrameLenMax记录从上电开始的最大帧长,在向存储控制器发送数据时,已发送的数据字节数与FrameLenMax之和大于等于Flash一页字节时,认为下帧会出现截断现象,停止向该存储控制器传送数据,发送停止传送协议,转向下一个存储控制器;当存储控制器收到的数据不足2K,但已收到停止传送协议时,用0x00补足2K字节数据,写入当前页。
[0053] 步骤6,数据回放阶段,数据处理控制模块接收上位机的信息,并通知数据存储模块进行符合特征的数据的检索,数据存储模块将各自检索到的信息起始点回传给数据处理模块,数据处理模块进行数据起始点的判断,并通知各存储控制器正确的数据起始点,数据存储模块开始按照规定的顺序进行数据的传输,最终数据处理模块按照总线的原始时序将符合总线数据特征的原始数据进行回放。
[0054] 本发明多总线数据记录仪的总体设计,具体如下:
[0055] 使用本方法发明的多总线数据记录仪,总线接口包括RS485总线,CAN总线, FlexRay总线和Etherent总线,四种总线除FlexRay总线外,均直接连接在总线接收处理器STM32F407ZET6,FlexRay总线使用自带两路FlexRay总线控制器的16位高性能 ARM处理器MC9S12XF512与总线接收控制器之间通过SPI总线连接,构成整个系统的接收模块,完成总线数据的接收与回放阶段数据的发送;存储处理器为 STM32F407VET6,通过两片双向FIFO与数据接收处理器相连,同时管理两个各有两片 Nand Flash芯片K9WAG08U1A构成的存储空间,完成总线接收数据的存储和回放阶段数据的检索与传输;系统与上位机的通信通过以太网与数据接收处理器进行通信;整个系统通过数据接收处理器上电时读取GPS信号进行授时,并给每个原始数据帧添加准确的时标信息;系统的软件采用模块化设计思想,对不同的处理器,不同的功能进行分别编程。
[0056] 实施例1
[0057] 结合图1,本发明多总线数据记录与回放装置,数据记录系统和数据回放系统,其中数据记录系统包括总线数据输入输出模块、数据处理模块、数据存储模块、电源模块及指示电路,数据回放系统包括数据记录装置和上位机。其中数据处理模块对总线数据输入输出模块采集的数据进行处理,使其符合存储协议的格式,并在原始数据中添加时标等信息,为数据的检索和回放做准备,最终将数据传向下一级。数据存储模块包括存储控制器和存储器两部分,完成记录阶段的数据存储和回放阶段的数据检索等功能。装置没有添加额外的电池给RTC电路供电,而是通过上电时读取GPS信号给整个系统授时,并记录当前的地理位置坐标等信息。
[0058] 数据记录阶段,数据存储器按照蛇形存储的方式进行数据的接收与存储,整个过程由数据处理模块控制,数据处理模块将需要存储的数据发送给当前激活的存储模块,存储模块接收并将数据暂存在铁电存储器中,当数据处理模块发送给数据存储模块的数据达到2k字节后,激活下一个存储控制器,上一个被激活的数据存储控制器开始将数据从铁电存储器中读出,并存入Flash中相应的页中,当前激活的数据存储控制器开始接收暂存数据。
[0059] 数据回放阶段,数据处理控制模块接收上位机的信息,并通知数据存储模块进行符合特征的数据的检索,数据存储模块将各自检索到的信息起始点回传给数据处理模块,数据处理模块进行数据起始点的判断,并通知各存储控制器正确的数据起始点,4个数据存储单元开始按照规定的顺序进行数据的传输,最终数据处理单元按照总线的原始时序将符合总线数据特征的原始数据进行回放。
[0060] 所述数据处理模块的主控制器选用32位ARM处理器STM32F407ZET6,系统的总线数据输入输出模块和数据处理模块以意法半导体的STM32F407ZET6为核心,它是 Cortex-M4核的32位高性能ARM处理器,主频最高可达168MHz,内部集成了串口, CAN,以太网等丰富的接口电路,以及高精度定时器等众多资源。数据记录阶段, STM32F407ZET6控制数据输入输出模块的数据接收,在原始数据中添加当前的时标信息,添加存储所需的额外数据信息后,传给数据存储模块控制器。数据回放阶段, STM32F407ZET6接收上位机的指令信息,并通知数据存储控制器开始检索符合特征的数据,判断数据存储模块回传的数据起始位置,将真正的起始位置传给相应的数据存储控制器,数据存储控制器开始向数据处理控制器传输信息,数据处理控制器开始将数据按照总线约定的格式回放到相应的总线上。
[0061] 配置电路由一个六位的拨码开关和三个按键组成,其中拨码开关用于约定数据总线当前需要记录的类型,如果第一位拨码为1,表示FlexRay总线需要记录;如果第二位拨码开关为1,表示RS485总线需要记录;如果第三位拨码开关为1,表示CAN总线需要记录;如果第四位拨码为1,表示以太网总线需要记录。四位拨码开关可以是除0000 以外的任意组合,第五位拨码开关为数据接收和数据回放选择拨码,当第五位为0时,系统当前上电后为数据接收阶段,否则为数据回放阶段。第六位拨码暂时没有定义,作为程序功能的扩展备用。按键1被定义为命令键,Nand Flash如果在使用时已满或者确认以前记录的数据已经没有用,可以将Nand Flash清空,当程序检测到这个按键被按下时,开始清除所有的Nand Flash存储单元,此时装置不能进行其他工作。按键2定义为开始回放按键,当数据检索完成之后,相应的指示灯会亮起,这时需要手动按动这个按键,装置才开始向总线回放数据。按键3暂时没有定义,作为程序功能的扩展备用。
[0062] 结合图2、3,总线数据接收由对应各总线的接口电路完成。该部分由总线数据处理器的各总线接口连接相应的电平转换芯片构成,其中FlexRay总线的数据接收介绍见下段。为了方便接线,各总线的端子均有两个相同的接入端,这样在连接相应的总线时只需要将总线的在中间分成两段,分别接入接线端子中,避免了一个端子孔中连接两根总线,增加了总线接入的牢固程度,使本发明更能适应恶劣的工作环境。
[0063] 结合图4,由于主控制器STM32F407ZET6没有集成FlexRay总线控制器,本发明选用Freescale公司的自带两路FlexRay总线控制器的16位高性能ARM处理器 MC9S12XF512,与FlexRay总线收发器TJA1080组成双通道FlexRay接收电路。该电路模块仅完成数据的接收和发送功能,并不对数据进行处理,通过串口与数据处理单元控制器进行通信,由数据处理单元控制器统一对各总线数据进行处理。
[0064] 主控制器STM32F407ZET6内部集成具有DMA功能的以太网介质访问控制(MAC) 内核,设置成混合模式的地址过滤,以传送所有帧。本发明中选用物理层芯片LAN8720A 通过RMII接口与主控芯片连接,完成以太网总线数据的监听。
[0065] 主控制器STM32F407VET6内部只集成了一路以太网MAC,与上位机通信的网口需要扩展,本发明选用支持SPI接口的全硬件TCP/IP协议栈网络芯片W5500,该网口用于整个装置与上位机进行通信,包括向上位机传输已经记录的数据和接收上位机的指令。
[0066] 结合图5、6,数据存储模块主要由数据存储控制器,存储器和数据暂存单元组成。本发明的存储单元由4片Nand Flash K9WAG08U1A构成,总容量为8G字节,8G字节的存储容量分别由4个存储控制器管理。多控制器管理增加了这个系统的存储速度和数据检索速度,且当数据量较少时,可以将一个总线对应一个存储控制单元进行分开存储,有利于数据的管理。K9WAG08U1A是以页编程模式工作的,即接收2K字节时一次写入Flash中的一片页区域,为防止突然掉电造成数据丢失,本发明中使用铁电存储器 FM25V02进行数据缓存,保存掉电时未来得及写入Flash中的数据,增加系统的可靠性。每个数据存储模块预留一路串口作为备用端口,存储的数据可以不通过主控制器,直接从出口读出。
[0067] 数据缓存芯片FM25V02的第1脚连接芯片STM32F407VET6的第23脚PA0,并通过10K上拉电阻连接到3.3V电源,第2脚连接到芯片STM32F407VET6的第31脚,即SPI1的MISO,第3脚连接芯片STM32F407VET6的第24脚PA1,并通过10K上拉电阻连接到3.3V电源,第4脚接地,第5脚芯片STM32F407VET6的第32脚,即SPI1 的MOSI,第6脚连接芯片STM32F407VET6的30脚,即SPI1的SCK,第7脚连接芯片STM32F407VET6第29脚PA4,并通过5.1K上拉电阻连接到3.3V电源,第8脚连接3.3V电源。
[0068] 总线数据处理模块和数据存储模块之间通过并口传输,四个存储控制器共用并口的数据线,但各存储控制器通过各自的控制线和状态线与主控制器相连。并口增加了数据传输的速度。
[0069] 结合图7,FlexRay数据接收处理器在总线数据接收阶段仅接收总线数据,并将数据发送给主数据处理控制器,相当于一个数据采集控制器;在回放阶段,接收主处理器的回放命令后,开始接收主数据处理器发送的待发送数据,接收并监控总线数据,在相应的时间将待发送的数据发送至总线。由于总线数据的回放和接收两个阶段不会在同一时间进行,程序中在开始阶段接收主控制器的命令,并进入相应的阶段,如需要转换数据接收和回放阶段,则需要重新给系统上电,将系统置于另一阶段。
[0070] 结合图8、9,主数据处理器为整个系统的核心,整个程序可分为两个部分,一个是数据的接收,一个是数据的回放。其中数据的接收是主数据处理器在中断中接收各总线数据,在主循环中进行数据的整合,并将数据发送到当前被激活的存储控制器。在发送数据之前,会将当前的帧长与记录的最大帧长做比较,如果该帧的帧长比当前已记录的数据的最大帧长大,则将该帧的帧长记录为当前最大帧长。传送接收的数据之后,会判断当前被激活的存储器的一页剩余空间是否小于当前最大帧长,如果比当前最大帧长大,则认为可能下帧会不能存在存储器的同一页而截断,当出现这种情况时,系统会提前激活下一个存储控制器,当前的存储控制器不足一页的空间用0xff补足。数据的回放是在系统上电后,检测到拨码开关为回放设置后,准备接收上位机的命令,当接收到上位机传输的回放特征帧后,将该信息按约定发送至各个存储控制器,存储控制器检索自己的存储空间,将检索到的符合特征的第一帧数据传输给主数据处理器,主处理判断哪个存储控制器检索到的第一帧是真正的第一帧,并引导该帧所在的存储控制器开始传输符合回放特征的数据,主数据处理器接收并接收总线数据,在需要回放的时间,将数据回放到总线,完成数据的回放。
[0071] 结合图10,数据存储控制器在接收数据满2k字节时,将数据写入Flash中;在数据回放阶段检索本存储区域的符合特征的数据,并将数据按主数据处理器的引导回传给主数据处理器。
[0072] 综上所述,本发明多总线数据记录与回放装置可以记录RS485总线,CAN总线,以太网总线和FlexRay总线四种总线系统上的数据,支持单条总线系统的数据记录和多条总线组合的同时记录,并可在上位机软件的配合下实现已记录数据的回放,方便系统的故障快速定位。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈