本發(fā)明大體上涉及用于車輛的遠程軟件更新,并且更具體地涉及一種用于在車輛上下載和安裝遠程軟件更新的方法和系統(tǒng),旨在提高成功更新的可能性。
背景技術(shù):
在過去的十年中,車載車輛技術(shù)已持續(xù)增加。這些技術(shù)包括在車輛與其他遠程網(wǎng)絡(luò)裝置或?qū)嶓w之間的無線通信。例如,如今,通常所有的新車輛均包括一個或多個模塊,這些模塊將信息傳達回至遠程設(shè)施,以使得這些模塊向遠程設(shè)施提供數(shù)據(jù)。推論也是如此;遠程設(shè)施經(jīng)由諸如蜂窩網(wǎng)絡(luò)之類的無線通信系統(tǒng)為車輛提供數(shù)據(jù)。
另外,正在利用集成和廣泛的計算機系統(tǒng)來生產(chǎn)車輛,這些計算機系統(tǒng)使車輛的操作能實現(xiàn)提高的車輛性能及用戶體驗。然而,在這些電子裝置、模塊或計算機中的一些上更新或安裝新的軟件或固件需要用戶將他們的車輛送到經(jīng)銷商處。這對于用戶和經(jīng)銷商兩者都會是極為不便的,并且對于兩者都是成本高昂的。利用大多數(shù)新車輛具有的處理能力和無線通信裝置,空中(ota)編程可以是成本有效的并且更方便的替代。然而,必須確保成功的下載和安裝,以使得不會損壞任何車輛模塊或裝置,由此需要將車輛保持固定,這會破壞目的。此外,由于存在相當多可能需要一個或多個更新的車輛,因而減少需要被送至接收更新的車輛的百分比可能會是極其有益的。
技術(shù)實現(xiàn)要素:
根據(jù)一個方面,提供一種用于將軟件下載和安裝至包括電池及車輛電子器件的車輛的方法。該方法可包括如下步驟:在車輛處接收預(yù)期信號,該預(yù)期信號指示軟件包已準備好或者將準備好以無線地下載至車輛,該軟件包包括所要安裝在車輛電子器件上的軟件;從該預(yù)期信號獲得能量閾值水平,該能量閾值水平對應(yīng)于用于軟件包的無線下載、用于軟件的安裝、或者用于軟件包的無線下載和軟件的安裝兩者所需的預(yù)期能量;確定電池的能量水平;將電池的能量水平與能量閾值水平進行比較;以及當電池的能量水平低于能量閾值水平時,則對電池充電參數(shù)作出改變,以使得電池的能量水平提高。在軟件包的無線下載之前、在軟件的安裝之前或者在軟件包的無線下載和軟件的安裝兩者之前對電池充電參數(shù)作出改變。
根據(jù)另一方面,提供一種用于將軟件下載和安裝至包括電池及車輛電子器件的車輛的方法。該方法可包括如下步驟:在車輛處接收預(yù)期信號,該預(yù)期信號指示軟件包已準備好或者將準備好以無線地下載至車輛,該軟件包包括所要安裝在車輛電子器件上的軟件;獲得車輛的所需充電模式,其中該所需充電模式對應(yīng)于對于軟件包的無線下載、對于軟件的安裝或者對于軟件包的無線下載和軟件的安裝兩者更可取的對電池充電的模式;確定車輛的當前充電模式;評估當前充電模式是否是所需充電模式;并且當確定該當前充電模式并非是所需充電模式時,則對電池充電參數(shù)作出改變以使得電池能量水平提高。在軟件包的無線下載之前、在軟件的安裝之前或者在軟件包的無線下載和軟件的安裝兩者之前對電池充電參數(shù)作出改變。
根據(jù)另一方面,提供一種用于下載和安裝軟件的車輛系統(tǒng)。該系統(tǒng)可包括:電池,其為一個或多個車輛部件供電;無線通信裝置,其由電池供電并且配置成無線地接收預(yù)期信號,該預(yù)期信號指示軟件已準備好或者將準備好以無線地下載至車輛;以及車輛模塊,該車輛模塊由電池供電,耦接至無線通信裝置,并且配置成將電池的能量水平與從預(yù)期信號獲得的能量閾值水平進行比較。該系統(tǒng)配置成對電池充電參數(shù)作出改變,使得當電池的能量水平低于能量閾值水平時,電池的能量水平提高以準備下載和安裝軟件。
附圖說明
以下將結(jié)合附圖來描述優(yōu)選的示例性實施例,在附圖中類似的附圖標記指代類似的元件,并且在附圖中:
圖1是示出可用于在車輛上下載和安裝遠程軟件更新的系統(tǒng)的示例性實施例的框圖;
圖2是示出可用于在車輛上下載和安裝遠程軟件更新的方法的示例性實施例的流程圖,并且該方法可用于圖1所示的系統(tǒng);以及
圖3-6是示出圖2所示方法的不同步驟的更詳細實施例的流程圖。
具體實施方式
這里所描述的方法和系統(tǒng)可用于將軟件下載和安裝至車輛或者使車輛提前準備好以進行這樣的事件,使得遠程或空中(ota)軟件更新的成功率得以提高。該方法和系統(tǒng)優(yōu)選地設(shè)計成發(fā)送通信至一個或多個遠程位置以及從該一個或多個遠程位置接收通信,響應(yīng)于接收通信而執(zhí)行車輛功能,并且接著從該一個或多個遠程位置將軟件下載并安裝至車輛。在一個實施例中,該車輛可從遠程位置接收預(yù)期信號,評估該預(yù)期信號來確定能量閾值水平,如果電池不高于能量閾值水平,則改變電池充電參數(shù),并且接著將軟件下載和/或安裝至車輛。另外,可在檢測到滿足電池能量閾值水平時執(zhí)行軟件的下載和/或安裝,并且如果必要的話,可在完成下載和/或安裝之后補充能量損失,僅列舉兩種可選的可能性。此種準備有助于確保車輛電池具有足夠的電量或能量,以將軟件下載和安裝至車輛。在其他實施例中,可存在眾多其他因素、參數(shù)、條件和/或狀態(tài),可評估和/或確定這些因素、參數(shù)、條件和/或狀態(tài)來作為執(zhí)行下載、安裝或這兩者的先決條件。
現(xiàn)在參照附圖,圖1示出用于將軟件下載和安裝至車輛的系統(tǒng)10的潛在實施例,其也稱為軟件推送或空中(ota)編程。系統(tǒng)10大體包括車輛12、遠程設(shè)施80以及通信系統(tǒng)14。車輛12包括車輛電子器件20及電池24,在包括圖1的所示實施例在內(nèi)的一些實施例中,該電池可以是車輛電子器件的一部分。
車輛12示作乘用車,但應(yīng)理解,本發(fā)明的方法和系統(tǒng)可與其他車輛一起實施,這些車輛包括摩托車、卡車、運動型多功能車(suv)、旅行車(rv)、海洋船只、飛機、列車等等。此外,車輛12可以是傳統(tǒng)的內(nèi)燃機車輛、電動車輛、混合動力車輛或者他們的任一組合或衍生物。
車輛電子器件20的與本發(fā)明方法更為相關(guān)的一些部件在圖1中示出,但技術(shù)人員將理解,更廣泛的車輛硬件集合存在于大多數(shù)現(xiàn)在車輛中。車輛電子器件20可包括電池24、充電電路26、遠程信息處理單元50、多個人車接口(例如,行人友好警報功能(pfaf)56、揚聲器56、視覺顯示器38)以及任何數(shù)量的車輛模塊,例如在車輛模塊30中示出的那些模塊:車身控制模塊(bcm)32、發(fā)動機控制模塊(ecm)34以及其他模塊36。車輛電子器件20的這些和其他部件可經(jīng)由通信總線44或經(jīng)由無線網(wǎng)絡(luò)(未示出)彼此通信。還應(yīng)理解,圖1中示出的車輛電子器件20僅僅是用于說明的目的,因為部件、裝置、模塊和/或系統(tǒng)的實際布置或配置可實質(zhì)上不同于這里所示出的布置或配置并且其不限于任何特定的實施例。例如,bcm32、ecm34和/或其他車輛模塊36可以是獨立的物件或者他們可與車輛中的其他部件、裝置、模塊和/或系統(tǒng)組合或集成。換句話說,系統(tǒng)10的特定結(jié)構(gòu)是一個示例,因為該系統(tǒng)可根據(jù)多種配置和布置來提供。
電池24用于對車輛模塊30和/或其他電子器件供電并且可由oem合并為車輛電子器件20的一部分或者可作為配件市場部件安裝到車輛中。電池24可用于對起動電機、內(nèi)部和外部車燈、點火系統(tǒng)和/或車輛電子器件供電,并且可以是通常用在內(nèi)燃機車輛中的類型(例如,標準的12v或24v鉛酸蓄電池)。在另一實施例中,電池可用在混合動力或電動車輛中,用于對車輛電子器件供電、推進車輛或者這兩者(例如,100-300v鋰離子或者鎳金屬氫化物電池)。如圖所示,電池24連接至充電電路26,該充電電路可包括一個或多個硬件部件,這些硬件部件向電池提供合適或期望量的電流、電荷和/或電壓。另外,充電電路26可包括提供與電池24有關(guān)的數(shù)據(jù)的裝置或部件,例如測量電池可提供的安培-小時數(shù)的安培-小時計。在一個實施例中,充電電路26包括或者至少耦接至一個或多個交流發(fā)電機,當發(fā)動機運轉(zhuǎn)或者車輛的車軸轉(zhuǎn)動時,這些交流發(fā)電機為電池充電。在另一實施例中,充電電路26可耦接和/或可包括再生制動設(shè)備,使得由此產(chǎn)生的能量提供給電池24。如前所述并且如圖1所示,電池24可為一個或多個車輛模塊提供能量。當車輛運轉(zhuǎn)時,該電池可將能量提供給這些模塊,而當車輛關(guān)斷時,該電池可將輔助電力提供給車輛模塊。
車輛模塊30可包括bcm32、ecm34、其他模塊36或者包括在車輛電子器件20中的其他裝置。車輛模塊中的一個或多個可彼此集成,使得他們使用類似的部件、硬件或軟件操作??商娲?,車輛模塊可以是獨立的模塊,并且如果必要的話或者期望的話,這些車輛模塊可經(jīng)由通信總線(例如,總線44)彼此通信。如在所示實施例中所示,車輛模塊至少部分地由電池24供電。取決于車輛電子器件的特定配置和期望操作,當車輛關(guān)斷時,該電池可以或者可以不將電力提供給車輛模塊。
車身控制模塊(bcm)32和發(fā)動機控制模塊(ecm)34示作是系統(tǒng)10的一部分。在一個實施例中,bcm32和ecm34各自包括處理裝置(未示出)和至少一個存儲裝置(未示出)。如果車輛具有存儲裝置,則該存儲裝置可以是ram、rom、其他非易失性存儲器,或者在一個以上的存儲裝置的情形中,這些存儲裝置可以是他們的組合(例如,ram裝置和硬盤驅(qū)動(hdd)(即,rom))。處理裝置可對存儲在存儲裝置中的數(shù)據(jù)或者經(jīng)由一個或多個通信總線(例如,總線44)在模塊處接收的數(shù)據(jù)執(zhí)行計算。處理裝置可用于將所接收的數(shù)據(jù)寫入至存儲器、調(diào)用數(shù)據(jù)以發(fā)送至另一裝置或模塊、和/或?qū)④浖惭b在其相應(yīng)模塊或另一模塊上。在其他實施例中,可存在在車輛模塊之間共享的一個或多個處理或存儲裝置。例如,bcm32、ecm34和其他模塊36可共享同一處理裝置和/或存儲裝置。此外,每個模塊可具有其自身的存儲部件或裝置,可在其上存儲和/或安裝軟件、固件或其他計算指令。
遠程信息處理單元50可實施為無線通信裝置。“無線通信裝置”廣義地包括可無線地接收預(yù)期信號(其指示軟件已準備好或者將準備好以下載至車輛)的任何裝置,如將要解釋的那樣。遠程信息處理單元50可以是oem安裝的(嵌置的)裝置或配件市場裝置,其安裝在車輛中并且使得能夠在通信系統(tǒng)14上并且經(jīng)由無線網(wǎng)絡(luò)進行無線語音和/或數(shù)據(jù)通信。這使得車輛能與遠程設(shè)施80、計算機74、其他能夠遠程信息處理的車輛或者一些其他實體或裝置通信。數(shù)據(jù)可通過數(shù)據(jù)連接發(fā)送,例如通過在經(jīng)由通信系統(tǒng)14的數(shù)據(jù)信道上的分組數(shù)據(jù)傳輸發(fā)送。數(shù)據(jù)可由一個或多個計算機74(僅僅示出一個)或者一個或多個設(shè)施80(僅僅示出一個)接收。類似地,遠程信息處理單元可經(jīng)由通信系統(tǒng)14從遠程設(shè)施80、計算機74或者連接至通信系統(tǒng)14和/或陸地網(wǎng)絡(luò)76的任何其他蜂窩裝置或網(wǎng)絡(luò)裝置接收數(shù)據(jù)通信。天線52示作耦接至遠程信息處理單元50并且可操作以改進單元的接收和發(fā)送無線數(shù)據(jù)通信的能力。
車輛電子器件20的其他裝置或部件包括行人友好警報系統(tǒng)(pfaf)58、揚聲器56、麥克風(fēng)54以及視覺和/或觸摸顯示器38。這些部件,不管是單獨地還是彼此組合地,均可提供人機接口,使得車輛的操作者、乘客或用戶可與車輛通信,且反之亦然。這些裝置或部件可由諸如遠程信息處理單元50或信息娛樂模塊(未示出)之類的一個或多個車輛模塊或單元操作。此外,這些裝置或部件可以是獨立的,集成到模塊中或者彼此集成,或者可以是oem安裝的或配件市場的裝置或部件。
無線通信系統(tǒng)14可以是蜂窩載波系統(tǒng),其包括多個蜂窩塔70(僅僅示出一個)、一個或多個移動交換中心(msc)72(僅僅示出一個)以及連接蜂窩塔70與陸地網(wǎng)絡(luò)76所需的任何其他聯(lián)網(wǎng)部件。每個蜂窩塔70包括發(fā)送和接收天線以及基站,其中來自不同蜂窩塔的基站直接地或者經(jīng)由諸如基站控制器之類的中間設(shè)備連接至msc72。通信系統(tǒng)14可實施任何合適的通信技術(shù),包括例如諸如amps之類的模擬技術(shù)或者諸如lte、evdo、cdma、gprs和edge之類的較新的數(shù)字技術(shù)。本領(lǐng)域技術(shù)人員將理解,各種蜂窩塔/基站/msc布置均是可能的并且可與通信系統(tǒng)14一起使用。例如,基站和蜂窩塔可共同位于同一地點處,或者他們可彼此遠程地定位,每個基站可負責單個蜂窩塔或者單個基站可服務(wù)各個蜂窩塔,并且各個基站可耦接至單個msc,僅僅列舉出一些可能的布置。
陸地網(wǎng)絡(luò)76可以是傳統(tǒng)的陸基電信網(wǎng)絡(luò),其連接至一個或多個陸線電話并且將蜂窩塔70連接至遠程設(shè)施80。例如,陸地網(wǎng)絡(luò)76可包括公共交換電話網(wǎng)(pstn),例如用于提供硬接線電話、分組交換數(shù)據(jù)通信以及因特網(wǎng)基礎(chǔ)設(shè)施的網(wǎng)絡(luò)。陸地網(wǎng)絡(luò)76的一個或多個區(qū)段可通過使用標準有線網(wǎng)絡(luò)、纖維或其他光學(xué)網(wǎng)絡(luò)、線纜網(wǎng)絡(luò)、電源線、諸如無線局域網(wǎng)(wlan)之類的其他無線網(wǎng)絡(luò)或者提供寬帶無線接入(bwa)的網(wǎng)絡(luò)或者他們的組合來實施。此外,遠程設(shè)施80無需經(jīng)由陸地網(wǎng)絡(luò)76連接,但可包括無線電話設(shè)備,使得其可與無線網(wǎng)絡(luò)直接地通信。
計算機74可以是能經(jīng)由諸如因特網(wǎng)之類的私人或公用網(wǎng)絡(luò)訪問的多個計算機之一。每個此類計算機74均可用于一個或多個目的,例如將軟件和/或與其相關(guān)的信息提供給車輛12。其他此種可訪問的計算機74可例如是:網(wǎng)絡(luò)服務(wù)器,其能經(jīng)由通信系統(tǒng)14由遠程信息處理單元50訪問;服務(wù)中心計算機,其中可經(jīng)由遠程信息處理單元50從車輛上傳診斷信息和其他車輛數(shù)據(jù);客戶計算機,其由車主或其他用戶使用,以用于諸如訪問或接收車輛數(shù)據(jù)或者建立或配置用戶偏好或控制車輛功能之類的目的;或者第三方存儲庫,不管是通過與車輛12或遠程設(shè)施80通信還是通過與這兩者通信,向或者從該第三方存儲庫提供車輛數(shù)據(jù)或其他信息。計算機74還可以用于提供諸如dns服務(wù)之類的因特網(wǎng)連接,或者作為使用dhcp或其他合適的協(xié)議向車輛12分配ip地址的網(wǎng)絡(luò)地址服務(wù)器。
遠程設(shè)施80設(shè)計成為車輛電子器件20提供多個不同的系統(tǒng)后端功能。在其他實施例中,可存在一個以上的遠程設(shè)施80;然而,如在所示實施例中所示,出于簡化的目的僅僅顯示一個遠程設(shè)施。本領(lǐng)域技術(shù)人員將理解,通信網(wǎng)絡(luò)通常包括多個設(shè)施,并且因此,這里提供的參照單個遠程設(shè)施公開的功能性和/或操作可擴展為在一個以上的遠程設(shè)施上操作。此外,計算機74可與遠程設(shè)施80集成或以其他方式組合,因為預(yù)期遠程設(shè)施會包括任何數(shù)量的類似于計算機74的計算機。
遠程設(shè)施80可包括一個或多個開關(guān)、服務(wù)器、數(shù)據(jù)庫、現(xiàn)場顧問以及自動語音響應(yīng)系統(tǒng)(vrs),所有這些均是本領(lǐng)域眾所周知的。遠程設(shè)施80可包括這些各種部件中的任何一個或所有,并且優(yōu)選地,各種部件中的每個均經(jīng)由有線或無線局域網(wǎng)耦接至彼此。遠程設(shè)施80可經(jīng)由連接至陸地網(wǎng)絡(luò)76的調(diào)制解調(diào)器接收和發(fā)送數(shù)據(jù)。遠程設(shè)施處的數(shù)據(jù)庫可存儲用于車輛模塊的軟件或者諸如用戶驗證信息、車輛標識符、簡表記錄、行為模式和其他相關(guān)用戶信息之類的賬戶信息。數(shù)據(jù)傳輸也可由諸如802.11x、gprs之類的無線系統(tǒng)來進行。應(yīng)理解,這里描述的模塊、裝置以及系統(tǒng)并不限于圖1的示意說明和/或他們參照特定實施例的描述。這些物件可以以任何數(shù)量的不同方式設(shè)置,并且應(yīng)理解,圖1表示僅僅一個這樣的實施例。
現(xiàn)在轉(zhuǎn)向圖2,示出了用于將軟件下載和安裝至包括電池及車輛電子器件的車輛的方法200的示例性實施例。
從步驟210開始,該方法在車輛處接收預(yù)期信號。預(yù)期信號指示軟件包已準備好或者將在一定量的時間之后準備好以無線地下載至車輛。軟件包包括所要安裝在車輛電子器件上的軟件,并且可以包括其他數(shù)據(jù)(例如,元數(shù)據(jù))。軟件可以是新的軟件或固件,或者它可以是預(yù)先存在的軟件或固件的更新或補丁,所有這些都被認為是用于在車輛電子器件上下載和安裝的軟件。因此,術(shù)語“軟件”和“軟件更新”在本文中可互換使用,并且可以是“軟件包”的一部分。應(yīng)理解,在一些實施例中,軟件包可以僅由軟件組成而無任何其他數(shù)據(jù)。
預(yù)期信號可以包括附加數(shù)據(jù),諸如關(guān)于軟件包的度量(例如,軟件包的大小)、軟件包中包括的軟件的估計安裝時間、信號的來源、軟件包將準備好下載的日期和時間、能量閾值水平、待編程的目的地ecu、促進更新所需的最小通信總線等。預(yù)期信號可以是從遠程設(shè)施(例如,遠程設(shè)施80處的服務(wù)器)、從計算機(例如,計算機74)、從另一車輛或從可與車輛12無線通信的另一裝置、部件或系統(tǒng)(例如,諸如智能手機之類的移動裝置)發(fā)送的無線信號。車輛可以經(jīng)由通信系統(tǒng)14在遠程信息處理單元50處接收該信號。在另一實施例中,可以由移動裝置(例如,智能電話)從通信系統(tǒng)14接收信號,然后轉(zhuǎn)發(fā)到車輛12。
在車輛12處接收到預(yù)期信號之后,該方法繼續(xù)進行到步驟220。在該步驟,預(yù)期信號由車輛處理。這可以包括僅存儲信號中所包括的數(shù)據(jù)的至少一部分。例如,軟件包的大小或軟件包中包括的軟件的估計安裝時間可以存儲到存儲裝置或介質(zhì),諸如可以包括在遠程信息處理單元50、bcm32、ecm34或其他模塊36中的那些。在另一實施例中,可以對預(yù)期信號的數(shù)據(jù)的至少一部分執(zhí)行計算。例如,預(yù)期信號可以包括所要下載的軟件包的大小或包括在其中的軟件的大小。然后可以使用該軟件包或軟件大小以及可以從車輛電子器件20中的存儲裝置調(diào)用的其他數(shù)據(jù)或可以從預(yù)期信號導(dǎo)出的數(shù)據(jù)來計算估計安裝時間,如上述段落所描述。
步驟230可以以多種不同的方式執(zhí)行,并且在圖3和圖4中提供了兩個這樣的詳細實施例。步驟230的主要目的是確定車輛電子器件20(如圖1所示,其可以包括電池24)是否對于所要下載的軟件包、對于所要安裝的軟件或?qū)τ谒螺d的軟件包和所要安裝到車輛的軟件兩者處于充足狀態(tài)。在這方面,一個實施例可以提供執(zhí)行步驟230的這兩個詳細實施例,步驟230a和230b。因此,相應(yīng)詳細實施例(步驟236a和236b)的決定步驟的結(jié)果可以分離地或結(jié)合地組合以提供步驟230的確定(例如,如果分離地組合,則來自步驟236a的“是”或來自步驟236b的“是”可以指示步驟230為“是”,而如果結(jié)合地組合,步驟236a和236b兩者均需要使步驟230為“是”以產(chǎn)生“是”)。
現(xiàn)在參照圖3,執(zhí)行步驟230a(步驟230的詳細實施例)。如在所示實施例中所示,步驟230a包括三個步驟:步驟232a、234a和236a。在這三個步驟中的第一步驟,即步驟232a,從預(yù)期信號確定能量閾值水平。能量閾值水平包括用于軟件包的無線下載、用于軟件的安裝或者用于軟件包的無線下載和軟件的安裝兩者所需的預(yù)期能量。如下面將討論的,該閾值水平可以隨后用于提供車輛執(zhí)行下載和安裝步驟的能力的指示或至少預(yù)測。
在一個實施例中,能量閾值水平可以是包含在預(yù)期信號中的值(例如,安培-小時值)。這里,計算能量閾值水平,然后將其編譯成預(yù)期信號。這可以由遠程設(shè)施80或計算機74以例如類似于下面關(guān)于車輛電子器件描述的方式(即,通過使用估計安裝時間和其他車輛數(shù)據(jù)來計算閾值水平)來執(zhí)行。然后,在步驟232a中,車輛電子器件可以從預(yù)期信號提取該值(即能量閾值)。
雖然至少在步驟230a的詳細實施例中,從預(yù)期信號確定能量閾值水平,但是該確定也可以并入其他數(shù)據(jù)。車輛電子器件20可以使用一個或多個處理裝置、存儲裝置和/或通信裝置以編譯和/或處理數(shù)據(jù),使得能量閾值水平可以轉(zhuǎn)換成公共單位集合。例如,預(yù)期信號可以提供安裝時間(例如16分鐘),并且車輛電子器件20可以確定電流消耗量(例如,7安培(a))。這些值可以相乘以提供每次安裝嘗試的總消耗(例如,7a*(16分鐘/(60分鐘/1小時))=1.867安培-小時)。根據(jù)特定實施例,該轉(zhuǎn)換值可以用作能量閾值水平,或者可以用于導(dǎo)出能量閾值水平。
在另一實施例中,可以利用上述方法,但是最終判定電池的某一狀態(tài)而不是特定值。例如,可以存在某些預(yù)定義的電池和/或車輛電子器件狀態(tài),其提供關(guān)于一個或多個電池或車輛電子器件特性的指示。這里,預(yù)期信號可以提供能量閾值水平作為“能量水平2”。如下面將在步驟236a中進一步描述的,該能量閾值水平可以與電池的當前能量水平進行比較。
在步驟234a中,確定電池的電池能量水平。電池能量水平可以是電池提供能量的能力的任何指示。例如,電池能量水平可以是安培-小時,或者可以僅包括電池的某個狀態(tài)的指示符(例如,“能量水平1”,其中電池的能量水平對應(yīng)于一個或多個能量水平或范圍)。為了確定電池的安培-小時,車輛可以使用電耦接至電池24或充電電路26的一個或多個裝置。一個這樣的裝置可以是安培-小時計。
由于電池24至少在所示實施例中用于為多個模塊和/或其他電子器件供電,因此在一些情況下測量電池的安培-小時可能不夠,并且可能需要執(zhí)行進一步的計算以確定將要執(zhí)行軟件安裝的特定模塊所需的能量。例如,雖然電池24可以額定為提供350安培(a),但是將執(zhí)行軟件安裝的模塊(諸如bcm32)將很可能接收較少的安培值,諸如7a。本領(lǐng)域技術(shù)人員將理解,這可能不是以下情況,其中車輛模塊(例如,bcm32)具有其自己的專用電池(即,專用電池可能不提供比模塊額定更多(或至少多出非額定量)的安培值)。
在確定能量閾值水平和電池能量水平之后,可以將這些值彼此進行比較,如步驟236a所示。該步驟可以由車輛電子器件20、計算機76和/或遠程設(shè)施80的任何合適的裝置或模塊(即具有處理裝置的裝置或模塊)來執(zhí)行。例如,在確定所要比較的這兩個能量水平的值時,遠程信息處理單元50可以使用其處理裝置來確定電池能量水平是否低于能量閾值水平。
在其中能量水平是安培-小時值的一個實施例中,遠程信息處理單元50的處理裝置可以對這兩個值進行比較(例如,能量閾值水平>電池能量水平)。如果電池能量水平大于或等于能量閾值水平,則該方法將引導(dǎo)到步驟240;否則,該方法將引導(dǎo)到步驟280。
現(xiàn)在參照圖4,提供步驟230的第二詳細實施例,其被示為步驟230b,其中其包含三個步驟:232b、234b和236b。步驟230的該實施例類似于步驟230a的實施例并且上面關(guān)于步驟230a(及其中包含的詳細步驟)討論的一切均納入到步驟230b中,只要他們是相關(guān)的并且與下面提供的公開內(nèi)容一致。
在步驟232b中,確定車輛的所需狀態(tài)。車輛的所需狀態(tài)是使得車輛能夠執(zhí)行軟件包的下載、軟件的安裝或軟件包的下載和軟件的安裝兩者的車輛的任何狀態(tài)。一個這樣的實施例包括將所需狀態(tài)表示為車輛電子器件的操作模式。操作模式可以是所要執(zhí)行的車輛電子器件的一個或多個任何預(yù)配置操作。一個這樣的示例是充電效率模式。這里,充電效率模式是車輛電子器件20的模式,其中系統(tǒng)電壓降低以提高燃料經(jīng)濟性。當確定車輛電需求較低并且電池非常健康或者電池未在最佳(或接近最佳)充電電壓下接受顯著電流時,車輛12可以進入充電效率模式。換句話說,充電效率模式是當確定電池不是在當前最佳(或接近最佳)充電電壓下接受顯著電流時以較低電壓為目標的常規(guī)操作模式的特定變型。
類似于其中確定能量閾值水平的步驟232a,可以確定所需車輛狀態(tài)。這里,車輛的所需狀態(tài)可以是車輛電子器件的特性、屬性、條件或操作模式的任何表示或集合。例如,所需狀態(tài)可以包含在預(yù)期信號中并且僅僅通過讀取預(yù)期信號來從預(yù)期信號得到確定。在另一實施例中,車輛可以從預(yù)期信號(諸如安裝時間或下載和/或安裝所需的能量)獲得數(shù)據(jù),并從其導(dǎo)出所需狀態(tài)。在另一實施例中,所需狀態(tài)可以僅從由車輛電子器件20在車輛處存儲或收集的信息確定,并且不需要從預(yù)期信號導(dǎo)出。在任何情況下,在已經(jīng)確定了所需狀態(tài)之后,該方法繼續(xù)進行到步驟234b。
在步驟234b中,確定車輛的當前狀態(tài)。這里,車輛的當前狀態(tài)可以是車輛電子器件的特性、屬性、條件或操作模式的任何表示或集合。如上面關(guān)于步驟232b所述,可以根據(jù)車輛的當前操作模式中的一個或多個(諸如充電效率模式)來描述車輛的狀態(tài)??商娲鼗蛄硗猓梢酝ㄟ^確定車輛電子器件的一個或多個屬性、條件或特性(諸如電池的充電狀態(tài)、電池的剩余安培-小時數(shù)和/或當前的操作模式)來確定當前狀態(tài)。該方法繼續(xù)進行到步驟236b。
在確定車輛的所需狀態(tài)和車輛的當前狀態(tài)兩者之后,接著執(zhí)行步驟236b以確定車輛的當前狀態(tài)是否處于所需狀態(tài)。該步驟可以包括簡單比較,諸如如果所需狀態(tài)和當前狀態(tài)僅由操作模式表示,則將執(zhí)行該步驟。這里,評估將僅僅比較所需操作模式和當前操作模式,并且在確定模式相同或至少等同時,該方法將繼續(xù)進行到步驟240;否則,該方法將繼續(xù)進行到步驟280。操作模式可以被認為等同于非同一的操作模式,條件是關(guān)于確定車輛電子器件和/或電池是否處于使得軟件可以下載和/或安裝的狀態(tài)中,各操作模式的功能性和/或操作相同。
返回到圖2,該方法在步驟230評估為“是”時繼續(xù)進行到步驟240。在步驟240中,車輛確定用戶(例如,車輛的操作者或乘客)是接受還是拒絕軟件包中所提供的更新;另外,如果由于用戶缺乏響應(yīng)而不能作出確定,則步驟將評估為“無響應(yīng)”。可以在車輛提示用戶指示他們是接受還是拒絕更新之后執(zhí)行該步驟。提示可以由本文提供的任何人機接口裝置提供,諸如經(jīng)由顯示在視覺顯示器38上的文本提示、由揚聲器56提供的口頭提示或其組合。
然后車輛可以等待來自用戶的響應(yīng),這可以經(jīng)由可以由麥克風(fēng)54接收的口頭陳述來指示;或者,可以通過用戶按下顯示在視覺顯示器38上的屏幕上按鈕來接收響應(yīng)。當接收到用戶的指示時,該方法可以相應(yīng)地進行;也就是說,如果用戶指示他們接受更新,則該方法可以進行到步驟260,或者如果用戶拒絕更新,則該方法可以結(jié)束。在用戶拒絕更新的情況下,該方法可以執(zhí)行一個或多個先前步驟而不是結(jié)束該方法。例如,該方法可以再次提示用戶指示他們現(xiàn)在是否將接受更新。這里,在提供給用戶一定數(shù)量的提示之后,則該方法可以結(jié)束。應(yīng)理解,該實施例可以被并入用戶緊急援助步驟(步驟250)中,并且在該情況下,在指示拒絕時,該方法將繼續(xù)進行到步驟250,以確定是否已超過關(guān)于當前軟件包的拒絕數(shù)量;如果是,則該方法結(jié)束(即,步驟250結(jié)果為“是”),否則,執(zhí)行其他詳細的方法步驟(步驟252、254和256)。在用戶不提供響應(yīng)或其他指示的情況下,該方法可以立即繼續(xù)進行到步驟250,或者車輛可以在該方法繼續(xù)進行到步驟250之前等待一定量的時間。
在步驟250中,確定是否存在“用戶緊急援助”。如本文所使用的,“用戶緊急援助”是指示用戶已經(jīng)明確地或隱含地指示(例如,通過不接受更新或軟件的安裝)應(yīng)該放棄或至少在當前時間不執(zhí)行軟件包下載、軟件安裝或軟件包下載和軟件安裝兩者。在一些實施例中,步驟240可以是如步驟250所示的用戶緊急援助的一部分??梢赃M行多次確定以實現(xiàn)該結(jié)果,并且其中一些在圖5所示的步驟250的詳細實施例中突出顯示。
現(xiàn)在參照圖5,提供了步驟250的詳細實施例。開始,在步驟252中,確定車輛自初始事件起是否已經(jīng)行駛了多于一定量的英里數(shù)。初始事件可以是在到達步驟250之前發(fā)生的任何事件,并且對此記錄一個或多個度量、條件和/或?qū)傩缘某跏加涗洠蛘呖商娲鼗蛄硗?,對此將一個或多個變量重置為起始或初始值(例如,設(shè)置num_miles=0)。在該步驟中,確定車輛自初始事件起是否已經(jīng)行駛了多于一定量的英里數(shù)。在一個實施例中,初始事件可以是提示用戶指示他們對車輛是否應(yīng)安裝更新的響應(yīng)的時間;或者在另一實施例中,初始事件可以是接收到預(yù)期信號的時間。
無論如何,可以在初始事件(例如,提示用戶的時間,如在步驟240中隱含地斷定的)時作出車輛已行駛的英里數(shù)的初始記錄。在一個實施例中,可以通過車輛電子器件查詢里程表或可具有存儲在存儲器中的當前車輛英里數(shù)的其他裝置而作出該記錄。根據(jù)特定實施方式或?qū)嵤├?,車輛可以將該值存儲在存儲器中,或者可以將一定的英里數(shù)添加到該值并存儲該結(jié)果總和。在后一種情況下,該總和可以被視為里程表閾值。然后,當?shù)竭_該步驟時,車輛電子器件可以判定車輛已行駛的當前英里數(shù)。然后車輛可以將閾值(例如,該結(jié)果總和)與當前記錄的英里數(shù)進行比較。在超過閾值時,步驟250評估為“是”,并且該方法結(jié)束;否則,該方法進行到步驟254。
在步驟254中,進行關(guān)于步驟252的類似確定。然而,這里,不是確定自初始事件起行駛的英里數(shù),而是確定其后的點火循環(huán)的數(shù)量。點火循環(huán)可以是從車輛點火啟動的時間(或混合動力和電動車輛中的類似事件)到車輛點火關(guān)閉的時間(或直到車輛在關(guān)閉之后再次接通的時間)的時間段。在其他實施例中,該時間段可以與先前描述的相同,但是可能存在一個或多個先決條件,其必須成立以使該時間段被認為是點火循環(huán)。例如,先決條件可以是發(fā)動機溫度達到特定溫度(例如,以使其被“加熱”)。換句話說,如果在發(fā)動機溫度達到特定溫度之前發(fā)動機被接通然后被關(guān)閉,則不存在點火循環(huán)(由于不滿足發(fā)動機溫度達到特定溫度的先決條件的事實)。
無論如何,當達到初始事件時,可以將點火循環(huán)計數(shù)設(shè)置或重置為零。當車輛檢測到每個點火循環(huán)時,可以使存儲在車輛電子器件20中的存儲器中的計數(shù)器增量。在步驟254確定已經(jīng)達到或超過閾值數(shù)量的點火循環(huán)(例如,存儲在車輛電子器件中的預(yù)定值)時,該方法可以結(jié)束;否則,該方法可以繼續(xù)進行到步驟256。
在步驟256中,對初始事件與當前時間之間的時間進行評估。例如,如先前所提到的,初始事件可以是用戶首次初始地得到提示以指示他們是否接受更新的時間。在該初始事件時,可以將時間記錄至車輛電子器件20的存儲裝置,諸如,記錄至遠程信息處理單元50或者bcm32的存儲裝置。然后,在到達步驟250時,可以將當前時間與初始記錄時間進行比較,并且隨后,可以將其結(jié)果與閾值時間量進行比較。這可以由車輛電子器件20的處理裝置(諸如,包括在bcm32、ecm34、其他模塊36或者遠程信息處理單元50中的處理裝置)來執(zhí)行。在時間終止時(即,當前時間與初始記錄時間的差值超過閾值時間量),步驟250則評估為“是”并且方法結(jié)束;否則,該方法繼續(xù)進行到步驟230。
在步驟260中,在如下兩次確定之后下載軟件包(例如,更新):在步驟230中確定車輛電子器件處于使得更新可以下載和/或安裝的狀態(tài)中(如分別在圖3和圖4中所示的步驟230a和230b中進一步所示的)以及確定用戶已經(jīng)接受該更新。該下載可通過車輛向遠程服務(wù)器發(fā)送下載請求(諸如,http請求)來發(fā)起。該請求可以指示關(guān)于車輛的一個或多個特性或者可以僅僅指示車輛請求下載軟件包。在另一實施例中,可以確定車輛請求僅僅下載軟件包的一個或多個特定部分(例如,用于ecm34的軟件更新)而不是整包(例如,其中整包包括用于bcm32、ecm34以及遠程信息處理單元50的更新)。
在服務(wù)器接收到請求之后,服務(wù)器可以根據(jù)請求而發(fā)送恰當?shù)能浖_@里,服務(wù)器可以是計算機或者在遠程設(shè)施80、計算機74或者另一車輛處的類似裝置。在任何情況下,軟件包可接著被發(fā)送至車輛12并且由車輛12接收。該軟件包不需要在一段中(例如,在一個數(shù)據(jù)分組中)進行發(fā)送,并且如果以多個分組的形式進行發(fā)送的話,則可以在車輛處進行編譯。車輛可以在軟件包上執(zhí)行特定其他處理和/或記錄有關(guān)軟件包的信息,諸如,指示軟件包或其部分的成功接收的數(shù)據(jù)。車輛然后可以將軟件包存儲在車輛電子器件20的一個或多個存儲介質(zhì)或裝置上。
在另一實施例中,可以在接收了預(yù)期信號之后立即執(zhí)行下載。這里,除了在執(zhí)行步驟230之前下載軟件包之外,該方法將按照相同的方式來執(zhí)行。相應(yīng)地,步驟230將試圖確定車輛是否處于所需狀態(tài)中,其中該所需狀態(tài)表示使得車輛能夠執(zhí)行軟件的安裝的車輛狀態(tài);或者確定能量閾值水平是否大于或等于電池能量水平以使閾值水平包括軟件的安裝所需的預(yù)期能量。在又一實施例中,預(yù)期信號可以包括隨后所要安裝在車輛12上的整個軟件包。在任何情況下,如果通過車輛用戶干涉或者任何其他類型的中斷(例如,失去無線網(wǎng)絡(luò)連接)而使下載中斷,則下載可以暫停并且在隨后恢復(fù)。
在成功地下載了軟件包之后,車輛然后可以執(zhí)行步驟270,其中包括在軟件包中的軟件被安裝至車輛。如上文所陳述的,軟件包可以包含用于一個或多個車輛模塊的軟件。在一個實施例中,在將軟件安裝至其對應(yīng)模塊之前,應(yīng)該對當前存儲在車輛電子器件20中的存儲器中的軟件包進行處理,以便識別其應(yīng)該安裝的特定模塊。這可以由遠程信息處理單元50中的處理裝置或者任何一個車輛模塊中的另一個處理裝置來執(zhí)行。
其后,可以對軟件進行分析以獲得對安裝的要求,諸如,車輛必須處于的狀態(tài)以便使得可以執(zhí)行軟件的安裝。例如,如果軟件是所要安裝至ecm(發(fā)動機控制模塊)34的更新,則可能必須使車輛在安裝過程的整個時長中關(guān)閉(即,點火未啟動)。在另一個示例中,所要安裝軟件的車輛模塊可以是光盤驅(qū)動器。這里,除了必須具有足夠的電力供應(yīng)至模塊以使其具有能量來執(zhí)行安裝之外,可以在對車輛狀態(tài)沒有任何特定要求的情況下執(zhí)行安裝。在又一個實施例中,在完成下載的時間與上一次執(zhí)行步驟230的時間之間的時間可以超過閾值時間量,使得車輛電子器件可能已改變狀態(tài)和/或耗盡能量,從而使得步驟230若在當前時間執(zhí)行的話已不再得到滿足。因此,取決于在步驟260中完成下載與上一次執(zhí)行步驟230之間的時間量,再次執(zhí)行步驟230可以是可取的。如果是這樣,則在執(zhí)行了步驟230以使其產(chǎn)生肯定結(jié)果(即,“是”)之后,方法然后可以跳轉(zhuǎn)到步驟270(由于用戶已經(jīng)在步驟240中接受了軟件并且已經(jīng)下載了軟件(步驟260))。
在任何情況下,在確定了車輛已準備好將軟件安裝至一個或多個車輛模塊之后,可以執(zhí)行安裝。在一個實施例中,包括在bcm32中的處理裝置可以將軟件安裝至bcm32。安裝可以僅僅由以下組成:將計算機指令寫入到位于模塊處的或者可由模塊訪問的存儲裝置??商娲?,安裝可以指:從模塊去除一部分計算機指令并且然后將包含在軟件中的計算機指令寫入到模塊。技術(shù)人員將理解,軟件安裝所需要的能量通常超過軟件包下載所需要的能量。
在另一實施例中,車輛電子器件20可以通過使用多個模塊來執(zhí)行安裝。例如,如果軟件將被安裝至bcm32,則遠程信息處理單元50的處理裝置可以執(zhí)行將軟件安裝至bcm32。在安裝程序單元(例如,遠程信息處理單元50)具有的處理能力或效力大于待安裝軟件的模塊的情況下,這可以是令人期望的或者必要的。如果安裝失敗,或者期望進行重新安裝,則可以再次執(zhí)行步驟270。在其他實施例中,步驟230也可以再次執(zhí)行。此外,在軟件包包含用于多個模塊的軟件的情況下,可以按照連續(xù)或者并行方式來安裝軟件。然后該方法結(jié)束。
回顧步驟230,如果其中確定車輛未處于使得車輛電子器件具有用于下載軟件包、用于安裝軟件、或者用于下載軟件包和將軟件安裝至車輛兩者所需的預(yù)期能量的狀態(tài)中,則執(zhí)行步驟280。在步驟280中,對電池充電參數(shù)作出改變,以使電池能量水平提高。這樣,車輛電子器件可以增加其隨后滿足步驟230的要求的機會,以便可以下載軟件包、可以安裝軟件、或者可以下載軟件包且可以將軟件安裝至車輛。
如本文所使用的,“電池充電參數(shù)”是指與可以由車輛電子器件20改變、操縱、更改或者以其他方式修改的電池充電潛力、能力或者容量有關(guān)的任何參數(shù)、條件或者屬性。例如,車輛電子器件20可以更改充電電路26的當前操作模式,以使其向電池24提供最大(或者接近最大)的可行電流量。在另一實施例中,車輛電子器件20的某些模塊、部件或者裝置可以被禁用和/或被設(shè)定至較低電力模式以便保存能量。在又一實施例中,車輛可以提示用戶通過將車輛插入到充電裝置中來為電池24充電(例如,在其中車輛是電動或者混合動力車輛的情況下尤其可以采用這種方式)。在混合動力車輛或者電動車輛的情況下,可以上調(diào)高壓電池的soc或者其他參數(shù)。此外,可以通過改變不同的電池充電參數(shù)來執(zhí)行針對最大允許電池充電電壓所設(shè)計的充電恢復(fù)模式。充電恢復(fù)模式的一種實施方式可以被描述為電池維護模式,該電池維護模式是針對設(shè)定時期在車輛上的最大允許電池充電電壓所設(shè)計的,同時抑制允許預(yù)期電池電量耗盡的模式。這里,該模式可以暫時地忽視可能通常針對更加溫和的充電周期的其他度量??梢栽诖_定沒有足夠的電池儲備容量時執(zhí)行預(yù)備或者預(yù)期充電,或者可以在每當接收到預(yù)期信號時執(zhí)行預(yù)備或者預(yù)期充電,僅列舉兩種可能性。
在步驟290中,對一個或多個電池緊急援助條件進行評估以便確定其是否得到滿足。這類似于用戶緊急援助步驟(步驟250),并且如圖6所示,提供了該步驟的詳細實施例。類似于用戶緊急援助步驟,識別初始事件,以使其可以用作對一個或多個緊急援助標準作比較的起點。
在步驟292中,確定自初始事件以來是否已經(jīng)過去了特定數(shù)量的點火循環(huán)。該步驟非常類似于在圖5中示出的且在上文描述的步驟252,并且相應(yīng)地,其中的所有相關(guān)公開內(nèi)容均并入此處,以使其與以下描述相關(guān)且一致。例如,當首次到達步驟280時,可以將變量初始化為零。然后,在每個點火循環(huán)時(上文參照步驟252所描述),可以使計數(shù)器增量。其后,可以將該值與預(yù)定值或者閾值進行比較,并且如果超過了預(yù)定值或者閾值,則滿足電池緊急援助條件并且該方法結(jié)束;否則,可以對下一個電池緊急援助條件進行評估,如在步驟294中所示。
在步驟294中,確定車輛自初始事件以來(例如,自對于當前軟件包而言首次到達步驟280以來)是否已經(jīng)行駛了特定英里數(shù)。這里,在一個示例中,車輛電子器件20可以在初始事件的時候記錄車輛已經(jīng)行駛的英里數(shù)(例如,當前里程表值)。然后,當?shù)竭_步驟294時,可以再次讀取當前里程表值并且隨后將其與在初始事件時取到的記錄進行比較。如果這兩個值的差值超過特定英里數(shù)(該特定英里數(shù)可以是預(yù)定值或者閾值),則可以說滿足電池緊急援助條件并且然后該方法結(jié)束;否則,該方法可以繼續(xù)進行到步驟296。
在步驟296中,確定自初始事件以來是否已經(jīng)過去了特定時間量。再次,當?shù)竭_初始事件時,可以記錄時間。然后,在到達步驟296時,可以將時間差值(即,自初始事件以來已經(jīng)過去的時間量)與特定時間量(該特定時間量可以是預(yù)定量或者閾值量)進行比較??商娲?,一個或多個車輛電子條件或者參數(shù)可以告知是什么構(gòu)成特定時間量。例如,在到達步驟296時,可以通過例如充電電路26對電池溫度和/或其他條件或者屬性進行測量。在這些條件或者屬性中的一個脫離期望使條件處于其內(nèi)或者應(yīng)該將條件維持在其內(nèi)的特定值范圍時,則可以滿足緊急援助條件并且該方法結(jié)束;否則,該方法繼續(xù)回到步驟230。
應(yīng)理解,前述說明并非對本發(fā)明的限定,而是對本發(fā)明的一個或多個優(yōu)選示例性實施例的說明。本發(fā)明不限于本文公開的特定實施例,而是僅僅由如下權(quán)利要求來限定。此外,前述說明中包含的聲明涉及特定實施例并且不應(yīng)理解為限定本發(fā)明的范圍或者權(quán)利要求書中所使用的術(shù)語的定義,除非術(shù)語或短語在上文進行了明確的限定。對于本領(lǐng)域的技術(shù)人員而言,各種其他實施例以及對所公開的實施例的各種改變和修改將是顯而易見的。例如,特定步驟組合和順序僅僅是一種可能性,因為本發(fā)明方法可以包括具有比本文所示出的更少、更多或者不同的步驟的步驟組合。所有這些其他實施例、改變和修改均意在屬于所附權(quán)利要求書的范圍內(nèi)。
如本說明書和權(quán)利要求書中所使用的,術(shù)語“例如”、“如”、“比如”、“諸如”和“像”、以及動詞“包括”、“具有”、“包含”及其其他動詞形式在與一個或多個部件或者其他物件的列表結(jié)合使用時分別應(yīng)理解為開放式的,意味著該列表不應(yīng)理解為排除其他附加部件或者物件。其他術(shù)語應(yīng)采用其最廣泛的合理含義來解釋,除非其用于要求有不同解釋的上下文中。