一种ieee1394总线数据记录处理系统和方法

文档序号:7646969阅读:226来源:国知局
专利名称:一种ieee 1394 总线数据记录处理系统和方法
技术领域
本发明涉及一种用于捕获和存储IEEE1394总线上所有数据包的设备,具体涉及一种IEEE 1394总线数据记录处理系统和方法。
背景技术
IEEE1394总线(以下简称1394总线)来源于美国苹果公司的火线(FireWire),源于商业的1394具有广泛的商业支持,完善的通信协议及有效的开发手段,并经过商业的充分验证。国际电子工程师协会(IEEE)于1995年把FireWire接收为IEEE1394-1995标准,此后又发展为IEEE1394a-2000,IEEE1394b-2002等新标准。 1394-1995和1394a总线具有100、200以及400Mbps的数据传输速度,1394b标准支持800Mbps、1600Mbps、3200Mbps的数据传输速度。在一条1394总线上最多可以支持63个设备,可以支持1023条总线通过桥接的方式连在一起。1394的电缆带有能源线,在设备断电或损坏的情况下能通过该设备进行通讯,挂起模式还可以节省功耗。1394的节点地址不需要设备设定,而是由物理层协议芯片在总线初始化时自动完成地址设置,具有高度的灵活性和可扩展性,具有即插即用的能力。因此它不像USB、以太网或者光纤通道那样,IEEE1394总线工作的时候不需要主机干预,任何智能设备都能实现总线管理的功能。1394总线具有等时和异步-响应两种传输方式。尤其是等时传输方式,能够保证视频、音频和图像等大容量数据的高速实时传输。由于1394总线的优点,1394总线在消费电子、家庭娱乐和汽车等视频和图像传输应用领域中得到了广泛的应用,甚至也越来越多地应用在了航空航天和军工项目中。一个总线中的每一个节点的都必须遵守通信协议。总线分析仪通过记录和解析总线上数据包,帮助工程设计人员定位总线通信协议上的各种不兼容问题。目前,能够见到的1394总线的总线协议仪设备大约有10种左右,它们都是国外的产品。这些产品都能实时采集总线上的各种数据包,也能进行协议分析。但是,这些采集到的数据包仅仅暂存在总线分析仪的内存中,总线分析仪的内存容量非常有限,只能暂存较短时间内的数据包。对于大型1394总线网络的开发后期,经过单点测试的数十个以上的节点开始组网运行,工作模式繁多,拓扑结构复杂,总线数据量大,数据包种类多。因此在长期的(数小时以上甚至数天的)的测试运行中,网络中往往会出现偶发性的故障、数据错误、死机或复位等。这些问题具有“瞬时发生、概率极低、不易复现”的特点。这时,曾经发挥过巨大作用的进口总线分析仪,由于其不能在问题出现时记录并分析数据,已经难以满足故障定位的需要了 ;而国内研制1394总线设备只能基于标准的1394芯片,这些1394芯片不具备接收总线上所有数据包的功能,只能接收发给自己的数据包,其他数据包都会被“扔”掉,本发明的申请人在申请名称为“一种IEEE 1394链路层控制器”的申请文件中公开了一种1394链路层控制器可接受所有数据的,本发明基于该申请文件所公开的内容。这样的情况,对于航空、航天、汽车以及家庭娱乐等使用1394总线构建大型网络的开发,提出了严重的挑战。而本发明却能很好地解决这一问题。

