0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

關于基于XCP協(xié)議支持多總線的ECU標定系統(tǒng)的實現(xiàn)

電子設計 ? 來源:網絡整理 ? 作者:工程師吳畏 ? 2018-06-20 14:29 ? 次閱讀

0 引言

汽車技術的飛速發(fā)展使得汽車電子控制單元(Electronic Control Unit,ECU)中包含的控制參數(shù)大量增加,標定工作復雜度越來越高。在ECU開發(fā)過程中,控制參數(shù)的標定工作直接影響整車性能的優(yōu)劣。面對日趨多樣的ECU和通信總線類型,開發(fā)一種支持多總線的、通用靈活的標定系統(tǒng),具有非常高的實用價值[1]。目前,CAN總線作為一種可靠的汽車總線已經廣泛應用于高檔汽車,因而多數(shù)標定系統(tǒng)都是基于CCP(CAN Calibration Protocol)協(xié)議開發(fā)的,具有一定的通用性[2]。但隨著更為先進的FlexRay通信總線迅速發(fā)展,開發(fā)出一種既支持當下主流的CAN總線,又兼容代表汽車總線趨勢的FlexRay總線的標定系統(tǒng),無疑具有很高的技術應用價值。

本文基于XCP協(xié)議設計了一套ECU標定系統(tǒng),充分利用了XCP協(xié)議物理傳輸層與協(xié)議層相互獨立的特性,基于同一協(xié)議層分別實現(xiàn)了對CAN總線和FlexRay總線的支持,大大提高了標定系統(tǒng)的總線兼容性與可擴展性。

1 標定系統(tǒng)總體方案設計

XCP協(xié)議由自動化及測量系統(tǒng)標準協(xié)會(Association for Standardization of Automation and Measuring system,ASAM)提出,是對原有CCP2.1協(xié)議的繼承和升級,力求使用最小的系統(tǒng)和硬件資源開銷實現(xiàn)高效通信[3]。該協(xié)議分別定義了協(xié)議層、傳輸層和接口層,其最突出的特點就是協(xié)議層獨立于傳輸層。對于不同類型的通信總線,只需要將XCP報文(XCP Message)的報文頭和報文尾填上對應信息,而中間部分的XCP數(shù)據(jù)包(XCP Packet)由協(xié)議層定義,完全不受影響。因此XCP標定協(xié)議能夠極好地適應總線多樣化對標定系統(tǒng)通用性提出的要求。目前,ASAM已經在標準中定義的傳輸層包括:XCP-on-CAN、XCP-on-Ethernet(TCP/IP、UDP/IP)、XCP-on-SXI(SPI、SCI)、XCP-on-USB和XCP-on-FlexRay[3]。根據(jù)后續(xù)的實際需求,也考慮進一步定義XCP-on-LIN、XCP-on-K-Line和XCP-on-MOST。

圖1是標定系統(tǒng)總體架構設計方案。整個標定系統(tǒng)框架遵循ASAM-MCD標準(原ASAP標準)搭建,包括運行于PC端的上位機標定軟件、負責上位機和下位機之間通信的通信控制單元和下位機ECU。ECU端采用Freescale公司的MC9S12XF512芯片。上位機集成了方便用戶進行測量和標定的圖形界面以及XCP命令解析模塊,用戶請求經由上位機XCP協(xié)議模塊打包,通過通信控制單元發(fā)送至下位機ECU通信接口,再由集成在ECU中的XCP驅動模塊解析后調用對應命令處理模塊進行操作,將處理結果打包并通過通信控制單元發(fā)送回上位機。根據(jù)通信介質的不同,需要對XCP協(xié)議幀的幀頭和幀尾進行對應的信息填充。本文設計的標定系統(tǒng)同時支持當下主流的CAN通信總線和代表未來汽車總線發(fā)展趨勢的FlexRay總線。

關于基于XCP協(xié)議支持多總線的ECU標定系統(tǒng)的實現(xiàn)

2 XCP協(xié)議驅動程序的實現(xiàn)

XCP協(xié)議以主從方式工作,并使用命令傳輸對象(Command Transfer Object,CTO)和數(shù)據(jù)傳輸對象(Data Transfer Object,DTO)兩種數(shù)據(jù)包來區(qū)分主從節(jié)點間的通信,如圖2所示。

關于基于XCP協(xié)議支持多總線的ECU標定系統(tǒng)的實現(xiàn)

XCP協(xié)議規(guī)定了3種通信模式,分別是標準通信模式(Standard Mode)、塊傳輸通信模式(Block Transfer Mode)和交錯傳輸通信模式(Interleaved Mode)。本文設計的標定系統(tǒng)適用于CAN總線和FlexRay總線,采用標準通信模式,即在主機主動發(fā)起會話建立連接之后,對于主機發(fā)送的每一條命令,從機都必須進行響應處理,如出錯則返回錯誤報告信息。在沒有接收到從機對上一條命令的應答之前,主機不會發(fā)送新的命令[4]。

