一種車輛交流電機控制器的任務(wù)調(diào)度方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于汽車控制技術(shù)領(lǐng)域,尤其涉及一種車輛交流電機控制器的任務(wù)調(diào)度方法及裝置。
【背景技術(shù)】
[0002]低速汽車的交流電機控制器具有外部設(shè)備多樣,功能模塊繁多,控制策略復(fù)雜的特點,需要一種有效的控制方法來統(tǒng)籌管理各個外部設(shè)備,對不同的工況實時做出控制策略。現(xiàn)有車輛交流電機控制器的任務(wù)調(diào)度方法是采用復(fù)雜多任務(wù)的實時操作系統(tǒng)來對任務(wù)進行調(diào)度,這個操作系統(tǒng)負責內(nèi)存分配和任務(wù)優(yōu)先級的劃分,然后根據(jù)既定的任務(wù)調(diào)度機制對所有實時任務(wù)進行調(diào)度,由于這種處理方法下,控制器即需要處理高實時性的交流電機驅(qū)動算法任務(wù),又需要處理有大量車載傳感器的信號輸入處理任務(wù),還有整車控制策略任務(wù)需要處理,這樣情況下,控制器需要額外的消耗一定的CPU和內(nèi)存資源來實現(xiàn)其他工作,不能做到真正的實時處理各種調(diào)度任務(wù),需要花費較大的精力設(shè)計任務(wù)的調(diào)度。
【發(fā)明內(nèi)容】
[0003]本發(fā)明實施例提供了一種車輛交流電機控制器的任務(wù)調(diào)度方法及裝置,旨在解決現(xiàn)有技術(shù)不能做到真正的實時處理各種調(diào)度任務(wù),需要花費較大的精力設(shè)計任務(wù)的調(diào)度的問題。
[0004]—方面,提供一種車輛交流電機控制器的任務(wù)調(diào)度方法,所述方法包括:
[0005]根據(jù)各個調(diào)度任務(wù)的預(yù)設(shè)實時性高低,將各個調(diào)度任務(wù)按照預(yù)設(shè)調(diào)用順序進行排序并分類為輔助調(diào)度任務(wù)和主調(diào)度任務(wù);
[0006]啟動看門狗定時器,判斷AD轉(zhuǎn)換是否完成,如果AD轉(zhuǎn)換未完成,繼續(xù)判斷AD轉(zhuǎn)換是否完成;
[0007]在AD轉(zhuǎn)換完成之后,清除AD轉(zhuǎn)換完成標志,運行所述輔助調(diào)度任務(wù);
[0008]如果監(jiān)控所述主調(diào)度任務(wù)可運行,運行所述主調(diào)度任務(wù);
[0009]運行所述主調(diào)度任務(wù)結(jié)束,發(fā)送一個輸入信號至所述門狗定時器,繼續(xù)判斷ADR換是否完成。
[0010]進一步地,所述輔助調(diào)度任務(wù)包括在預(yù)設(shè)第一運行周期內(nèi)運行的第一調(diào)度任務(wù)和在預(yù)設(shè)第二運行周期內(nèi)運行的第二調(diào)度任務(wù),所述第一調(diào)度任務(wù)先于第二調(diào)度任務(wù)運行,所述運行所述輔助調(diào)度任務(wù)具體包括:
[0011]在預(yù)設(shè)第一運行周期內(nèi),按照第一預(yù)設(shè)調(diào)度順序逐一判斷所述第一調(diào)度任務(wù)是否運行,如果是,運行當前第一調(diào)度任務(wù),否則,判斷下一個第一調(diào)度任務(wù)是否運行;
[0012]所述預(yù)設(shè)第一運行周期結(jié)束,啟動第二運行周期,按照第二預(yù)設(shè)調(diào)度順序逐一判斷所述第二調(diào)度任務(wù)是否運行,如果是,運行當前第二調(diào)度任務(wù),否則,判斷下一個第二調(diào)度任務(wù)是否運行;
[0013]所述預(yù)設(shè)第二運行周期結(jié)束,實時采集SCI通訊數(shù)據(jù)并進行管理。
[0014]進一步地,所述第一調(diào)度任務(wù)和第二調(diào)度任務(wù)包括若干個預(yù)留任務(wù),所述預(yù)留任務(wù)的調(diào)度順序在其他調(diào)度任務(wù)之后。
[0015]進一步地,所述主調(diào)度任務(wù)包括在預(yù)設(shè)第三運行周期內(nèi)運行的第三調(diào)度任務(wù)和在預(yù)設(shè)第四運行周期內(nèi)運行的第四調(diào)度任務(wù),所述第三調(diào)度任務(wù)先于第四調(diào)度任務(wù)運行,所述運行所述主調(diào)度任務(wù)具體包括:
[0016]在預(yù)設(shè)第三運行周期內(nèi),按照第三預(yù)設(shè)調(diào)度順序逐一判斷所述第三調(diào)度任務(wù)是否運行,如果是,運行當前第三調(diào)度任務(wù),否則,判斷下一個第三調(diào)度任務(wù)是否運行;
[0017]所述預(yù)設(shè)第三運行周期結(jié)束,啟動第四運行周期,按照第四預(yù)設(shè)調(diào)度順序逐一判斷所述第四調(diào)度任務(wù)是否運行,如果是,運行當前第四調(diào)度任務(wù),否則,判斷下一個第四調(diào)度任務(wù)是否運行,直至所述第四運行周期結(jié)束,等待下一次運行所述主調(diào)度任務(wù)。
[0018]進一步地,所述第三調(diào)度任務(wù)和第四調(diào)度任務(wù)包括若干個預(yù)留任務(wù),所述預(yù)留任務(wù)的調(diào)度順序在其他調(diào)度任務(wù)之后。
[0019]進一步地,所述清除AD轉(zhuǎn)換完成標志,運行所述輔助調(diào)度任務(wù)之后,還包括:
[0020]實時監(jiān)控所述主調(diào)度任務(wù)是否可運行,如果主調(diào)度任務(wù)不可運行,發(fā)送一個輸入信號至所述門狗定時器,繼續(xù)判斷AD轉(zhuǎn)換是否完成。
[0021]另一方面,提供一種車輛交流電機控制器的任務(wù)調(diào)度裝置,所述裝置包括:
[0022]任務(wù)管理單元,用于根據(jù)各個調(diào)度任務(wù)的預(yù)設(shè)實時性高低,將各個調(diào)度任務(wù)按照預(yù)設(shè)調(diào)用順序進行排序并分類為輔助調(diào)度任務(wù)和主調(diào)度任務(wù);
[0023]調(diào)度開始單元,用于啟動看門狗定時器,判斷AD轉(zhuǎn)換是否完成,如果AD轉(zhuǎn)換未完成,繼續(xù)判斷AD轉(zhuǎn)換是否完成;
[0024]第一任務(wù)運行單元,用于在AD轉(zhuǎn)換完成之后,清除AD轉(zhuǎn)換完成標志,運行所述輔助調(diào)度任務(wù);
[0025]第二任務(wù)運行單元,用于如果監(jiān)控所述主調(diào)度任務(wù)可運行,運行所述主調(diào)度任務(wù);
[0026]調(diào)度結(jié)束單元,用于運行所述主調(diào)度任務(wù)結(jié)束,發(fā)送一個輸入信號至所述門狗定時器,繼續(xù)判斷AD轉(zhuǎn)換是否完成。
[0027]進一步地,所述輔助調(diào)度任務(wù)包括在預(yù)設(shè)第一運行周期內(nèi)運行的第一調(diào)度任務(wù)和在預(yù)設(shè)第二運行周期內(nèi)運行的第二調(diào)度任務(wù),所述第一調(diào)度任務(wù)先于第二調(diào)度任務(wù)運行,所述第一任務(wù)運行單元具體用于在預(yù)設(shè)第一運行周期內(nèi),按照第一預(yù)設(shè)調(diào)度順序逐一判斷所述第一調(diào)度任務(wù)是否運行,如果是,運行當前第一調(diào)度任務(wù),否則,判斷下一個第一調(diào)度任務(wù)是否運行;
[0028]所述預(yù)設(shè)第一運行周期結(jié)束,啟動第二運行周期,按照第二預(yù)設(shè)調(diào)度順序逐一判斷所述第二調(diào)度任務(wù)是否運行,如果是,運行當前第二調(diào)度任務(wù),否則,判斷下一個第二調(diào)度任務(wù)是否運行;
[0029]所述預(yù)設(shè)第二運行周期結(jié)束,實時采集SCI通訊數(shù)據(jù)并進行管理。
[0030]進一步地,所述第一調(diào)度任務(wù)和第二調(diào)度任務(wù)包括若干個預(yù)留任務(wù),所述預(yù)留任務(wù)的調(diào)度順序在其他調(diào)度任務(wù)之后。
[0031]進一步地,所述主調(diào)度任務(wù)包括在預(yù)設(shè)第三運行周期內(nèi)運行的第三調(diào)度任務(wù)和在預(yù)設(shè)第四運行周期內(nèi)運行的第四調(diào)度任務(wù),所述第三調(diào)度任務(wù)先于第四調(diào)度任務(wù)運行,所述第二任務(wù)運行單元具體用于在預(yù)設(shè)第三運行周期內(nèi),按照第三預(yù)設(shè)調(diào)度順序逐一判斷所述第三調(diào)度任務(wù)是否運行,如果是,運行當前第三調(diào)度任務(wù),否則,判斷下一個第三調(diào)度任務(wù)是否運行;
[0032]所述預(yù)設(shè)第三運行周期結(jié)束,啟動第四運行周期,按照第四預(yù)設(shè)調(diào)度順序逐一判斷所述第四調(diào)度任務(wù)是否運行,如果是,運行當前第四調(diào)度任務(wù),否則,判斷下一個第四調(diào)度任務(wù)是否運行,直至所述第四運行周期結(jié)束,等待下一次運行所述主調(diào)度任務(wù)。
[0033]進一步地,所述第三調(diào)度任務(wù)和第四調(diào)度任務(wù)包括若干個預(yù)留任務(wù),所述預(yù)留任務(wù)的調(diào)度順序在其他調(diào)度任務(wù)之后。
[0034]進一步地,所述裝置還包括:
[0035]任務(wù)監(jiān)控單元,用于實時監(jiān)控所述主調(diào)度任務(wù)是否可運行,如果主調(diào)度任務(wù)不可運行,發(fā)送一個輸入信號至所述門狗定時器,繼續(xù)判斷AD轉(zhuǎn)換是否完成。
[0036]本申請實施例包括以下優(yōu)點:
[0037]根據(jù)不同調(diào)度任務(wù)的實時性要求進行分時調(diào)度,實現(xiàn)了多任務(wù)系統(tǒng)的功能要求,提高了任務(wù)調(diào)度效率,清晰地構(gòu)建了任務(wù)調(diào)度架構(gòu),同時,滿足后期任務(wù)的擴展性要求。
【附圖說明】
[0038]圖1是本發(fā)明實施例一提供的無晃動車輛交流電機控制器的任務(wù)調(diào)度方法的流程圖;
[0039]圖2是本發(fā)明實施例一提供的輔助調(diào)度任務(wù)運行流程圖;
[0040]圖3是本發(fā)明實施例一提供的主調(diào)度任務(wù)運行流程圖;
[0041]圖4是本發(fā)明實施例二提供的車輛交流電機控制器的任務(wù)調(diào)度裝置的具體結(jié)構(gòu)框圖。
【具體實施方式】
[0042]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0043]以下結(jié)合具體實施例對本發(fā)明的實現(xiàn)進行詳細描述:
[0044]實施例一
[0045]圖1示出了本發(fā)明實施例一提供的車輛交流電機控制器的任務(wù)調(diào)度方法的實現(xiàn)流程,詳述如下:
[0046]在步驟S101中,根據(jù)各個調(diào)度任務(wù)的預(yù)設(shè)實時性高低,將各個調(diào)度任務(wù)按照預(yù)設(shè)調(diào)用順序進行排序并分類為輔助調(diào)度任務(wù)和主調(diào)度任務(wù)。
[0047]在本實施例中,實時性的高低是根據(jù)任務(wù)的性質(zhì)來確定的,具體的,溫度管理任務(wù)的實時性就比電流控制的實時性低,原因是在控制過程中溫度的變化是比較慢的,電流變化是比較快的,所以在確定任務(wù)的執(zhí)行周期中,設(shè)置電流控制的周期要比溫度控制要小,實時性要高。其中,所述輔助調(diào)度任務(wù)包括在預(yù)設(shè)第一運行周期內(nèi)運行的第一調(diào)度任務(wù)和在預(yù)設(shè)第二運行周期內(nèi)運行的第二調(diào)度任務(wù),所述第一調(diào)度任務(wù)先于第二調(diào)度任務(wù)運行。所述第一調(diào)度任務(wù)和第二調(diào)度任務(wù)包括若干個預(yù)留任務(wù),所述預(yù)留任務(wù)的調(diào)度順序在其他調(diào)度任務(wù)之后,如圖2所示,第一運行周期為lms,第二運行周期為10ms,第一調(diào)度任務(wù)包括按照第一預(yù)設(shè)調(diào)度順序依次運行的CAN管理任務(wù)、EE