朱江華 周文華 蘇晨曦 郭修其 高維
(1.浙江大學(xué),杭州 310027;2.寧波高發(fā)汽車控制系統(tǒng)股份有限公司,寧波 315100)
主題詞:電子換擋器 AUTOSAR 自學(xué)習(xí)算法 電機(jī)位置控制
電子換擋器的主要技術(shù)特點(diǎn)是基于線控技術(shù)完成擋位信號(hào)采集、換擋邏輯判斷以及電驅(qū)動(dòng)換擋輸出等。由電子換擋系統(tǒng)的工作原理可知,其關(guān)鍵技術(shù)包括:確保換擋響應(yīng)時(shí)間及控制精度滿足系統(tǒng)要求;確保系統(tǒng)批量制造、裝配過程中產(chǎn)品性能的一致性和可靠性;控制系統(tǒng)在實(shí)現(xiàn)控制功能的同時(shí)還必須確保其軟、硬件滿足嚴(yán)格的功能安全要求。圍繞電子換擋器的相關(guān)關(guān)鍵技術(shù),國(guó)內(nèi)外高校與企業(yè)相繼開展了大量的研發(fā)工作和試驗(yàn)研究。
國(guó)際標(biāo)準(zhǔn)化組織(International Organization for Standardization,ISO)于2011 年提出了適用于道路車輛的功能安全標(biāo)準(zhǔn)ISO 26262:2011,并在實(shí)踐中不斷對(duì)其進(jìn)行更新完善。日益嚴(yán)苛的車輛安全要求無疑彰顯了ISO 26262 的重要性,而汽車開放系統(tǒng)架構(gòu)(AUTomotive Open System ARchitecture,AUTOSAR)的提出,不僅可以極大限度地保證汽車電子控制系統(tǒng)的功能安全,還可以提高汽車電子軟件系統(tǒng)代碼的可移植性和可擴(kuò)展性,并實(shí)現(xiàn)對(duì)現(xiàn)有應(yīng)用層軟件的復(fù)用。國(guó)內(nèi)外均對(duì)AUTOSAR 在電子控制單元(Electronic Control Unit,ECU)上的應(yīng)用有較為深入的研究,并成功將其應(yīng)用于各類汽車電控系統(tǒng)。
本文以AUTOSAR 層次化、模塊化的設(shè)計(jì)思想為基礎(chǔ),基于電子換擋控制器的功能安全需求建立控制器軟件架構(gòu),利用功能安全認(rèn)證軟件工具鏈完成底層基礎(chǔ)軟件和核心控制算法的開發(fā),并在指定變速器上展開試驗(yàn)驗(yàn)證,通過內(nèi)置通用校準(zhǔn)協(xié)議(Universal Calibration Protocol,XCP)和第三方標(biāo)定工具完成整機(jī)標(biāo)定和性能監(jiān)測(cè)。
電子換擋控制器硬件系統(tǒng)采用雙芯片(主控芯片+監(jiān)控芯片)硬件架構(gòu),如圖1 所示。其中,主控芯片選用英飛凌AURIX 微處理器TC234。該微處理器內(nèi)置具有鎖步功能的校驗(yàn)核,搭配硬件安全模塊(Hardware Security Module,HSM)、輸入/輸出監(jiān)控(I/O Monitor,IOM)、錯(cuò)誤檢查和糾正(Error Checking and Correcting,ECC)校驗(yàn)等措施保證程序安全可靠地執(zhí)行。監(jiān)控芯片選用英飛凌公司的TLF35584,該芯片不僅能為主控芯片、傳感器提供穩(wěn)定的工作電壓,還具有獨(dú)立的時(shí)間看門狗和窗口看門狗,為主控芯片提供較高的診斷覆蓋率。選用英飛凌公司的TLE92104 作為換擋電機(jī)的預(yù)驅(qū)芯片。所用芯片均達(dá)到汽車安全完整性等級(jí)(Automotive Safety Integrity Level,ASIL)C的要求。
圖1 電子換擋控制器硬件架構(gòu)示意
根據(jù)ISO 26262:2018,汽車電控系統(tǒng)的軟件架構(gòu)設(shè)計(jì)準(zhǔn)則包括:
a.軟件組件合理分層;
b.限制軟件組件的大小與復(fù)雜性;
c.限制接口的規(guī)模;
d.每個(gè)軟件組件內(nèi)的高內(nèi)聚;
e.限制軟件組件之間的耦合;
f.適當(dāng)?shù)恼{(diào)度特性;
g.限制中斷的使用;
h.適當(dāng)?shù)目臻g隔絕;
i.分享資源的合適管理。
AUTOSAR軟件架構(gòu)將整個(gè)軟件系統(tǒng)合理劃分成應(yīng)用層、運(yùn)行時(shí)環(huán)境(Run-Time Environment,RTE)和基礎(chǔ)軟件(Basic Software,BSW)層,并且通過標(biāo)準(zhǔn)接口實(shí)現(xiàn)各模塊之間的獨(dú)立性,很好地滿足了上述準(zhǔn)則的要求。根據(jù)電子換擋控制器的功能需求,其軟件架構(gòu)設(shè)計(jì)如圖2所示。
圖2 電子換擋控制器AUTOSAR軟件架構(gòu)
軟件開發(fā)工作主要包括針對(duì)特定微處理器的基礎(chǔ)軟件層配置與開發(fā)、運(yùn)行時(shí)環(huán)境配置和面向控制系統(tǒng)功能需求的應(yīng)用層軟件開發(fā)。前兩者主要通過AUTOSAR工具平臺(tái)展開,后者通過MATLAB/Simulink圖形化開發(fā)工具及代碼自動(dòng)生成工具實(shí)現(xiàn)。模塊化的應(yīng)用層軟件組件架構(gòu)設(shè)計(jì)由DaVinci Developer 完成,分層化的運(yùn)行時(shí)環(huán)境與基礎(chǔ)軟件層的配置由DaVinci Configurator Pro完成,各模塊的描述符和配置均以一種稱為AUTOSAR XML(ARXML)的標(biāo)準(zhǔn)格式表示。特別地,使用EB Tresos Studio 工具配置微控制器抽象層(Microcontroller Abstraction Layer,MCAL)。
AUTOSAR基礎(chǔ)軟件層結(jié)構(gòu)如圖3所示,由4個(gè)部分組成:
圖3 基礎(chǔ)軟件層結(jié)構(gòu)
a.MCAL,該層位于基礎(chǔ)軟件層的最底部,包含了與主控芯片相關(guān)的驅(qū)動(dòng)程序。本文利用EB Tresos Studio 對(duì)MCAL 進(jìn)行配置,并基于ARXML 在DaVinci Configurator Pro 中對(duì)配置參數(shù)進(jìn)行同步。
b.ECU 抽象層,該層對(duì)整個(gè)ECU 進(jìn)行抽象與封裝,并提供統(tǒng)一的接口實(shí)現(xiàn)對(duì)存儲(chǔ)、通信與I/O 的訪問。圖4給出了I/O硬件抽象的配置與實(shí)現(xiàn)方案。應(yīng)用層軟件組件不能直接調(diào)用MCAL 的接口讀取所需的輸入信號(hào),只能通過I/O 硬件抽象的接口對(duì)MCAL 進(jìn)行訪問。在DaVinci Developer 中完成對(duì)I/O硬件抽象模塊的架構(gòu)設(shè)計(jì)和接口定義后,在生成的C 文件中手動(dòng)添加代碼調(diào)用MCAL 對(duì)上層開放的應(yīng)用程序接口(Application Programming Interface,API)函 數(shù)Dio_WriteChannel、Dio_ReadChannel等。
圖4 I/O硬件抽象配置與實(shí)現(xiàn)
c.服務(wù)層,該層位于基礎(chǔ)軟件層的最高層,為應(yīng)用層和其他基礎(chǔ)軟件模塊提供基礎(chǔ)服務(wù)。服務(wù)層可以按照服務(wù)對(duì)象的不同分為系統(tǒng)服務(wù)、存儲(chǔ)器服務(wù)和通信服務(wù)。
除AUTOSAR 操作系統(tǒng)外,屬于服務(wù)層的模塊均與硬件無關(guān)。AUTOSAR操作系統(tǒng)作為系統(tǒng)服務(wù)中極為重要的一部分,通過任務(wù)管理、中斷處理、事件機(jī)制、資源管理等措施對(duì)整個(gè)電子換擋器的控制系統(tǒng)進(jìn)行實(shí)時(shí)管理。
d.復(fù)雜驅(qū)動(dòng),該模塊橫跨MCAL、ECU 抽象層和服務(wù)層。復(fù)雜驅(qū)動(dòng)雖然在AUTOSAR 中無法被標(biāo)準(zhǔn)化,但是具有執(zhí)行AUTOSAR 接口的強(qiáng)大邊界能力,因此可以實(shí)現(xiàn)處理復(fù)雜傳感器和執(zhí)行器的特定功能。如圖5所示,以換擋電機(jī)的預(yù)驅(qū)芯片TLE92104 的驅(qū)動(dòng)程序?yàn)槔?,在DaVinci Developer 中完成對(duì)該模塊的運(yùn)行實(shí)體(Runnable)設(shè)計(jì)與接口定義后,在生成的C文件中根據(jù)芯片應(yīng)用原理對(duì)驅(qū)動(dòng)程序進(jìn)行配置。
圖5 TLE92104驅(qū)動(dòng)配置與實(shí)現(xiàn)
RTE 位于應(yīng)用層與基礎(chǔ)軟件層之間,是AUTOSAR虛擬功能總線(Virtual Function Bus,VFB)的具體實(shí)現(xiàn)。如圖6所示,RTE提供標(biāo)準(zhǔn)化的通信接口保證應(yīng)用層軟件組件之間、應(yīng)用層軟件組件與基礎(chǔ)軟件層之間的通信。其中,通過S/R接口實(shí)現(xiàn)數(shù)據(jù)的傳輸,通過C/S接口完成服務(wù)的調(diào)用。
圖6 RTE配置與實(shí)現(xiàn)
RTE 實(shí)現(xiàn)對(duì)運(yùn)行實(shí)體的管理與調(diào)度。運(yùn)行實(shí)體作為用戶程序的最小劃分單元,操作系統(tǒng)無法直接對(duì)其進(jìn)行調(diào)度。RTE 為運(yùn)行實(shí)體提供必要的觸發(fā)事件與資源,并將運(yùn)行實(shí)體映射到操作系統(tǒng)的任務(wù)中,通過對(duì)任務(wù)的調(diào)度實(shí)現(xiàn)運(yùn)行實(shí)體的執(zhí)行。如圖6 所示,在生成的RTE 實(shí)現(xiàn)文件(RTE.c)中,定義了運(yùn)行實(shí)體的映射與調(diào)用。
應(yīng)用層包括擋位輸入及換擋邏輯判斷模塊、擋位角度自學(xué)習(xí)模塊、換擋電機(jī)位置控制模塊以及其他輔助模塊,相應(yīng)軟件組件在DaVinci Developer 中完成設(shè)計(jì)與配置并導(dǎo)出對(duì)應(yīng)的ARXML文件。在MATLAB/Simulink中導(dǎo)入ARXML 文件并完成各模塊的圖形化開發(fā)以及代碼自動(dòng)生成。這里給出電子換擋控制器的2 個(gè)核心功能組件,即擋位角度自學(xué)習(xí)算法和換擋電機(jī)位置控制算法的設(shè)計(jì)與實(shí)現(xiàn)過程。
擋位角度自學(xué)習(xí)的目的是保證不同換擋機(jī)構(gòu)、不同擋位均能找到目標(biāo)擋位的精確位置。擋位角度自學(xué)習(xí)算法的設(shè)計(jì)需滿足:覆蓋變速器零部件在制造和裝配過程中可能出現(xiàn)的差異性,保證換擋過程的精準(zhǔn)控制;自學(xué)習(xí)方法對(duì)不同的換擋機(jī)構(gòu)具有一定的普適性。
圖7所示為某變速器的電子換擋器換擋機(jī)構(gòu),同類變速器的換擋機(jī)構(gòu)均具有如下類似特征:
圖7 電子換擋器換擋機(jī)構(gòu)示意
a.精確的擋位定位都處在雞冠齒槽底部中央,而底部中央附近存在較寬的近似對(duì)稱的平緩區(qū)域,鎖止銷由于阻力的作用可停留在該區(qū)域的任意位置,進(jìn)而影響定位精度;
b.不同換擋機(jī)構(gòu)、不同擋位的雞冠齒槽底部平緩區(qū)域的寬窄程度存在差異;
c.鎖止銷離開底部區(qū)域時(shí)受到的阻力會(huì)明顯增大,此時(shí)有別于底部區(qū)域的特征是微小增加的驅(qū)動(dòng)力矩不會(huì)導(dǎo)致鎖止銷與雞冠齒相對(duì)位置發(fā)生明顯變化。
如圖8所示,換擋電機(jī)輸出微小的驅(qū)動(dòng)電流即可保證鎖止銷在雞冠齒底部區(qū)域左右擺動(dòng),在步進(jìn)增加電流時(shí)擺動(dòng)范圍不斷增大,當(dāng)某一時(shí)刻增加的驅(qū)動(dòng)電流不能導(dǎo)致擺動(dòng)范圍擴(kuò)大時(shí),即可認(rèn)為鎖止銷已經(jīng)到達(dá)離開底部區(qū)域的臨界點(diǎn)。
圖8 鎖止銷受力分析示意
自學(xué)習(xí)算法的要點(diǎn)是:
a.驅(qū)動(dòng)電流須確保鎖止銷在雞冠齒槽底部區(qū)域明顯擺動(dòng),防止因摩擦阻滯而產(chǎn)生對(duì)臨界點(diǎn)的誤判;
b.臨界點(diǎn)的判斷須在雞冠齒大范圍運(yùn)動(dòng)時(shí),避免因靜摩擦而產(chǎn)生不確定性;
c.對(duì)底部特征差異比較大的驅(qū)動(dòng)機(jī)構(gòu)建立不同的邊界判斷條件。
根據(jù)上述特征在Stateflow 中設(shè)計(jì)擋位角度自學(xué)習(xí)算法,如圖9 所示。自學(xué)習(xí)開始之后,首先閉環(huán)控制換擋電機(jī)輸出至初始目標(biāo)擋位位置,然后開環(huán)輸出振蕩微小脈沖使換擋電機(jī)左右擺動(dòng)以尋找左右臨界點(diǎn),并記錄換擋電機(jī)角度(規(guī)定向右為換擋電機(jī)角度增大方向)。根據(jù)記錄的左右擺動(dòng)結(jié)束后的換擋電機(jī)角度驗(yàn)證是否滿足邊界判斷條件。若滿足,表明該擋位角度自學(xué)習(xí)結(jié)束;若不滿足,步進(jìn)增加換擋電機(jī)驅(qū)動(dòng)電流后繼續(xù)進(jìn)行邊界判斷條件的驗(yàn)證。
圖9 擋位角度自學(xué)習(xí)算法Stateflow模型
在換擋電機(jī)驅(qū)動(dòng)過程中,電子換擋執(zhí)行機(jī)構(gòu)的顯著特點(diǎn)是負(fù)載變化激烈,激烈變化的負(fù)載特性對(duì)快速、精確的換擋電機(jī)位置控制提出了很高的要求?;谏鲜鎏匦裕疚牟捎秒p閉環(huán)PID 來控制換擋電機(jī)位置,即換擋電機(jī)角度閉環(huán)控制和速度閉環(huán)控制。其中,主控制環(huán)為角度閉環(huán),用于確保換擋電機(jī)角度的穩(wěn)態(tài)精度以及動(dòng)態(tài)跟蹤性能,副控制環(huán)為速度閉環(huán),用于抑制換擋電機(jī)在負(fù)載突變時(shí)的轉(zhuǎn)速波動(dòng)。
在Simulink中搭建該控制算法的圖形化模型,如圖10所示。其中,換擋電機(jī)角度PID模塊和速度PID模塊被封裝成子系統(tǒng),內(nèi)置抗積分飽和模塊。PID控制參數(shù)分別與換擋電機(jī)角度和換擋電機(jī)轉(zhuǎn)速相關(guān)??紤]到換擋電機(jī)驅(qū)動(dòng)電流對(duì)整個(gè)控制過程可能產(chǎn)生的影響,在雙閉環(huán)的輸出環(huán)節(jié)增加換擋電機(jī)實(shí)際電流對(duì)最終占空比輸出的限值模塊。
圖10 換擋電機(jī)位置控制算法Simulink模型
完成應(yīng)用層軟件組件設(shè)計(jì)、RTE設(shè)計(jì)與基礎(chǔ)軟件層設(shè)計(jì)等工作后,通過DaVinci 工具和Embedded Coder 工具生成相應(yīng)的源代碼,并利用TASKING將源代碼編譯、鏈接成可執(zhí)行文件(HEX)。
系統(tǒng)設(shè)計(jì)完成后在上汽通用五菱汽車股份有限公司CTF25 變速器上展開驗(yàn)證試驗(yàn)。該變速器使用2 個(gè)直流有刷電機(jī)作為執(zhí)行單元完成P/R/N/D/S 擋位的切換,利用MLX90365霍爾芯片檢測(cè)換擋電機(jī)位置并輸出電壓模擬信號(hào)至換擋控制器。換擋執(zhí)行器的結(jié)構(gòu)如圖11所示。
圖11 換擋執(zhí)行器結(jié)構(gòu)
試驗(yàn)過程基于XCP on CAN 協(xié)議在ETAS INCA 上建立監(jiān)控和標(biāo)定平臺(tái)。通過英特佩斯ValueCan3 建立主機(jī)與從機(jī)之間的CAN通訊。測(cè)試平臺(tái)如圖12所示。
圖12 電子換擋控制器測(cè)試平臺(tái)
擋位角度自學(xué)習(xí)算法要求各個(gè)擋位多次自學(xué)習(xí)結(jié)果的偏差不超過0.5°。整個(gè)自學(xué)習(xí)過程的換擋電機(jī)驅(qū)動(dòng)脈沖寬度調(diào)制(Pulse Width Modulation,PWM)占空比變化與換擋電機(jī)角度變化如圖13所示。擋位角度自學(xué)習(xí)過程中,通過每個(gè)擋位步進(jìn)增加驅(qū)動(dòng)電流找到左右臨界點(diǎn)角度,滿足擋位角度自學(xué)習(xí)成功的條件后進(jìn)入下一擋位角度的自學(xué)習(xí)。
圖13 擋位角度自學(xué)習(xí)過程的換擋電機(jī)驅(qū)動(dòng)PWM占空比和換擋電機(jī)角度變化
自學(xué)習(xí)過程中INCA 自動(dòng)記錄每個(gè)擋位的自學(xué)習(xí)角度。該自學(xué)習(xí)算法經(jīng)過了充分的試驗(yàn)驗(yàn)證,圖14 所示為其中隨機(jī)選取的50 組擋位角度自學(xué)習(xí)結(jié)果的分布情況,具體的數(shù)據(jù)分析結(jié)果如表1 所示。結(jié)合圖14與表1 可以發(fā)現(xiàn),各擋位自學(xué)習(xí)角度偏差均不超過0.5°,且各次自學(xué)習(xí)的結(jié)果表現(xiàn)出了極高的一致性,表明該自學(xué)習(xí)算法具有極高的魯棒性,滿足變速器的性能要求。
表1 擋位角度自學(xué)習(xí)結(jié)果分析
圖14 各擋位的擋位角度自學(xué)習(xí)結(jié)果分布情況
換擋電機(jī)位置控制要求為:相鄰擋位之間的換擋時(shí)間不超過150 ms;目標(biāo)擋位角度靜態(tài)偏差不超過0.5°。根據(jù)擋位角度自學(xué)習(xí)算法得到各擋位的準(zhǔn)確角度,并按照上述角度進(jìn)行換擋電機(jī)位置控制算法的驗(yàn)證,結(jié)果如圖15所示。
圖15 不同擋位間隔換擋電機(jī)位置控制結(jié)果
由圖15 可得,在不同擋位間隔的換擋中電機(jī)位置控制均取得了比較理想的控制效果。換擋時(shí)間和目標(biāo)角度偏差(見表2)均在性能要求范圍以內(nèi)。
表2 不同換擋間隔的換擋時(shí)間與目標(biāo)角度偏差
本文基于AUTOSAR 完成了電子換擋控制器軟件架構(gòu)設(shè)計(jì),通過MATLAB/Simulink 和AUTOSAR 平臺(tái)相關(guān)工具完成了控制器應(yīng)用層、基礎(chǔ)軟件層和運(yùn)行時(shí)環(huán)境的設(shè)計(jì),開發(fā)了擋位角度自學(xué)習(xí)算法和換擋電機(jī)位置雙閉環(huán)控制算法,以英飛凌TC234 微處理器為硬件平臺(tái),在上汽通用五菱的CTF25 型CVT 變速器上展開了試驗(yàn)驗(yàn)證。試驗(yàn)結(jié)果表明:該擋位角度自學(xué)習(xí)算法具有良好的自學(xué)習(xí)精度,能夠保證各擋位角度多次自學(xué)習(xí)的偏差遠(yuǎn)小于0.5°,可以確保生產(chǎn)制造過程中的系統(tǒng)一致性;該換擋電機(jī)位置控制算法具有良好的響應(yīng)速度和角度控制精度,能夠滿足整車換擋性能的控制要求。