发明内容
本发明的目的在于,为克服目前市场上已有的各种1394总线测试和开发产品,例如,总线分析仪等,虽然能实时捕获1394总线上的数据并进行协议分析,但是其捕获数据的存储容量和存储时间都非常地有限,而具有1394总线接口的、能大量存储数据的设备却又不能接收1394总线上的所有数据的问题,从而提供一种IEEE 1394总线数据记录处理系统和方法。
本发明所述的一种IEEE 1394总线数据记录处理系统基于PC机或工作站或嵌入式系统,且该系统具体包括1394接口单元、高速数据采集单元、高速数据存储单元、存储单元、控制单元和显示单元。本发明提供一种IEEE 1394总线数据记录处理系统,该系统用于捕获1394总线上的所有数据包并实时存储到存储单元上后并对数据进行后处理,包含1394接口单元,该接口单元进一步包含1394链路层控制器和1394总线物理层芯片,用于接收1394总线上所有数据包;高速数据采集单元,用于从所述1394总线接口单元采集接收到的所有数据;高速数据存储单元,用于将采集到的数据以足够高的速率存储到硬盘上;存储单元,用于保存1394总线所有数据,并在需要的时候被回读出来,进行后处理;后处理单元,用于将记录下来的1394总线原始数据进行后处理,处理成便于识别的数据包格式,并解析出数据包中每个数据域的内容,提供数据包的各种统计信息。其中,所述1394接口单元、高速数据采集单元、高速磁盘接口单元和存储单元均插入PC机主板内部总线插槽内,或嵌入式设备的本地总线上,采用总线进行相互通信;且所述IEEE 1394总线数据记录系统还采用PC机系统内存和CPU的支持。上述技术方案中,所述1394链路层控制器包括主机接口、链路层核心模块、数据缓冲与路由控制模块、高速数据接口模块和配置寄存器;外部CPU通过所述的主机接口可以读写配置寄存器、存取数据缓冲与路由控制模块中的数据缓冲区;所述的数据缓冲与路由控制模块处于链路层核心模块和主机接口及高速数据接口之间,用于提供不同收发数据通道间的切换控制,其中,所述的数据缓冲与路由控制模块还使用了两个异步先入先出存储器,分别用于收发数据的缓冲和跨时钟域数据的同步;所述的配置寄存器用于提供对链路层核心模块、数据缓冲与路由控制模块的初始配置和控制,通过所述的主机接口读写配置寄存器来实施控制和获取链路层控制器各模块的工作状态;所述的链路层核心模块,用于实现IEEE1394总线协议中链路层的所有功能,包括物理层链路层接口、数据缓冲处理单元、数据包收发单元、循环冗余校验单元以及循环控制器;所述的物理层链路层接口,用于提供IEEE1394总线协议规定的链路层与物理层间的标准接口 ;所述的数据缓冲处理单元,使用一个异步先入先出存储器为收发数据包提供数据缓冲功能;所述的数据包收发单元是链路层核心模块的核心,通过双向数据线与数据缓冲处理单元、循环冗余校验单元、循环控制器以及数据缓冲与路由控制模块相连;所述循环冗余校验单元,用于提供收发数据时的循环冗余校验功能;所述循环控制器,包括循环定时器和循环监视器,用于等时服务;在发送数据包时,通过主机接口写入指定格式的数据包到数据缓冲与路由控制模块;再通过数据缓冲与路由控制模块的异步先入先出存储器实现数据的缓冲、多时钟域数据的同步以及数据路由的控制;然后,进入链路层核心模块,按照IEEE1394总线协议中不同类型数据包的格式进行数据的组帧和循环冗余校验;最后通过物理层链路层接口向物理层发出相应类型的总线申请;该链路层芯片所在节点获取总线控制权后,开始通过物理层链路层接口按照指定的速度转发数据包到串行总线;数据包发送完成后,如果发送的是非广播异步包,则等待目的节点返回确认包,如果该链路层控制芯片所在节点是循环控制器,还会产生并发送循环开始包到总线;在接收数据包时,通过物理层链路层接口接收物理层转发的,在串行总线上传输的数据包,在链路层核心模块,所述数据包收发单元对接收的数据包进行地址和数据包类型的译码,如果该数据包的目的节点不是本节点,则放弃数据包的接收;否贝U,开始接收数据包并进行CRC校验,如校验错误则放弃数据包的接收,如正确则把接收的数据按照指定的格式输出到数据缓冲与路由控制模块,在该模块中完成多时钟域数据的同步和缓冲,并根据路由控制,通过主机接口输出数据到事务层或应用程序;如果接收到的是非广播异步包,完成数据包接收后,链路层核心模块返回一个确认包到串行总线。 所述IEEE 1394总线数据记录系统还包含显示单元。所述1394总线上的所有数据包包括主数据包、物理层数据包和响应数据包。所述主数据包包括异步四字节写请求包,异步数据块写请求包,异步写响应包,异步四字节读请求包,异步数据块读请求包,异步四字节读响应包,异步数据块读响应包,异步数据块读响应包、循环开始包、锁定请求包、异步数据流包、等时包和锁定响应包;所述物理层数据包包括物理层数据包包括自标识数据包、开启链路包、物理层配置包、试通包、远程存取包、远程应答包、远程命令包、远程确认包和恢复包。所述存储单元的存储容量可以扩展;所述高速数据接口模块采用并行的数据输入接口,位宽为32位;所述高速数据采集采用双缓冲区模式;所述存储单元采用硬盘或者硬盘阵列;所述硬盘采用转速大于10000转每分钟的硬盘,且硬盘的接口采用具有SCSI接口的硬盘。基于以上的IEEE 1394总线数据记录处理系统本发明还提供一种IEEE 1394总线数据记录处理方法,该方法采用权利要求I所述的系统,包含数据记录的步骤和针对记录的数据进行后处理的步骤其中,所述数据记录的步骤进一步包含如下步骤I) 1394总线接口芯片将工作模式设置为接收所有的数据;2)根据系统资源,设置高速采集单元为接收模式并设置缓冲区的大小;3)设置硬盘上存储的数据文件的大小和存储的磁盘分区;4)启动高速采集单元,开始接收1394总线接口单元接收到数据包;同时在磁盘上生成一个原始数据文件,当数据累积到前面设置的数据文件的大小的时候,完成数据在磁盘上的存储,关闭数据文件;同时生成新的数据文件,这个步骤一直继续下去;5)当不需要再记录数据的时候,所述高速数据采集单元不再接收1394总线接口单元接收到的数据包,同时磁盘停止存储数据文件。 所述数据后处理步骤进一步包含如下步骤首先将接收到的所有数据打开;然后,CPU依次读取文件的数据内容;每读4字节数据,和IEEE 1394标准定义的各种数据包的包头进行比较,确定数据包的种类;如果需要则再读取4字节数据,直到能判断出数据种类为止;在确定数据包种类的以后,从中提取出数据包大小字段,按照该数据包的大小读取相应字节数量的数据;如果该类型的数据包不是希望处理的数据包类型,则直接跳过该段数据,处理后面的数据;接着,根据IEEE 1394标准中该种类数据包格式的定义,对照数据,获得数据包中每一个数据域对应的数值;最后,将每个数据域及其对应的数值依次写入文件中,完成数据的后处理过程。本发明的优点在于(I)能够接收1394总线上的所有数据包。无论数据包是那种类型,无论数据包是总线上的哪个节点发出的,要发往哪个节点,无论数据包的速度是哪个等级,无论数据包出现在什么时间,本设备都能正确完整地接收。(2)能够长时间实时捕获并存储所有的数据。由于本发明采用和集成了高速的数据采集和存储技术,1394总线400Mbps的高速数据都能 被正确完整地直接存储到硬盘等存储介质上,而不是暂时存储到内存中。因此,只要硬盘等存储介质的容量足够大,本发明记录的时间就可以足够长。而硬盘等存储介质可以在需要时随时扩充和在线扩充。能够长期记录1394总线上所有数据包,为1394总线系统联调过程中的数据记录、故障定位和系统验证提供手段。(3)数据后处理单元,能够根据用户的需要,从数量巨大的总线原始数据中挑选出关心的数据,将其处理成为容易识别的数据包,并解析出数据包中每一个数据域的内容,并提供数据包的各种统计信息,以便分析总线的通信情况。


