<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 一種“動(dòng)靜結合”的CAN總線(xiàn)調度算法在汽車(chē)電子控制網(wǎng)絡(luò )中的研究與應用

一種“動(dòng)靜結合”的CAN總線(xiàn)調度算法在汽車(chē)電子控制網(wǎng)絡(luò )中的研究與應用

作者: 時(shí)間:2016-12-20 來(lái)源:網(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ì)量都得到了明顯的改善。


上一頁(yè) 1 2 下一頁(yè)

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>