发明内容
为了解决所述现有技术的不足,本申请提供了一种芯片数据流追踪系统,旨在解决上述问题。
本申请所要达到的技术效果通过以下方案实现:
第一方面,本申请提供一种芯片数据流追踪系统,应用于芯片数据流追踪,所述芯片包括通用定时器模块,所述芯片数据流追踪系统包括:
追踪数据产生模块,与所述通用定时器模块的各个子模块相连,用于获取各个子模块的数据流;
追踪数据处理模块,与所述追踪数据产生模块相连,用于将所述数据流进行预处理,以得到数据流追踪消息包;
控制模块,分别与所述追踪数据产生模块、以及所述追踪数据处理模块相连;
多个检测观测点,多个所述检测观测点分别设置在所述通用定时器模块各个子模块,且与控制模块相连。
可选地,所述追踪数据产生模块包括多个子追踪数据产生模块,多个所述子追踪数据产生模块与所述通用定时器模块的各个子模块一一对应相连。
可选地,所述追踪数据处理模块包括依次连接的数据过滤模块、数据压缩模块、数据打包模块、数据包排序模块、缓存存储器以及协议外发接口模块,其中,所述数据打包模块与时间戳模块相连,所述协议外发接口模块与所述通用定时器模块接口相连。
可选地,所述控制模块包括暂停控制模块、以及数据流追踪触发模块,所述暂停控制模块和所述数据流追踪触发模块分别与所述检测观测点相连,且所述暂停控制模块与所述通用定时器模块相连,所述数据流追踪触发模块与所述追踪数据产生模块相连,用于将所述数据流进行预处理,以得到数据流追踪消息包。
可选地,所述控制模块包括序列处理单元,所述序列处理单元一端与所述数据流追踪触发模块相连,另一端与所述追踪数据产生模块相连,用于将所述数据流进行预处理,以得到数据流追踪消息包。
可选地,所述通用定时器模块包括定时器输入模块、定时器输出模块、ARU连接定时器输出模块、先进连线单元、多通道序列产生模块、传感器序列评估模块、数字锁相环模块、以及时基单元。
可选地,本申请提供一种芯片数据流追踪方法,所述方法应用于芯片数据流追踪,所述芯片包括通用定时器模块,所述方法包括:
获取所述通用定时器模块各个子模块的数据流;
将所述数据流进行预处理,以得到数据流追踪消息包。
可选地,所述获取所述通用定时器模块各个子模块的数据流步骤前,所述方法包括:
获取所述通用定时器模块的各个子模块的运行状况;
根据所述通用定时器模块的各个子模块的运行状况,判断所述通用定时器模块的各个子模块是否具有触发数据流追踪的触发条件;
若有触发条件,则获取触发条件所对应的所述通用定时器模块的子模块的数据流。
可选地,所述方法包括:在所述通用定时器模块的各个子模块设置检测观测点,所述检测观测点用于获取所述通用定时器模块的各个子模块的运行状况,并根据运行状况判断所述通用定时器模块的各个子模块是否具有触发数据流追踪的触发条件。
可选地,所述预处理包括数据过滤、数据压缩、数据打包、以及数据排序;
所述将所述数据流进行预处理,以得到数据流追踪消息包,包括:
将数据流依次进行数据过滤、数据压缩、数据打包、以及数据排序,以得到数据流追踪消息包;
将所述数据流追踪消息包进行缓存,以排队输出给上位机。
本申请具有以下优点:
本申请一种芯片数据流追踪系统,应用于芯片数据流追踪,所述芯片包括通用定时器模块,所述芯片数据流追踪系统包括追踪数据产生模块、追踪数据处理模块、控制模块以及多个检测观测点。所述追踪数据产生模块与所述通用定时器模块的各个子模块相连,用于获取各个子模块的数据流;所述追踪数据处理模块与所述追踪数据产生模块相连,用于将所述数据流进行预处理,以得到数据流追踪消息包;所述控制模块分别与所述追踪数据产生模块、以及所述追踪数据处理模块相连;多个检测观测点,分别设置在所述通用定时器模块各个子模块,且与所述控制模块相连。本申请多个检测观测点实时检测所述通用定时器模块各个子模块的运行状况,以便实时获取所述通用定时器模块各个子模块的运行状况的数据流。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本申请的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面结合附图,详细地说明本申请非限制性的实施方案。
如附图1,示出了本申请一实施例中的所述芯片数据流追踪系统的结构示意图,所述芯片数据流追踪系统应用于芯片数据流追踪,所述芯片包括通用定时器模块(GTM,Generic Timer Module),所述芯片可用于车载芯片,在汽车动力总成、和主动安全领域、以及工业闭环应用方面,通用定时器模块能够保证精确的多输入采集和多输出信号产生。从附图1可知,芯片数据流追踪系统包括追踪数据产生模块、追踪数据处理模块、控制模块以及多个检测观测点。
具体地,所述追踪数据产生模块与所述通用定时器模块的各个子模块相连,用于获取各个子模块的数据流。所述数据流为根据所述通用定时器模块的各个子模块的运作状况而生成的,所述数据流能反映所述通用定时器模块的各个子模块的运作状况。所述追踪数据处理模块与所述追踪数据产生模块相连,用于将所述数据流进行预处理,以得到数据流追踪消息包,用于将所述数据流进行预处理,以得到数据流追踪消息包用于处理数据流,在芯片数据流追踪系统将数据流发给上位机之前,所述追踪数据处理模块对数据流进行预处理,以便于筛选或过滤数据流中的噪音,且将数据流压缩和打包,可提高数据流传送给上位机的传输速度。
所述控制模块分别与所述追踪数据产生模块、以及所述追踪数据处理模块相连。控制模块控制所述追踪数据产生模块和所述追踪数据处理模块的运行,以控制所述追踪数据产生模块获取数据流,和控制所述追踪数据处理模块对数据流进行预处理,追踪数据处理模块可根据追踪数据产生模块数据流以确定是否给控制模块发送指令,控制模块具体用于控制数据流追踪的开始和结束。多个所述检测观测点分别设置在所述通用定时器模块各个子模块,且与所述控制模块相连,可以理解地是,多个检测观测点与所述通用定时器模块各个子模块一一对应,即每个所述通用定时器模块子模块均设有一个所述检测观测点。所述检测观测点用于获取所述通用定时器模块的各个子模块的运行状况,并根据运行状况判断所述通用定时器模块的各个子模块是否具有触发数据流追踪的触发条件。所述触发条件可以是所述通用定时器模块的各个子模块运行异常,或者运行停止等导致芯片故障的情况。若有触发条件,所述检测观测点将通过追踪数据处理模块给控制模块发送指令,控制模块根据指令,控制所述追踪数据产生模块获取触发条件所对应的所述通用定时器模块的子模块的数据流。将数据流传输给上位机,便于芯片研发人员分享数据流中的运行信息,可根据运行信息分析所述通用定时器模块的各个子模块运行情况,再根据运行情况分析芯片功能运行错误的原因。多个检测观测点实时检测所述通用定时器模块各个子模块的运行状况,以便实时获取所述通用定时器模块各个子模块的运行状况的数据流。
在一实施例中,所述追踪数据产生模块包括多个子追踪数据产生模块,多个所述子追踪数据产生模块与所述通用定时器模块的各个子模块一一对应相连。所述通用定时器模块包括多个子模块,各个子模块实现的芯片功能不同,各个子模块的运行是独立的,分析各个子模块的运行状况,需要单独获取各个子模块运行的数据流。即设置多个所述子追踪数据产生模块,每个所述子追踪数据产生模块负责获取一个所述通用定时器模块的子模块的运行数据流,从而将所述通用定时器模块的各个子模块产生的数据流区分开,便于数据流的追踪与溯源,以便检查芯片在车载应用环境的实时工作状态,并进行监控和检查。
为了将所述数据流中的噪音进行过滤或是筛选,以获得包含较多有用信息的数据流。如附图2所示,所述追踪数据处理模块包括依次连接的数据过滤模块、数据压缩模块、数据打包模块、数据包排序模块、缓存存储器以及协议外发接口模块,其中,所述数据打包模块与时间戳模块相连,所述协议外发接口模块与所述通用定时器模块接口相连。具体地,数据过滤模块用于将追踪数据产生模块获取的数据流进行过滤和筛选,所述通用定时器模块的每个子模块的数据流对应不同的筛选的方式,例如,所述通用定时器模块的子模块—多通道序列产生模块(MCS,Multi Channel Sequencer)的数据流可采用地址范围过滤(address range filters)、数据匹配过滤(data match)等筛选方式。在一示例中,所述通用定时器模块的子模块—数字锁相环模块的数据流可采用系统触发监测信号(TASI,Trigger sub incs)和系统状态监测信号(SASI,State sub incs)对应的三个随机存取存储器单元ram1a、ram1b、ram2地址范围和数据读写等触发筛选方式。在一示例中,所述通用定时器模块的子模块—先进连线单元的数据流采用数据有效(data valid)、数据匹配(data match)等数据筛选方式。在一示例中,所述通用定时器模块的子模块—时基单元的数据流采用数据匹配(data match)的数据筛选方式。在一示例中,定时器输入模块、定时器输出模块、ARU连接定时器输出模块、以及传感器序列评估模块的数据流包括数据沿的筛选方式。
所述数据压缩模块用于将数据流进行压缩,减小数据流带宽损耗。所述数据打包模块用于将数据流按照接口协议进行打包和增加包头,时间戳模块给打包的数据流赋予时间戳,标明时间,便于追踪所述通用定时器模块的各个子模块在具体时间的运行状况。接口协议可以是IEEE nexus5001协议。所述数据包排序模块用于识别数据流的时间戳并排序,保证产生的数据流按顺序给外部的设备传输,外部设备可以是上位机。缓存存储器用于缓存排队传输给外部设备的数据流,可给外部设备进行读取。所述协议外发接口模块用于与主机离线下载器(HOST debugger)连接的nexus协议接口控制。
在一实施例中,所述控制模块包括暂停控制模块、以及数据流追踪触发模块,所述暂停控制模块和所述数据流追踪触发模块分别与所述检测观测点相连,且所述暂停控制模块与所述通用定时器模块相连,所述数据流追踪触发模块与所述追踪数据产生模块相连,用于将所述数据流进行预处理,以得到数据流追踪消息包。响应于所述检测观测点的暂停指令,所述暂停控制模块控制所述通用定时器模块的各个子模块停止运行。响应于所述检测观测点获取指令,所述数据流追踪触发模块控制所述追踪数据产生模块获取所述通用定时器模块的各个子模块的数据流。所述检测观测点根据所述通用定时器模块的各个子模块的运作状况,给所述暂停控制模块发送暂停指令或者给所述数据流追踪触发模块发送获取指令。所述检测观测点给所述数据流追踪触发模块发送获取指令,需要有触发条件,所述触发条件可以是所述通用定时器模块的各个子模块运行异常,或者运行停止等导致芯片故障的情况。所述检测观测点给所述暂停控制模块发送暂停指令,同样需要一个条件,所述条件可以是所述通用定时器模块的各个子模块运行正常,无需获取数据流分析所述通用定时器模块的运行故障。
在一实施例中,如附图3所示,所述控制模块包括序列处理单元,所述序列处理单元一端与所述数据流追踪触发模块相连,另一端与所述追踪数据产生模块相连,用于将所述数据流进行预处理,以得到数据流追踪消息包。所述序列处理单元被耦合到所述控制模块。所述序列处理单元通过预定协议接收多个任务指令,例如如附图3中所示的多通道序列产生数据/指令/检查观测的数据流、多通道序列产生暂停触发、数字锁相环数据/检查观测的数据流、先进连线单元数据/检查观测的数据流等,并且利用所述序列处理单元的所述至少一个有限状态机,根据所述多个任务指令来控制所述追踪数据产生模块的多个所述子追踪数据产生模块。
具体地,所述通用定时器模块包括定时器输入模块(TIM,Timer Input Module)、定时器输出模块(TOM,Timer Output Module)、ARU连接定时器输出模块(ATOM,ARU-connected Timer Output Module)、先进连线单元(ARU,Advanced Routing Unit)、多通道序列产生模块(MCS,Multi Channel Sequencer)、传感器序列评估模块(SPE,SensorPattern Evaluation)、数字锁相环模块(DPLL,Digital PLL Module)、以及时基单元(TBU,Time Base Unit)。数据流可以是定时器输入模块的输入捕获脉冲上升/下降沿的状态、定时器输出模块和先进连线单元ARU连接定时器输出模块的输出比较脉冲上升/下降沿状态、多通道序列产生模块的指令/数据的读写地址和数据、传感器序列评估模块的序列输入检测和旋转方向信号脉冲上升/下降沿状态、数字锁相环模块的系统触发监测信号/系统状态监测信号对应的三个随机存取存储器单元ram1a、ram1b、ram2工作时的读写地址和数据、先进连线单元模块中的子模块比特交互数据、以及时基单元模块中的计数值对应信息等。
如附图4,示出了本申请一实施例中芯片数据流追踪方法的流程图,所述芯片数据流追踪方法应用于芯片数据流追踪,所述芯片包括通用定时器模块。所述芯片数据流追踪方法包括步骤S101和步骤S102。
步骤S101:获取所述通用定时器模块各个子模块的数据流。
步骤S102:将所述数据流进行预处理,以得到数据流追踪消息包。
所述数据流包含有所述通用定时器模块各个子模块的运行状况,可对数据流进行分析,以得到芯片功能模块的故障原因,且获取所述通用定时器模块各个子模块的数据流,将所述通用定时器模块各个子模块进行区分,便于追踪和溯源,根据所述数据流的分析结果可找到对应的所述通用定时器模块子模块,便于针对分析结果对所述通用定时器模块子模块进行功能改进,或维修故障。
在一实施例中,所述追踪数据产生模块获取所述通用定时器模块各个子模块的数据流;所述追踪数据处理模块将所述数据流进行预处理,以得到数据流追踪消息包。
具体地,所述预处理包括数据过滤、数据压缩、数据打包、以及数据排序;
所述将所述数据流进行预处理,以得到数据流追踪消息包,包括:
将数据流依次进行数据过滤、数据压缩、数据打包、以及数据排序,以得到数据流追踪消息包;
将所述数据流追踪消息包进行缓存,以排队输出给上位机。
在一实施例中,所述数据压缩模块用于将数据流进行压缩,减小数据流带宽损耗。所述数据打包模块用于将数据流按照接口协议进行打包和增加包头,时间戳模块给打包的数据流赋予时间戳,标明时间,便于追踪所述通用定时器模块的各个子模块在具体时间的运行状况。接口协议可以是IEEE nexus5001协议。所述数据包排序模块用于识别数据流的时间戳并排序,保证产生的数据流按顺序给外部的设备传输,外部设备可以是上位机。缓存存储器用于缓存排队传输给外部设备的数据流,可给外部设备进行读取。所述协议外发接口模块用于与主机离线下载器连接的nexus协议接口控制。
在一实施例中,如附图5所示,所述获取所述通用定时器模块各个子模块的数据流步骤前,所述方法包括:
步骤01:获取所述通用定时器模块的各个子模块的运行状况;
步骤02:根据所述通用定时器模块的各个子模块的运行状况,判断所述通用定时器模块的各个子模块是否具有触发数据流追踪的触发条件;
步骤03:若有触发条件,则获取触发条件所对应的所述通用定时器模块的子模块的数据流,即执行后续步骤S101、步骤S102。触发条件是所述通用定时器模块的各个子模块运行异常,或者运行停止等导致芯片故障的情况。
若无触发条件,可暂停所述通用定时器模块的各个子模块的数据流输出。
具体地,步骤01-02由多个检测观测点执行。故所述芯片数据流追踪方法包括:在所述通用定时器模块的各个子模块设置检测观测点,所述检测观测点用于获取所述通用定时器模块的各个子模块的运行状况,并根据运行状况判断所述通用定时器模块的各个子模块是否具有触发数据流追踪的触发条件。
图6是本申请实施例提供的一种电子设备的结构示意图。在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放执行指令。具体地,执行指令即可被执行的计算机程序。存储器可以包括内存和非易失性存储器,并向处理器提供执行指令和数据。
在一种可能实现的方式中,处理器从非易失性存储器中读取对应的执行指令到内存中然后运行,也可从其它设备上获取相应的执行指令,以在逻辑层面上形成芯片数据流追踪方法。处理器执行存储器所存放的执行指令,以通过执行的执行指令实现本申请任一实施例中提供的芯片数据流追踪方法。
上述如本申请图5-6所示实施例提供的芯片数据流追踪方法执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本申请实施例还提出了一种可读介质,该可读存储介质存储有执行指令,存储的执行指令被电子设备的处理器执行时,能够使该电子设备执行本申请任一实施例中提供的芯片数据流追踪方法,并具体用于执行上述芯片数据流追踪方法。
前述各个实施例中所述的电子设备可以为计算机。
本领域内的技术人员应明白,本申请的实施例可提供为方法或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例,或软件和硬件相结合的形式。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。