技术领域
[0001] 本申请涉及数据处理技术领域,尤其涉及一种基于命令行的ECU访问方法、系统、设备及存储介质。
相关背景技术
[0002] 随着汽车电子技术的快速发展,车载ECU(Electronic Control Unit,电子控制单元)在现代车辆中的应用日益普遍且复杂,ECU作为车辆各子系统的中枢控制器,其功能配置、故障诊断以及软件升级等操作的重要性日益凸显。当前,业界普遍采用UDS(Unified Diagnostic Services,统一诊断服务)协议进行ECU的访问和交互,该协议通过定义明确的服务号、操作码及服务参数来描述一组特定操作,实现了对ECU的多种功能性操作。
[0003] 然而,现有的基于UDS协议的ECU访问方式仍存在若干问题:一、操作效率低,在实际应用过程中,操作人员需深入理解和熟练掌握UDS协议才能高效使用,对于查阅相关技术手册、识别并输入服务号和操作码的过程耗时且繁琐;二、数据可读性差,当通过CAN(Controller Area Network,控制器局域网络)总线采集器进行数据读取时,原始数据显示通常为16进制格式,不易直接解读,对于一些特定服务,上位机可以进行解析,但这依赖于上位机的实现;三、难以实现批量操作与操作脚本化,现行的UDS协议框架并不利于执行批量操作或编写脚本进行自动化访问,在大规模生产和后期维护阶段会增加工作量。因此,现有的ECU访问方式便利性较差。
具体实施方式
[0024] 以下将参照附图和优选实施例来说明本申请的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本申请,而不是为了限制本申请的保护范围。
[0025] 需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,遂图示中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0026] 在下文描述中,探讨了大量细节,以提供对本申请实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本申请的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本申请的实施例难以理解。
[0027] 对于ECU的访问与交互,通常利用UDS协议实现,该协议通过定义明确的服务号、操作码及服务参数来描述一组特定操作,实现了对ECU的多种功能性操作。但经本申请发明人研究发现,现有的基于UDS协议的ECU访问方式仍存在若干问题:一、操作效率低,在实际应用过程中,操作人员需深入理解和熟练掌握UDS协议才能高效使用,对于查阅相关技术手册、识别并输入服务号和操作码的过程耗时且繁琐;二、数据可读性差,当通过CAN总线采集器进行数据读取时,原始数据显示通常为16进制格式,不易直接解读,对于一些特定服务,上位机可以进行解析,但这依赖于上位机的实现;三、难以实现批量操作与操作脚本化,现行的UDS协议框架并不利于执行批量操作或编写脚本进行自动化访问,在大规模生产和后期维护阶段会增加工作量。因此,现有的ECU访问方式便利性较差。
[0028] 由此,请参见图1,图1是本申请的一示例性实施例示出的基于命令行的ECU访问系统的实施环境示意图。如图1所示,该实施环境包括计算机110和车辆120,其中,计算机110可以是台式图形处理器(Graphic Processing Unit,GPU)计算机、GPU计算集群、神经网络计算机等中的至少一种,该计算机110用于对车辆120中的ECU进行访问,以命令行的方式访问ECU,利用命令行易学易用易理解易扩展的特点降低ECU中不同业务访问的繁琐程度,另外,通过数据转化器将以太网数据的访问命令转换为CAN数据,使得ECU可以直接基于CAN数据快速进行访问反馈,能够提升ECU访问操作的便利性。
[0029] 请参见图2,图2是本申请的一示例性实施例示出的基于命令行的ECU访问方法的流程图。该方法可以应用于图1所示的实施环境,应理解的是,该方法也可以适用于其他的示例性实施环境,本实施例不对该方法所适用的实施环境进行限制。
[0030] 如图2所示,在一示例性的实施例中,基于命令行的ECU访问方法至少包括步骤S210至步骤S240,详细介绍如下:
[0031] 步骤S210,预先配置数据转换器,以使数据转换器包含配置为以太网通讯的第一接口与配置为CAN通讯的第二接口,其中,数据转换器为以太网‑CAN转换器。
[0032] 需要说明的是,数据转换器用于实现不同数据传输格式之间的转换,另外,在计算机端,以太网是最普遍的局域网技术,在车端,CAN总线是常见的车内通信协议,因此,在本申请实施例中,数据转换器为以太网‑CAN转换器,可以实现以太网数据和CAN数据之间的转换。
[0033] 在一可能的实施例中,数据转换器包括一片带以太网和CAN控制器的单片机,一片或多片物理层CAN收发器,一片物理层以太网收发器。这样,总体硬件成本低,且软件开发难度小。
[0034] 在一可能的实施例中,数据转换器利用现有的带以太网和CAN的控制器来做扩展。首先选择一个以太网到CAN或CAN到以太网的数据转换器,如带有集成CAN控制器和以太网接口的设备,确保它支持必要的CAN协议与以太网标准,然后将CAN总线端口通过双绞线或屏蔽双绞线连接到需要扩展的CAN设备上,接着将转换器的以太网端口通过标准的网线连接到计算机的以太网接口上,进一步配置转换器,设置CAN总线参数(如比特率与终端电阻等)、网络ID(Identity document,身份标识号码)、数据帧格式以及以太网配置(如互联网协议地址、子网掩码与网关等),指定数据包的传输方式,使用TCP(Transmission Control Protocol,传输控制协议)协议,最后在以太网侧配置软件,以实现以太网数据和CAN数据之间的转换。
[0035] 在一可能的实施例中,数据转换器利用CAN采集工具支持以太网的特点,通过上位机的脚本进行扩展。首先编写脚本,初始化配置网络参数和CAN参数,编写逻辑处理接收到的数据,包括解析以太网数据、CAN数据、进行以太网数据与CAN数据的转换等,然后添加错误处理机制,确保脚本在遇到异常情况时不会发生崩溃或产生未预期的行为,接着使用上位机软件提供的调试工具或外部调试器,进行脚本调试,并将调试好的脚本部署到上位机软件中,并配置为自动运行。这样,能够有效利用数据转换器上位机软件的脚本功能,根据实际需求定制化扩展数据转换器功能。
[0036] 步骤S220,通过第一接口建立数据转换器与计算机设备之间的以太网通信链路,以及通过第二接口建立数据转换器与电子控制器之间的CAN通信链路。
[0037] 需要说明的是,在数据转换器上,可以配置多个第一接口和第二接口,具备多个以太网接口能够实现网络的冗余连接、负载均衡或是不同网络间的桥接,具备多个CAN接口可以连接到不同的CAN总线网络,实现多个CAN网络之间的数据转化或集中管理。
[0038] 具体地,通过第一接口建立数据转换器与计算机设备之间的以太网通信链路,包括:启用Telnet客户端与Telnet服务端,其中,Telnet客户端部署在计算机设备中,Telnet服务端部署在数据转换器中;数据转换器接收计算机设备在命令行界面基于Telnet客户端发起的连接请求,其中,连接请求包含数据转换器的IP地址和TCP端口号;数据转换器响应于连接请求,基于IP地址和TCP端口号建立以太网通信链路。
[0039] 在该实施例中,Telnet是一种网络协议,通过TCP/IP(Internet Protocol,互联网协议)网络登录到远程主机上,其提供了一个命令行界面,用户可以在本地终端上输入命令,这些命令会被传输到远程主机上执行,然后将执行结果返回给用户显示。另外,在PC(personal computer,计算机设备)上使用Telnet工具和以太网‑CAN转换器建立TCP连接,以太网‑CAN转换器使用固定的IP地址。
[0040] 在一可能的实施例中,以太网通信链路建立并连接成功后,PC机中Telnet工具进入命令行界面,进入的命令行界面为全局视图,预先配置以太网‑CAN转换器的配置参数,例如比特率、数据帧格式等,这样,便于后续以太网数据与CAN数据之间的转换。
[0041] 具体地,通过第二接口建立数据转换器与电子控制器之间的CAN通信链路,包括:基于以太网通信链路,接收计算机设备在命令行界面发送的CAN参数配置命令,其中,CAN参数配置命令包含CAN通道号和CAN总线标识符;对CAN参数配置命令进行解析,获得CAN通道号和CAN总线标识符;在全局配置视图中,执行CAN参数配置命令,进入CAN通道视图,并根据CAN通道号确定目标通道;将本地视图设置为目标通道,并根据目标通道和CAN总线标识符,建立CAN通信链路。
[0042] 在该实施例中,在该实施例中,以太网‑CAN转换器在全局配置视图中执行CAN参数配置命令,进入CAN通道视图,在该数据转换器支持多路CAN通道的情况下,CAN通道号是待进入的CAN通道,CAN总线标识符表示具体使用哪一个标识符来承载Telnet发送的数据。
[0043] 例如,CAN参数配置命令为interface can CHANNELID‑CANID,在转换器支持多路CAN通道的情况下,其中,CHANNELID是待进入的CAN通道,CANID表示具体使用哪一个CANID来承载Telnet发送的数据。以interface can1‑723为例,表示进入can1‑723视图,在该视图下执行的命令将发送到can通道1,发送的CANID为723,在PC中的Telnet工具输入interface can命令后,PC将该命令字符串通过以太网发送到数据转换器中,数据转换器收到该命令后,将本地视图设置为can通道1,CANID为723,后续在此视图下接收到的Telnet命令将直接转换成CAN帧发送到ECU。
[0044] 还需要说明的是,PC与数据转换器之间建立以太网通信链路以及数据转换器与ECU之间建立CAN通信链路后,在PC的CAN通道视图中输入一个ECU访问命令,数据转换器接收到该命令后,将直接从本地视图设置的CAN通道将命令以CAN帧的格式发送至ECU。
[0045] 步骤S230,基于以太网通信链路,接收计算机设备发送的携带有访问命令的以太网数据,并对以太网数据进行数据格式转换,获得CAN数据,其中,访问命令为计算机设备以命令行的方式生成。
[0046] 在计算机设备中,基于Telnet工具提供的命令行界面生成访问命令,并通过以太网通信链路发送至数据转化器,数据转换器在接收到计算机设备发送的携带有访问命令的以太网数据后,便会对以太网数据进行数据格式转换,获得CAN数据该CAN数据同样携带有CAN帧格式的访问命令。
[0047] 具体地,并对以太网数据进行数据格式转换,获得CAN数据,包括:在本地视图下,对以太网数据进行解析,提取出以太网数据中的初始有效载荷数据;根据CAN协议,对初始有效载荷数据进行数据格式转换,获得目标有效载荷数据;根据CAN通道号、CAN总线标识符、目标有效载荷数据与CAN协议构建获得CAN数据。
[0048] 在该实施例中,有效载荷数据是指在数据传输中,实际携带或传输的信息内容部分,即除去协议的开销、标头信息、地址信息或控制信息之后的数据部分,表征具体的访问操作。数据转换器在本地视图下,对以太网数据进行解析,提取出以太网数据中的初始有效载荷数据,即以太网数据格式的有效载荷数据,然后根据CAN协议,对初始有效载荷数据进行数据格式转换,获得目标有效载荷数据,即CAN数据格式的有效载荷数据,最后根据CAN通道号、CAN总线标识符、目标有效载荷数据与CAN协议构建获得CAN数据,其中,CAN协议提供了报文结构,基于该报文结构构建获得最终的CAN数据。
[0049] 在一实施例中,访问命令的生成,包括:获取电子控制器所支持的访问业务和访问业务对应的命令,生成命令列表;遍历命令列表,并对初始help命令进行配置,获得目标help命令,其中,目标help命令配置在命令行界面中;确定目标访问业务,并调用目标help命令,获取目标访问业务对应的目标命令,生成访问命令。
[0050] 在该实施例中,在命令行界面中配置了一个help命令,通过执行help命令可以显示ECU支持的所有访问业务及其对应的命令,在命令行界面输入help命令,可以查看所有业务命令及其对应的命令,通过help命令帮助生成访问命令,这样可以最大程度地降低熟悉各访问业务对应的命令的时间成本。
[0051] 步骤S240,基于CAN通信链路,将CAN数据传输至电子控制器,对电子控制器进行访问。
[0052] 数据转换器在获得CAN数据后,直接基于CAN通信链路将CAN数据传输至电子控制器,以进行ECU的访问。
[0053] 在一实施例中,对电子控制器进行访问,包括:通过电子控制器识别CAN数据中的CAN总线标识符,获得识别后的第一标识符;将第一标识符与电子控制器预先存储的第二标识符进行比对,判断第一标识符与第二标识符是否一致;若一致,则确定CAN数据是否为目标数据,并对CAN数据进行解析,提取出目标有效载荷数据;根据目标有效载荷数据调用目标命令回调函数,执行目标有效载荷数据对应的操作,其中,有效载荷数据与命令回调函数为一一对应关系。
[0054] 在该实施例中,ECU接收到CAN数据后,会对CAN数据中的CAN总线标识符进行识别,获得识别后的第一标识符,并将第一标识符与其预先存储的第二标识符进行比对,若两个标识符一致,表明该数据是携带访问命令的数据,即目标数据,则对CAN数据进行解析,提取出目标有效载荷数据,以根据目标有效载荷数据调用对应的目标命令回调函数,进而执行目标有效载荷数据对应的操作。
[0055] 进一步地,在执行目标有效载荷数据对应的操作之后,还包括:根据目标有效载荷数据确定访问命令的命令类型,其中,命令类型包括查询命令和设置命令;若命令类型为查询命令,则通过数据转换器对操作获得的查询结果进行数据格式转换,并返回至计算机设备;若命令类型为设置命令,且操作执行失败,则生成失败信息,并通过数据转换器对失败信息进行数据格式转换,并返回至计算机设备。
[0056] 在该实施例中,若该访问命令是查询命令,或者该访问命令执行失败,ECU则需要返回相关信息至PC,以进行访问结果的反馈,应当理解的是,在访问命令是设置命令且执行成功时不需要反馈结果,若PC未接收到设置命令的结果反馈,则默认设置成功。
[0057] 还需要说明的是,查询命令例如读取ECU中故障码、数据流或车辆信息等命令,设置命令例如对ECU进行参数调整、刷写或者阈值设置等命令。
[0058] 请参见图3,图3是本申请的一示例性实施例示出的另一种基于命令行的ECU访问方法的流程图。如图3所示,PC中配置有Telnet客户端,以太网‑CAN转换器中配置有Telnet服务端,Telnet服务端接Telnet客户端发起的连接请求,建立起PC与以太网‑CAN转换器的以太网通信链路,另外在以太网‑CAN转换器中还配置有CAN收发器,在ECU中也配置有CAN收发器,在以太网‑CAN转换器与ECU之间建立起CAN通信链路后,通过CAN收发器进行CAN数据的传输,PC通过Telnet服务端发送访问命令(即图中的命令行数据)至以太网‑CAN转换器,此时,命令行数据为以太网数据格式,以太网‑CAN转换器转换获得CAN数据后,将转化为CAN数据的命令行数据发送至ECU。
[0059] 请继续参见图3,在一可能的实施例中,ECU中还配置有CAN收发模块、命令行模块和业务模块,由CAN收发器接收CAN数据后直接发送CAN收发模块,由CAN收发模块识别CAN数据中的CAN总线标识符,获得识别后的第一标识符,并将第一标识符与电子控制器预先存储的第二标识符进行比对,判断第一标识符与第二标识符是否一致,一致时,将CAN数据发送至命令行模块,命令行模块在接收到回车换行符号后,认为已经接收到一个完整的访问命令,随即解析该CAN数据,提取出目标有效载荷数据,并根据目标有效载荷数据调用目标命令回调函数,需要说明的是,命令回调函数在业务模块初始化的时候会进行注册,从而执行目标有效载荷数据对应的操作,当该访问命令是查询命令,或者该访问命令执行失败,业务模块需要返回相关信息至PC,业务模块可以直接调用CAN收发模块,通过CAN收发器提供的CAN发送接口进行回显信息发送,直接发送给以太网‑CAN转换器,以太网‑CAN转换器将其转换成以太网数据发送给PC。
[0060] 需要说明的是,在ECU中CAN收发器、CAN收发模块分别为硬件和软件,其中,CAN收发器用于接收物理上的CAN数据,CAN收发模块进行数据处理,用于识别CAN数据中的标识符并进行比对。
[0061] 在一可能的实施例中,在Telnet工具和以太网‑CAN转换器建立连接后,ECU可以主动发送信息到Telnet客户端,用于ECU调试,通过完善调试信息,在业务逻辑关键过程中添加跟踪信息,在调试该业务逻辑时,通过命令行打开对应调试开关,及逆行业务过程追踪,监控ECU故障情况。
[0062] 在一可能的实施例中,在进行单元测试的时候,创建测试函数时,基于命令行作为测试函数的入口,通过测试命令的执行来实现单元测试。
[0063] 在一可能的实施例中,通过脚本语言,例如python,将命令行的命令组织起构建自动化测试环境,可以通过命令行的回显来判断ECU测试是否通过。
[0064] 上述的基于命令行的ECU访问方法,预先配置数据转换器,以使数据转换器包含配置为以太网通讯的第一接口与配置为CAN通讯的第二接口,该数据转换器为以太网‑CAN转换器,并通过第一接口建立数据转换器与计算机设备之间的以太网通信链路,以及通过第二接口建立数据转换器与电子控制器之间的CAN通信链路,然后基于以太网通信链路,接收计算机设备发送的携带有访问命令的以太网数据,并对以太网数据进行数据格式转换,获得CAN数据,该访问命令为计算机设备以命令行的方式生成,最后基于CAN通信链路,将CAN数据传输至电子控制器,对电子控制器进行访问,以命令行的方式访问ECU,命令行易学易用易理解易扩展的特点降低了ECU中不同业务访问的繁琐程度,另外,通过数据转化器将以太网数据的访问命令转换为CAN数据,使得ECU可以直接基于CAN数据快速进行访问反馈,提升了ECU访问操作的便利性。
[0065] 请参见图4,图4是本申请的一示例性实施例示出的基于命令行的ECU访问系统的框图。该系统可以应用于图1所示的实施环境,应理解的是,该系统也可以适用于其他的示例性实施环境,本实施例不对该系统所适用的实施环境进行限制。
[0066] 如图4所示,在一示例性的实施例中,基于命令行的ECU访问系统400至少包括配置模块410、连接模块420、转换模块430与访问模块440,详细介绍如下:
[0067] 配置模块410,用于预先配置数据转换器,以使数据转换器包含配置为以太网通讯的第一接口与配置为CAN通讯的第二接口,其中,数据转换器为以太网‑CAN转换器;
[0068] 连接模块420,用于通过第一接口建立数据转换器与计算机设备之间的以太网通信链路,以及通过第二接口建立数据转换器与电子控制器之间的CAN通信链路;
[0069] 转换模块430,用于基于以太网通信链路,接收计算机设备发送的携带有访问命令的以太网数据,并对以太网数据进行数据格式转换,获得CAN数据,其中,访问命令为计算机设备以命令行的方式生成;
[0070] 访问模块440,用于基于CAN通信链路,将CAN数据传输至电子控制器,对电子控制器进行访问。
[0071] 需要说明的是,上述实施例所提供的基于命令行的ECU访问系统与上述实施例所提供的基于命令行的ECU访问方法属于同一构思,其中各个模块执行操作的内容已经在方法实施例中进行了详细描述,此处不再赘述。
[0072] 请参见图5,图5是本申请的一实施例提供的电子设备的一种结构示意图。图5示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。需要说明的是,图5示出的电子设备的计算机系统500仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
[0073] 如图5所示,计算机系统500包括中央处理单元(Central Processing Unit,CPU)501,其可以根据存储在只读存储器(Read‑Only Memory,ROM)502中的程序或者从储存部分
508加载到随机访问存储器(Random Access Memory,RAM)503中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM 503中,还存储有系统操作所需的各种程序和数据。CPU501、ROM 502以及RAM503通过总线504彼此相连。输入/输出(Input/Output,I/O)接口505也连接至总线504。
[0074] 以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分507;包括硬盘等的储存部分508;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入储存部分508。
[0075] 特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的系统中限定的各种功能。
[0076] 本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机的处理器执行时,使计算机执行如上述的基于命令行的ECU访问方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
[0077] 需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read‑Only Memory,CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
[0078] 附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0079] 描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
[0080] 上述实施例仅示例性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。