本發(fā)明涉及新能源電機,具體涉及一種電機控制器在操作系統(tǒng)啟動后的基礎(chǔ)軟件狀態(tài)管理方法。
背景技術(shù):
1、隨著汽車技術(shù)的不斷進步,汽車行業(yè)正在往電子智能化、網(wǎng)聯(lián)化、深度電子化、集成化的方向快速發(fā)展,智能駕駛已經(jīng)成為行業(yè)發(fā)展的趨勢。從汽車發(fā)展歷史上看,汽車電子已經(jīng)成為汽車控制系統(tǒng)中最為重要的支撐基礎(chǔ),汽車電氣化成為汽車產(chǎn)業(yè)革命的標志,隨著新能源車、無人駕駛、車載信息系統(tǒng)技術(shù)日漸成熟。
2、在新一輪汽車電子化技術(shù)革命中,汽車市場對功能的多元化要求越來越高,汽車電子控制器在汽車上的應用愈來愈廣泛,對軟件和配置升級的需求越來越頻繁。因此在整車的設計研發(fā)、生產(chǎn)制造、售后服務等等各個環(huán)節(jié)中,如何有效管理好電子控制器的軟硬件,如何將軟件版本信息從研發(fā)設計到生產(chǎn)制造保持一致,如何迅速、準確的查看和刷寫軟件版本信息,是至關(guān)重要的。例如如何對基礎(chǔ)軟件狀態(tài)進行管理,控制基礎(chǔ)軟件的啟動和關(guān)閉,使車輛在行駛過程中能夠與路況相適配,以提升系統(tǒng)的響應速度是目前所面臨的問題。
技術(shù)實現(xiàn)思路
1、本發(fā)提供電機控制器在操作系統(tǒng)啟動后的基礎(chǔ)軟件狀態(tài)管理方法,本發(fā)明提高了軟件的靈活性和可維護性,并且能提高快速啟動和快速關(guān)閉的交替操作的響應時間。
2、解決上述技術(shù)問題的技術(shù)方案如下:
3、電機控制器在操作系統(tǒng)啟動后的基礎(chǔ)軟件狀態(tài)管理方法,包括以下步驟:
4、步驟1,基礎(chǔ)軟件初始化階段:電機控制器的操作系統(tǒng)啟動后,進行基礎(chǔ)軟件的初始化;
5、步驟2,啟動等待階段:基礎(chǔ)軟件狀態(tài)管理在此階段等待應用軟件的啟動或者關(guān)閉請求;
6、步驟3,應用軟件初始化:電機控制器的操作系統(tǒng)啟動后,在時序上先運行步驟1,步驟1執(zhí)行完后,操作系統(tǒng)調(diào)度應用軟件初始化運行,初始化應用軟件必要的函數(shù)及信號,并且使用異步的方式讀取nvm中的數(shù)據(jù);
7、步驟4,應用軟件周期性任務運行:應用軟件初始化后,操作系統(tǒng)調(diào)度應用軟件周期性任務運行,包含應用軟件周期性檢測啟動和關(guān)閉條件的任務;
8、步驟5,應用軟件周期性檢測啟動和關(guān)閉條件:電機控制器操作系統(tǒng)周期調(diào)度任務函數(shù),實現(xiàn)應用軟件周期性檢測啟動和關(guān)閉條件,并把檢測結(jié)果傳送給基礎(chǔ)軟件狀態(tài)管理中;
9、步驟6,啟動等待階段的狀態(tài)跳轉(zhuǎn)條件判斷:根據(jù)設定的條件判斷,確定基礎(chǔ)軟件狀態(tài)管理進入關(guān)閉的可逆階段或者進入啟動完成階段或者繼續(xù)保持在啟動等待階段;
10、步驟7,啟動完成階段:基礎(chǔ)軟件打開網(wǎng)絡通信功能,并且周期性接收應用軟件檢測啟動和關(guān)閉的條件識別結(jié)果;
11、步驟8,啟動完成階段的狀態(tài)跳轉(zhuǎn)條件判斷:根據(jù)設定的條件判斷,確定基礎(chǔ)軟件狀態(tài)管理進入關(guān)閉的可逆階段或者繼續(xù)保持在啟動完成階段;
12、步驟9:關(guān)閉的可逆階段,基礎(chǔ)軟件關(guān)閉網(wǎng)絡通信功能并且對nvm進行數(shù)據(jù)寫的操作。
13、進一步地,還包括以下步驟:
14、步驟10,關(guān)閉的可逆階段的狀態(tài)跳轉(zhuǎn)條件判斷:根據(jù)設定的條件判斷,確定基礎(chǔ)軟件狀態(tài)管理是應該進入啟動等待階段或者是進入關(guān)閉的不可逆階段還是繼續(xù)保持在關(guān)閉的可逆階段;
15、步驟11,關(guān)閉的不可逆階段:在此階段時,會進行基礎(chǔ)軟件的去初始化的和關(guān)閉os操作,然后完全關(guān)閉。
16、進一步地,所述步驟5中的啟動條件為如下之一:
17、(1)當基礎(chǔ)軟件狀態(tài)管理處于啟動等待階段時,在處于啟動等待階段的設置時間內(nèi),檢測到主控芯片的喚醒源屬于預配置中的任意一個喚醒源,然后主控芯片接收到點火開關(guān)信號處于觸發(fā)狀態(tài)或can芯片收發(fā)器處于激活狀態(tài)時,啟動條件滿足;
18、(2)當基礎(chǔ)軟件狀態(tài)管理處于關(guān)閉的可逆階段時,在關(guān)閉的可逆階段執(zhí)行一段時間之后,只要檢測到主控芯片的喚醒源屬于預配置中的任意一個喚醒源,然后主控芯片接收到點火開關(guān)信號處于觸發(fā)狀態(tài)或can芯片收發(fā)器處于激活狀態(tài)時,啟動條件滿足。
19、進一步地,所述步驟5中的關(guān)閉條件為以下之一:
20、(1)當基礎(chǔ)軟件狀態(tài)管理處于啟動等待階段時,在啟動等待階段執(zhí)行一段時間之后,檢測到主控芯片的喚醒源不屬于預配置中的任意一個喚醒源時,關(guān)閉條件滿足;
21、(2)當基礎(chǔ)軟件狀態(tài)管理處于啟動等待階段時,在啟動等待階段執(zhí)行一段時間之后,檢測到主控芯片接收到的點火開關(guān)信號不處于觸發(fā)狀態(tài)并且can芯片收發(fā)器不處于激活狀態(tài)時,關(guān)閉條件滿足;
22、(3)當基礎(chǔ)軟件狀態(tài)管理處于啟動完成階段時,當電機控制器有點火開關(guān)信號喚醒功能時,檢測到主控芯片接收到的點火開關(guān)信號不處于觸發(fā)狀態(tài)并且整車請求電機控制器休眠且整車處于靜止狀態(tài)時,并且能維持一段時間后,關(guān)閉條件滿足;
23、(4)當基礎(chǔ)軟件狀態(tài)管理處于啟動完成階段時,當電機控制器沒有點火開關(guān)信號喚醒功能時,檢測到主控芯片接收到整車請求電機控制器休眠并且整車處于靜止狀態(tài)時,并且維持一段時間后,關(guān)閉條件滿足。
24、當基礎(chǔ)軟件狀態(tài)管理處于關(guān)閉的可逆階段時,只要啟動條件滿足,則認為關(guān)閉條件滿足。
25、進一步地,在步驟6中,首先接收步驟5中識別到的啟動和關(guān)閉的條件檢測結(jié)果,如果關(guān)閉條件滿足時,則基礎(chǔ)軟件的狀態(tài)跳轉(zhuǎn)到關(guān)閉的可逆階段;
26、如果啟動條件滿足,則進行啟動是否完成的判斷,如果啟動等待完成,則基礎(chǔ)軟件的狀態(tài)跳轉(zhuǎn)到啟動完成階段,如果啟動等待未完成,則基礎(chǔ)軟件的狀態(tài)跳轉(zhuǎn)回啟動等待階段;
27、當基礎(chǔ)軟件全部初始化成功、應用軟件全部初始化成功和nvm數(shù)據(jù)讀取完成時,啟動等待完成,否則啟動等待未完成。
28、進一步地,在步驟7中,基礎(chǔ)軟件會打開所有網(wǎng)絡通信功能,并且周期性接收應用軟件檢測啟動和關(guān)閉的條件識別結(jié)果,然后在步驟8中接收步驟5中識別到的啟動和關(guān)閉的條件檢測結(jié)果,如果關(guān)閉條件滿足時,則基礎(chǔ)軟件的狀態(tài)跳轉(zhuǎn)到關(guān)閉的可逆階段;如果啟動條件滿足時,則進行繼續(xù)保持在啟動完成階段。
29、進一步地,在執(zhí)行完步驟9之后,然在步驟10中接收步驟5中識別到的啟動和關(guān)閉的條件檢測結(jié)果,如果啟動條件滿足時,則基礎(chǔ)軟件的狀態(tài)跳轉(zhuǎn)到啟動等待階段;如果關(guān)閉條件滿足時,則進行關(guān)閉的可逆階段的完成判斷,如果判斷完成,則進入關(guān)閉的不可逆階段,否則返回關(guān)閉的可逆階段;
30、當網(wǎng)絡通信功能已經(jīng)完全關(guān)閉并且nvm進行異步數(shù)據(jù)寫的操作完成時,或者在關(guān)閉的可逆階段的時間超過最大允許運行的時間時,關(guān)閉的可逆階段執(zhí)行完成,否則未執(zhí)行完成。
31、本發(fā)明中,基礎(chǔ)軟件狀態(tài)管理主要是進行基礎(chǔ)軟件的狀態(tài)識別、簡單的狀態(tài)跳轉(zhuǎn)條件識別和基礎(chǔ)軟件的操作,復雜的條件判斷由應用軟件完成然后傳送給基礎(chǔ)軟件狀態(tài)管理使用,在匹配不同項目或者車型時,基本只需要維護應用軟件就可以,提高軟件的靈活性和可維護性。并且使用此基礎(chǔ)軟件狀態(tài)管理,啟動和關(guān)閉過程可以靈活跳轉(zhuǎn),很大程度上提高快速啟動和快速關(guān)閉的交替操作的響應時間。
32、綜上所述,本發(fā)明通過基礎(chǔ)軟件狀態(tài)管理中的合理的狀態(tài)跳轉(zhuǎn)條件及執(zhí)行,并且合理的運用應用軟件的計算,提高了軟件的靈活性和可維護性,并且能提高快速啟動和快速關(guān)閉的交替操作的響應時間。