背景技术
车载诊断(“OBD”)***允许车辆用户或技术人员获取车辆内有关各个模块和子***的重要信息。多年来,制造商将复杂的OBD***包含在他们的车辆中。这种OBD***通常可以通过位于车辆仪表盘(dash)底部的数据链路连接器(“DLC”)获取。在传统的维修设置中,技术人员采用专用的适于与在车辆的DLC之上的给定的车辆OBD***配合的扫描工具。所述扫描工具能够从所述车辆子***读取用于诊断目的数据,同时也允许根据需要重新编程所述子***。通常这些扫描工具是独立的手持计算设备,但是本领域中有一些公知的基于个人计算机的扫描工具。
第一OBD***,即现在公知的OBD-I,处于监管目的最初用于执行监控车辆的排放控制***。然而,由于车辆内OBD的布置、DLC配置和数据格式缺乏标准化,OBD-I很不成功。
响应于与OBD-I有关的问题,开发了OBD-II。OBD-II在OBD-I的基础上在性能和标准化上都呈现了实质性的改善。所述OBD-II标准规定了诊断连接器及其引出线的类型、可获取的电子信令协议以及消息传送格式。OBD-II也提供用于编程的车辆参数候选列表,连同如何为每个数据编码。OBD-II也采用了标准的DLC-阴极16-引脚(2x8)J1962连接器,如图1所示。与OBD-I连接器有时被发现位于车辆引擎罩的下方不同,OBD-II连接器要求位于驾驶盘2英尺(0.61m)以内,因此它通常位于仪表盘的下方。OBD-II也在连接器中提供从车辆电池为扫描工具供电的引脚,消除了将扫描工具连接到单独单元的需要。最后,所述OBD-II标准提供了大量标准化诊断问题代码的列表。
SAE J1962定义了OBD连接器的位置(例如位于驾驶盘2英尺之内)及其引出线配置,如下:
1.制造商决定。
2.总线正线(用于SAE-J1850PWM和SAE-1850VPW协议)
3.福特DCL(+)阿根廷,巴西(前OBD-II)1997-2000,美国,欧洲等。克莱斯勒CCD总线(+)
4.底盘地线
5.信号地线
6.CAN高(用于ISO15765-4和SA3-J2284协议)
7.K线(用于ISO9141和ISO14230-4)
8.-
9.-
10.总线负线(用于SEA-J1850PWM协议)
11.福特DCL(-)阿根廷,巴西(前OBD-II)1997-2000,美国,欧洲等。克莱斯勒CCD总线(-)
12.-
13.-
14.CAN低(用于ISO15765-4和SAE-J2284协议)
15.L线(用于ISO9141-2和ISO14230-4协议)
16.电池电压
尽管OBD-II为很多车辆制造商提供了一些有利的标准,但是制造商们仍然选择为他们特定的OBD***采用不同的通信协议,即信号格式。这样的协议包括,例如SAE J1850PWM,SAE VPM,ISO9140-2,ISO14230,和ISO15765。这些协议中的每一个在引出线配置和信号特征上各异。
例如,SAE J1850PWM(脉冲宽度调制-41.6kB/sec,福特车辆公司标准)具有以下特征
·引脚2:总线+
·引脚10:总线-
·高电压是+5V
·消息长度限制在12个字节,包括循环冗余校验(CRC)
·采用多主机仲裁方法称为‘非破坏性载波侦听多路访问’(CSMA/NDA)
SAE J1850VPW(可变脉冲宽度-10.4/41.6kB/sec,通用车辆公司标准)具有以下特征:
·引脚2:总线+
·总线空闲低
·高电压是+7V
·决策点是+3.5V
·消息长度限制在12个字节,包括循环冗余校验(CRC)
·采用CSMA/NDA
ISO9141-2协议具有10.4kBaud的异步串行数率,并且主要用于勒莱斯勒,欧洲和亚洲车辆上。它具有以下特征:
·引脚7:K-线
·引脚15:L-线(可选)
·异步串行(UART)信令(尽管不是RS-232电压等级)
·K-线空闲高
·高电压是电池电压
·消息长度限制在12个字节,包括循环冗余校验(CRC)
ISO14230KWP2000(关键词协议2000)具有以下特征:
·引脚7:K-线
·引脚15:L-线(可选)
·物理层与ISO9141-2相同
·数据传输率1.2-1.4k波特
·消息可包含有数据域中的255个字节
ISO15765CAN(控制器区域网络车辆总线)(250kBit/s或500kBit/s)协议是美国车辆工业之外的一种流行标准,并且正在OBD-II市场占有率上取的显著效益。截止到2008年,所有在美国销售的车辆都要求实施CAN协议,因此消除了现存的五种信令协议的模糊。
·引脚6:CAN高
·引脚14:CAN低
相应地,由于不同的通信协议,技术人员经常需要购买几个不同的扫描工具,每个扫描工具都与特定的OBD-II信号协议相兼容。例如,技术人员可能需要一个用于车辆的福特车辆公司制造的扫描工具,并且需要另一个用于车辆的通用车辆公司制造的扫描工具。因此,如果技术人员想为很多车辆品牌和型号服务,那么他经常必需在扫描工具上做大量投资。此外,因为大部分扫描工具是直接连接到车辆的DLC的手持设备,所以技术人员必须在车辆本身附近或车辆里面进行服务,在一个典型的修车厂环境里这可能麻烦或不安全。
此外,本领域中典型地有两种公知的扫描工具。一种典型的“售后”扫描工具具有有限的性能,为了维持恰当的燃料效率和排放,只能与特定的模块和子***相配合,所述特定的模块和子***例如发送机控制模块和变速器控制模块。通常,这些售后扫描工具只限于与由SAE J2534指示的***相配合。这些售后扫描工具一般没有能力对下面讨论的众多其它车辆模块和子***进行读、分析、操作和重编程。另一方面,制造商自定义的扫描工具是一种设计用于与车辆内的所有模块和子***配合的扫描工具,并且提供对这些模块和子***进行读、分析、操作、编程和重编程的能力。当然,跟限制性的售后扫描工具相比,拥有和维修制造商自定义的扫描工具更昂贵。举例来说,扫描工具硬件本身更贵,但是更重要的是,为了利用最新的编程软件,制造商自定义的扫描工具需要每日、每周、或每月更新软件。相应地,如果技术人员希望为特定的车辆制造商提供广泛的服务,那么他必须购买昂贵的制造商自定义的扫描工具和订阅,由此他才能够获取最新的软件更新。
用于与车辆的OBD***配合的各种***和方法在本领域中是公知的:
例如,Kitson申请的美国专利号为6956501的专利描述了一种改进的用于测量车辆性能的车辆监控***,包括无线通信线路,用于将车辆信息传送到临近车辆的终端即加油站。这个本地终端对该信息进行处理并且通过显示屏或其它方法将该信息传递给车辆的操作人员。然而,Kitson的专利中描述的***由于至少两个原因是不可取的。第一,该***只适配用于诊断和监控,即“读”数据,并且对车辆编程即改变车辆子***来说是不够的。第二,Kiston的专利只允许将车辆数据传送到临近的地点,即车辆旁边。Kiston没能提供一种***或方法使技术人员从距离车辆位置足够远的位置对车辆的***进行编程。
Buckley申请的美国专利号为7519458的专利描述了一种用于获取和分析从车辆中获取的选定的车辆数据的***、装置和方法。该***包括通信耦合到车辆的界面,该界面获取与车辆操作相关的车辆数据。然后为了获取必要的信息来正确地分析,所述***通过网络与远程节点通信。一旦它获取了必要的信息,就对车辆数据进行分析以用于诊断和监控目的。然而,Buckley没能提供一种能够从远程位置执行双向车辆编程任务的***。
Cancellara等人申请的美国专利申请公开号2005/0251304的专利描述了一种用于执行本地和远程车辆诊断的***,包括车辆通信单元,作为它所连接到的车辆的智能接口,并且能够执行自动车辆诊断和通信功能。Cancellara里的所述***只设计用于提供远程诊断,并没有描述一种用于对车辆编程的***和方法。此外,Cancellara考虑实时诊断,即对运行中的车辆“读”,并不是车辆子***的编程或操作。
Lowrey等人申请的美国专利号为7532962的专利描述了一种用于监控车辆的操作特性的***,具有无线设备,与具有数据收集组件的机载计算机连接,该数据收集组件支持从计算机收集诊断数据的通信软件,以及数据传输组件,与所述数据收集组件通信连接,配置用于通过网络发送包括诊断数据的输出数据包,并且通过相同的网络接收修改通信软件的输入数据包。与现有技术一样,Lowrey提供了一种用于对车辆的操作特性执行诊断的***,但是并没有提供一种用于车辆远程编程的***和方法。
Gillies申请的美国专利申请公开号为为2009/0265055的专利描述了一种手持接口设备,配置用于与待修车辆内的无线OBD设备无线通信。网络接入点和其它无线设备可用于从所述接口设备获取车辆信息、维修信息、诊断信息搜索信息、远程专家指导、远程数据库和应用程序以及其它维修和诊断信息。Gillies的专利中的***主要获取车辆信息,并将所述信息转发到服务器,其中服务器根据车辆信息为技术人员提供辅助信息。然而,该***不能从服务器为车辆提供远程编程。
Graham申请的美国专利号为7584030的专利描述了在车辆检测装置和车辆OBD计算机之间的具有无线连接的可释放的连接器,和车辆OBD计算机,其中数据传输线被替换,利用两个已经被重新编程过的连接器以彼此相互通信。Graham的专利中的设备涉及在通过由该设备建立的无线链路的车辆OBD和扫描工具之间的本地无线通信。Graham没有考虑通过数据网络远程传输编程数据,也没有考虑通过该网络对车辆远程编程。
相应地,本领域需要一种允许技术人员从远程位置通过车辆的ODB接口对车辆进行维修和编程的***和方法。本领域更需要一种不需要商店或修车厂为每个特定的车辆品牌和/或型号购买许多昂贵的扫描工具就可以对车辆编程的***和方法。本领域更需要一种从远程呼叫中心对车辆编程的***和方法,该远程呼叫中心有能力对施行了多种OBD通信协议的多种车辆编程。本领域更需要一种从远程呼叫中心对车辆编程的***和方法,该远程呼叫中心有能力总是拥有多种车辆制造商和年型的最新扫描工具软件。在下面的说明书和权利要求中,本发明各个实施例的这些和其它主题将变得显而易见。
具体实施方式
本发明涉及通过车辆OBD连接器对车辆进行远程编程的***和方法的几个非限制性实施例。如图1所示在大多数现代车辆中16-引脚的OBD车辆连接器1通常位于仪表板的下方,并且能够被车辆操作者或技术人员访问。在本发明的一些实施例中,车辆连接器1与位于车辆内的各种电子控制单元或“模块”相连接。这样的单元和模块可以包括但并不限于:气囊控制模块;报警控制单元;天线控制单元;自动控制模块;车身控制模块;客舱加热器控制模块;中央控制模块;充电控制模块;通信控制模块;车门控制模块;电子刹车控制模块;高压交流电(HVAC)控制模块;电子节气门控制模块;发动机控制模块;前大灯控制模块;仪表控制模块;导航控制模块;泊车辅助控制模块;电动后视镜控制模块;电动座椅控制模块;散热器风扇控制模块;座椅加热器控制模块;驾驶杆控制模块;转向控制模块;方向盘安装控制模块;遮阳蓬(sunroof)控制模块;变速器控制模块;分动器控制模块;通用电子控制模块;天窗(moonroof)控制模块;悬架控制模块;胎压控制模块;牵引力控制模块;尾灯控制模块。出于公开目的,这些单元和模块都将被统称为车辆“子***”。
在一些实施例中,车辆连接器101,如图1所示,有两排,每排有8个引脚102。引脚102与各种车辆子***例如上面所列的通信;相应地,在任何给定的车辆中,这16个引脚102中的每一个都能够输出与特定子***或其它功能相对应的车辆信号。应当理解的是,无须在所有16个引脚102上同时呈现信号;相反地,引脚102的信号配置能够根据需要的通信协议即信号格式在引脚挨引脚(pin-by-pin)的基础上变化。出于举例目的,这些通信协议可以包括上面描述的SAE J1850PWM、SAE VPM、ISO9140-2、ISO14260和ISO15765协议。
应当理解的是,在每一个引脚102上呈现的车辆信号可以是模拟的或数字的,并且这些格式在所有引脚102上不必相同。应当进一步理解的是,在一些实施例中,车辆连接器101可以配置成“母”连接头,以及在其他情况下可以配置成“公”连接头。
如上面提到的,为了使扫描工具接收与各个车辆子***相对应的车辆数据,通常通过数据线将扫描工具或其他计算设备连接到车辆连接器101上。为了达到那个目的,扫描工具或计算设备通常必须位于临近车辆的位置以便执行数据分析和编程。然而,本发明考虑了双向通信***,该***适配于通过计算机网络传输引脚102呈现的车辆信号用于远程数据分析和操作,以及适配于允许对目标车辆的子***远程编程。车辆和远程位置之间的双向通信链路允许技术人员在远程位置通过扫描工具或计算***对车辆编程,仿佛他站在所述车辆附近一样。
如图2所示,本发明的一方面考虑了通信***和相应的方法,包括两个通信设备,以下称为“CIDs”。如上提到的,CIDs的目的在于在位于一个位置的目标车辆的车辆连接器101和位于第二位置即远程位置的扫描工具或计算机之间创建双向通信链路,这样技术人员能够对所述目标车辆远程编程。相应地,示意式地示出了车辆CID201和远程CID202的实施例。在一些实施例中,车辆CID201有插口211、通信处理器241和调制调解器261。同样地,远程CID202有插口212、通信处理器222和调制调解器262。
车辆CID201通过插口211与车辆连接器101连接。在一些实施例中,插口211被配置与车辆连接器101的引脚102连接,这样引脚102呈现的车辆信号就可以被CID201接收,并且被通信处理器241处理。为了达到那个目的,通信处理器241包含能够使输出引脚信号221转换成网络兼容数据包,车辆数据包251的操作逻辑,调制调解器261能够通过计算机网络将车辆数据包251传输到远程CID202。
远程CID202与扫描工具或计算***通信,从而插口212与扫描工具连接器103连接,扫描工具连接器103有与上面描述的车辆连接器101相同的引脚配置。相应地,远程CID202能够通过调制调解器262请求和接收车辆数据包251(来自车辆CID201的调制调解器261),通信处理器222处理该数据包,并且将它转换成引脚信号,然后引脚信号被传送到扫描工具或计算机***(通过扫描工具连接器103)用于分析和编程。在这个意义上,车辆数据包251为远程CID201提供“读”数据,并且能够被用于判断给定车辆子***的当前状态,也能够用于判断那个子***是否存在错误、异常或其它问题。
相应地,技术人员能够利用扫描工具或计算机***通过双向通信链路向车辆发送编程指令。例如,将编程指令通过扫描工具连接器103经由插口212从扫描工具或计算机***发送到远程CID202。当编程指令最初是引脚兼容的信号时,远程CID202中的通信处理器222采用与上面描述的关于车辆CID201大致相同的方式转换该信号,然后通过双向通信链路(即调制调解器262到调制调解器261)将网络兼容的编程数据包232转发到车辆CID201。车辆CID201接收编程数据包232并且将它重新转换成车辆兼容的输入引脚信号232,该输入引脚信号通过插口211和车辆连接器101之间的连接被传该车辆。
如图2所显示和描述的,通信处理器241和222包含软件逻辑,用于请求和读取车辆兼容引脚信号,判断这些引脚信号的通信协议即信号格式,并且将引脚信号转换成网络兼容的数据包。相应地,在一些实施例中,车辆数据包251和编程数据包232可以包含用于识别输入和输出数据的通信协议的数据。在一些实施例中,为了使所述扫描工具或计算***判断例如依赖车辆品牌和型号的正确的编程软件,这个识别信息是必需的。换句话说,就每个车辆制造商拥有的独特的通信协议即信号格式来说,为了正确的对车辆编程,扫描工具或计算***能够识别出那个协议。各种协议可以包括但并不限于上述公开内容中背景部分中讨论的那些协议。
基于前面描述的,应当理解的是,车辆CID201和远程CID202能够进行双向信息交换。车辆数据即车辆数据包251被发送到远程位置,然后技术人员就可以对它读取、分析和处理,并且能够将新的车辆数据集编程数据包232发送回目标车辆。应当理解的是,一旦建立了双向通信链路,根据情况和需要的编程任务,车辆或远程位置中的任何一方都可以发起数据传递。在一些实施例中,所述远程CID202向车辆CID201请求输出引脚信号信息,然后这些输出引脚信号信息就作为车辆数据包251被传输到远程CID202。
在一些实施例中,调制调解器261和262通过有线连接与计算机网络通信,比如标准电话连接(RJ-11)、类型-5以太网连接(RJ-45)、通用串行总线(USB)连接、火线(IEEE1394)或其它本领域已知的串行或并行数据传输连接。在一些实施例中,调制调解器261和262通过无线连接与电子通信网络通信,比如无线网络,蓝牙,近场通讯(NFC),或蜂窝数据通信网络协议,比如GSM、UMTS,或CDM、EDGE、3G、4G、LTE、HSPA、HSDPA、EV-DO等等。只要每个调制调解器能够接入电子通信网络(例如因特网)以建立双向通信链路,那么这些调制调解器就不必要利用相同的连接标准。
应当理解的是,每个特定的车辆CID201和远程CID202可以选择性的有嵌入在它的逻辑中的唯一标识符,比如唯一的静态因特网协议(“IP”)地址或其他标识代码。唯一标识符可以被包括在或增加到从车辆CID210发送到远程CID202的车辆数据包中。在一些实施例中,唯一标识符辅助远程位置识别给定车辆CID的源信息和所有权信息,并且也能够被用于验证车辆CID正在被正确的实体即技术人员或车辆CID被指派到的店铺操作。
在一些实施例中,在发起和维护与远程CID202之间的正确的双向通信链路之前,启动车辆CID201这样就能够配置其内部的软件和逻辑。例如,一旦接收到车辆CID201,技术人员或店铺可以临时将它连接到本地计算机或工作站(通过USB、蓝牙或这里讨论的其它有线或无线连接协议),并且执行合适的软件以配置车辆CID201连接到店铺的因特网连接上以及与位于所述远程位置的远程CID202通信。相应地,车辆CID201(远程CID202也一样)可以有能够存储配置数据的内部存储器,这样它就能够在后续使用时重新连接到因特网上,而不需要进一步配置。然而,应当理解的是,并不一定要通过本地计算机或工作站执行对车辆CID201配置,相反可以通过设备本身的接口配置或者当店铺获取车辆CID201时,可以对其预先配置。
图3-8描述了本发明中的远程车辆编程***和方法的各个实施例。从图3开始,图3示出了车辆CID301、远程CID302、扫描工具303和工作站304,应当理解的是车辆CID301与目标车辆临近并且其余的部件,也就是远程CID302、扫描工具303和工作站304位于距离车辆位置较远的位置。
与上面一致,车辆CID301与目标车辆(没有示出)的车辆连接器101(没有示出)的引脚102连接。通过电子通信网络例如因特网在车辆CID301和远程CID302之间建立双向通信链路。应当理解的是301和302这两个CID之间的通信经由他们各自的调制调解器(没有示出)发生;并且在这种情况下,通过有线连接。
车辆CID301能够接收呈现在引脚102上的车辆信号,将车辆信号转换成网络兼容的数据包并且通过双向通信链路将数据包即车辆数据包转发到远程CID302。远程CID302被配置以请求和接收车辆数据包并且将它转换回车辆兼容的信号。然后扫描工具303对车辆信号进行处理和分析,扫描工具303通过OBD连接(例如,像上面描述的扫描工具连接103)与远程CID302通信连接,就像所述扫描工具303直接连接到车辆CID301上一样。
相应地,扫描工具303是包括专业软件的计算***,专业软件适配于处理来自给定的车辆输出的车辆信号的特殊通信协议。扫描工具也能够产生新的独立于或不独立于该车辆信号的编程信息,并且能够将该信息作为车辆兼容编程信号输回到CID***。
由于通信链路是双向的,因此可以将车辆兼容编程信号从扫描工具303和/或工作站304发送到远程CID302。然后远程CID302将编程信号转换成网络兼容数据包,即编程数据包,编程数据包能够被转发回车辆CID301。然后车辆CID301将编程数据包重新转换成车辆兼容编程信号(引脚兼容),然后通过车辆连接器101上的引脚102将该信号发射到特定的车辆子***。相应地,可以在车辆和远程位置之间双向交换车辆数据和编程数据包,从而启动对车辆的远程分析和编程。
应当理解的是,由于每种车辆品牌和型号可能有不同的ODB通信协议,即信号格式,因此可能需要很多不同的扫描工具303以确保兼容性。相应地,如上面讨论的,可为了使所述扫描工具302能够正确的识别、读取、分析和操作车辆数据包,可以将CIDs301和302配置为包括通信协议,即信号格式,双向通信链路上的数据。可选地,扫描工具303可以与允许远程操作扫描工具303的工作站304(经由网络交换机306)通信。在这种安排下,可以将多个扫描工具303和其相应的远程CIDs302置于远程位置中的离散区域,其中工作站304位于远程位置中的其它地方,例如呼叫中心或办公室聚居区。
图3描述了多个车辆CIDs301、远程CIDs302、扫描工具303和工作站304。相应地,本发明考虑了在给定时间内可能有超过一辆车辆在接受服务和编程,因此可能需要多个***同时运行。相应地,可以在远程位置引入网络交换机306以允许多个远程CIDs302通过单个网络连接(即因特网连接)接收数据。在一些实施例中,为了使扫描工具正确的识别车辆数据,将每个CID配置以识别和传输关于通信协议的信息,即信号格式。进一步,将多个工作站304与***连接,并且经由网络交换机306将其与扫描工具303通信连接。可选地示出了放置在网络交换机306前面的防火墙305,用于确保***与已知的网络安全和加密协议一致。
再看图4,图4示出了车辆CID401、远程CID402、工作站404、防火墙405和网络交换机406。在这个实施例中,省略了扫描工具以利于仿真软件在工作站404上运行,工作站404经由网络交换机406与***相连接。仿真软件被设计用于读取和处理从远程CID402接收到车辆信号,并且基于通信协议,通知合适的品牌和型号的扫描工具软件允许数据分析和车辆编程。与这个实施例一致,为了与远程CID402连接,工作站404可以有合适的OBD连接器。
图5描述了车辆CID501、远程CID502、扫描工具503、工作站504、防火墙506、网络交换机506、和瘦客户机(thin client)507。在这个实施例中,扫描工具503与瘦客户机507耦合,反过来瘦客户机507与工作站504耦合,都是经由网络交换机506耦合。相应地,可以在工作站504上进行数据分析和编程,将指令转发到瘦客户机507以及然后转发到扫描工具503。在这个配置中,瘦客户机507具有降低工作站504上的计算资源要求的作用,也提供数据安全和加密的附加方法。图6描述了与图5相似的***配置,然而,车辆CID601、远程CID602和网络交换机605是利用无线通信的。
再看图7,图7示出了车辆CID701、远程CID702、工作站704、防火墙705、网络交换机706和服务器710。在这个实施例中,省略了扫描工具以利于仿真软件在服务器710上运行,服务器710为工作站704配置为“云”,工作站704的部件经由网络交换机706相互连接。将辅助软件设计用于读取和处理从远程CID702接收的车辆信号,并且基于通信协议,通知合适的品牌和型号的扫描工具软件允许数据分析和车辆编程。与这个实施例一致,为了与远程CID702连接,工作站704可以有合适的OBD连接器。工作站704与服务器710连接以检索车辆数据包,执行编程和分析,以及将编程数据包转发到车辆CID701。图8描述了相似的配置,利用的是无线通信。
如整个公开所述的,本发明中的***和方法允许从远程位置对多个车辆子***进行远程编程。因此术语“编程”包含多种动作,可以利用通过车辆CID-远程CID之间的双向通信链路从扫描工具或计算***转发到车辆的特殊设计的编程数据包,在车辆子***上执行这些动作。这些动作可以包括但是并不限于读、重编程序、程序更新、校准、连接、合并、连续编码、安全编码。
“重编程序”可以包括转发编程数据包,该编程数据包能够替换、改变、重置或相反改变有缺陷或缺省的具有完整和最新编程信息的车辆子***中的程序。
“程序更新”可以包括转发编程数据包,该编程数据包能替换现存的,但是过时的具有最新原始设备制造商(OEM)编程和配置的车辆子***中的程序。或者,这些数据包可以包括自定义编程更新。为了增加发动机马力输出或换挡间隔,这样的编程更新可以考虑,例如,对发动机控制模块,变速器控制模块和相关模块进行性能升级。这些程序更新尤其对高性能“调优”车辆例如赛车和改装的告诉车辆有用。
“校准”可以包括转发编程数据包,该编程数据包能够将来自车辆子***中的各个传感器的输出信号调整为从其他车辆子***正确读取的输入信号。另外,“校准”考虑车辆子***内“定位点”或参数的复位。
“连接”或“配对”可以包括转发编程数据包,该编程数据包能够在两个或多个子***之间建立双向通信。当替换车辆中的模块或子***时这是必需的步骤,这样其它模块或子***就会接受它并与它通信。
“合并”与连接相似,除了“合并”涉及车辆层面的集成并且不仅仅是子***与子***之间的通信。例如,编程数据包可以指导子***与车辆通信以识别它的车辆识别码VIN从而证实该子***属于那辆车辆。“连续编码”是用于连接或合并的另一个术语。
最后,“安全编码”可以转发编程数据包,该编程数据包能够连接或合并特定的与安全相关的车辆子***,例如车门控制模块或安全模块。
应当理解的是,为了执行这些编程活动或动作,远程CID经常需要对所述车辆执行“读”动作以通过车辆CID判断各个车辆子***的当前状态。相应地,在一些实施例中,车辆CID向远程CID发送车辆数据包,远程CID通过扫描工具,工作站或其他计算***读取和分析该车辆数据包,以判断特定的子***是否存在错误或缺失元素。在这一点上,为了根据想要的结果校正、替换、重置或操作子***的状态,技术人员可以在扫描工具或计算***上产生专门设计的设计用于执行此处公开的各种动作的编程数据包。
此外,此处公开的编程动作适配于执行在“接通”或“切断”操作模式。在“接通”模式,当车辆的发动机运行时,此处公开的***和方法能够用于对某些激活的子***读,分析,操作和编程。由于当发动机运行时,与“切断”操作模式相比,某些子***会输出不同的数据,因此,可能需要执行数据分析和编程。另一方面,为安全目的,“切断”模式可能会使某些子***“锁定”并阻止数据分析和编程;因此,“切断”模式可能需要对这些子***编程。
如整个公开所述的,本发明考虑合并此处公开的远程车辆编程***中的各种组件的多种有用方法。在实际设置中,依照本发明中的远程车辆编程可以以几种方式发生。一个例子涉及“预约”模式。在这个例子中,在一个位置的店铺或修车厂利用在远程位置的“呼叫中心”为车辆编程安排预约。在合适的时间,该店铺将它的车辆CID连接到目标车辆的OBD连接器上,并且然后发起车辆CID与因特网之间的连接。在实质相同的时间,呼叫中心发起它的远程CID与因特网之间的连接。然后呼叫中心拨打电话,或向该店铺中的技术人员或其它个人发起其它形式的通信,以确认车辆CID与因特网之间有正确的连接。一旦连接得到确认,呼叫中心就在远程CID和车辆CID之间建立双向通信链路,并利用前面提到的唯一标识信息验证车辆CID。
在那一点上,可以在车辆CID和远程CID之间交换数据。在一些实施例中,一旦建立了双向通信链路,呼叫中心就利用工作站、扫描工具、服务器或它们的组合将来自远程位置的编程数据包转发到车辆。在其他实施例中,呼叫中心首先从接收来自车辆的车辆数据开始,并且然后分析这些数据以进行合适的编程。然而,这些例子应当解析为跟双向通信链路是动态的一样,是非限制性的,因此,任何需要的数据通信和编程顺序都是可能的。
在其他实施例中,可能在“需求”基础上而不是“预约”基础上实现编程。相应地,在一个位置的店铺将它的车辆CID与目标车辆的OBD连接器连接,并且然后发起车辆CID和所述因特网之间的连接。然后,该店铺通过电话、计算机或甚至车辆CID本身向处于远程位置的呼叫中心发送“工作请求”。呼叫中心接收工作请求,在此之后发起远程CID和车辆CID之间的双向通信链路。在那一点上,就可以开始数据分析、操作和子***编程。
如前面提到的,在一些实施例中,为了为很多种OBD通信协议即信号格式提供编程能力,呼叫中心采用多种远程CID-扫描工具/工作站的组合。相应地,呼叫中心可以拥有大量远程CIDs和扫描工具以提供最优的兼容性和灵活性。当双向通信链路第一次建立后,远程CID会从车辆CID发送的所述车辆数据包中请求和接收通信协议信息。因此,配置呼叫中心读取通信协议信息,以便配置合适的扫描工具/工作站/仿真服务器开始编程。
然而此处公开的本发明中的很多实施例涉及乘用车,因此术语“车辆”不应该被限制。相应地,此处的***和方法有很多应用,包括但不限于舰队、飞机、重机械、商业车辆、固定设备和工业设备,假设这些机器由各种电子控制模块和子***控制并且适配与通过扫描工具或计算***编程。
应当进一步理解的是,如上面讨论的本发明中实现的扫描工具,服务器和工作站可以包括多个计算***,该计算***包括但不限于,计算机服务器、个人计算机、手提电脑、笔记型电脑、移动电话例如智能电话等等。下面描述的典型的计算***仅被包含用于说明目的,并且不应当被认为对本发明的限制。虽然这种描述可能涉及通常用于描述特殊类型的计算***的术语,但是这些描述的概念也适用于其他计算***,包括具有与那里描述的不同结构的***。
上面描述的计算***例如扫描工具(是“手持”计算***),服务器,和工作站可以包括具有常规微处理器的中央处理单元(CPU),用于临时存储信息的随机存取存储器(RAM),和用于永久存储“只读”信息的只读存储器(ROM)。提供内存控制器用于控制***RAM。提供总线控制器用于控制数据总线,并且提供中断控制器用于接收和处理来自其它***部件的各种中断信号。供数据存储可以由非挥发性、可移除媒介存储驱动器提供,例如,软盘驱动器、DVD驱动器、CD-ROM驱动器、
驱动器、闪存驱动器、磁光(“MO”)驱动器等等,或者由非移动性存储***像硬盘驱动器提供。数据和软件与所述计算***可以经由可移动媒介交换,例如软盘、CI-ROMs、DVDs、
硬盘、MO硬盘、闪存启动器等等。可移动媒介可***兼容性可移动媒介存储驱动器,兼容性可移动媒介存储驱动器反过来通过控制器与数据总线连接。非移动性存储***是固定硬盘驱动器的一部分,固定硬盘驱动器利用硬盘驱动控制器与数据总线连接。许多设备可以为所述计算机提供用户输入。例子包括小型键盘、键盘、鼠标和轨迹球,可以通过输入控制器将这些设备与数据总线相连接。提供直接存储器存取(DMA)控制器用于对***RAM执行直接存储器访问。计算机***的图形子***可以产生可视显示,并且可以控制属于该计算机***的显示设备。该显示设备可以是常规的阴极射线管(“CRT”)、液晶显示器(“LCD”)、发光二级管(“LED”)或者具有可独立寻址的图像元素(“像素”)的等离子显示器。像素以二维X-Y网格的形式排列,并且被图形子***控制选择性的点亮,用于组成图像,或者一系列图像(帧)从而产生移动图像。
也可以包括网络接口适配器,从而使各种计算***通过网络总线连接到描述的网络。该网络可以是局域网(LAN)、广域网(WAN、电子通信网络即因特网等等,可以利用与多个网络设备相互连接的通用通信协议。计算***由操作***(“OS”)控制和调整,例如,只为举例目的,MacOSX、Apple iOS、Linux、Unix、Android OS、PalmOS、Windows Mobile OS等等。在其他功能中,OS控制***资源和执行的分配例如进程调度、内存管理、网络连接和I/O服务。
在前面的描述中,参考具体实施例对本发明进行了描述。对本领域人员来说,在不脱离本发明的精神和范围的情况下,理解本发明的人可以利用本发明的原理构思改变或其他实施例或变化是显而易见的。因此,说明书和附图用于说明而不是限制。相应地,除非由于所附权利要求的需要,否则不应当被认为本发明受限制。