2.1 下位機端XCP協(xié)議驅動程序的實現(xiàn)

XCP協(xié)議作為對CCP協(xié)議的升級,其所具有的一個重要新功能是對冷啟動測量的支持,即所謂的RESUME模式[3]。集成了XCP協(xié)議驅動的下位機啟動后其狀態(tài)機模型如圖3所示。

關于基于XCP協(xié)議支持多總線的ECU標定系統(tǒng)的實現(xiàn)

從節(jié)點設備啟動并完成初始化后,會立刻檢測ECU的非易失存儲介質中是否有已配置好的DAQ list供RESUME模式使用,如果有,則進入RESUME模式,按配置列表周期性向上位機發(fā)送數(shù)據(jù);如果沒有相關配置文件,則進入DICONNECTED模式。在RESUME模式和DISCONNECTED模式下,從設備只響應來自主機的CON-NECT命令(XCP-ON-CAN條件下還可響應GET_SLAVE_ID命令)。下位機端XCP驅動的工作流程如圖4所示。

關于基于XCP協(xié)議支持多總線的ECU標定系統(tǒng)的實現(xiàn)

按照主從通信模式,從機端使用中斷方式對主機的命令進行響應。從機啟動后會首先完成系統(tǒng)的初始化工作,包括對從機硬件資源的初始化、配置系統(tǒng)默認參數(shù)以及XCP模塊的初始化,并且將標定數(shù)據(jù)從ROM或Flash鏡像到RAM,為標定工作做好準備。在解析到來自主機的CTO消息中包含CONNECT命令后,從機響應主機建立連接,該設備進入在線狀態(tài),進而處理來自主機的一系列命令,并根據(jù)命令碼(CMD code)調用對應的模塊進行響應,完成對應操作后將數(shù)據(jù)封裝成DTO數(shù)據(jù)包發(fā)送給主機。如處理出錯,則返回對應的ERR數(shù)據(jù)包,其第二字節(jié)包含具體的錯誤碼。

2.2 上位機端XCP協(xié)議驅動程序的實現(xiàn)

上位機采用圖形化編程語言LabVIEW開發(fā)。XCP協(xié)議共規(guī)定了18條必選命令和38條可選命令[5]。結合標定系統(tǒng)的功能需求和開發(fā)語言特點,實現(xiàn)思路是將18條必選命令和部分可選命令分別定義為獨立的子vi,然后根據(jù)實際功能需求對其進行順序調用。實現(xiàn)的部分命令子vi如圖5所示。

關于基于XCP協(xié)議支持多總線的ECU標定系統(tǒng)的實現(xiàn)

結合標定軟件的功能需求和XCP協(xié)議規(guī)定的CMD列表,上位機端的XCP協(xié)議實現(xiàn)框架如圖6所示。

關于基于XCP協(xié)議支持多總線的ECU標定系統(tǒng)的實現(xiàn)

本文設計的標定系統(tǒng)軟件包含部分尚未實現(xiàn)的可選命令。當用戶操作需要用到該命令時,下位機會統(tǒng)一返回ERR_CMD_UNKNOWN錯誤代碼。

3 XCP協(xié)議傳輸層設計

作為對CCP協(xié)議的升級,XCP協(xié)議最突出的特點是協(xié)議層獨立于具體的物理傳輸層,從而增加了協(xié)議對總線適用的靈活性,減少了開發(fā)移植的重復工作。XCP協(xié)議規(guī)定的XCP報文(XCP Message,也稱XCP Frame)結構如圖7所示。

關于基于XCP協(xié)議支持多總線的ECU標定系統(tǒng)的實現(xiàn)

XCP報文分為3部分,分別是報文頭(XCP Header)、報文尾(XCP Tail)和中間的XCP數(shù)據(jù)包(XCP Packet)。其中XCP數(shù)據(jù)包由協(xié)議層定義,報文頭和報文尾由傳輸層定義,從而實現(xiàn)同一協(xié)議層數(shù)據(jù)包可通過不同物理總線進行傳輸。

3.1 XCP-on-CAN傳輸層設計

當物理層傳輸介質為CAN總線時,報文頭為空,報文尾由開發(fā)者根據(jù)實際需求選則有或者無,且XCP數(shù)據(jù)包中不包含時間標識段(TIMESTAMP)。其原理是:CAN2.1協(xié)議規(guī)定CAN報文數(shù)據(jù)幀的數(shù)據(jù)域長度DLC最多為8 B[6]。如果設置CAN報文中的數(shù)據(jù)長度DLC始終等于XCP數(shù)據(jù)包長度LEN,則報文尾為空,此時XCP數(shù)據(jù)包就是XCP報文;如果設定DLC長度始終為MAX_DLC=8,則當XCP數(shù)據(jù)包長度小于8 B時,需要通過添加XCP報文尾的方式補足8 B(填充內容任意)。本文設計的XCP-on-CAN報文采用第一種方式,即令DLC始終與LEN相等。

