Method for updating vehicle diagnostics software

A method for updating vehicle diagnostics software via a telematics unit is based on the occurrence of a service event as detected by the telematics unit. Upon the connection of a vehicle diagnostics device to a vehicle, the telematics unit receives a scan tool configuration data and a vehicle code. The determination whether the scan tool configuration is current based on the vehicle code is made at the telematics unit. Based on the determination, the call center sends an updated scan tool configuration data to the telematics unit. The telematics unit offers the updated scan tool configuration data to the vehicle diagnostics device for reprogramming.

FIELD OF THE INVENTION

In general, the invention relates to diagnostics application software in a vehicle diagnostics device. More specifically, the invention relates to a method for updating vehicle diagnostics software via a telematics unit.

BACKGROUND OF THE INVENTION

Vehicle diagnosis pertains to self-diagnosis of an abnormality of an engine, a transmission, and the like. The on-board diagnosis (OBD) system is one example of this vehicle diagnostic system. The development of the OBD system was encouraged by the U.S. Environmental Protection Agency (EPA) as a means to better monitor engine and fuel management performance for cleaner exhaust emissions. Beginning with model year 1996, the EPA has required vehicle manufacturers to install OBD systems for monitoring the vehicle's electrical and mechanical systems. Currently, intelligence in the vehicle alerts the driver that repairs or scheduled maintenance is needed. In other words, these OBD systems are designed to perform diagnostics onboard the vehicle as it drives down the road and determine likely problem area possibilities. The diagnostic information of the vehicle is stored in memory as code corresponding to the failure or alert. At authorized service centers, these failures or alerts can be read by connecting an external engine diagnostic tool, commonly called a scan tool, to the vehicle via a diagnosis connector. Scan tools reveal what is stored within the vehicle. Today, scan tools can access data stream information, diagnostic trouble codes (DTCs), perform some functional tests, and capture freeze frame data, and so on. In the authorized service center, repair in response to the failure code is performed.

The rate of change in automotive systems is creating new and more difficult problems to tackle. For example, as vehicle computer systems, like the OBDs, become more and more complex there exists a need to continuously update the scan tool devices used to diagnose vehicle faults. Currently, the method of updating scan tool devices consists of mailing CDs to authorized service centers on regular intervals. Each of these authorized centers has to manually update each of the scan tools they possess. This introduces scheduling and human error, and will not always result in the most recent scan tool software being utilized during the diagnosis process.

Thus, there is a significant need for a method and system for updating vehicle scan tool devices diagnostics software such that human error is minimized. It is an object of this invention to provide such a method and system.

SUMMARY OF THE INVENTION

One aspect of the present invention provides a method for updating vehicle diagnostics software. The method includes receiving a scan tool configuration data from a scan tool device and sending a vehicle code to a call center. A determination is made, at the telematics unit, whether the scan tool configuration is current based on the vehicle code at the call center. Additionally, the method includes the call center sending an updated scan tool configuration data to the telematics unit based on the determination.

Another aspect of the present invention provides a computer usable medium including computer program code for updating vehicle diagnostics software. The medium includes computer program code for a telematics unit receiving a scan tool configuration data from a scan tool device and sending a vehicle code to a call center. The medium further includes computer program code for determining at the telematics unit, whether the scan tool configuration is current based on the vehicle code at the call center. Additionally, the medium includes computer program code for sending an updated scan tool configuration data from the call center to the telematics unit based on the determination. The computer usable medium further comprises computer program code for updating the scan tool vehicle diagnostics software.

Another aspect of the present invention provides a system including means for updating vehicle diagnostics software. The system includes means for receiving a scan tool configuration data from a scan tool device and sending a vehicle code to a call center. The system further includes means for determining, at the telematics unit, whether the scan tool configuration is current based on the vehicle code at the call center. Additionally, the system includes means for sending an updated scan tool configuration data from the call center to the telematics unit based on the determination. The system further comprises means for updating the scan tool vehicle diagnostics software.

DETAILED DESCRIPTION OF THE PRESENTLY PREFERRED EMBODIMENTS

