一種“動(dòng)靜結合”的CAN總線(xiàn)調度算法在汽車(chē)電子控制網(wǎng)絡(luò )中的研究與應用
實(shí)現動(dòng)態(tài)優(yōu)先級晉升的算法很簡(jiǎn)單,其軟件流程圖如圖3所示。
圖3 動(dòng)態(tài)優(yōu)先級調度算法的程序流程圖
4、調度算法在汽車(chē)電子控制網(wǎng)絡(luò )中的應用
作者設計了防抱死系統(ABS)、電子助力轉向系統(EPS)以及車(chē)身控制系統(兼做低速CAN總線(xiàn)與高速CAN總線(xiàn)之間的網(wǎng)橋)作為CAN總線(xiàn)汽車(chē)電子控制網(wǎng)絡(luò )節點(diǎn),上位PC機節點(diǎn)采用IXXAT公司的CANlink模塊(CAN-RS232轉換器)與總線(xiàn)相連,并使用該公司的CAN BUS Tester(CAN總線(xiàn)測試儀)模塊以及CanAnalyser(CAN總線(xiàn)分析開(kāi)發(fā))軟件進(jìn)行了CAN網(wǎng)絡(luò )的設計和開(kāi)發(fā)。采用本文介紹的調度算法,應用層部分采用的是目前流行的J1939協(xié)議。
4.1 汽車(chē)電子控制網(wǎng)絡(luò )硬件設計
防死抱系統、電子助力轉向系統及車(chē)身控制系統的處理器均選用了飛思卡爾公司的MC9S12DP256芯片,該芯片是一款低成本、高性能的16位HCS12系列微處理器,內置有msCAN控制器,非常適合作為汽車(chē)電子控制單元的核心部件; CAN總線(xiàn)收發(fā)器選用的是MC33989(高速總線(xiàn))芯片和MC33388芯片(低速總線(xiàn));車(chē)身控制系統中的LIN總線(xiàn)收發(fā)器和電機驅動(dòng)選用的都是MC33399芯片;車(chē)燈及其他負載的驅動(dòng)選用的是MC33888芯片。網(wǎng)絡(luò )整體框圖如圖4所示。
圖4 汽車(chē)電子控制網(wǎng)絡(luò )的整體框圖
4.2 汽車(chē)電子控制網(wǎng)絡(luò )軟件設計
利用CodeWarrior集成開(kāi)發(fā)環(huán)境IDE(Integrated Development Environment),通過(guò)背景調試方式BDM(Background Debug Mode),下載控制程序和修改相關(guān)參數,在不干擾目標程序運行的情況下,實(shí)時(shí)監測各寄存器和存儲器,實(shí)現了控制程序的板上在線(xiàn)調試,從而提高了集成系統的開(kāi)發(fā)效率和試驗的方便性,縮短了試驗周期。
系統所需軟件模塊主要由系統初始化模塊、啟動(dòng)自檢模塊、主控制模塊、數據采集模塊、數據處理模塊、參考車(chē)速計算模塊、控制決策和執行機構動(dòng)作模塊、故障診斷模塊、總線(xiàn)通信模塊等幾大部分組成。各模塊由主控制模塊按任務(wù)管理機制實(shí)時(shí)進(jìn)行統一調度,分配運行時(shí)間,進(jìn)行數據和信號的交換。
為了實(shí)現預期的CAN總線(xiàn)調度算法,將節點(diǎn)的11位ID分解為3 + 8位的形式,前3位定義為組號。每個(gè)節點(diǎn)占用二個(gè)ID,同一節點(diǎn)ID的后8位相同,前3位用來(lái)區分時(shí)間觸發(fā)報文組與事件觸發(fā)報文組,并且時(shí)間觸發(fā)報文組的優(yōu)先級設置比事件觸發(fā)報文組的優(yōu)先級高。在調度表中,安排先發(fā)送時(shí)間觸發(fā)報文,發(fā)送完畢后,再允許各節點(diǎn)發(fā)送事件觸發(fā)報文。發(fā)送時(shí)間觸發(fā)報文時(shí),高優(yōu)先級節點(diǎn)的報文先發(fā)送,在該期間,由調度表確保僅有一個(gè)節點(diǎn)獲取總線(xiàn)控制權。在一個(gè)調度周期內,只有最后一個(gè)時(shí)間窗用于各節點(diǎn)發(fā)送事件觸發(fā)報文,該時(shí)間窗的大小,可根據實(shí)際使用情況,在調度表中靈活安排。若多個(gè)節點(diǎn)同時(shí)發(fā)送事件觸發(fā)報文,則依據CAN總線(xiàn)的位仲裁機制,以及動(dòng)態(tài)優(yōu)先級調度算法來(lái)進(jìn)行競爭,獲取總線(xiàn)控制權的節點(diǎn)發(fā)送報文。
實(shí)踐證明,這種結合了TTCAN技術(shù)和動(dòng)態(tài)晉升機制的調度算法,在整車(chē)電子控制網(wǎng)絡(luò )中起到了至關(guān)重要的作用,各個(gè)子系統之間數據傳輸的實(shí)時(shí)性以及通信質(zhì)量都得到了明顯的改善。
評論