3.2 XCP-on-FlexRay傳輸層設計

當物理層傳輸介質為FlexRay總線時,必包含報文頭,而報文尾則根據(jù)所在報文實際情況,可能為空,也可能為1 B的填充域(填充內容任意)。其原理是:報文頭包含4個部分,分別為XCP節(jié)點地址(NAX)、計數(shù)(CTR)、填充字節(jié)(FILL)和XCP報文數(shù)(LEN)。除首字節(jié)NAX外,其余部分均為可選項。FlexRay作為新一代高速總線,每一幀的理論有效數(shù)據(jù)長度能達到254 B,實際應用過程中有效數(shù)據(jù)長度取決于具體的FlexRay控制器參數(shù),其中恩智浦MFR4310控制器已經可以實現(xiàn)0~254 B數(shù)據(jù)域長度配置[7]。為了增加總線吞吐量,當FlexRay數(shù)據(jù)幀中含有多個連續(xù)的XCP報文時,需要給每一個報文順序計數(shù)CTR以保證數(shù)據(jù)的有序性,同時還要給出所包含的XCP報文個數(shù)LEN,而FILL域用于實現(xiàn)Byte或Word對齊,提高FlexRay總線傳輸效率[8]。本文設計的FlexRay數(shù)據(jù)幀采用最為簡潔的形式,僅包含一個XCP報文。

本文設計的XCP-on-CAN和XCP-on-FlexRay報文結構如圖8所示。

關于基于XCP協(xié)議支持多總線的ECU標定系統(tǒng)的實現(xiàn)

4 標定系統(tǒng)驗證

對系統(tǒng)進行驗證的首要目標是保證系統(tǒng)的各項基本功能均能夠準確、可靠地實現(xiàn)。驗證的基本思路是:第一階段,連接標定系統(tǒng)上位機、下位機,并運行上位機標定軟件,將下位機ECU上電,通過簡單的配置后可以實現(xiàn)上、下位機的成功連接。而后建立監(jiān)測窗口,選取若干參數(shù)進行數(shù)據(jù)顯示,觀察是否能正常運行;再建立標定窗口,對上述某一參數(shù)數(shù)值進行修改,從而驗證標定系統(tǒng)的基本功能。第二階段,連接本文開發(fā)的標定系統(tǒng)和實驗室一直使用的電池包管理ECU,重復上述驗證程序,驗證標定系統(tǒng)的適用性。實驗結果表明該系統(tǒng)使用簡單靈活,能夠滿足實驗室標定工作的基本需求。標定系統(tǒng)工作時的連接參數(shù)配置界面、監(jiān)測窗口和標定窗口如圖9所示。

關于基于XCP協(xié)議支持多總線的ECU標定系統(tǒng)的實現(xiàn)

5 結論

本文基于XCP協(xié)議完成了ECU標定系統(tǒng)的開發(fā),按照ASAM-MCD標準設計系統(tǒng)整體架構并予以實現(xiàn),保證了系統(tǒng)的通用性。利用其協(xié)議層獨立于傳輸層的特性,在同一協(xié)議層的基礎上設計了CAN總線和FlexRay總線對應的兩種傳輸層結構,克服了基于CCP協(xié)議的標定系統(tǒng)僅支持CAN總線的局限性。最后應用標定系統(tǒng)進行標定試驗,驗證其監(jiān)測、標定等基本功能。本文設計的標定系統(tǒng)具有良好的總線適用性和可擴展性,不僅滿足當下主流CAN總線的標定需求,而且支持新一代FlexRay總線。與此同時,XCP協(xié)議多總線支持的特性也為今后進一步擴展XCP-on-Ethernet、XCP-on-SXI和XCP-on-MOST提供了保證。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • ecu
    ecu
    +關注

    關注

    14

    文章

    853

    瀏覽量

    54216
  • XCP協(xié)議
    +關注

    關注

    1

    文章

    4

    瀏覽量

    10165