FIG. 1illustrates one embodiment of a motor vehicle communication system (MVCS) for updating vehicle diagnostics software in accordance with the present invention at100. MVCS100includes a mobile vehicle communication unit (MVCU)110; a vehicle communication network112; a telematics unit120; one or more wireless carrier systems140; one or more communication networks142; one or more land networks144; one or more client, personal, or user computers150; one or more web-hosting portals160; and one or more call centers170. In one embodiment, MVCU110is implemented as a mobile vehicle equipped with suitable hardware and software for transmitting and receiving voice and data communications. In an example, a display is embedded in MVCU110. The display is a dialed digital display such as a radio unit, radio head or an instrument panel. MVCS100may include additional components not relevant to the present discussion.

MVCU110is referred to as a mobile vehicle in the discussion below. In operation, MVCU110may be implemented as a motor vehicle, a marine vehicle, or as an aircraft. MVCU110may include additional components not relevant to the present discussion.

Vehicle communication network112routes signals between various units or modules of equipment and systems (detailed below) within MVCU110to perform various functions such as unlocking a door, opening the trunk, setting personal comfort settings, and calling from telematics unit120. In facilitating interactions among the various communication and electronic modules, vehicle communication network112utilizes network interfaces such as controller-area network (CAN), International Organization for Standardization (ISO) Standard 9141, ISO Standard 11898 for high-speed applications, ISO Standard 11519 for lower speed applications, and Society of Automotive Engineers (SAE) Standard J1850 for high-speed and lower speed applications.

MVCU110is connected to a vehicle diagnostics device, known in the art as a scan tool device190, to reveal fault code stored within the vehicle memory. In one embodiment of the invention, the MVCU110is connected to a scan tool device190via a data link connector. In another embodiment, scan tool device190communicates with the MVCU110via serial bus interface. In one embodiment, a scan tool device190is a device configured to communicate and interact with vehicle components or modules to determine the existence of any reported Diagnostic Trouble Code (“DTC”) or other data relating to module performance or behavior.

MVCU110, via telematics unit120, sends and receives radio transmissions from wireless carrier system140. Wireless carrier system140is implemented as any suitable system for transmitting a signal from MVCU110to communication network142.

Telematics unit120includes a processor122connected to an in-vehicle audio speech-generating source123, a wireless modem124, a global positioning system (GPS) unit126, an in-vehicle memory128, a microphone130, one or more speakers132, source device134, and an embedded or in-vehicle mobile phone136. In other embodiments, telematics unit120may be implemented without one or more of the above listed components such as, for example, speakers132. Telematics unit120may include additional components not relevant to the present discussion. In one embodiment, source device134is a CD player, terrestrial radio receiver, satellite radio receiver, DVD player, MP3 player, a media player, or other entertainment device. In one embodiment, source device134is within MVCU110. In yet another embodiment, source input is remote from the MVCU110, and is in communication with MVCU110via a wireless connection.

In one embodiment, processor122is implemented as a microcontroller, microprocessor, controller, host processor, or vehicle communications processor. In an example, processor122is implemented as an application-specific integrated circuit (ASIC). In another embodiment, processor122is implemented as a processor working in conjunction with a central processing unit (CPU) performing the function of a general purpose processor. GPS unit126provides longitude and latitude coordinates of the vehicle responsive to a GPS broadcast signal received from one or more GPS satellite broadcast systems (not shown). In-vehicle mobile phone136is a cellular-type phone such as, for example, an analog, digital, dual-mode, dual-band, multi-mode or multi-band cellular phone.

Processor122executes various computer programs that control programming and operational modes of electronic and mechanical systems within MVCU110. Processor122controls communications (e.g., call signals) between telematics unit120, wireless carrier system140, and call center170. In one embodiment, a voice-recognition application is installed in processor122that can translate human voice input through microphone130to digital signals. Processor122generates and accepts digital signals transmitted between telematics unit120and a vehicle communication network112that is connected to various electronic modules in the vehicle. In one embodiment, these digital signals activate the programming mode and operation modes, as well as provide for data transfers.

