本發(fā)明涉及網(wǎng)絡(luò)管理技術(shù)領(lǐng)域,特別涉及一種車輛控制方法及系統(tǒng)。
背景技術(shù):
當(dāng)整車處于OFF檔時(shí),還需要完成一些功能,比如儀表或指示燈顯示車門打開和關(guān)閉狀態(tài),車身控制器能響應(yīng)遙控鑰匙的控制,倒車鏡記憶ON檔的設(shè)置等等功能。為了實(shí)現(xiàn)這些功能,這些控制器需要在整車處于OFF檔時(shí),有供電來實(shí)現(xiàn)這些控制。由于在整車處于OFF檔時(shí),發(fā)動(dòng)機(jī)不會(huì)為蓄電池充電,控制器工作就會(huì)導(dǎo)致蓄電池的電量消耗;為了防止蓄電池虧點(diǎn),要求這些控制器在不工作時(shí)進(jìn)入低功耗狀態(tài),即休眠狀態(tài);當(dāng)控制器接收到喚醒信號(hào)時(shí),控制器能立即被喚醒,以執(zhí)行功能。因此控制器的休眠喚醒策略非常重要。
目前市場上廣泛應(yīng)用德國汽車電子類開放系統(tǒng)和應(yīng)用接口標(biāo)準(zhǔn)(open systems and the corresponding interfaces for automotive electronics,OSEK)網(wǎng)絡(luò)管理策略來實(shí)現(xiàn)車輛休眠喚醒,例如,連接在同一網(wǎng)段內(nèi)的各電子控制單元(Electronic Control Unit,ECU)之間往往通過共同休眠、喚醒的方式,達(dá)到車輛休眠喚醒的目的。如圖1所示,為現(xiàn)有技術(shù)中車輛休眠喚醒裝置的一種結(jié)構(gòu)示意圖,當(dāng)某控制器,例如控制器1的相關(guān)控制功能被觸發(fā)時(shí),控制器1就會(huì)被喚醒,這時(shí)控制器1開始向總線發(fā)送報(bào)文,喚醒控制器2、控制器3和控制器4;當(dāng)控制功能執(zhí)行完成后,所有的控制器都不處于工作狀態(tài)時(shí),所有的控制器同時(shí)進(jìn)入休眠狀態(tài)。如圖2所示,為現(xiàn)有技術(shù)中控制器喚醒方法的一種流程圖,包括:1.處于休眠狀態(tài)的控制器通過端口電平變化喚醒控制器的中央處理器(Central Processing Unit,CPU),從而喚醒整個(gè)控制器。圖1中11、22、33、44是硬線端口,此處列舉的各控制器只有一個(gè)硬線端口,實(shí)際上可以是多個(gè),當(dāng)控制器的硬線端口電平跳變時(shí),會(huì)喚醒控制器。例如,在整車處于OFF檔,當(dāng)車門打開時(shí),門觸 開關(guān)就會(huì)從吸合變?yōu)榇蜷_,這時(shí)連在門觸開關(guān)上的車身控制器硬線端口電壓就會(huì)從0V跳變成12V,喚醒車身控制器。2.被喚醒控制器向CAN總線發(fā)送報(bào)文,3.CAN總線電平跳變,喚醒總線上所有其他控制器。其中,CAN總線電平從0V跳變到2至3V。
如圖3所示,為現(xiàn)有技術(shù)中控制器休眠方法的一種流程圖,包括:1.當(dāng)整車處于OFF檔時(shí),控制器監(jiān)測其硬線端口電平,2.如果當(dāng)前控制器滿足休眠條件,該控制器向CAN總線按照一定時(shí)序發(fā)送標(biāo)明自己滿足休眠的報(bào)文,其他控制器就會(huì)知道這個(gè)控制器滿足休眠條件,3.當(dāng)CAN總線上所有控制器滿足休眠條件,CAN總線發(fā)送一幀所有控制器進(jìn)入休眠的報(bào)文,4.控制器進(jìn)入休眠狀態(tài),CAN總線電平變?yōu)?V。
現(xiàn)有技術(shù)在單個(gè)控制器喚醒時(shí),所有的控制器都被喚醒;當(dāng)部分控制器滿足休眠條件時(shí),需要等到所有控制器都滿足休眠條件,才能進(jìn)入休眠狀態(tài),這樣會(huì)造成不必要的蓄電池電量消耗。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種車輛控制方法及系統(tǒng),旨在解決現(xiàn)有技術(shù)的休眠喚醒方法要求所有控制器同時(shí)休眠或同時(shí)喚醒,導(dǎo)致不必要的蓄電池電量消耗的問題。
本發(fā)明提供了一種車輛控制方法,包括:
整車下電后,主控制器和各從控制器各自監(jiān)測自身的硬線端口是否滿足休眠條件;
如果從控制器監(jiān)測到自身的硬線端口滿足休眠條件,則按設(shè)定時(shí)序向CAN總線發(fā)送休眠請(qǐng)求報(bào)文,直至從CAN總線接收到主控制器發(fā)送的休眠指令報(bào)文后,所述從控制器進(jìn)入休眠狀態(tài);
主控制器從CAN總線接收到從控制器發(fā)送的休眠請(qǐng)求報(bào)文后,判斷是否允許所述從控制器休眠;如果是,則通過CAN總線向所述從控制器發(fā)送休眠指令報(bào)文;
如果主控制器監(jiān)測到自身的硬線端口滿足休眠條件,并且通過CAN總線監(jiān)測到所有從控制器都已進(jìn)入休眠狀態(tài),則主控制器進(jìn)入休眠狀態(tài);
在所有從控制器及主控制器進(jìn)入休眠狀態(tài)后,CAN總線進(jìn)入休眠狀態(tài)。
優(yōu)選地,所述方法還包括:
主控制器和各從控制器屏蔽CAN總線信號(hào)喚醒功能,并在各自的硬線端口接收到喚醒信號(hào)后被醒,進(jìn)入工作狀態(tài),所述喚醒信號(hào)為電平跳變。
優(yōu)選地,所述方法還包括:
當(dāng)控制功能僅需主控制器或從控制器單獨(dú)實(shí)現(xiàn)時(shí),單獨(dú)喚醒主控制器或從控制器;
當(dāng)控制功能需要從控制器及主控制器共同實(shí)現(xiàn)時(shí),按以下方式喚醒多個(gè)從控制器及主控器:
先喚醒主控制器,然后再由主控制器喚醒各從控制器;或者
先喚醒各從控制器,然后由其中一個(gè)從控制器喚醒主控制器;或者
先喚醒其中一個(gè)從控制器,然后再由該從控制器喚醒主控制器,接著由主控制器喚醒其余所需的從控制器。
優(yōu)選地,所述方法還包括:
主控制器和從控制器互相監(jiān)測對(duì)方的狀態(tài),以進(jìn)行檢錯(cuò),以及記錄錯(cuò)誤和/或報(bào)錯(cuò);
所述進(jìn)行檢錯(cuò)的錯(cuò)誤種類包括:
從控制器請(qǐng)求休眠,主控制器沒有進(jìn)行休眠確認(rèn),該從控制器進(jìn)入休眠狀態(tài);
從控制器沒有請(qǐng)求休眠,主控制器沒有進(jìn)行休眠確認(rèn),該從控制器進(jìn)入休眠狀態(tài);
從控制器請(qǐng)求休眠,主控制器進(jìn)行休眠確認(rèn),該從控制器沒有進(jìn)入休眠狀態(tài);
主控制器對(duì)應(yīng)的所有從控制器沒有全部進(jìn)入休眠狀態(tài),主控制器進(jìn)入休眠狀態(tài);
主控制器喚醒從控制器,該從控制器沒有響應(yīng)或沒有被喚醒;
從控制器喚醒主控制器,主控制器沒有響應(yīng)或沒有被喚醒。
優(yōu)選地,所述方法還包括:
從控制器監(jiān)測主控制器當(dāng)前狀態(tài),如果從控制器發(fā)現(xiàn)主控制器進(jìn)入休 眠狀態(tài),記錄錯(cuò)誤,且當(dāng)從控制器監(jiān)測到自身的硬線端口滿足休眠條件時(shí),進(jìn)入休眠狀態(tài)。相應(yīng)地,還提供了一種車輛控制系統(tǒng),包括:
主控制器、一個(gè)或多個(gè)從控制器,從控制器和主控制器分別與CAN總線相連,所述從控制器具有至少兩個(gè)硬線端口,主控制器具有多于從控制器個(gè)數(shù)的硬線端口,主控制器通過硬線端口分別與各從控制器的一個(gè)硬線端口相連,主控制器和各從控制器監(jiān)測自身的另一硬線端口是否滿足休眠條件;
從控制器在整車下電后,如果從自身的所述另一硬線端口監(jiān)測到滿足休眠條件,則按設(shè)定時(shí)序向CAN總線發(fā)送休眠請(qǐng)求報(bào)文,直至從CAN總線接收到主控制器發(fā)送的休眠指令報(bào)文后,從控制器進(jìn)入休眠狀態(tài);
主控制器在整車下電后,從CAN總線接收到從控制器發(fā)送的休眠請(qǐng)求報(bào)文后,判斷是否允許所述從控制器休眠;如果是,則通過CAN總線向所述從控制器發(fā)送休眠指令報(bào)文;
主控制器在整車下電后,如果從自身的所述另一硬線端口監(jiān)測到休眠信號(hào),并且通過CAN總線監(jiān)測到所有從控制器都已進(jìn)入休眠狀態(tài)后,主控制器進(jìn)入休眠狀態(tài);
在所有從控制器及主控制器進(jìn)入休眠狀態(tài)后,CAN總線進(jìn)入休眠狀態(tài)。
優(yōu)選地,所述主控制器和所述從控制器還分別用于在整車下電后屏蔽CAN總線信號(hào)喚醒功能,并在各自的硬線端口接收到喚醒信號(hào)后被醒,進(jìn)入工作狀態(tài)。
優(yōu)選地,當(dāng)控制功能僅需主控制器或從控制器單獨(dú)實(shí)現(xiàn)時(shí),所述主控制器或所述從控制器具體用于通過主控制器或從控制器的所述另一硬線端口被單獨(dú)喚醒;
當(dāng)控制功能需要從控制器及主控制器共同實(shí)現(xiàn)時(shí),所述主控制器或所述從控制器具體用于:
當(dāng)主控制器先被喚醒,由主控制器喚醒各從控制器;或者
當(dāng)從控制器先被喚醒,由其中一個(gè)從控制器喚醒主控制器;或者
當(dāng)某個(gè)從控制器先被喚醒,由該從控制器喚醒主控制器,接著由主控制器喚醒其余所需的從控制器。
優(yōu)選地,所述主控制器和所述從控制器還用于互相監(jiān)測對(duì)方的狀態(tài),以進(jìn)行檢錯(cuò),以及記錄錯(cuò)誤和/或報(bào)錯(cuò);
錯(cuò)誤種類包括:
從控制器請(qǐng)求休眠,主控制器沒有進(jìn)行休眠確認(rèn),該從控制器進(jìn)入休眠狀態(tài);
從控制器沒有請(qǐng)求休眠,主控制器沒有進(jìn)行休眠確認(rèn),該從控制器進(jìn)入休眠狀態(tài);
從控制器請(qǐng)求休眠,主控制器進(jìn)行休眠確認(rèn),該從控制器沒有進(jìn)入休眠狀態(tài);
主控制器對(duì)應(yīng)的所有從控制器沒有全部進(jìn)入休眠狀態(tài),主控制器進(jìn)入休眠狀態(tài);
主控制器喚醒從控制器,該從控制器沒有響應(yīng)或沒有被喚醒;
從控制器喚醒主控制器,主控制器沒有響應(yīng)或沒有被喚醒。
優(yōu)選地,所述從控制器具體用于監(jiān)測所述主控制器當(dāng)前狀態(tài),如果從控制器發(fā)現(xiàn)主控制器進(jìn)入休眠狀態(tài),記錄錯(cuò)誤,且當(dāng)從控制器監(jiān)測到自身的所述另一硬線端口滿足休眠條件時(shí),不需要主控制器發(fā)送的休眠確認(rèn)指令,該從控制器進(jìn)入休眠狀態(tài)。
本發(fā)明公開了一種車輛控制方法及系統(tǒng),整車下電后,主控制器和各從控制器各自監(jiān)測自身的硬線端口是否滿足休眠條件,如果從控制器監(jiān)測到自身的硬線端口滿足休眠條件,則按設(shè)定時(shí)序向CAN總線發(fā)送休眠請(qǐng)求報(bào)文,直至從CAN總線接收到主控制器發(fā)送的休眠指令報(bào)文后,所述從控制器進(jìn)入休眠狀態(tài),主控制器從CAN總線接收到從控制器發(fā)送的休眠請(qǐng)求報(bào)文后,判斷是否允許所述從控制器休眠,如果是,則通過CAN總線向所述從控制器發(fā)送休眠指令報(bào)文,這樣,使得本發(fā)明可以在整車下電時(shí),一旦部分從控制器滿足休眠條件,且主控制器允許該從控制器休眠時(shí)即進(jìn)入休眠狀態(tài),而不用等所有從控制器都滿足休眠條件才能進(jìn)入休眠狀態(tài)。因而,本發(fā)明能有效解決現(xiàn)有技術(shù)中控制器休眠時(shí)要求所有控制器必須同時(shí)休眠,導(dǎo)致部分無待執(zhí)行功能的控制器不能休眠,造成不必要的蓄電池電量消耗的問題,避免由于控制器休眠喚醒方法不當(dāng)導(dǎo)致車輛蓄電池虧電的現(xiàn)象。此外,如果主控 制器監(jiān)測到自身的硬線端口滿足休眠條件,并且通過CAN總線監(jiān)測到所有從控制器都已進(jìn)入休眠狀態(tài),則主控制器進(jìn)入休眠狀態(tài),在所有從控制器及主控制器進(jìn)入休眠狀態(tài)后,CAN總線進(jìn)入休眠狀態(tài)。這樣可以進(jìn)一步避免車輛蓄電池虧電的現(xiàn)象。
進(jìn)一步地,本發(fā)明提供的主控制器和各從控制器在整車下電時(shí)屏蔽CAN總線信號(hào)喚醒功能,并在各自的硬線端口接收到喚醒信號(hào)后被醒,進(jìn)入工作狀態(tài)。這樣,使得本發(fā)明可以在整車下電時(shí),一旦整車需要實(shí)現(xiàn)某種控制功能時(shí),僅喚醒與該功能相關(guān)的控制器即可,而不用喚醒所有的控制器。本發(fā)明能有效解決現(xiàn)有技術(shù)中喚醒過程中要求所有控制器同時(shí)喚醒,導(dǎo)致不必要的蓄電池電量消耗的問題,避免由于控制器休眠喚醒方法不當(dāng)導(dǎo)致車輛蓄電池虧電的現(xiàn)象。此外,不會(huì)出現(xiàn)由于各從控制器僅考慮當(dāng)前自身的狀態(tài)或功能而未考慮整車控制功能需求,便自行進(jìn)行休眠的問題,避免各控制單元頻繁在休眠狀態(tài)、工作狀態(tài)之間切換。
進(jìn)一步地,本發(fā)明還提供了不同控制功能相應(yīng)的控制器喚醒方法,這樣能滿足各種控制功能相應(yīng)的控制器喚醒方法。
進(jìn)一步地,本發(fā)明提供的方法還提供了應(yīng)對(duì)各種情況的主控制器和/或從控制器的喚醒順序。
進(jìn)一步地,本發(fā)明提供的方法還包括:主控制器和從控制器互相監(jiān)測對(duì)方的狀態(tài),以進(jìn)行檢錯(cuò),以及記錄錯(cuò)誤和/或報(bào)錯(cuò)。這樣,當(dāng)車輛休眠喚醒過程中出現(xiàn)錯(cuò)誤時(shí),可以及時(shí)的發(fā)現(xiàn)錯(cuò)誤,并記錄錯(cuò)誤和/或報(bào)錯(cuò),以便于查找原因,避免下次再次出現(xiàn)錯(cuò)誤。其中,主控制器和控制器互相監(jiān)測對(duì)方的狀態(tài),避免出現(xiàn)漏檢或漏記錄等現(xiàn)象。
進(jìn)一步地,本發(fā)明還提供了從工作狀態(tài)進(jìn)入休眠過程中以及從休眠進(jìn)入喚醒過程中主控制器和控制器互相監(jiān)測的具體內(nèi)容及記錄的內(nèi)容,以便于用戶根據(jù)記錄的內(nèi)容查找出現(xiàn)錯(cuò)誤的原因。
進(jìn)一步地,本發(fā)明還提供了當(dāng)主控制器出現(xiàn)錯(cuò)誤時(shí),從控制器的控制方法,以便于從控制器能夠在主控制器出現(xiàn)錯(cuò)誤時(shí)順利進(jìn)入休眠狀態(tài)。
附圖說明
為了更清楚地說明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)中車輛控制裝置的一種結(jié)構(gòu)示意圖;
圖2為現(xiàn)有技術(shù)中控制器喚醒方法的一種流程圖;
圖3為現(xiàn)有技術(shù)中控制器休眠方法的一種流程圖;
圖4為根據(jù)本發(fā)明實(shí)施例提供的車輛控制方法的一種流程圖;
圖5為根據(jù)本發(fā)明實(shí)施例提供的車輛控制方法的另一種流程圖;
圖6為根據(jù)本發(fā)明實(shí)施例提供的車輛控制系統(tǒng)的一種結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。
本發(fā)明可以在整車下電后,例如可以當(dāng)整車處于OFF檔時(shí)則判定整車已下電,一旦部分控制器滿足休眠條件時(shí)即進(jìn)入休眠狀態(tài),例如整車處于OFF檔,也沒有收到播放廣播的指令,則播放廣播的控制器可以進(jìn)入休眠狀態(tài),而不用等所有控制器都滿足休眠條件才能進(jìn)入休眠狀態(tài);當(dāng)控制器都處于休眠狀態(tài),且整車需要實(shí)現(xiàn)某種控制功能時(shí),僅喚醒與該功能相關(guān)的控制器即可,而不用喚醒所有的控制器。本發(fā)明能有效解決現(xiàn)有技術(shù)中休眠喚醒方法要求所有控制器同時(shí)休眠或同時(shí)喚醒,導(dǎo)致不必要的蓄電池電量消耗的問題。
為了更好的理解本發(fā)明的技術(shù)方案和技術(shù)效果,以下將結(jié)合流程圖和具體的實(shí)施例進(jìn)行詳細(xì)的描述。
本發(fā)明實(shí)施例提供了一種車輛控制方法,其流程如圖4所示,包括以下步驟:
步驟S01,整車下電后,主控制器和各從控制器各自監(jiān)測自身的硬線端口是否滿足休眠條件。
在本實(shí)施例中,所述休眠條件指控制器軟件中設(shè)定的硬件端口指定的狀態(tài)。具體地,控制器的程序中會(huì)定義那些端口是它的喚醒和休眠條件,例如,門觸開關(guān)就是BCM車身控制器BCM的喚醒休眠源;當(dāng)車門打開時(shí),門觸開關(guān)打開,連接車身控制器BCM的端口懸空,電平拉高,喚醒車身控制器BCM;當(dāng)車門關(guān)上,門觸開關(guān)吸合,連接BCM的端口接地,電平為0,車身控制器就可以進(jìn)入休眠,因而門觸開關(guān)吸合就是車身控制器BCM的休眠條件。再例如,座椅調(diào)節(jié)開關(guān)就是座椅控制器SEAT的喚醒休眠源;當(dāng)按下座椅調(diào)節(jié)開關(guān),開關(guān)連接座椅控制器SEAT對(duì)應(yīng)的端口電平為0,喚醒座椅控制器SEAT;未按下座椅調(diào)節(jié)開關(guān),開關(guān)連接座椅控制器SEAT對(duì)應(yīng)的端口懸空,電平拉高;座椅控制器SEAT可以進(jìn)入休眠。因而,未按下座椅調(diào)節(jié)開關(guān)就是座椅控制器SEAT的休眠條件。
步驟S02,如果從控制器監(jiān)測到自身的硬線端口滿足休眠條件,則按設(shè)定時(shí)序向CAN總線發(fā)送休眠請(qǐng)求報(bào)文,直至從CAN總線接收到主控制器發(fā)送的休眠指令報(bào)文后,所述從控制器進(jìn)入休眠狀態(tài)。
在本實(shí)施例中,從控制器不能僅根據(jù)自身的硬線端口滿足休眠條件作為休眠的依據(jù),需要主控制器發(fā)送休眠指令報(bào)文后才能進(jìn)入休眠模式,不會(huì)出現(xiàn)由于各從控制器僅考慮當(dāng)前自身的狀態(tài)或功能而未考慮整車控制功能需求,便自行進(jìn)行休眠的問題,避免各控制單元頻繁在休眠狀態(tài)、工作狀態(tài)之間切換。
需要說明的是,CAN報(bào)文的信息包分為兩部分:信息部分和數(shù)據(jù)部分。其中,前兩個(gè)字節(jié)為信息部分,其前十一位為標(biāo)識(shí)符,標(biāo)識(shí)符中的前八位用作接收判斷,應(yīng)包含本信息包的目的站地址。然后是一位RTR位(應(yīng)設(shè)為0),最后是四位的DLC(數(shù)據(jù)長度位,即所發(fā)數(shù)據(jù)的實(shí)際長度,單位:字節(jié))。其余八個(gè)字節(jié)是數(shù)據(jù)部分,存有實(shí)際要發(fā)的數(shù)據(jù)。
步驟S03,主控制器從CAN總線接收到從控制器發(fā)送的休眠請(qǐng)求報(bào)文后,判斷是否允許所述從控制器休眠;如果是,則通過CAN總線向所述從控制器發(fā)送休眠指令報(bào)文。
在本實(shí)施例中,主控制器判斷是否允許所述從控制器休眠,其中,判斷條件可以為當(dāng)前從控制器沒有需要執(zhí)行的控制功能、整車下電后沒有功能需要該從控制器執(zhí)行等。該判斷條件可以根據(jù)實(shí)現(xiàn)某些控制功能以及整車下電后所需的控制功能及對(duì)應(yīng)的控制器而定,具體可以通過大量實(shí)驗(yàn)和/或經(jīng)驗(yàn)等而定,例如,可以通過查表等方式實(shí)現(xiàn),如表1所示:
表1控制功能-控制器對(duì)照表
上表僅為示例性舉例,不能理解為對(duì)本發(fā)明的限定。
在實(shí)際應(yīng)用中,當(dāng)整車處于關(guān)閉OFF檔,當(dāng)前沒有控制功能需要用到該從控制器,且整車處于關(guān)閉OFF檔時(shí)常用的控制功能也用不到當(dāng)前從控制器,則該從控制器可以進(jìn)入休眠狀態(tài)。整車處于關(guān)閉OFF檔時(shí)常用的控制功能可以包括但不限于以下任意一種或多種:遙控鎖車、遙控升降窗、座椅記憶調(diào)節(jié)、尋車。其中,執(zhí)行各控制功能所需的控制器為:車身控制器、無鑰匙進(jìn)入控制器、儀表、座椅控制器、后視鏡控制器。這樣,就可以判斷是否允許當(dāng)前從控制器休眠,以便進(jìn)行控制。
通過主控制器判斷從控制器是否滿足休眠條件,主控制器負(fù)責(zé)監(jiān)控整個(gè)CAN總線上的其他控制器的休眠喚醒狀態(tài),當(dāng)有某個(gè)控制器請(qǐng)求休眠時(shí),主控制器根據(jù)當(dāng)前的整車狀態(tài)判斷該控制器是否可以進(jìn)入休眠,如果可以休眠就會(huì)向CAN總線發(fā)送休眠指令報(bào)文讓該控制器休眠,使得控制器進(jìn)入低功耗狀態(tài),實(shí)現(xiàn)CAN總線上的控制器分步休眠,降低整車耗電。由于利用主控制器 監(jiān)控整個(gè)CAN總線上的其他控制器的休眠喚醒狀態(tài),不會(huì)出現(xiàn)由于各控制器僅考慮當(dāng)前自身的狀態(tài)或功能而未考慮整車控制功能需求,便自行進(jìn)行休眠的問題,避免各控制單元頻繁在休眠狀態(tài)、喚醒狀態(tài)之間切換。
步驟S04,如果主控制器監(jiān)測到自身的硬線端口滿足休眠條件,并且通過CAN總線監(jiān)測到所有從控制器都已進(jìn)入休眠狀態(tài),則主控制器進(jìn)入休眠狀態(tài)。
當(dāng)所述主控制器滿足休眠條件,且主控制器對(duì)應(yīng)的所有從控制器都已進(jìn)入休眠狀態(tài)時(shí),則主控制器進(jìn)入休眠狀態(tài)。
步驟S05,在所有從控制器及主控制器進(jìn)入休眠狀態(tài)后,CAN總線進(jìn)入休眠狀態(tài)。
當(dāng)所述主控制器進(jìn)入休眠狀態(tài)時(shí),CAN總線電平變?yōu)?V。這樣,能降低蓄電池的電量消耗。
本發(fā)明實(shí)施例提供的車輛控制方法可以在整車下電時(shí),一旦部分從控制器滿足休眠條件,且主控制器允許該從控制器休眠時(shí)即進(jìn)入休眠狀態(tài),而不用等所有控制器都滿足休眠條件才能進(jìn)入休眠狀態(tài)。因而,本發(fā)明能有效解決現(xiàn)有技術(shù)中控制器休眠時(shí)要求所有控制器必須同時(shí)休眠,導(dǎo)致部分無待執(zhí)行功能的控制器不能休眠,造成不必要的蓄電池電量消耗的問題,避免由于控制器休眠喚醒方法不當(dāng)導(dǎo)致車輛蓄電池虧電的現(xiàn)象。此外,如果主控制器監(jiān)測到自身的硬線端口滿足休眠條件,并且通過CAN總線監(jiān)測到所有從控制器都已進(jìn)入休眠狀態(tài),則主控制器進(jìn)入休眠狀態(tài),在所有從控制器及主控制器進(jìn)入休眠狀態(tài)后,CAN總線進(jìn)入休眠狀態(tài)。這樣可以進(jìn)一步避免車輛蓄電池虧電的現(xiàn)象。
如圖5所示,為根據(jù)本發(fā)明實(shí)施例提供的車輛控制方法的另一種流程圖。在本實(shí)施例中,所述方法還包括:
步驟S06,主控制器和各從控制器屏蔽CAN總線信號(hào)喚醒功能,并在各自的硬線端口接收到喚醒信號(hào)后被醒,進(jìn)入工作狀態(tài),所述喚醒信號(hào)為電平跳變。
由于存在各種控制功能,所需要控制器可能都不相同,相應(yīng)地,本實(shí)施例還提供了控制器的具體喚醒方法。所述方法還包括:
當(dāng)控制功能僅需主控制器或從控制器單獨(dú)實(shí)現(xiàn)時(shí),單獨(dú)喚醒主控制器或從控制器;當(dāng)控制功能需要從控制器及主控制器共同實(shí)現(xiàn)時(shí),按以下方式喚醒多個(gè)從控制器及主控器:
先喚醒主控制器,然后再由主控制器喚醒各從控制器;或者
先喚醒各從控制器,然后由其中一個(gè)從控制器喚醒主控制器;或者
先喚醒其中一個(gè)從控制器,然后再由該從控制器喚醒主控制器,接著由主控制器喚醒其余所需的從控制器。
具體地,只能通過硬線端口喚醒所需的控制器,這樣就可以避免某個(gè)控制器被喚醒后就通過CAN總線將其他控制器喚醒。
進(jìn)一步地,所述方法還包括:主控制器和從控制器互相監(jiān)測對(duì)方的狀態(tài),以進(jìn)行檢錯(cuò),以及記錄錯(cuò)誤和/或報(bào)錯(cuò)。
所述進(jìn)行檢錯(cuò)的錯(cuò)誤種類包括:從控制器請(qǐng)求休眠,主控制器沒有進(jìn)行休眠確認(rèn),該從控制器進(jìn)入休眠狀態(tài);從控制器沒有請(qǐng)求休眠,主控制器沒有進(jìn)行休眠確認(rèn),該從控制器進(jìn)入休眠狀態(tài);從控制器請(qǐng)求休眠,主控制器進(jìn)行休眠確認(rèn),該從控制器沒有進(jìn)入休眠狀態(tài);主控制器對(duì)應(yīng)的所有從控制器沒有全部進(jìn)入休眠狀態(tài),主控制器進(jìn)入休眠狀態(tài);主控制器喚醒從控制器,該從控制器沒有響應(yīng)或沒有被喚醒;從控制器喚醒主控制器,主控制器沒有響應(yīng)或沒有被喚醒。
特別的,從控制器監(jiān)測主控制器當(dāng)前狀態(tài),如果從控制器發(fā)現(xiàn)主控制器進(jìn)入休眠狀態(tài),記錄錯(cuò)誤,且當(dāng)從控制器監(jiān)測到自身的硬線端口滿足休眠條件時(shí),進(jìn)入休眠狀態(tài)。
如圖6所示,為根據(jù)本發(fā)明實(shí)施例提供的車輛控制系統(tǒng)的一種結(jié)構(gòu)示意圖。該車輛控制系統(tǒng)包括:
主控制器、一個(gè)或多個(gè)從控制器,從控制器和主控制器分別與CAN總線相連,所述從控制器具有至少兩個(gè)硬線端口,主控制器具有多于從控制器個(gè)數(shù)的硬線端口,主控制器通過硬線端口分別與各從控制器的一個(gè)硬線端口相連,主控制器和各從控制器監(jiān)測自身的另一硬線端口是否滿足休眠條件。
從控制器在整車下電后,如果從自身的所述另一硬線端口監(jiān)測到滿足 休眠條件,則按設(shè)定時(shí)序向CAN總線發(fā)送休眠請(qǐng)求報(bào)文,直至從CAN總線接收到主控制器發(fā)送的休眠指令報(bào)文后,從控制器進(jìn)入休眠狀態(tài)。
主控制器在整車下電后,從CAN總線接收到從控制器發(fā)送的休眠請(qǐng)求報(bào)文后,判斷是否允許所述從控制器休眠;如果是,則通過CAN總線向所述從控制器發(fā)送休眠指令報(bào)文。
主控制器在整車下電后,如果從自身的所述另一硬線端口監(jiān)測到休眠信號(hào),并且通過CAN總線監(jiān)測到所有從控制器都已進(jìn)入休眠狀態(tài)后,主控制器進(jìn)入休眠狀態(tài)。
在所有從控制器及主控制器進(jìn)入休眠狀態(tài)后,CAN總線進(jìn)入休眠狀態(tài)。
具體地,以具有一個(gè)主控制器和三個(gè)從控制器組成的車輛控制系統(tǒng)為例進(jìn)行說明,如圖6所示,Node 1為主控制器,Node 2、Node 3、Node 4為從控制器,11、22、33、44分別是Node 1、Node 2、Node 3、Node 4的硬線端口,a、b、c為實(shí)現(xiàn)Node1分別與Node 2、Node 3、Node 4相連接的硬線端口。通過該裝置,即可實(shí)現(xiàn)CAN總線上的控制器分步休眠,達(dá)到降低整車處于OFF檔時(shí)耗電量的目的。
在一個(gè)具體實(shí)施例中,當(dāng)整車達(dá)到OFF檔,即下電時(shí),總線上具有Node 1、Node 2、Node 3、Node 4共四個(gè)控制器,其中,Node1為主控制器,這四個(gè)控制器開始監(jiān)測硬線端口11、22、33、44是否滿足休眠條件,當(dāng)某個(gè)從控制器,例如Node 2監(jiān)測發(fā)現(xiàn)22端口滿足休眠條件,就會(huì)向CAN總線按照一定時(shí)序向CAN總線發(fā)送標(biāo)明自己滿足休眠的報(bào)文,Node 1從CAN總線中監(jiān)聽到Node 2發(fā)送地標(biāo)明自身滿足休眠的報(bào)文,然后查看自己現(xiàn)在要實(shí)現(xiàn)的功能是否需要Node 2配合,如果不需要,發(fā)送Node 2可以休眠的CAN總線指令報(bào)文,Node 2從CAN總線接收到后進(jìn)入休眠狀態(tài);如果需要,就不發(fā)Node 2可以休眠的CAN總線指令報(bào)文,Node 2仍處于工作狀態(tài),這時(shí)Node 2仍不停的發(fā)送按照一定時(shí)序發(fā)送標(biāo)明自己滿足休眠的報(bào)文,直到Node 1不需要Node 2配合實(shí)現(xiàn)功能,Node 1發(fā)送Node 2可以休眠的CAN總線指令報(bào)文,Node 2接收到后進(jìn)入休眠狀態(tài)。
按照這種模式,直到Node 3和Node 4進(jìn)入休眠??刂破餍菝邲]有先后循序,只要滿足休眠條件,就可以發(fā)送標(biāo)明自己滿足休眠的報(bào)文;主控制器發(fā)送 可以休眠的CAN總線指令報(bào)文后,該控制器就可以進(jìn)入休眠。
最后主控制器監(jiān)測自己的硬件端口是否滿足休眠條件,同時(shí)通過CAN總線監(jiān)測其他控制器是否都已經(jīng)進(jìn)入休眠狀態(tài),如果都滿足,主控制器進(jìn)入休眠狀態(tài),整條CAN總線進(jìn)入休眠狀態(tài)。
在另一個(gè)實(shí)施例中,本發(fā)明提供的車輛控制系統(tǒng)的所述主控制器和所述從控制器還分別用于在整車下電后屏蔽CAN總線信號(hào)喚醒功能,并在各自的硬線端口接收到喚醒信號(hào)后被醒,進(jìn)入工作狀態(tài)。
在本實(shí)施例中,當(dāng)控制功能僅需主控制器或從控制器單獨(dú)實(shí)現(xiàn)時(shí),所述主控制器或所述從控制器具體用于通過主控制器或從控制器的所述另一硬線端口被單獨(dú)喚醒;當(dāng)控制功能需要從控制器及主控制器共同實(shí)現(xiàn)時(shí),所述主控制器或所述從控制器具體用于:
當(dāng)主控制器先被喚醒,由主控制器喚醒各從控制器;或者
當(dāng)從控制器先被喚醒,由其中一個(gè)從控制器喚醒主控制器;或者
當(dāng)某個(gè)從控制器先被喚醒,由該從控制器喚醒主控制器,接著由主控制器喚醒其余所需的從控制器。
在實(shí)際應(yīng)用中,當(dāng)處于關(guān)閉OFF檔的車輛需要實(shí)現(xiàn)某些功能時(shí),例如,遙控開鎖,則將為實(shí)現(xiàn)遙控開鎖所需的控制器喚醒即可,而不必喚醒所有控制器,這樣做的好處是:用戶經(jīng)常在整車處于關(guān)閉OFF檔時(shí),僅需要進(jìn)行一些單一的控制功能來解決特定問題,例如,用戶鎖車后發(fā)現(xiàn)錢包鑰匙等落在車中,此時(shí)為了取物品僅需打開車鎖即可,而不會(huì)使用其他控制功能,現(xiàn)有技術(shù)卻會(huì)將與本控制功能不相關(guān)的控制器都喚醒,這會(huì)造成電量浪費(fèi),本發(fā)明在用戶進(jìn)行上述操作時(shí),車輛中與遙控開鎖相關(guān)的控制器才會(huì)被喚醒,有效避免了能源浪費(fèi),以上示例僅為理解本發(fā)明而非對(duì)本發(fā)明的限定,實(shí)際應(yīng)用中各種控制功能均適用。
進(jìn)一步地,通過主控制器確定控制功能相關(guān)的從控制器。在CAN總線處于休眠狀態(tài)后,主控制器和控制器配合,根據(jù)整車控制功能需求,喚醒實(shí)現(xiàn)該控制功能所需的控制器。
在一個(gè)具體實(shí)施例中,所有控制器屏蔽CAN總線信號(hào)喚醒功能,只能通過硬件端口喚醒控制器。
當(dāng)控制功能僅需主控制器實(shí)現(xiàn)時(shí),僅喚醒主控制器,由于所有控制器 屏蔽CAN總線信號(hào)喚醒功能,因而從控制器不會(huì)被喚醒。例如,Node 1單獨(dú)喚醒,硬線端口11電平跳變,觸發(fā)Node 1喚醒,這時(shí)實(shí)現(xiàn)的功能,只需要Node 1就能實(shí)現(xiàn),Node 1不會(huì)觸發(fā)a、b、c三個(gè)端口的電平變化,這樣Node 2、Node 3、Node 4這三個(gè)控制器仍保持休眠狀態(tài)。
當(dāng)控制功能僅需單個(gè)從控制器實(shí)現(xiàn)時(shí),僅喚醒該單個(gè)控制器。例如,Node 2被喚醒,硬線端口22電平跳變,觸發(fā)Node 2喚醒,這時(shí)實(shí)現(xiàn)的功能,只需要Node 2就能實(shí)現(xiàn),Node 2不會(huì)觸發(fā)a、b、c端口電平變化,這樣Node 1、Node 3、Node 4這三個(gè)控制器仍保持休眠狀態(tài)。
當(dāng)控制功能需要從控制器及主控制器共同實(shí)現(xiàn)時(shí),可以存在以下幾種情況:
A、先喚醒主控制器,然后再通過主控制器喚醒其他從控制器。例如,主控制器先喚醒;硬線端口11電平跳變,觸發(fā)Node 1喚醒,這時(shí)需要實(shí)現(xiàn)的功能,還需要Node 2配合實(shí)現(xiàn),Node 1觸發(fā)a端口電平跳變,喚醒Node 2,然后Node 1和Node 2配合實(shí)現(xiàn)功能。Node 3、Node 4控制器仍保持休眠狀態(tài)。(如果需要喚醒其他從控制器,Node 1控制相應(yīng)的a、b、c端口電平跳變即可實(shí)現(xiàn))。
或者B、根據(jù)控制功能需求先喚醒一個(gè)從控制器,然后由該從控制器喚醒主控制器,再通過主控制器喚醒其他從控制器。例如,Node 2先喚醒,硬件端口22電平跳變,觸發(fā)Node 2喚醒,這時(shí)需要實(shí)現(xiàn)的功能,還需要Node 1配合實(shí)現(xiàn),Node 2觸發(fā)a端口電平跳變,喚醒Node 1,然后Node 1和Node 2配合實(shí)現(xiàn)功能。Node 3、Node 4控制器仍保持休眠狀態(tài)。
或者C、先喚醒一個(gè)或多個(gè)從控制器,然后由其中一個(gè)從控制器喚醒主控制器,再通過主控制器喚醒其余所需的從控制器。例如,Node 2先喚醒,硬件端口22電平跳變,觸發(fā)Node 2喚醒,這時(shí)需要實(shí)現(xiàn)的功能,還需要Node 1和Node 3配合實(shí)現(xiàn),Node 2觸發(fā)a端口電平跳變,喚醒Node 1;然后Node 2通過CAN總線信號(hào)將需求告知Node 1,為了實(shí)現(xiàn)這個(gè)功能,需要Node 3配合;Node 1觸發(fā)b端口電平變化,Node 3喚醒;這樣Node 1、Node 2和Node 3配合實(shí)現(xiàn)功能;Node 4控制器仍保持休眠狀態(tài)。
本發(fā)明實(shí)施例提供的車輛控制系統(tǒng),實(shí)現(xiàn)了不同控制功能相應(yīng)的控制器 的非同時(shí)喚醒功能。
在又一個(gè)實(shí)施例中,本發(fā)明提供的車輛控制系統(tǒng)還可以實(shí)現(xiàn)檢錯(cuò),以及記錄錯(cuò)誤和/或報(bào)錯(cuò)。
具體地,所述主控制器和所述從控制器還用于互相監(jiān)測對(duì)方的狀態(tài),以進(jìn)行檢錯(cuò),以及記錄錯(cuò)誤和/或報(bào)錯(cuò);
錯(cuò)誤種類包括:
從控制器請(qǐng)求休眠,主控制器沒有進(jìn)行休眠確認(rèn),該從控制器進(jìn)入休眠狀態(tài);
從控制器沒有請(qǐng)求休眠,主控制器沒有進(jìn)行休眠確認(rèn),該從控制器進(jìn)入休眠狀態(tài);
從控制器請(qǐng)求休眠,主控制器進(jìn)行休眠確認(rèn),該從控制器沒有進(jìn)入休眠狀態(tài);
主控制器對(duì)應(yīng)的所有從控制器沒有全部進(jìn)入休眠狀態(tài),主控制器進(jìn)入休眠狀態(tài);
主控制器喚醒從控制器,該從控制器沒有響應(yīng)或沒有被喚醒;
從控制器喚醒主控制器,主控制器沒有響應(yīng)或沒有被喚醒。
本發(fā)明實(shí)施例提供的車輛控制系統(tǒng)還能實(shí)現(xiàn)檢錯(cuò),以及記錄錯(cuò)誤和/或報(bào)錯(cuò)的功能。這樣,當(dāng)車輛休眠喚醒過程中出現(xiàn)錯(cuò)誤時(shí),可以及時(shí)的發(fā)現(xiàn)錯(cuò)誤,并記錄錯(cuò)誤和/或報(bào)錯(cuò),以便于查找原因,避免下次再次出現(xiàn)錯(cuò)誤。其中,主控制器和控制器互相監(jiān)測對(duì)方的狀態(tài),避免出現(xiàn)漏檢或漏記錄等現(xiàn)象。
在其它實(shí)施例中,所述從控制器具體用于監(jiān)測所述主控制器當(dāng)前狀態(tài),如果從控制器發(fā)現(xiàn)主控制器進(jìn)入休眠狀態(tài),記錄錯(cuò)誤,且當(dāng)從控制器監(jiān)測到自身的所述另一硬線端口滿足休眠條件時(shí),不需要主控制器發(fā)送的休眠確認(rèn)指令,該從控制器進(jìn)入休眠狀態(tài)。
在本實(shí)施例中,各控制器從工作狀態(tài)進(jìn)入休眠狀態(tài)過程中:
主控制器監(jiān)測從控制器當(dāng)前的狀態(tài)和主控制器發(fā)送給從控制器的休眠確認(rèn)指令;和/或
從控制器監(jiān)測主控制器當(dāng)前狀態(tài),如果發(fā)現(xiàn)主控制器進(jìn)入休眠狀態(tài),從控制器記錄主控制器非正常休眠,當(dāng)從控制器只要滿足休眠條件,不需 要主控制器的確認(rèn),該從控制器進(jìn)入休眠模式;
各控制器從休眠狀態(tài)進(jìn)入工作狀態(tài)的過程中:
如果主控制器先被喚醒,主控制器記錄是否喚醒從控制器和控制器局域網(wǎng)絡(luò)上各從控制器的狀態(tài),如果主控制器喚醒從控制器,該從控制器仍處于休眠狀態(tài),主控制器記錄從控制器非正常休眠;或者
如果從控制器先被喚醒,從控制器記錄是否喚醒主控制器和控制器局域網(wǎng)絡(luò)上主控制器的狀態(tài),如果從控制器喚醒主控制器,主控制器仍處于休眠狀態(tài),從控制器記錄主控制器非正常休眠。
在一個(gè)具體實(shí)施例中,各控制器從工作狀態(tài)進(jìn)入休眠狀態(tài)過程中:
1、主控制器監(jiān)測各從控制器當(dāng)前的狀態(tài)(從控制器在總線上發(fā)送CAN報(bào)文表明從控制器處于工作狀態(tài),不發(fā)送CAN報(bào)文表明從控制器處于休眠狀態(tài))和主控制器發(fā)送給從控制器的休眠確認(rèn)指令,具體如表2所示,如果出現(xiàn)錯(cuò)誤,記錄錯(cuò)誤及原因。
表2控制器從工作狀態(tài)進(jìn)入休眠狀態(tài)過程的檢測記錄表
2、從控制器監(jiān)測主控制器當(dāng)前狀態(tài)(主控制器在總線上發(fā)送CAN報(bào)文表明控制器處于喚醒狀態(tài),不發(fā)送CAN報(bào)文表明主控制器處于休眠狀態(tài));如果發(fā)現(xiàn)主控制器休眠,從控制器記錄主控制器非正常休眠的錯(cuò)誤代碼。然后,從控制器只要滿足休眠條件,不需要主控制器的確認(rèn),進(jìn)入休眠模式。
各控制器從休眠狀態(tài)進(jìn)入工作狀態(tài)過程中:
1、先喚醒主控制器,主控制器記錄是否觸發(fā)與從控制器相連的硬件端 口狀態(tài)和CAN總線上控制器的狀態(tài);具體如表3所示,如果出現(xiàn)錯(cuò)誤,記錄錯(cuò)誤原因。
表3休眠進(jìn)入喚醒過程的主控制器檢測記錄表
2、先喚醒從控制器,從控制器記錄是否觸發(fā)與主控制器相連的硬件端口狀態(tài)和CAN總線上主控制器的狀態(tài);具體如表4所示,如果出現(xiàn)錯(cuò)誤,記錄錯(cuò)誤原因。
表4休眠進(jìn)入喚醒過程的控制器檢測記錄表
本發(fā)明實(shí)施例提供了從工作狀態(tài)進(jìn)入休眠過程中以及從休眠進(jìn)入喚醒過程中主控制器和控制器互相監(jiān)測的具體內(nèi)容及記錄的內(nèi)容,以便于用戶根據(jù)記錄的內(nèi)容查找出現(xiàn)錯(cuò)誤的原因。
當(dāng)然,本發(fā)明提供的車輛控制系統(tǒng)還可以進(jìn)一步包括:存儲(chǔ)模塊(未圖示),用于存儲(chǔ)各控制功能所需的控制器、系統(tǒng)故障等信息,以便于對(duì)故障信息進(jìn)行分析、處理等。
本發(fā)明實(shí)施例提供的一種車輛控制系統(tǒng),各從控制器滿足休眠條件,且主控制器允許該從控制器休眠時(shí),該從控制器進(jìn)入休眠狀態(tài);當(dāng)所有從控制器都進(jìn)入休眠狀態(tài)后,主控制器通過監(jiān)控自身硬線端口判斷其是否能進(jìn)入休眠狀態(tài);當(dāng)所有控制器都進(jìn)入休眠狀態(tài)后,CAN總線進(jìn)入休眠狀態(tài)。 本發(fā)明能有效解決現(xiàn)有技術(shù)中休眠喚醒方法要求所有控制器同時(shí)休眠或喚醒,導(dǎo)致不必要的蓄電池電量消耗的問題,避免車輛蓄電池虧電的現(xiàn)象。
本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的系統(tǒng)實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)仿真窗口上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。
雖然本發(fā)明已以較佳實(shí)施例披露如上,然而并非用以限定本發(fā)明。任何熟悉本領(lǐng)域的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍情況下,都可利用上述揭示的方法和技術(shù)內(nèi)容對(duì)本發(fā)明技術(shù)方案做出許多可能的變動(dòng)和修飾,或修改為等同變化的等效實(shí)施例。因此,凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所做的任何簡單修改、等同變化及修飾,均仍屬于本發(fā)明技術(shù)方案保護(hù)的范圍內(nèi)。