本发明涉及通信技术领域,特别涉及一种基于FlexRay总线的通信方法、装置及系统。
背景技术:
FlexRay是一种用于汽车的高速的、可确定性的、具备故障容错能力的总线技术,它将事件触发和时间触发两种方式相结合,具有高效的网络利用率和系统灵活性,可以作为汽车内部网络的主干网络。FlexRay总线通信系统,可用于FlexRay总线的仿真和数据采集,基于FlexRay总线实现高效、高带宽以及高稳定性的通信。
目前,FlexRay总线通信系统主要包括两种:第一种主要由主机PC、控制器和协议芯片构成,主机PC以控制器为通道读写协议芯片内部的总线数据;第二种主要由主机PC和FPGA等大型可编程逻辑器件构成,不使用协议芯片,协议的编解码、数据的处理和与主机PC之间的通信都在FPGA中实现。
第一种FlexRay总线通信系统中设置有协议芯片,不需要开发总线协议的具体内容,着眼于协议芯片的接口时序即可,可以缩短开发周期,但是控制器只作为主机PC和协议芯片间的通道存在,协议芯片的中断和数据的处理都通过主机PC来实现,通信带宽会严重受到主机PC的性能限制;而且主机PC在处理中断时需要以控制器为通道从协议芯片内部的寄存器中频繁读取数据,一个数据包中有多少个数据就需要读取多少次,导致数据处理的周期过长,会严重影响通信带宽,甚至出现丢包现象。
第二种FlexRay总线通信系统是通过FPGA来进行总线协议的编解码和数据的处理,然后FPGA再与主机PC之间进行通信,主机PC处理中断时只需要一次性从FPGA中读取一整包的数据,减少了主机PC与协议芯片之间的频繁读写交互,可以解决第一种FlexRay总线通信系统中的通信带宽会严重受到主机PC的性能限制和数据处理的周期过长的问题,但是由于没有设置协议芯片,需要为FPGA开发总线协议的具体内容,会导致开发周期过长,而且不便于其他总线类型的程序的复用和移植。
因此,现有技术中缺乏一种既能进行高速通信,又能缩短开发周期的基于FlexRay总线的通信方法、装置及系统。
技术实现要素:
有鉴于此,本发明提供了一种基于FlexRay总线的通信方法、装置及系统,可以在实现高速通信的同时,缩短开发周期。
为实现上述目的,本发明提供如下技术方案:
一种基于FlexRay总线的通信方法,包括:
在接收到协议芯片发送的中断请求后,读取所述协议芯片从FlexRay总线中接收并解码的第一总线数据;
将从所述协议芯片中读取的所述第一总线数据进行组包,生成第一总线数据包;
以直接内存存取DMA的方式将所述第一总线数据包上传到主机PC中。
优选地,还包括:
在接收到所述主机PC发送的第二总线数据后,将所述第二总线数据发送给所述协议芯片,以使所述协议芯片对所述第二总线数据进行编码,并将编码后的所述第二总线数据发送到所述FlexRay总线中。
一种基于FlexRay总线的通信装置,包括:
读取模块,用于在接收到协议芯片发送的中断请求后,读取所述协议芯片从FlexRay总线中接收并解码的第一总线数据;
组包模块,用于将从所述协议芯片中读取的所述第一总线数据进行组包,生成第一总线数据包;
第一发送模块,用于以直接内存存取DMA的方式将所述第一总线数据包上传到主机PC中。
优选地,还包括:
接收模块,用于接收所述主机PC发送的第二总线数据;
第二发送模块,用于在接收到所述主机PC发送的第二总线数据后,将所述第二总线数据发送给所述协议芯片,以使所述协议芯片对所述第二总线数据进行编码,并将编码后的所述第二总线数据发送到所述FlexRay总线中。
一种基于FlexRay总线的通信系统,包括:
协议芯片、现场可编程门阵列FPGA和主机PC;
所述协议芯片用于从所述FlexRay总线中接收并解码第一总线数据,且在解码所述第一总线数据后向所述FPGA发送中断请求;
所述FPGA用于在接收到所述协议芯片发送的中断请求后,读取所述协议芯片解码的所述第一总线数据,将从所述协议芯片中读取的所述第一总线数据进行组包,生成第一总线数据包,并以直接内存存取DMA的方式将所述第一总线数据包上传到所述主机PC中。
优选地,所述FPGA还用于:
在接收到所述主机PC发送的第二总线数据后,将所述第二总线数据发送给所述协议芯片,以使所述协议芯片对所述第二总线数据进行编码,并将编码后的所述第二总线数据发送到所述FlexRay总线中。
优选地,还包括:
总线接口预处理模块,用于按照所述协议芯片的接口要求对所述FlexRay总线的电平进行转换,将从所述FlexRay总线接收的所述第一总线数据输入到所述协议芯片中进行解码,并按照所述FlexRay总线的电气标准将所述协议芯片编码之后的所述第二总线数据输出到所述FlexRay总线中。
优选地,还包括:
CPCI接口模块,用于实现所述FPGA与所述主机PC之间的硬件连接。
优选地,所述FPGA包括:
中断处理模块,用于对所述协议芯片发送的所述中断请求进行处理;
协议芯片接口控制模块,用于按照所述协议芯片的接口要求完成对所述协议芯片中的寄存器的读写时序控制,以从所述协议芯片中读取所述第一总线数据或者将所述第二总线数据发送给所述协议芯片;
CPCI接口控制模块,用于按照所述CPCI接口模块的接口要求完成与所述主机PC之间的寄存器读写控制和DMA通信控制;
DMA数据处理上传模块,用于将从所述协议芯片中读取的所述第一总线数据进行组包,生成第一总线数据包,并以直接内存存取DMA的方式将所述第一总线数据包上传到所述主机PC中。
优选地,所述协议芯片为MFR4310芯片。
通过本申请提供的基于FlexRay总线的通信方法、装置及系统,在接收到协议芯片发送的中断请求后,读取所述协议芯片从FlexRay总线中接收并解码的第一总线数据;将从所述协议芯片中读取的所述第一总线数据进行组包,生成第一总线数据包;以直接内存存取DMA的方式将所述第一总线数据包上传到主机PC中。可见,本申请提供的技术方案中,使用协议芯片完成总线数据的编解码,可以将开发重点放在总线通信的数据处理上,节省总线协议上的开发时间,缩短开发周期;而且,本申请方案并不通过主机PC直接操作协议芯片,而是在接收到协议芯片的中断请求后,读取所述协议芯片从FlexRay总线中接收并解码的第一总线数据,并对第一总线数据进行组包,通过DMA的方式将第一总线数据包一次上传给主机PC,主机PC不需要处理中断,也不需要从协议芯片中读取第一总线数据,只需要接收第一总线数据包,可以节省主机PC的性能,避免主机PC性能对通信带宽的限制,同时组包和DMA的方式可以减少主机PC与协议芯片之间的频繁读写交互,能够大大简化主机PC与协议芯片之间的通信流程,缩短一个数据处理周期需要的时间,保证设备的带宽和速率,满足高速通信的要求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一具体实施例提供的基于FlexRay总线的通信方法的流程示意图;
图2是本发明第二具体实施例提供的基于FlexRay总线的通信装置的结构示意图;
图3是本发明第三具体实施例提供的基于FlexRay总线的通信系统的结构示意图;
图4是本发明第四具体实施例提供的基于FlexRay总线的通信系统的结构示意图。
具体实施方式
本发明提供了一种基于FlexRay总线的通信方法,以及一种基于FlexRay总线的通信装置及系统,能够在实现高速通信的同时,缩短开发周期。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1是本发明第一具体实施例提供的基于FlexRay总线的通信方法的流程示意图。
本发明第一具体实施例提供的基于FlexRay总线的通信方法,应用于下位机的控制器FPGA中,包括以下步骤:
S101:在接收到协议芯片发送的中断请求后,读取所述协议芯片从FlexRay总线中接收并解码的第一总线数据;
在本申请实施例中,协议芯片负责完成总线数据的编解码,通过中断方式与FPGA进行通信,协议芯片在接收到第一总线数据后向FPGA发起中断请求,由FPGA对中断源进行判断,读取协议芯片从FlexRay总线中接收并解码的第一总线数据。本申请实施例使用协议芯片完成总线数据的编解码,可以将开发重点放在总线通信的数据处理上,节省总线协议上的开发时间,缩短开发周期。
FPGA在接收到中断请求后,可以执行如下步骤:
(1)判断中断源:
(2)读MB配置RAM,具体为:在板卡启动并初始化时由软件设定此次通信网络中使用到的mb_num,FPGA将此一系列的配置信息写入内部的RAM中,当接收到中断后首先读取此RAM中的值;
其中:MB为消息缓存,mb_num为MB的序号,RAM为随机存储器;
(3)读MBCCSR值,具体为:读取此寄存器中的第9位MBCCSR[8]:MBIE、第5位MBCCSR[4]:DUP、第4位MBCCSR[3]:DVAL和第1位MBCCSR[0]:MBIF,
其中:MBSCCR为消息缓存配置、控制、状态寄存器,MBIE为消息中断使能,DUP为帧头和消息缓存域被更新,DVAL为消息缓存数据域中包含有效帧,MBIF为消息中断标志;
(4)通过读取到的MBIE、DUP、DVAL和MBIF判断此MB中的数据帧是否为有效数据帧;
若是有效的数据帧,将mb_num和有效数据帧标志写入到Node_MB_INT MSG中,则执行步骤(5);若不是则执行步骤(6),其中,Node_MB_INT MSG的含义是节点中断信息寄存器;
(5)得到mb_num,具体为在步骤(2)中从MB配置RAM中取出来的值即是此次中断源的mb_num,然后跳转至步骤(9);
(6)读MBIDXR值,具体为读取此寄存器中的MBIDX值,其中,MBIDXR的含义是消息缓存索引寄存器,MBIDX的含义是消息缓存索引值。
(7)读slot_Status值,具体为读取此寄存器的第16位VFB和第8位VFA,其中,slot_Status的含义是时隙状态寄存器,VFB的含义是通道B上有效帧,VFA的含义是通道A上有效帧。
(8)判断MBSCCSR[0]&(Slot[7]‖Slot[15])?具体为:MBIF为1,即中断标志位有效,并且VFB或VFA中至少有一个为1,即通道A或通道B中至少有一个通道有有效帧;
若满足上述条件,则认为是接收到了有效的空帧,将mb_num和空数据帧标志写入到Node_MB_INT MSG中,跳转至步骤(5),若不满足条件,跳转至步骤(2)继续判断下一个MB信息;
(9)将MBCCSR[9]=1写入MBCCSR,具体为:保持MBCCSR寄存器中的其他值不变,解锁消息缓存,其中,MBCCSR[9]是LCKT,含义是锁定或者解锁消息缓存;
(10)再次读取MBSSCR值,并将此值缓存在MBCCSR_temp2中。
在中断处理完成后,FPGA还需要清中断标志位:
(11)MBCCSR=MBCCSR&0xf900,具体为:设置即将写入MBCCSR中的值,其中,MBCCSR=MBCCSR&0xf900的含义是保持MBCCSR寄存器中的其他位不变,将MBIF位置1;
(12)将MBCCSR[0]=1写入MBCCSR,具体为:清除消息缓存中断标志位。
S102:将从所述协议芯片中读取的所述第一总线数据进行组包,生成第一总线数据包;
在现有技术中,下位机的处理器通常是使用单片机,协议芯片在发送中断请求后,主机PC在处理中断时需要以单片机为通道直接对协议芯片内部的寄存器进行读写,以寄存器读取的方式将总线数据一个一个读回,再由主机PC的软件处理部分对总线数据进行组包。这需要主机PC从协议芯片内部的寄存器中频繁读取数据,一个数据包中有多少个数据就需要读取多少次,导致数据处理的周期过长,会严重影响通信带宽,甚至出现丢包现象。
在本申请实施例中,下位机的处理器使用FPGA,协议芯片在发送中断请求后,是由FPGA处理中断,将第一总线数据从协议芯片中读回后进行组包,生成第一总线数据包。在处理中断、读取第一总线数据以及组包生成第一总线数据包的过程中并不需要主机PC的参与,可以节省主机PC性能,避免主机PC的性能对通信带宽的限制。
S103:以直接内存存取DMA的方式将所述第一总线数据包上传到主机PC中。
FPGA在将第一总线数据进行组包,生成第一总线数据包后,以直接内存存取DMA的方式将所述第一总线数据包一次上传到主机PC中,可以减少与主机PC之间的数据交互,从而减少主机PC接收数据的次数,缩短主机PC接收数据的时间,降低对通信带宽的影响。
FPGA在以直接内存存取DMA的方式将所述第一总线数据包上传到主机PC中时,可以执行如下步骤:
(13)判断MBCCSR_temp2[1]是否被锁定,具体为:判断此时消息缓存是否处于被锁定状态,其中,MBCCSR_temp2[1],即LCKS的含义是当前消息缓存的锁定状态;
若被锁定,则执行步骤(14);若未被锁定,则执行步骤(21);
(14)读取MBIDXR值,具体为:同步骤(6);
(15)读取frame_header和slot_Status值,其中,frame_header的含义是数据帧头信息;
(16)判断Node_MB_INT MSG的数据帧类型;
若为数据帧,则执行步骤(17),若为空帧,则执行步骤(19);
(17)读数据偏移地址DFO,具体为读取DFO寄存器的值,此值就是存储数据的缓存区的地址,其中DFO的含义为数据域偏移地址;
(18)读数据,具体为根据在S305中读到的地址值,向其发送读命令,从中读出FlexRay总线的帧数据。
(19)再次读取MBCCSR值;
(20)同步骤(11);
(21)以DMA方式将数据上传至PC主机,其中DMA的含义是直接存储器读取。
本申请实施例提供的基于FlexRay总线的通信方法,使用协议芯片完成总线数据的编解码,可以将开发重点放在总线通信的数据处理上,节省总线协议上的开发时间,缩短开发周期。
而且,本申请方案并不通过主机PC直接操作协议芯片,而是在接收到协议芯片的中断请求后,读取所述协议芯片从FlexRay总线中接收并解码的第一总线数据,并对第一总线数据进行组包,通过DMA的方式将第一总线数据包一次上传给主机PC,主机PC不需要处理中断,也不需要从协议芯片中读取第一总线数据,只需要接收第一总线数据包,可以节省主机PC的性能,避免主机PC性能对通信带宽的限制。
同时,组包和DMA上传的方式可以减少主机PC与协议芯片之间的频繁读写交互,能够大大简化主机PC与协议芯片之间的通信流程,缩短一个数据处理周期需要的时间,保证设备的带宽和速率,满足高速通信的要求。
可以理解的是,协议芯片不仅会从FlexRay总线中接收并解码第一总线数据,还会向FlexRay总线中发送编码的第二总线数据,此时,FPGA需要接收主机PC发送的第二总线数据,并在接收到所述主机PC发送的第二总线数据后,将所述第二总线数据发送给所述协议芯片,以使所述协议芯片对所述第二总线数据进行编码,并将编码后的所述第二总线数据发送到所述FlexRay总线中。
在本申请实施例中,FPGA在向协议芯片发送第二总线数据时,可以组包发送,也可以不组包发送,在不组包发送时,可以采用寄存器方式将主机PC的第二总线数据发送给协议芯片。
请参阅图2,图2是本发明第二具体实施例提供的基于FlexRay总线的通信装置的结构示意图。
与本发明第一具体实施例中提供的基于FlexRay总线的通信方法相对应,本发明第二具体实施例提供的基于FlexRay总线的通信装置,包括:
读取模块21,用于在接收到协议芯片发送的中断请求后,读取所述协议芯片从FlexRay总线中接收并解码的第一总线数据;
组包模块22,用于将从所述协议芯片中读取的所述第一总线数据进行组包,生成第一总线数据包;
第一发送模块23,用于以直接内存存取DMA的方式将所述第一总线数据包上传到主机PC中。
优选地,还可以包括:
接收模块24,用于接收所述主机PC发送的第二总线数据;
第二发送模块25,用于在接收到所述主机PC发送的第二总线数据后,将所述第二总线数据发送给所述协议芯片,以使所述协议芯片对所述第二总线数据进行编码,并将编码后的所述第二总线数据发送到所述FlexRay总线中。
本申请实施例提供的基于FlexRay总线的通信装置可以是现场可编程门阵列FPGA,通信方法可以采用上述方法实施例中的基于FlexRay总线的通信方法,具体功能可以参照上述方法实施例中的步骤描述,此处不再赘述。
请参阅图3,图3是本发明第三具体实施例提供的基于FlexRay总线的通信系统的结构示意图。
本发明第三具体实施例提供的基于FlexRay总线的通信系统,包括:
协议芯片31、现场可编程门阵列FPGA32和主机PC33;
所述协议芯片31用于从所述FlexRay总线中接收并解码第一总线数据,且在解码所述第一总线数据后向所述FPGA32发送中断请求;
所述FPGA32用于在接收到所述协议芯片31发送的中断请求后,读取所述协议芯片31解码的所述第一总线数据,将从所述协议芯片31中读取的所述第一总线数据进行组包,生成第一总线数据包,并以直接内存存取DMA的方式将所述第一总线数据包上传到所述主机PC33中。
优选地,所述FPGA32还用于:
在接收到所述主机PC33发送的第二总线数据后,将所述第二总线数据发送给所述协议芯片31,以使所述协议芯片31对所述第二总线数据进行编码,并将编码后的所述第二总线数据发送到所述FlexRay总线中。
本申请实施例提供的基于FlexRay总线的通信系统,与上述方法实施例中的基于FlexRay总线的通信方法相对应,具体功能可以参照上述方法实施例中的步骤描述,此处不再赘述。
请参阅图4,图4为本发明第四具体实施例提供的基于FlexRay总线的通信系统的结构示意图。
本发明第四具体实施例提供的基于FlexRay总线的通信系统,包括:
协议芯片31、现场可编程门阵列FPGA32、主机PC33、总线接口预处理模块34、CPCI接口模块35;
所述协议芯片31用于从所述FlexRay总线中接收并解码第一总线数据,且在解码所述第一总线数据后向所述FPGA32发送中断请求;
所述FPGA32用于在接收到所述协议芯片31发送的中断请求后,读取所述协议芯片31解码的所述第一总线数据,将从所述协议芯片31中读取的所述第一总线数据进行组包,生成第一总线数据包,并以直接内存存取DMA的方式将所述第一总线数据包上传到所述主机PC33中。
优选地,所述FPGA32还用于:
在接收到所述主机PC33发送的第二总线数据后,将所述第二总线数据发送给所述协议芯片31,以使所述协议芯片31对所述第二总线数据进行编码,并将编码后的所述第二总线数据发送到所述FlexRay总线中。
总线接口预处理模块34,用于按照所述协议芯片31的接口要求对所述FlexRay总线的电平进行转换,将从所述FlexRay总线接收的所述第一总线数据输入到所述协议芯片31中进行解码,并按照所述FlexRay总线的电气标准将所述协议芯片31编码之后的所述第二总线数据输出到所述FlexRay总线中。
CPCI接口模块35,用于实现所述FPGA32与所述主机PC33之间的硬件连接。
参照图4所示,所述FPGA32中包括:
中断处理模块321,用于对所述协议芯片31发送的所述中断请求进行处理;
协议芯片接口控制模块322,用于按照所述协议芯片31的接口要求完成对所述协议芯片31中的寄存器的读写时序控制,以从所述协议芯片31中读取所述第一总线数据或者将所述第二总线数据发送给所述协议芯片31;
CPCI接口控制模块323,用于按照所述CPCI接口模块35的接口要求完成与所述主机PC33之间的寄存器读写控制和DMA通信控制;
DMA数据处理上传模块324,用于将从所述协议芯片31中读取的所述第一总线数据进行组包,生成第一总线数据包,并以直接内存存取DMA的方式将所述第一总线数据包上传到所述主机PC33中。
在本申请实施例中,可编程逻辑器件FPGA中设置有协议芯片接口控制逻辑、中断处理逻辑、数据收发逻辑、DMA数据上传逻辑、CPCI接口控制逻辑;协议芯片负责完成总线数据的编解码,并通过中断方式与FPGA进行通信;FPGA对协议芯片发起的中断进行处理,完成第一总线数据的接收,并对第一总线数据进行组包,通过DMA方式上传至主机PC,大大的简化了主机PC与协议芯片之间的通信流程,缩短了一个数据处理周期需要的时间,从而实现高速的数据通信。同时可编程逻辑器件FPGA中采用模块化设计,可以很快的对程序进行升级,缩短开发周期,降低硬件重开发成本和数据通信复杂度。
此外,在使用DMA方式的同时,在FPGA中还可以对数据进行组包和超时上传,其中组包和超时的参数均可以开放给用户,组包功能既可以尽可能大的利用DMA的带宽,同时又保证在数据传输的过程中如果主机PC发起了寄存器读取的指令,也能很快的在数据包上传后对读操作进行响应,不会导致死机,配合组包的超时上传功能又可以保证数据包完整不丢失。
本申请实施例使用了协议芯片,所述协议芯片可以采用飞思卡尔的MFR4310芯片,开发重点可以放在FPGA对于总线通信的数据处理上,能够节省总线协议上的开发时间;FPGA不仅实现了协议芯片外围接口控制逻辑,还要实现中断处理、数据处理和DMA上传处理,相对于现有技术中通常使用的DSP和单片机等处理器,可以由单节点控制改进为多节点同时控制,还使用了高速的并行接口对中断和数据按照流程进行快速处理,实现较高的通信带宽,并且通过DMA方式上传到主机PC,处理速率和数据吞吐都可以显著提升,能够实现高速、高效、稳定的FlexRay总线通信;采用CPCI接口与主机相连,CPCI接口模块可以使用9056桥片,相对于现有技术中通常使用的PCI接口,通信带宽可以提升一倍,并且可以快速开发实现DMA功能。
并且,本申请实施例在FPGA将第一总线数据发送给主机PC时采用了DMA的方式,而在FPGA将第二总线数据发送给协议芯片时可以采用寄存器的方式,所以主机PC中软件的工作可以集中在接收总线数据上,更符合FlexRay通信系统特点,并且结合了组包的功能,使得主机PC接收到的都是有效的数据内容,减少主机PC处理中断的次数,性能可以大大提高,使得双向数据通信既独立又高效稳定。
本申请实施例提供的基于FlexRay总线的通信系统,可以采用上述方法实施例中的基于FlexRay总线的通信方法,具体功能可以参照上述方法实施例中的步骤描述,此处不再赘述。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。