Communication network142includes services from one or more mobile telephone switching offices and wireless networks. Communication network142connects wireless carrier system140to land network144. Communication network142is implemented as any suitable system or collection of systems for connecting wireless carrier system140to MVCU110and land network144.

Land network144connects communication network142to computer150, web-hosting portal160, and call center170. In one embodiment, land network144is a public-switched telephone network (PSTN). In another embodiment, land network144is implemented as an Internet protocol (IP) network. In other embodiments, land network144is implemented as a wired network, an optical network, a fiber network, other wireless networks, or any combination thereof. Land network144is connected to one or more landline telephones. Communication network142and land network144connect wireless carrier system140to web-hosting portal160, and call center170.

Client, personal, or user computer150includes a computer usable medium to execute Internet browser and Internet-access computer programs for sending and receiving data over land network144and, optionally, wired or wireless communication networks142to web-hosting portal160. Computer150sends user preferences to web-hosting portal160through a web-page interface using communication standards such as hypertext transport protocol (HTTP), and transport-control protocol and Internet protocol (TCP/IP). In one embodiment, the data includes directives to change certain programming and operational modes of electronic and mechanical systems within MVCU110. In operation, a client utilizes computer150to initiate setting or re-setting of user preferences for MVCU110. User-preference data from client-side software is transmitted to server-side software of web-hosting portal160. User-preference data is stored at web-hosting portal160.

Web-hosting portal160includes one or more data modems162, one or more web servers164, one or more databases166, and a network system168. Web-hosting portal160is connected directly by wire to call center170, or connected by phone lines to land network144, which is connected to call center170. In an example, web-hosting portal160is connected to call center170utilizing an IP network. In this example, both components, web-hosting portal160and call center170, are connected to land network144utilizing the IP network. In another example, web-hosting portal160is connected to land network144by one or more data modems162. Land network144sends digital data to and receives digital data from modem162, data that is then transferred to web server164. Modem162can reside inside web server164. Land network144transmits data communications between web-hosting portal160and call center170.

Web server164receives user-preference data from user computer150via land network144. In alternative embodiments, computer150includes a wireless modem to send data to web-hosting portal160through a wireless communication network142and a land network144. Data is received by land network144and sent to one or more web servers164. In one embodiment, web server164is implemented as any suitable hardware and software capable of providing web services to help change and transmit personal preference settings from a client at computer150to telematics unit120in MVCU110. Web server164sends data transmissions to or receives data transmissions from one or more databases166via network system168. Web server164includes computer applications and files for managing and storing personalization settings supplied by the client, such as door lock/unlock behavior, radio station preset selections, climate controls, custom button configurations, and theft alarm settings. For each client, the web server potentially stores hundreds of preferences for wireless vehicle communication, networking, maintenance, and diagnostic services for a mobile vehicle.

In one embodiment, one or more web servers164are networked via network system168to distribute user-preference data among its network components such as database166. In an example, database166is a part of or a separate computer from web server164. Web server164sends data transmissions with user preferences to call center170through land network144.

Call center170is a location where many calls are received and serviced at the same time, or where many calls are sent at the same time. In one embodiment, the call center is a telematics call center, facilitating communications to and from telematics unit120in MVCU110. In an example, the call center is a voice call center, providing verbal communications between an advisor in the call center and a subscriber in a mobile vehicle. In another example, the call center contains each of these functions. In other embodiments, call center170and web-hosting portal160are located in the same or different facilities.

Call center170contains one or more voice and data switches172, one or more communication services managers174, one or more communication services databases176, one or more communication services advisors178, and one or more network systems180. In one embodiment, communication services databases176are implemented as scan tool databases.

Switch172of call center170connects to land network144. Switch172transmits voice or data transmissions from call center170and receives voice or data transmissions from telematics unit120in MVCU110through wireless carrier system140, communication network142, and land network144. Switch172receives data transmissions from and sends data transmissions to one or more web-hosting portals160. Switch172receives data transmissions from or sends data transmissions to one or more communication services managers174via one or more network systems180.