图I为本发明的IEEE1394总线数据记录系统的功能示意图;图2本发明的IEEE1394总线数据记录系统采用的1394总线接口单元组成功能模块图;图3本发明的1394总线接口单元包含的1394总线链路层控制器功能组成框图;图4本发明的IEEE1394总线数据记录系统采用的高速数据采集单元组成框图;图5本发明的IEEE1394总线数据记录系统的数据记录方法步骤流程图;图6本发明的IEEE1394总线数据记录系统的数据后处理方法步骤流程图。
具体实施例方式下面结合附图对发明内容做详细阐述如附图I所示,该图为本发明提供的一种1394总线数据记录系统的功能框图,该系统又基于PC机或工作站构建。1394总线数据记录系统包括1394接口单元1,用于接收1394总线上所有数据包;高速数据采集单元2、高速磁盘接口单元3、存储单元4和后处理单元7。它们都插入PC机主板PCI插槽内,连接到PCI总线6上,且该系统工作时需要PC机系统内存和CPU等的支持。1394总线接口单元I主要由通用的1394总线物理层控制器和特殊的1394总线链路层控制器构成电路板。通用的1394总线链路层控制器只能接收目的地是自身的数据包,其他节点的数据包都会被“扔掉”,而特殊的1394总线链路层控制器能够接收所有的数据包,无论数据包目的地是总线上的哪一个节点。1394总线接口单元I包含1394链路层控制器11和1394总线物理层控制器12。1394链路层控制器11和1394总线物理层控制器12信号相连,具体链接方式如图2所示。其中1394总线链路层控制器11能够接收1394总线上的所有数据包,无论该数据包是不是发送给本1394总线接口单元的,且该单元可参考本申请人申请的名称为“一种IEEE 1394链路层控制器”的申请文件。高速数据采集单元2,能够以足够高的速率采集从1394总线接口单元接收到的所有数据,并将这些数据传输给高速存储单元。高速数据存储单元3,能够将采集到的高速数据以足够高的速率存储到硬盘上。存储单元4,是数据存储的媒介,该单元保存了 1394总线所有数据,并能在需要的时候被回读出来,进行后处理。后处理单元7,将接收到的所有数据文件解析成各个数据包,并按照各个数据包的定义解析出各个数据域的内容,同时提供数据包的各种统计信息。1394总线接口单元I可自行设计和编写具有接收所有数据包功能的IP (知识产权)并在FPGA(现场可编程门阵列)上实现。该实施方案具有升级方便的优点,并能够提供数据包分割、时间戳等功能。该知识产权的功能框图如图3所示。这种特殊芯片外部的接口和管脚与不具备这种功能的通用芯片(TI公司生产的链路层控制器TSB12LV32,该芯片的名字叫做“General Purpose 1394 Link layer Controller”,即通用 1394链路层控制器)完全一致。另外1394总线链路层控制器11,与德州仪器生产的链路层控制器TSBl2LV32完全兼容。如图3所示,本发明采用的1394总线链路层控制器11包含链路层与物理层接口单元
111、数据缓存单元112、数据包处理单元113、控制寄存器单元114、高速数据接口单元115和控制接口单元116组成。链路层物理层接口 111提供IEEE1394总线规定的标准接口,总线上的所有数据包以及状态信息都通过该接口由物理层转发到芯片,所述芯片可参考专利申请号为“一种IEEE 1394链路层控制器”即11和“一种可编程的IEEE1394总线监测系统及监测方法”两篇专利文件所记载的芯片。链路层物理层接口 111与数据缓存单元112连接,由异步FIFO组成,起到数据缓冲和同步的作用,并把总线状态直接更新到控制寄存器单元114。数据包处理单元113与上游的数据缓存单元112连接,与下游的高速数据接口模块115连接,同时还与控制寄存器单元114相连接,其功能受到控制寄存器114设置参数的控制。数据包处理单元113根据用户设置要求记录和存储的数据包种类、长度、特定数据域的数值等信息,有选择地或者全部记录总线上传输的各种数据包,并转发到高速数据接口单元115。同时,该单元还能够提供数据包捕获时间等信息。控制接口单元116用于与外部处理器连接,实现对1394链路层控制器11的功能设置。高速数据接口单元115与数据包处理单元113连接,提供一个数据输出的高速接口。在本实施例中,该接口与TSB12LV32的Data Mover接口完全一致。1394总线接口单元中的物理层控制器12直接使用通用的物理层控制器即可。理论上该控制器可以选用目前市场上的任何一款产品。但是,考虑到物理层控制器直接决定了 1394总线接口的端口数量,因此,可采用美国德州仪器公司生产的TSB41AB3。高速数据采集单元2的用于采集通过1394总线接口接收到的所有数据包。本发明是基于PC机或者工作站构建的,因此,高速数据采集单元的具体作用就是将数据包按照PCI协议转发到PCI总线上。实施方式要结合PC机或者工作站的基本结构。目前的PC机或者工作站中所有的功能模块都是基于PCI总线或PCIe总线的,PCI或PCIe具有远大于1394总线的速率,因此可以完成高速数据的采集。本实施例采用的PCI总线。如图4所示,高速数据采集单元2包含高速数据接口模块21、数据缓存模块22和PCI桥接模块23。高速数据接口模块21用于接收1394总线数据接口单元捕获的高速数据包,由于数据速率较高,应采用并行的数据输入接口,位宽为32位。数据缓存模块22用于数据缓存和同步,主要采用FIFO实现,最大缓存数据量不小于16K字节。PCI桥接模块23完成PCI协议的转换,将高速数据按照PCI协议发送到主机的PCI总线上。PCI模块可以使用专用的PCI桥接芯片或者IP核实现。本单元的实施方式既可以自行设计,也可以采用市场上采集卡成品,ADLINK公司的PCI7300A数据采集卡等产品。高速数据采集采用双缓冲区模式,也可称为循环缓冲区模式。这里的缓冲区指的是系统的内存。双缓冲区模式可以使用较小量的内存,采集到几乎是无限多的数据。这种工作模式的原理是用于连续输入操作的缓冲区在逻辑上被分为了两个完全相等的部分(以下将分别称它们为第一个半缓冲区和第二个半缓冲区);工作时,采集卡首先将采集到的数据写入第一个半缓冲区中,在采集卡开始向第二个半缓冲区中写入数据的同时,应用 程序可以根据需要对第一个半缓冲区中的数据做特定的处理在第二个半缓冲区被写满之后,采集卡将返回到第一个半缓冲区的起始处,用覆盖前次数据的方式,把数据写入第一个半缓冲区中。整个数据采集处理的过程可以如此不断地循环进行下去。高速磁盘接口单元3用于匹配高速硬盘的接口。当1394总线进行数据捕捉时,高速数据采集单元2,高速数据存储单元4中,任何一个单元的速度较低,都会制约整个系统数据存储的速度。存储单元4的硬盘往往是速度较低的。硬盘的存储速度取决于接口速度、磁盘的转速和磁头的访问速度,但是磁头和磁片的转动是机械的动作,难以达到极高速度,所以只能选择转速尽量高的硬盘,同时必须把通过特殊的方法将影响硬盘速度的其他因素都减少到最小。例如,SCSI接口的硬盘。具体的实施方法,可以直接采用市场上SCSI硬盘控制卡。当实际测试的总线速率较低,硬盘的数据存储较低的矛盾并不突出的时候,本单元可以省略,可以直接将采集到内存中的数据通过Windows操作系统写入硬盘。硬盘或者硬盘阵列4。为了实现较高的存储速率,硬盘可以采用转速指标较高的硬盘,本实施例采用了转速大于10000转每分钟的硬盘。硬盘的接口可以采用较高速率的接口,例如,具有SCSI接口的硬盘。当实际测试的总线速率较低,硬盘的数据存储较低的矛盾并不突出的时候,可以采用一般的硬盘。系统内存5是PC机或工控机的内存。针对本发明提供的IEEE1394总线数据记录系统的工作还需要驱动步骤、设备控制步骤和数据后处理步骤以及人机交互步骤的控制。其中,初始化(驱动)方法通过PC机或嵌入式CPU将高速数据采集单元设置适当的数据率和缓存区;使得硬件设备处于等待接收命令的模式。设备控制方法通过人机界面设置和选择存储数据文件的大小、存储位置、需要后处理的数据包类型。通过点击界面的按钮,开始数据记录;通过点击结束按钮,结束数据记录;通过点击后处理按钮,开始进行数据记录。如图5所示,该图为本发明提供的IEEE1394总线数据记录系的工作流程图。具体描述如下
I)首先,设备加电,本发明的IEEE1394总线数据记录系统中的1394总线接口芯片会自动将工作模式设置为接收所有的数据,不需要人工设置和干预。这时,1394总线接口单元已经开始接收总线上的所有数据包了;2)其次,根据系统资源,设置高速采集单元为接收模式并设置缓冲区的大小;3)接着,通过人机界面设置在硬盘上存储的数据文件的大小、存储的磁盘分区;4)然后,点击“启动”,启动高速采集单元,开始接收1394总线接口单元接收到数据包;同时在磁盘上生成一个原始数据文件,当数据累积到前面设置的数据文件的大小的时候,完成数据在磁盘上的存储,关闭数据文件;同时生成新的数据文件,这个步骤一直继 续下去;5)当不需要再记录数据的时候,点击“结束”,高速数据采集单元不再接收1394总线接口单元接收到的数据包,也不在磁盘上存储数据文件了 ;6)最后,在人机界面选择一种、多种或全部希望处理的1394总线数据包的类型,点击“后处理”按钮,PC机或其他具有CPU的系统开始将原始数据文件从磁盘上读出,在内存中进行处理,具体的处理方法见图6。处理完毕后再将处理后的数据以文件的形式存储到磁盘上。整个过程结束。图6本发明的IEEE1394总线数据记录系统的数据后处理方法步骤流程图,本发明提供的后处理方法步骤如下I)首先将接收到的所有数据文件通过PC机或工控机或其他具有CPU的设备打开;2)然后,CPU依次读取文件的数据内容。每读4字节数据,和IEEE 1394标准定义的各种数据包的包头进行比较,确定数据包的种类;如果需要则再读取4字节数据,直到能判断出数据种类为止;3)在确定数据包种类的以后,从中提取出数据包大小字段,按照该数据包的大小读取相应字节数量的数据;如果该类型的数据包不是希望处理的数据包类型,则直接跳过该段数据,处理后面的数据;4)接着,根据IEEE 1394标准中该种类数据包格式的定义,对照数据,获得数据包中每一个数据域对应的数值; 5)最后,将每个数据域及其对应的数值依次写入文件中,完成数据的后处理过程。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种IEEE 1394总线数据记录处理系统,该系统用于捕获1394总线上的所有数据包并实时存储到存储单元上后并对数据进行后处理,包含 1394接口单元,该接口单元进一步包含1394链路层控制器和1394总线物理层芯片,用于接收1394总线上所有数据包; 高速数据采集单元,用于从所述1394总线接口单元采集接收到的所有数据; 高速数据存储单元,用于将采集到的数据以足够高的速率存储到硬盘上; 存储单元,用于保存1394总线所有数据,并在需要的时候被回读出来,进行后处理;和后处理单元,用于将记录下来的1394总线原始数据进行后处理,处理成便于识别的数据包格式,并解析出数据包中每个数据域的内容; 其中,所述1394接口单元、高速数据采集单元、高速磁盘接口单元和存储单元均插入PC机主板内部总线插槽内,或嵌入式设备的本地总线上,采用总线进行相互通信;且所述IEEE 1394总线数据记录处理系统还包含PC机系统内存和CPU。
2.根据权利要求I所述的IEEE1394总线数据记录处理系统,其特征在于,所述1394链路层控制器包括主机接口、链路层核心模块、数据缓冲与路由控制模块、高速数据接口模块和配置寄存器;外部CPU通过所述的主机接口可以读写配置寄存器、存取数据缓冲与路由控制模块中的数据缓冲区;所述的数据缓冲与路由控制模块处于链路层核心模块和主机接口及高速数据接口之间,用于提供不同收发数据通道间的切换控制,其中,所述的数据缓冲与路由控制模块还使用了两个异步先入先出存储器,分别用于收发数据的缓冲和跨时钟域数据的同步;所述的配置寄存器用于提供对链路层核心模块、数据缓冲与路由控制模块的初始配置和控制,通过所述的主机接口读写配置寄存器来实施控制和获取链路层控制器各模块的工作状态; 所述的链路层核心模块,用于实现IEEE1394总线协议中链路层的所有功能,包括物理层链路层接口、数据缓冲处理单元、数据包收发单元、循环冗余校验单元以及循环控制器; 所述的物理层链路层接口,用于提供IEEE1394总线协议规定的链路层与物理层间的标准接口 ; 所述的数据缓冲处理单元,使用一个异步先入先出存储器为收发数据包提供数据缓冲功能; 所述的数据包收发单元是链路层核心模块的核心,通过双向数据线与数据缓冲处理单元、循环冗余校验单元、循环控制器以及数据缓冲与路由控制模块相连; 所述循环冗余校验单元,用于提供收发数据时的循环冗余校验功能; 所述循环控制器,包括循环定时器和循环监视器,用于等时服务; 在发送数据包时,通过主机接口写入指定格式的数据包到数据缓冲与路由控制模块;再通过数据缓冲与路由控制模块的异步先入先出存储器实现数据的缓冲、多时钟域数据的同步以及数据路由的控制;然后,进入链路层核心模块,按照IEEE1394总线协议中不同类型数据包的格式进行数据的组帧和循环冗余校验;最后通过物理层链路层接口向物理层发出相应类型的总线申请;该链路层芯片所在节点获取总线控制权后,开始通过物理层链路层接口按照指定的速度转发数据包到串行总线; 数据包发送完成后,如果发送的是非广播异步包,则等待目的节点返回确认包,如果该链路层控制芯片所在节点是循环控制器,还会产生并发送循环开始包到总线; 在接收数据包时,通过物理层链路层接口接收物理层转发的,在串行总线上传输的数据包,在链路层核心模块,所述数据包收发单元对接收的数据包进行地址和数据包类型的译码,如果该数据包的目的节点不是本节点,则放弃数据包的接收;否则,开始接收数据包并进行CRC校验,如校验错误则放弃数据包的接收,如正确则把接收的数据按照指定的格式输出到数据缓冲与路由控制模块,在该模块中完成多时钟域数据的同步和缓冲,并根据路由控制,通过主机接口输出数据到事务层或应用程序;如果接收到的是非广播异步包,完成数据包接收后,链路层核心模块返回一个确认包到串行总线。
3.根据权利要求I所述的IEEE1394总线数据记录处理系统,其特征在于,所述IEEE1394总线数据记录系统还包含显示单元。
4.根据权利要求I所述的IEEE1394总线数据记录处理系统,其特征在于,所述1394总线上的所有数据包包括主数据包、物理层数据包和响应数据包。
5.根据权利要求3所述的IEEE1394总线数据记录处理系统,其特征在于, 所述主数据包包括异步四字节写请求包,异步数据块写请求包,异步写响应包,异步四字节读请求包,异步数据块读请求包,异步四字节读响应包,异步数据块读响应包,异步数据块读响应包、循环开始包、锁定请求包、异步数据流包、等时包和锁定响应包; 所述物理层数据包包括物理层数据包包括自标识数据包、开启链路包、物理层配置包、试通包、远程存取包、远程应答包、远程命令包、远程确认包和恢复包。
6.根据权利要求I所述的IEEE1394总线数据记录处理系统,其特征在于,所述存储单元的存储容量可以扩展。
7.根据权利要求I所述的IEEE1394总线数据记录处理系统,其特征在于,所述高速数据接口模块采用并行的数据输入接口,位宽为32位。
8.根据权利要求I所述的IEEE1394总线数据记录处理系统,其特征在于,所述高速数据采集采用双缓冲区模式。
9.根据权利要求I所述的IEEE1394总线数据记录处理系统,其特征在于,所述存储单元采用硬盘或者硬盘阵列。
10.根据权利要求8所述的IEEE1394总线数据记录处理系统,其特征在于,所述硬盘采用转速大于10000转每分钟的硬盘,且硬盘的接口采用具有SCSI接口的硬盘。
11.一种IEEE 1394总线数据记录处理方法,该方法采用权利要求I所述的系统,包含数据记录的步骤和针对记录的数据进行后处理的步骤 其中,所述数据记录的步骤进一步包含如下步骤 1)1394总线接口芯片将工作模式设置为接收所有的数据; 2)根据系统资源,设置高速采集单元为接收模式并设置缓冲区的大小; 3)设置硬盘上存储的数据文件的大小和存储的磁盘分区; 4)启动高速采集单元,开始接收1394总线接口单元接收到数据包;同时在磁盘上生成一个原始数据文件,当数据累积到前面设置的数据文件的大小的时候,完成数据在磁盘上的存储,关闭数据文件;同时生成新的数据文件,这个步骤一直继续下去; 5)当不需要再记录数据的时候,所述高速数据采集单元不再接收1394总线接口单元接收到的数据包,同时磁盘停止存储数据文件;所述数据后处理步骤进一步包含如下步骤 首先将接收到的所有数据打开;然后,CPU依次读取文件的数据内容;每读4字节数据,和IEEE 1394标准定义的各种数据包的包头进行比较,确定数据包的种类;如果需要则再读取4字节数据,直到能判断出数据种类为止;在确定数据包种类的以后,从中提取出数据包大小字段,按照该数据包的大小读取相应字节数量的数据;如果该类型的数据包不是希望处理的数据包类型,则直接跳过该段数据,处理后面的数据;接着,根据IEEE 1394标准中该种类数据包格式的定义,对照数据,获得数据包中每一个数据域对应的数值;最后,将每个数据域及其对应的数值依次写入文件中,完成数据的后处理过程。
12.根据权利要求11所述的IEEE1394总线数据记录处理方法,其特征在于,所述1394总线上的所有数据包包括主数据包、物理层数据包和响应数据包。
13.根据权利要求11所述的IEEE1394总线数据记录处理方法,其特征在于, 所述主数据包包括异步四字节写请求包,异步数据块写请求包,异步写响应包,异步四字节读请求包,异步数据块读请求包,异步四字节读响应包,异步数据块读响应包,异步数据块读响应包、循环开始包、锁定请求包、异步数据流包、等时包和锁定响应包; 所述物理层数据包包括物理层数据包包括自标识数据包、开启链路包、物理层配置包、试通包、远程存取包、远程应答包、远程命令包、远程确认包和恢复包。
14.根据权利要求11所述的IEEE1394总线数据记录处理方法,其特征在于,所述存储单元的存储容量可以扩展。
15.根据权利要求11所述的IEEE1394总线数据记录处理方法,其特征在于,所述存储单元采用硬盘或者硬盘阵列。
全文摘要
本发明公开了一种IEEE 1394总线数据记录处理系统和方法,该系统用于捕获1394总线上的所有数据包并实时存储到存储单元上后对数据进行分析处理,包含1394接口单元,该接口单元包含1394链路层控制器和1394总线物理层芯片,用于接收1394总线上所有数据包;高速数据采集单元,用于从所述1394总线接口单元采集接收到的所有数据;高速数据存储单元,用于将采集到的数据以足够高的速率存储到硬盘上;存储单元,用于保存1394总线所有数据,并在需要的时候被回读出来,进行后处理;和后处理单元;其中,所述1394链路层控制器包括主机接口、链路层核心模块、数据缓冲与路由控制模块、高速数据接口模块和配置寄存器。
文档编号H04L12/40GK102761466SQ20111010337
公开日2012年10月31日 申请日期2011年4月25日 优先权日2011年4月25日
发明者孙辉先, 曹松, 陈晓敏 申请人:中国科学院空间科学与应用研究中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1