色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 標(biāo)定和測量應(yīng)用的焦點——XCP

          標(biāo)定和測量應(yīng)用的焦點——XCP

          ——
          作者:Andreas Patzer(Vector Informatik,恒潤科技提供譯稿) 時間:2007-07-05 來源:電子產(chǎn)品世界 收藏

          針對多種傳輸層和應(yīng)用的協(xié)議

            現(xiàn)代汽車系統(tǒng)中加入了越來越多的安全舒適性電控功能。雖然ECU的數(shù)量得到了控制,但是這就意味著要增加單個設(shè)備的復(fù)雜度來補償功能的增長。通信協(xié)議為這些分布式系統(tǒng)開發(fā)過程的合理化做出了重要的貢獻(xiàn),其主要任務(wù)包括實時地和標(biāo)定ECU內(nèi)部變量。該協(xié)議繼承了CCP,它的一個巨大優(yōu)勢就是與物理傳輸層無關(guān)。

            在當(dāng)前,汽車控制模塊中的變量數(shù)目超過1萬的情況已經(jīng)不足為奇了!在車輛的控制中有眾多的動態(tài)過程需要控制,而ECU標(biāo)定的主要任務(wù)就是優(yōu)化這些控制算法。例如針對PID控制器,標(biāo)定其比例、積分和微分環(huán)節(jié)時可能產(chǎn)生不計其數(shù)的變化版本(圖1)。因此,就需要尋找到一個在穩(wěn)定性、速度和動態(tài)特性方面足夠好的結(jié)合點。這些可以通過實時讀取和更改變量來實現(xiàn)(圖2)。

           
          圖1 PID控制算法優(yōu)化

           
          圖2 使用圖形化標(biāo)定和診斷工具CANape優(yōu)化PID控制器

            為了控制ECU標(biāo)定的時間和成本,工程師和技術(shù)員通常會依賴可以靈活讀寫變量和內(nèi)存的強大的工具和標(biāo)準(zhǔn)。為此,在90年代出現(xiàn)了CAN標(biāo)定協(xié)議(CCP),當(dāng)時CAN總線是汽車中唯一的主流總線。CCP后來被指定為一種交叉OEM標(biāo)準(zhǔn)。然而,隨著汽車電子的持續(xù)發(fā)展,其它總線系統(tǒng)諸如FlexRay、LIN、MOST等也開始成為主流。但是,CCP僅限于CAN網(wǎng)絡(luò)應(yīng)用,所以在其它潛在領(lǐng)域的應(yīng)用局限日益增加。這樣就導(dǎo)致了其后繼協(xié)議的出現(xiàn)。

          通用的標(biāo)準(zhǔn)協(xié)議

            與CCP一樣,“通用與標(biāo)定協(xié)議”()也是源于自動化和系統(tǒng)標(biāo)準(zhǔn)化協(xié)會(ASAM)[1],它在2003年被定為標(biāo)準(zhǔn)。其中的“X”代表可變的和可互換的傳輸層。XCP通過雙層協(xié)議將協(xié)議和傳輸層完全獨立開,它采用的是單主/多從結(jié)構(gòu)。根據(jù)正在討論的不同的傳輸層,XCP協(xié)議可能指的是XCP-on-Can、XCP-on-Ethernet、XCP-on-UART/SPI 或XCP-on-LIN,如圖3所示。

           
          圖3 傳輸層和協(xié)議層的隔離使得XCP可以利用大量的硬件接口

            XCP主設(shè)備可以和不同的XCP從設(shè)備同時通信。這些XCP從設(shè)備包括:

          ECU或ECU原型
          測量和標(biāo)定硬件,如調(diào)試接口或內(nèi)存仿真器
          快速控制原型硬件
          HIL/SIL系統(tǒng)

            為了滿足作為針對大量不同應(yīng)用的通用的通信解決方案的挑戰(zhàn),ASAM工作組強調(diào)了下列XCP設(shè)計準(zhǔn)則:最小的資源使用(包括ECU中的RAM、ROM和必需的運行時資源),高效的通信,輕松實現(xiàn)XCP Slave,需要較少配置工作的即插即用性能,較少的參數(shù),以及可伸縮性。

          可互換的傳輸層

            XCP可以在不同的傳輸層上實現(xiàn)同樣的協(xié)議層。這是一種通用的測量和標(biāo)定協(xié)議,可以獨立于所使用的網(wǎng)絡(luò)類型而工作。目前,ASAM已經(jīng)在標(biāo)準(zhǔn)中定義的傳輸層包括:XCP-on-CAN,XCP-on-SXI(SPI,SCI), XCP-on-Ethernet(TCP/IP and UDP/IP),XCP-on-USB和XCP-on-FlexRay。最后命名的版本(XCP-on-FlexRay)是協(xié)議家族中的最新成員,它早在2006年就產(chǎn)生了。XCP-on-FlexRay的一個特別的技術(shù)特征是動態(tài)帶寬控制。測量、標(biāo)定和診斷工具(MCD工具),比如CANape,可以識別可用帶寬并能夠非常高效地將其動態(tài)分配到當(dāng)前的應(yīng)用數(shù)據(jù)通信中。這樣XCP通信的可用帶寬就可以得到最理想的使用,并且不影響正常的FlexRay通信。

            正在為將來考慮的其它方案包括XCP-on-LIN;如果有充足的客戶需求,則也可能包括XCP-on-K-Line或XCP-on-MOST。由于支持廣泛的傳輸層,使得從開發(fā)階段的寬帶(比如Ethernet或USB)方案移植到批量生產(chǎn)階段的CAN接口方案變得十分簡單。

          一主多從概念

            測量和標(biāo)定系統(tǒng)承擔(dān)了XCP主設(shè)備的角色,ECU作為XCP從設(shè)備工作。主設(shè)備和從設(shè)備的通信是通過集成在其中的XCP驅(qū)動程序來實現(xiàn)的。對于每個從設(shè)備都有一個ECU描述文件;這些文件規(guī)定的信息包括:(符號)變量名及其地址范圍分配,數(shù)據(jù)的物理意義,使用的校驗方法。XCP主設(shè)備可以從A2L描述文件里讀取所需的全部信息。

            XCP通信使用“命令傳輸對象”(CTO)和“數(shù)據(jù)傳輸對象” (DTO)來區(qū)分(主從通信)。XCP主設(shè)備可以在總線上向ECU通過CTO發(fā)送命令。ECU會在執(zhí)行完請求的服務(wù)后以同樣的途徑進(jìn)行應(yīng)答。CTO會提供:CMD(命令), RES (響應(yīng)), ERR (錯誤), EV (事件) 和 SERV (服務(wù)請求處理機)。數(shù)據(jù)傳輸對象DAQ(數(shù)據(jù)采集)和STIM(激勵)用于以事件驅(qū)動方式從內(nèi)存中讀取測量變量或者向XCP從設(shè)備的內(nèi)存中寫入變量值。

           
          圖4:XCP主設(shè)備和XCP從設(shè)備之間的通信

          從汽車總線到標(biāo)準(zhǔn)PC接口

            PC平臺幾乎只用作測量和標(biāo)定的主設(shè)備。為了直接連接到汽車總線系統(tǒng),比如CAN、LIN、 FlexRay、MOST 或 K-Line等,通常會為PC機安裝一個或多個硬件接口。此外,XCP主設(shè)備也可以利用標(biāo)準(zhǔn)PC接口,例如以太網(wǎng)、USB和RS232等。當(dāng)然,在這些解決方案中不會增加額外的硬件接口成本。帶調(diào)試接口(JTAG,TRACE等)的測量和標(biāo)定系統(tǒng)以及內(nèi)存仿真器都可以通過這種方式實現(xiàn)。原則上,標(biāo)準(zhǔn)PC接口非常適合于連接存在于不同總線系統(tǒng)間的網(wǎng)關(guān),比如FlexRay-on-Ethernet就可以很好地實現(xiàn)此功能。最后,在很多開發(fā)和計劃中會使用到傳統(tǒng)模擬和數(shù)字I/O通道,這些通道尤其會涉及時間-關(guān)鍵測量。

            使用XCP的一個顯著優(yōu)勢就在于這樣一個單一標(biāo)準(zhǔn)協(xié)議滿足了所有這些應(yīng)用需求。如果沒有XCP,就需要為每個通信通道定義一個專用的驅(qū)動,然而在同時使用多種驅(qū)動時需要考慮性能損失,此外還會增加出現(xiàn)不受歡迎的相互影響的風(fēng)險和不穩(wěn)定性。

          通用、可擴展并節(jié)約資源

            一個,并且是同一個XCP驅(qū)動代碼可以應(yīng)用于所有的通信過程。它可以用于從低端控制器和接口發(fā)送僅僅幾個字節(jié)的數(shù)據(jù),比如集成了串行接口的8位處理器。同樣的代碼也可用于通過高速的網(wǎng)絡(luò)(比如以太網(wǎng))使用32位處理器發(fā)送兆字節(jié)量級的數(shù)據(jù)。XCP驅(qū)動是由強制功能和可選功能組成的,驅(qū)動的大小可以根據(jù)可用的ROM/Flash的大小進(jìn)行調(diào)整。在ECU中,通過是否具有高數(shù)據(jù)吞吐量或低處理器負(fù)載和RAM尺寸來表征資源用量。

            對于總線負(fù)載,主要考慮傳輸信號的數(shù)目相比總線帶寬??傊?,XCP驅(qū)動容易實現(xiàn),而且僅需要很少的幾個變量。

          事件驅(qū)動的周期性數(shù)據(jù)采集

            ECU在離散的時間間隔上運行??梢詫⑦@樣的一個時間間隔長度固定(比如10ms),或者定義其依賴于某種事件(比如發(fā)動機轉(zhuǎn)一圈)。在固定時間間隔的情況下,時間片的結(jié)束是以定時器的溢出來標(biāo)記的。從廣義上講,這種定時器溢出也是一個事件。ECU的任務(wù)是在一個特定的時間片內(nèi)完成所有的計算和控制任務(wù)。為了從XCP從設(shè)備中獲取相關(guān)的數(shù)據(jù)信息,使用了XCP協(xié)議中的DAQ機制。在該機制中,在測量開始前XCP主設(shè)備會先通知XCP從設(shè)備:特定的事件發(fā)生時需要測量哪些信號。如果現(xiàn)在事件發(fā)生了(如10ms定時器溢出),XCP從設(shè)備就從內(nèi)存中讀取這些先前定義的數(shù)據(jù),并且將他們拷貝到受保護(hù)的RAM區(qū),然后通過消息的方式發(fā)送給XCP主設(shè)備。這保證了數(shù)據(jù)值來自同一事件循環(huán)并且是相關(guān)的。

            XCP主設(shè)備接收帶有時戳的數(shù)據(jù)并且將其保存在相應(yīng)的測量文件中。時戳要么通過XCP從設(shè)備作為數(shù)據(jù)發(fā)送,要么分配到消息中通過硬件接口(比如CANcardXL)發(fā)送。在測量文件中,所有數(shù)據(jù)參考XCP主設(shè)備的時間基準(zhǔn)進(jìn)行同步,然后被進(jìn)一步處理,例如在一個統(tǒng)一的時間軸上對測量數(shù)據(jù)進(jìn)行可視化顯示(圖5)。這就允許在一張圖中一致地顯示不同XCP從設(shè)備的多個數(shù)據(jù)通道。

           
          圖5 在同一個時間軸上顯示不同信號源的各種信號

            除了前面已經(jīng)提到的XCP相對于CCP的優(yōu)點,XCP還支持所謂的冷啟動測量和用于循環(huán)數(shù)據(jù)采集的任務(wù)的內(nèi)部ECU時戳。在冷啟動測量中,可以配置ECU讓它在被激活后就立即周期性地發(fā)送數(shù)據(jù),而XCP主設(shè)備不需要明確地初始化該功能。如果使用了內(nèi)部ECU時戳,該時戳就不是在測量和標(biāo)定系統(tǒng)中與后期評估相關(guān)的數(shù)據(jù)接收時間了,而是在XCP從設(shè)備中數(shù)據(jù)被創(chuàng)建的時刻。這樣就消除了由于傳輸延遲而引起的不確定性(比如在總線帶寬不足或者高負(fù)載情況下都會產(chǎn)生)。

          優(yōu)化特性曲線和特性圖

            除了基于數(shù)學(xué)模型的控制算法,ECU還要使用由離散插值點組成的特性曲線和特性圖。為了達(dá)到預(yù)期的系統(tǒng)行為,通常通過試驗方法(比如臺架試驗)建立和優(yōu)化這些特性值表。A2L文件是用來描述測量變量和標(biāo)定參數(shù)的。描述的選項覆蓋了從簡單標(biāo)量參數(shù)到復(fù)雜數(shù)值表的范圍。其中,描述內(nèi)容包含了數(shù)據(jù)類型、原始值和物理值間的轉(zhuǎn)換規(guī)則、特性map圖的存儲方案以及更多的功能。Vector Informatik公司提供的CANape及類似的高性能標(biāo)定工具可以在屏幕上通過圖形圖表或數(shù)值表格的方式清晰地顯示特性曲線和map圖。

          使用CANape和XCP進(jìn)行快速原型

            在ECU開發(fā)過程中,經(jīng)常會頻繁地將重要功能導(dǎo)出到外部仿真系統(tǒng),這樣可以花最小的代價來計算這些功能。直到仿真模型中的算法達(dá)到一定的成熟度,開發(fā)者才會從這些算法生成代碼,這些代碼可與其它ECU代碼一起編譯并燒寫到ECU中。然而,在此之前,可以使用一種被稱作“旁通”的技術(shù)(該技術(shù)耦合了真實ECU及其模型),通過旁通可以在開發(fā)初期不依賴硬件進(jìn)行和優(yōu)化工作。

            在使用XCP的旁通技術(shù)中,XCP主設(shè)備使用DAQ從ECU中讀取數(shù)據(jù),將這些數(shù)據(jù)作為輸入值發(fā)給模型并且使用STIM將模型返回的結(jié)果發(fā)送回ECU。值得注意的是,使用運行MCD工具CANape的普通PC機平臺就足以滿足旁通和建模的要求。這是個好消息,因為基于特殊實時硬件的解決方案可能會貴好多倍,而且在開發(fā)部門中這類設(shè)備也可能為數(shù)不多。CANape作為一個高度優(yōu)化的XCP主設(shè)備,可以同時處理與真實ECU的通信和與在PC上運行的模型之間的通信(圖6)。ECU參數(shù)和模型參數(shù)都可通過CANape和XCP進(jìn)行標(biāo)定。

           
          圖6 旁通:使用標(biāo)準(zhǔn)PC和CANape作為系統(tǒng)

          通過XCP進(jìn)行flash編程

            XCP同樣為進(jìn)行ECU編程的用戶提供了便利。ECU flash內(nèi)存中的數(shù)據(jù)只能使用特殊的預(yù)定的flash程序進(jìn)行改寫,這些預(yù)定的程序也必須駐留在ECU中。原則上,可使用兩種方法:第一種方案,flash程序被永久存儲在flash中;首先,這樣會浪費內(nèi)存,其次會遇到交付車輛的安全問題。第二種方案,在需要重新編程的時候,僅使用PC工具通過XCP將flash內(nèi)核下載到微控制器的RAM中。除了包含用于擦除flash內(nèi)存和重寫數(shù)據(jù)的flash程序外,flash內(nèi)核也包含自己的總線和SCP驅(qū)動,它們用于通過總線接口與PC工具進(jìn)行通信。

          總結(jié)

            XCP是一種標(biāo)準(zhǔn)而通用的有很多合理化潛力的應(yīng)用協(xié)議。它不僅用于ECU開發(fā)、標(biāo)定和編程;也用于在原型開發(fā)中集成需要的測量設(shè)備、功能開發(fā)中的旁通以及在測試臺上進(jìn)行的SIL和HIL過程。對于通過微控制器調(diào)試接口(例如NEXUS等)快速訪問內(nèi)部數(shù)據(jù),通信是在專用硬件上進(jìn)行的,不會出現(xiàn)故障。該硬件完成NEXUS到XCP-on-Ethernet的通信轉(zhuǎn)換。這樣帶給用戶的好處是不依賴于專用解決方案的工具生產(chǎn)商,并且可以重用組件。

            Vector Informatik公司為用戶提供了免費的驅(qū)動用于建立XCP從設(shè)備,該驅(qū)動可以從其公司的網(wǎng)頁上下載[3]。從1996年就作為ECU標(biāo)定工具出現(xiàn)的MCD工具CANape,一直以來都作為XCP主設(shè)備并按照最新的XCP標(biāo)準(zhǔn)進(jìn)行不斷地升級,這也得益于Vector積極參與ASAM工作委員會。CANape是市場上第一個具有XCP-on-FlexRay接口的工具。在第一輛FlexRay量產(chǎn)車BMW X5的開發(fā)過程中,這成為讓BMW工程師決定在標(biāo)定減震器控制系統(tǒng)時放心使用Vector的XCP協(xié)議棧和CANape的一個重要因素。

          文獻(xiàn)和鏈接:
          [1] www.asam.net
          [2] www.ecu-calibration.com
          [3] www.vector-informatik.com/downloads

          pid控制相關(guān)文章:pid控制原理


          pid控制器相關(guān)文章:pid控制器原理




          關(guān)鍵詞: XCP 測量 測試

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