Communication services manager174is any suitable hardware and software capable of providing requested communication services to telematics unit120in MVCU110. Communication services manager174sends data transmissions to or receives data transmissions from one or more communication services databases176via network system180. Communication services manager174sends data transmissions to or receives data transmissions from one or more communication services advisors178via network system180. Communication services database176sends data transmissions to or receives data transmissions from communication services advisor178via network system180. Communication services advisor178receives from or sends to switch172voice or data transmissions.

Communication services manager174provides one or more of a variety of services, including enrollment services, navigation assistance, directory assistance, roadside assistance, business or residential assistance, information services assistance, emergency assistance, and communications assistance. Communication services manager174receives service-preference requests for a variety of services from the client via computer150, web-hosting portal160, and land network144. Communication services manager174transmits user-preference and other data to telematics unit120in MVCU110through wireless carrier system140, communication network142, land network144, voice and data switch172, and network system180. Communication services manager174stores or retrieves data and information from communication services database176. Communication services manager174can provide requested information to communication services advisor178.

In one embodiment, communication services database176is a scan tool database. In an example, a scan tool database sends data transmissions to or receives data transmissions from telematics unit120in MVCU110. Scan tool configuration data and/or vehicle code is transmitted to telematics unit120.

In one embodiment, communication services advisor178is implemented as a real advisor. In an example, a real advisor is a human being in verbal communication with a user or subscriber (e.g., a client) in MVCU110via telematics unit120. In another embodiment, communication services advisor178is implemented as a virtual advisor. In an example, a virtual advisor is implemented as a synthesized voice interface responding to requests from telematics unit120.

Communication services advisor178provides services to telematics unit120in MVCU110. Services provided by communication services advisor178include enrollment services, navigation assistance, real-time traffic advisories, directory assistance, roadside assistance, business or residential assistance, information services assistance, emergency assistance, and communications assistance. Communication services advisor178communicates with telematics unit120in MVCU110through wireless carrier system140, communication network142, land network144, and web-hosting portals160using voice transmissions. In an alternative embodiment, communication services manager174communicates with telematics unit120in MVCU110through wireless carrier system140, communication network142, land network144, and web hosting portals160using voice transmissions. Switch172selects between voice transmissions and data transmissions.

Scan tool device190, telematics unit120, and call center170are configured to implement the updated diagnostics software methods of the present invention as will be described in connection withFIGS. 2 and 3. In one embodiment, scan tool device190has a preference setting to auto-accept or to require operator input to accept diagnostics software upgrades. In another embodiment, the diagnostics software upgrades is specific to MVCU110being serviced or is the diagnostics software upgrades is for multiple vehicle applications.

FIG. 2illustrates a flowchart200and a flowchart300that are executed by telematics unit120and scan tool device190, respectively, in implementing an automated diagnostics software update method of the present invention. While in practice, diagnostic software update process can be initiated by telematics unit120or scan tool device190, flowcharts200and300will be described herein as if telematics unit120has initiated the service event. Flowchart200begins at step202.

At step202, flowchart200monitors a wireless connection between a telematics module or telematics unit (e.g. telematics unit120ofFIG. 1) and an off board server or a call center (e.g. call center170ofFIG. 1) for a data input. The wireless connection may be established by sending a connection request from the telematics unit to the call center, or by sending a connection request from the call center to the telematics unit. The wireless connection uses wireless carrier system140in one embodiment. In another embodiment, monitoring the wireless connection is initiated at the telematics unit in response to an established connection. In another embodiment, monitoring the wireless connection is initiated by a monitor request issued by a user in MVCU110or an advisor (e.g. advisor168). In yet another embodiment, the wireless connection is monitored in response to a button push.