收藏 人收藏

    評論

    相關推薦

    如何去實現(xiàn)汽車ECU標定系統(tǒng)DAQ模式?

    基于***協(xié)議的汽車ECU標定系統(tǒng)DAQ模式的實現(xiàn)
    發(fā)表于 05-12 06:20

    基于***協(xié)議的汽車ECU標定系統(tǒng)該如何去實現(xiàn)

    ***協(xié)議是什么?基于***協(xié)議的汽車ECU標定系統(tǒng)該如何去實現(xiàn)?
    發(fā)表于 05-12 06:33

    基于CAN總線ECU通信平臺設計

    介紹CAN 總線及其通信協(xié)議J1939, 并設計基于CAN 總線ECU 通信平臺的硬件結構; 闡述節(jié)點
    發(fā)表于 04-15 09:49 ?22次下載

    基于CAN 總線ECU 通信平臺設計

    介紹CAN 總線及其通信協(xié)議J1939, 并設計基于CAN 總線ECU 通信平臺的硬件結構; 闡述節(jié)點
    發(fā)表于 05-16 14:19 ?28次下載

    汽車ECU標定系統(tǒng)CCP 軟件的實現(xiàn)

    摘要:CCP 協(xié)議是一種CAN 總線標定匹配協(xié)議。本文簡單介紹該協(xié)議的基本原理,以及一種基于該協(xié)議
    發(fā)表于 05-16 20:10 ?47次下載
    汽車<b class='flag-5'>ECU</b><b class='flag-5'>標定</b><b class='flag-5'>系統(tǒng)</b>CCP 軟件的<b class='flag-5'>實現(xiàn)</b>

    基于CCP協(xié)議的汽車ECU標定系統(tǒng)的設計

    CCP協(xié)議是一種基于CAN總線的匹配標定協(xié)議。 本文介紹了該協(xié)議的基本原理,通信方式以及用于ECU
    發(fā)表于 07-13 17:39 ?60次下載

    XCP on FlexRay在Audi上的應用

    XCP on FlexRay在Audi上的應用 為了對通過FelxRay總線進行通信的ECU進行優(yōu)化,Audi公司采用XCP on FlexRay對其進行
    發(fā)表于 11-23 10:29 ?1246次閱讀

    汽車ECU標定系統(tǒng)的解決技術原理

    汽車ECU標定系統(tǒng)的解決技術原理 隨著汽車在動力性、舒適性上的不斷提高和排放法規(guī)的日益嚴格,汽車ECU內部控制軟件也變得更加復雜。診斷功能
    發(fā)表于 03-11 11:02 ?5417次閱讀

    XCP,XCP是什么意思

    XCP,XCP是什么意思 XCP----標定和測量應用的焦點 Andreas Patzer(Vector Informatik,恒潤科技提供譯稿) 針對多種傳輸
    發(fā)表于 03-11 11:15 ?2.3w次閱讀

    基于XCP協(xié)議的通用型ECU標定軟件的開發(fā)段延喜

    基于XCP協(xié)議的通用型ECU標定軟件的開發(fā)_段延喜
    發(fā)表于 03-16 08:00 ?10次下載

    新能源汽車ECU標定工具-ATI VISION標定系統(tǒng)

    ATI VISION軟件是一個將數(shù)據(jù)采集標定一體化的工具。這個工具能從ECU或外部數(shù)據(jù)源采集數(shù)據(jù)、測量輸入輸出間的關系、對閉環(huán)控制系統(tǒng)提供實時標定及修改的功能、對所有信息進行時間校準和
    發(fā)表于 04-29 10:37 ?2165次閱讀

    CAN通訊CCP協(xié)議ECU標定

    CCP協(xié)議主要用于CAN通訊汽車ECU標定
    發(fā)表于 03-28 17:07 ?9次下載

    主要應用于測量和標定ECU內部參數(shù)的XCP

    XCP的主要應用于測量和標定ECU內部參數(shù)。此協(xié)議能夠使數(shù)據(jù)采集工作與ECU內部運行的任務和中斷同步,從而保證每當
    的頭像 發(fā)表于 11-11 09:16 ?1508次閱讀

    TSMaster應用筆記2:如何使用XCP模塊進行標定

    標定,作為整車及ECU開發(fā)過程中不可或缺的一個開發(fā)流程,對整車及ECU性能的優(yōu)化起著至關重要的作用,可是行業(yè)內可供選擇的標定工具種類卻非常有限,TSMaster將為廣大的研發(fā)工程師和
    的頭像 發(fā)表于 04-29 10:51 ?6912次閱讀
    TSMaster應用筆記2:如何使用<b class='flag-5'>XCP</b>模塊進行<b class='flag-5'>標定</b>

    TSMaster—CCP/XCP標定功能詳解

    的縮寫。二者都普遍使用于開發(fā)、測試和車載標定,由ASAM(自動化和測量系統(tǒng)標準化協(xié)會)制定。同星提供CCP/XCP標定方案,TSMaster支持
    的頭像 發(fā)表于 09-23 08:23 ?1449次閱讀
    TSMaster—CCP/<b class='flag-5'>XCP</b><b class='flag-5'>標定</b>功能詳解