At step302, flowchart300connects a scan tool device (e.g. scan tool device190ofFIG. 1) and a MVCU (e.g. MVCU110ofFIG. 1) via a data link connector, or the like. At step304, scan tool device190sends current configuration level to telematics unit120. In one embodiment, the configuration level contains specific, up-to-date parameters required to correctly communicate with and interpret specific vehicle component behaviors and messages. In another embodiment, the configuration level includes hardware and/or software part numbers. In another embodiment, the configuration level includes software revision information.

At step204, telematics unit120receives vehicle code information from call center170. At step206, telematics unit120queries scan tool database (e.g. scan tool database176) for recent vehicle code information. In one embodiment, the vehicle code information is software specific to MVCU110. In another embodiment, the vehicle code information is base software applicable to any vehicle. At step204, telematics unit120determines whether a diagnostics software upgrade is needed based on a comparison between the current configuration level data received from scan tool device190and vehicle code received from call center170scan tool database176.

At step207, telematics unit120determines whether a diagnostics software upgrade is available. If no diagnostics software upgrade is available, flowchart200terminates. At step208, if a diagnostics software upgrade is available, telematics unit120sends an upgraded scan tool configuration data to scan tool device190. In one embodiment, the upgraded scan tool configuration data is specific to the vehicle being serviced. In another embodiment, the upgraded scan tool configuration data is for more than one vehicle applications. For example, upgraded scan tool configuration data includes data that applies to a predetermined make or model, such as a line of pick-up trucks. In another example, upgraded scan tool configuration data includes data that applies to those vehicles of a particular make or model featuring a predetermined combination of options, such as pickup trucks with a V6 engine.

At step306, an upgraded scan tool configuration data is offered to a technician or operator for scan tool device190. At step210, if the upgrade is accepted by a technician or operator, telematics unit120reprograms scan tool device190. At step308, scan tool device190is reprogrammed. Scan tool device190terminates flowchart300until another service event.

FIG. 3illustrates a flowchart400and a flowchart500that are executed by telematics unit120and scan tool device190, respectively, in implementing an automated diagnostics software update method of the present invention. While in practice, diagnostic software update process can be initiated by telematics unit120or scan tool device190, flowcharts400and500will be described herein as if scan tool device190has initiated the service event. Flowchart500begins at step502. In one embodiment, steps502and504are implemented as in steps302and304ofFIG. 2.

At step402, flowchart400monitors a wireless connection between a telematics module or telematics unit (e.g. telematics unit120ofFIG. 1) and an off board server or call center (e.g. call center170ofFIG. 1) for a data input. Monitoring a wireless connection is implemented as in step202.

At step404, telematics unit120receives vehicle code information from call center170. At step406, telematics unit120queries scan tool database (e.g. scan tool database176) for recent vehicle code information. In one embodiment, steps404and406are implemented as in steps204and206. At step404, telematics unit120determines whether a diagnostics software upgrade is needed based on a comparison between the current configuration level data received from scan tool device190and vehicle code received from call center170scan tool database176.

At step407, telematics unit120determines whether a diagnostics software upgrade is available. If no diagnostics software upgrade is available, flowchart400terminates as implemented in step207. At step408, if a diagnostics software upgrade is available, telematics unit120sends an upgraded scan tool configuration data to scan tool device190. Sending an upgraded scan tool configuration data is implemented as in step208.

In one embodiment, steps504and508are implemented as in steps304and308ofFIG. 2. At step506, an upgraded scan tool configuration data is sent to scan tool device190. Scan tool device190detects preferences is set to automatically accept upgraded scan tool configuration data. At step410, telematics unit120reprograms scan tool device190as implemented in step210. Scan tool device190terminates flowchart500until another service event.

From the preceding descriptions herein of flowcharts200-500as illustrated inFIGS. 2 and 3, those having ordinary skill in the art will appreciate various advantages of the present invention, such as, for example an elimination of a need for a technician or operator at service centers to manually upgrade scan tool devices from CDs mailed monthly. Furthermore, those having ordinary skill in the art will appreciate that, in practice, the automated method of updating vehicle diagnostics software with operator input to accept and the automated method of updating vehicle diagnostics software with automatic accept preference settings can be executed as described and illustrated herein, or merged into single diagnostics software update method.