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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

淺談CANoe實(shí)現(xiàn)SOA仿真測(cè)試

北匯信息POLELINK ? 2022-08-01 14:17 ? 次閱讀

前言

2021年,汽車界的熱門話題層出不窮:互聯(lián)網(wǎng)企業(yè)進(jìn)軍汽車界,軟件定義汽車,某斯拉事件,全球芯片短缺等等。

這次文章的關(guān)鍵詞與軟件定義汽車有關(guān):SOA。

我們這次來聊一聊怎么通過我們熟悉的CANoe工具去實(shí)現(xiàn)SOA的相關(guān)功能。

什么是SOA

SOA的全稱是面向服務(wù)架構(gòu),它可以根據(jù)需求通過網(wǎng)絡(luò)對(duì)松散耦合的粗粒度應(yīng)用組件進(jìn)行分布式部署、組合和使用。服務(wù)層是SOA的基礎(chǔ),可以直接被應(yīng)用調(diào)用,從而有效控制系統(tǒng)中與軟件代理交互的人為依賴性。(來源:百度百科)

SOA里面涉及服務(wù),接口、服務(wù)提供者、服務(wù)消費(fèi)者等概念。

  • 服務(wù):實(shí)現(xiàn)某種功能的函數(shù)或方法,是一個(gè)可遠(yuǎn)程訪問并獨(dú)立執(zhí)行和更新的離散功能單元;
  • 接口:能夠被其他模塊調(diào)用的函數(shù)名稱或一個(gè)封裝的API;
  • 服務(wù)提供者:提供服務(wù)功能 如算法,數(shù)據(jù)源;
  • 服務(wù)消費(fèi)者:如消費(fèi)數(shù)據(jù),使用功能。

但是SOA的架構(gòu)為什么要在汽車上應(yīng)用?

我們可以通過下面的例子進(jìn)行思考,并分析傳統(tǒng)架構(gòu)與面向服務(wù)架構(gòu)的異同。

pYYBAGLmNZqAfXz6AAE3Cfau6rg319.png

根據(jù)上面的例子我們可以清晰的看出:

對(duì)于傳統(tǒng)面向信號(hào)的架構(gòu)來說,增加新功能所需要的步驟更加繁瑣,增加了我們對(duì)于開發(fā)本身的成本,也可以透過整個(gè)流程看出,面向信號(hào)的架構(gòu)對(duì)于系統(tǒng)本身的利用率并不高。

面向服務(wù)的架構(gòu)對(duì)于ECU的更新版本、更新信號(hào)庫、代碼修改等過程更加簡(jiǎn)便和靈活。簡(jiǎn)化成了注冊(cè)服務(wù)與調(diào)用API。節(jié)約了時(shí)間成本,讓整個(gè)系統(tǒng)的功能可擴(kuò)展性極大擴(kuò)張。

汽車在不斷提高智能化水平;引入智能駕駛,V2X等技術(shù)的同時(shí),也更加關(guān)注用戶的體驗(yàn)與需求。軟件的迭代、OTA等功能的使用也越來越廣泛和頻繁。在我們傳統(tǒng)的電子電氣架構(gòu)下,我們可擴(kuò)展的功能越來越有限,我們需要一個(gè)功能可擴(kuò)展性強(qiáng)、軟硬件松散耦合、標(biāo)準(zhǔn)化接口、支持異構(gòu)系統(tǒng)集成的電子架構(gòu)。這也就是為什么我們要在汽車上使用SOA架構(gòu)。

System and Communication Setup功能介紹

CANoe中System and Communication Setup功能主要的使用場(chǎng)景是建立SOA仿真通信。SOA的核心是服務(wù),任何功能都可以鏈接到“服務(wù)”,并且服務(wù)的提供者和消費(fèi)者都可以自由地改變。因此Communication Setup功能主要是在環(huán)境中實(shí)現(xiàn)不同的服務(wù)的鏈接,這些服務(wù)鏈接不僅局限于數(shù)據(jù)庫中的定義,可以在CANoe仿真環(huán)境中動(dòng)態(tài)地建立連接。

在Communication Setup中將應(yīng)用層與實(shí)際傳輸介質(zhì)分離。我們?cè)谶@里使用通信對(duì)象來描述應(yīng)用層信息,通信對(duì)象可以是服務(wù)、PDU或者信號(hào)。在此環(huán)境下,通信對(duì)象可以完全獨(dú)立于網(wǎng)絡(luò)通信介質(zhì),在CANoe中進(jìn)行純粹的模擬通信。

通信對(duì)象可以通過綁定鏈接到傳輸介質(zhì)。綁定的方式也分為兩種。

  • 第一種是采用以太網(wǎng)傳輸,綁定SOME/IP通信。我們可以通過以太網(wǎng)協(xié)議實(shí)現(xiàn)端對(duì)端的Server與Client仿真相關(guān)的SOA功能。
  • 第二種是通過抽象綁定,這類綁定一般是在開發(fā)的早期階段,通過抽象綁定,無需定義底層協(xié)議,注重的是應(yīng)用的通信。

pYYBAGLmNb-AfBs0AAGpiYDSiH8626.png

我們可以通過以上表格了解傳統(tǒng)工程仿真的元素與SOA仿真元素的對(duì)應(yīng)關(guān)系。

配置流程介紹

打開CANoe后即進(jìn)入仿真標(biāo)簽,找到左上角系統(tǒng)與通信窗口。

poYBAGLmNeGAagswAACCksnXvbM315.png

之后進(jìn)入到配置界面。

poYBAGLmNfmAe1emAACm6L2L4S4942.png

首先我們需要加載數(shù)據(jù)源文件。

poYBAGLmNgeAPuMQAADRtv5tzgc714.png

pYYBAGLmNhSABJY9AAFtfgxau4k927.png

選取ARXML或者是vCDL等文件。

加載完成后進(jìn)入下一步,可在數(shù)據(jù)庫加載完成后提前定義好數(shù)據(jù)庫中屬于被測(cè)系統(tǒng)以及測(cè)試環(huán)境的元素有哪些。

poYBAGLmNiGAEvGjAAGVRuvBcjA206.png

poYBAGLmNjWABJKhAAGF8LQ9lQM996.png

導(dǎo)入完成后回到配置界面

添加應(yīng)用模型文件(.CAN/.CS/.DLL等)。

pYYBAGLmNkOAeviJAADFRFhEIlw929.png

poYBAGLmNlGAQQfZAADLvRSrAMQ539.png

如果你使用的是CANoe 14.0版本,模型導(dǎo)入完成后需要進(jìn)行通信綁定的配置。

pYYBAGLmNneATAZMAAEb6X-pMKM605.png

綁定界面可將未定義的元素進(jìn)行拖動(dòng)定義,綁定分為抽象綁定或SOME/IP綁定。

poYBAGLmNpOAQMf0AACnTXauYiM536.png

完成后點(diǎn)擊OK保存。

在CANoe 15.0版本中,通過讀取ARXML或vCDL等數(shù)據(jù)文件,文件預(yù)先設(shè)置了節(jié)點(diǎn)角色,可直接進(jìn)入服務(wù)查看通信綁定狀態(tài)。

如綁定SOME/IP

pYYBAGLmNquAGb_0AACAJ9096iA691.png

或者是抽象綁定

poYBAGLmNsuATUUxAADNVD7ezFs016.png

基本配置完成后,之后我們?cè)龠M(jìn)入系統(tǒng)瀏覽器,查看之前加載好的所有數(shù)據(jù)。

左側(cè)的菜單欄中對(duì)我們的測(cè)試功能進(jìn)行了分類,分為系統(tǒng)定義與預(yù)定義。

poYBAGLmNuiANW5fAADGX4q7Mgc341.png

預(yù)定義的分類下是我們?cè)跀?shù)據(jù)庫導(dǎo)入的時(shí)候定義好的。

poYBAGLmNvqAPbxbAAA4cuzb6Bg323.png

poYBAGLmNwSAWTP8AABStlNmcqk110.png

我們可以在窗口右上角切換用例的運(yùn)行環(huán)境。

如果我們的被測(cè)對(duì)象是真實(shí)設(shè)備,并且已經(jīng)與CANoe進(jìn)行了連接,可以將右上角的用例狀態(tài)切換為environment simulation。

poYBAGLmNxCAIA4SAADJcOoxKjk696.png

切換后我們?cè)賹tate的信息切換為REAL(Device)。此時(shí)我們的被測(cè)系統(tǒng)是真實(shí)的,而環(huán)境是仿真出來的。

pYYBAGLmNzuAZBxXAAD2rg7gB28032.png

如果我們也沒有真實(shí)的硬件設(shè)備,我們把右上角狀態(tài)切換為test the tester。

pYYBAGLmN0aAGjOzAADte580ysU363.png

切換后我們的state的信息會(huì)切換為simulated。此時(shí)我們的被測(cè)系統(tǒng)和環(huán)境都是仿真出來的。

我們也可以借助此窗口查看系統(tǒng)的通信關(guān)系。

poYBAGLmN1OAEMKgAACK_wpgJW0301.png

通信的拓?fù)鋱D可以直觀查看到。

pYYBAGLmN2qATNdfAAB9wchfJTE688.png

工具欄也可查看選擇的端點(diǎn)內(nèi)包含的通信對(duì)象。

配置完成后,點(diǎn)擊熟悉的黃色閃電?按鈕,就可以進(jìn)行CANoe的SOA功能仿真啦。

poYBAGLmN4SAMQCBAAGIok_RxGs667.png

知識(shí)補(bǔ)充

1、在SOA仿真中我們看到了一種新的數(shù)據(jù)源格式:vCDL

首字母縮寫詞 vCDL代表 Vector Communication Description Language,是一種域特定語言 (DSLClosed),用于描述 CANoe中的通信對(duì)象。 vCDL允許通過用于簡(jiǎn)單和基于文本的通信對(duì)象配置的工具擴(kuò)展 CANoe通信概念。 通信對(duì)象及其各自的參數(shù)以類似于最常見編程語言的語法定義。 該語言的主要設(shè)計(jì)目標(biāo)是能夠用很少的語言元素映射簡(jiǎn)單的結(jié)構(gòu)。 如果需要復(fù)雜的配置,擴(kuò)展語法允許通過屬性補(bǔ)充定義(類似于 C#中常用的屬性)。

我們可以使用系統(tǒng)自帶的 vCDL Editer實(shí)現(xiàn)文件的生成與編輯。

poYBAGLmN6WAUWJyAAB8xhZKLds205.png

poYBAGLmN7CATcTTAACvOMahTHE603.png

2、CANoe可以編輯和生成ARXML了?

我們?cè)诰庉嬒到y(tǒng)數(shù)據(jù)的功能窗口發(fā)現(xiàn),我們可以查看ARXML的部分信息,如PDU、DATA Types、Encodings等。

poYBAGLmN8KAdKO9AAEM9asw72c062.png

目前模型編輯窗口修改的ARXML參數(shù)只是應(yīng)用于當(dāng)前工程內(nèi)部,修改參數(shù)值和相關(guān)內(nèi)容并不會(huì)改變ARXML數(shù)據(jù)庫文件本身的內(nèi)容,也無法生成新的ARXML文件。

此窗口更多的協(xié)助用戶校對(duì)和匹配通信對(duì)象,以及更改修正關(guān)于以太網(wǎng)通信參數(shù)(如SOME/IP參數(shù)) 等場(chǎng)景使用。

5、為什么綁定功能中SOME/IP也作為綁定的一類?

SOME/IP (Scalable service-Oriented Middlewareover IP),即“運(yùn)行于IP之上的可伸縮的面向服務(wù)的中間件”,是車載以太網(wǎng)中存在于應(yīng)用層的高層協(xié)議。 “中間件”可以是操作系統(tǒng),也可以是應(yīng)用程序,也可以是某個(gè)服務(wù)功能。SOME/IP屬于應(yīng)用層協(xié)議,它提供面向服務(wù)的通訊接口。服務(wù)接口包含請(qǐng)求/響應(yīng)方法(R/R Method),單向請(qǐng)求方法(F&F Method),通知事件(Notification Events),字段(Fields)??梢灾С终?qǐng)求/響應(yīng)模式的遠(yuǎn)程服務(wù)調(diào)用,也可以支持訂閱/發(fā)布模式的消息通知。SOMP/IP-SD服務(wù)發(fā)現(xiàn)功能可以發(fā)現(xiàn)服務(wù)提供者的信息以及檢查服務(wù)的狀態(tài)。

服務(wù)是SOME/IP的最核心概念,在一個(gè)服務(wù)中,定義了服務(wù)端(Server)和客戶端(Client)兩個(gè)角色:服務(wù)端提供服務(wù),客戶端調(diào)用服務(wù)。對(duì)于同一個(gè)服務(wù),只能存在一個(gè)服務(wù)端,但可以同時(shí)存在多個(gè)客戶端調(diào)用服務(wù)。

poYBAGLmN_qAVsQWAABksOxP03E838.png

SOA本身的特性就是面向服務(wù),并需要通過協(xié)議調(diào)用一個(gè)或多個(gè)服務(wù)進(jìn)行數(shù)據(jù)交互來滿足系統(tǒng)的業(yè)務(wù)需求。

一個(gè)是面向服務(wù)的架構(gòu),一個(gè)是面向服務(wù)的通信協(xié)議。SOA架構(gòu)中的服務(wù)可借助SOME/IP在不同的軟件平臺(tái)或操作系統(tǒng)之間共享資源,兩者在此功能中集合是一種必然。

在車載以太網(wǎng)普及度逐年攀升的時(shí)代,在實(shí)車上實(shí)現(xiàn)SOA以及進(jìn)行測(cè)試通常會(huì)運(yùn)用到SOME/IP協(xié)議。

6、總結(jié)

CANoe Communication Setup功能為實(shí)現(xiàn)SOA模型的交互和模型測(cè)試提供了全新的接口。用戶可以通過CANoe更加靈活地實(shí)現(xiàn)面向服務(wù)架構(gòu)的仿真。

汽車新四化的發(fā)展,汽車的功能由過去的靠特定功能硬件實(shí)現(xiàn)轉(zhuǎn)向?yàn)樵絹碓蕉嗫抗δ軋?zhí)行模塊實(shí)現(xiàn),軟件對(duì)汽車的功能和性能起著決定性作用。

面對(duì)未來全新的架構(gòu),CANoe可以繼續(xù)極大程度簡(jiǎn)化測(cè)試與開發(fā)流程,幫助用戶高效開發(fā)。

CANoe是德國(guó)Vector公司出的一款總線開發(fā)環(huán)境,是網(wǎng)絡(luò)和ECU開發(fā)、測(cè)試和分析的專業(yè)工具,支持從需求分析到系統(tǒng)實(shí)現(xiàn)的整個(gè)系統(tǒng)開發(fā)過程;其豐富的功能和配置選項(xiàng)被OEM和供應(yīng)商的網(wǎng)絡(luò)設(shè)計(jì)工程師、開發(fā)工程師和測(cè)試工程師所廣泛使用。

北匯信息作為Vector中國(guó)的合作伙伴,不僅提供相應(yīng)的工具和技術(shù)支持服務(wù)及培訓(xùn),還針對(duì)不同的應(yīng)用提供相應(yīng)的解決方案,助力中國(guó)客戶的研發(fā)效率提升。

注:部分圖片來源于Vector。

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

    關(guān)注

    4

    文章

    64

    瀏覽量

    8603
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    SOA架構(gòu)開發(fā)小助手PAVELINK.SOA-Converter V1.4.2新版本發(fā)布

    PAVELINK.SOA-Converter轉(zhuǎn)換工具,用于銜接基于SOA的控制器設(shè)計(jì)、開發(fā)及測(cè)試過程中所常見的各類軟件工具。PAVELINK.SOA-Converter能提供IDL及服
    的頭像 發(fā)表于 08-07 15:10 ?476次閱讀
    <b class='flag-5'>SOA</b>架構(gòu)開發(fā)小助手PAVELINK.<b class='flag-5'>SOA</b>-Converter V1.4.2新版本發(fā)布

    車輛動(dòng)力學(xué)模型DYNA4與CANoe集成操作演示#CANoe #車輛動(dòng)力學(xué)仿真

    模型CANoe
    北匯信息POLELINK
    發(fā)布于 :2024年06月20日 18:35:52

    CANoe中Logging模塊使用方法及妙招

    Logging是CANoe軟件中的數(shù)據(jù)記錄模塊,主要在臺(tái)架測(cè)試中使用,支持CAN/CANFD、LIN、FlexRay以及車載以太網(wǎng)總線的數(shù)據(jù)記錄。常用的數(shù)據(jù)記錄儀還有GL數(shù)據(jù)記錄儀,GL有自己?jiǎn)为?dú)
    的頭像 發(fā)表于 05-23 08:25 ?1071次閱讀
    <b class='flag-5'>CANoe</b>中Logging模塊使用方法及妙招

    CANoe新版本18正式發(fā)布

    新版本持續(xù)為電動(dòng)智能軟件開發(fā)測(cè)試帶來系列化的新功能,新版本CANoe產(chǎn)品體系包括具有GUI交互的桌面版本、可部署在服務(wù)器后云端的服務(wù)器版本、HIL臺(tái)架專業(yè)版本:強(qiáng)化ADAS目標(biāo)可視化分析與測(cè)試、新增
    的頭像 發(fā)表于 05-09 08:25 ?2941次閱讀
    <b class='flag-5'>CANoe</b>新版本18正式發(fā)布

    汽車電子電氣架構(gòu)SOA如何實(shí)現(xiàn)?

    在車載環(huán)境中,SOME/IP基本解決了SOC,但SORS呢?SOS呢??jī)H有SOC的SOA是沒有靈魂的,是不完整,也不可能實(shí)現(xiàn)SOA的目標(biāo),故而,若認(rèn)為SOA=SOME/IP的話,你真的
    發(fā)表于 04-11 10:01 ?311次閱讀
    汽車電子電氣架構(gòu)<b class='flag-5'>SOA</b>如何<b class='flag-5'>實(shí)現(xiàn)</b>?

    CANoe軟件的使用操作說明

    本文檔是CANoe軟件的使用操作說明,方便剛接觸CANoe的伙伴們快速上手使用這個(gè)軟件。
    的頭像 發(fā)表于 02-25 14:30 ?1.1w次閱讀
    <b class='flag-5'>CANoe</b>軟件的使用操作說明

    如何理解IGBT的四種SOA?

    如何理解IGBT的四種SOA? IGBT的四種SOA表示了IGBT器件在不同工作狀態(tài)下的安全操作區(qū)域。這四種SOA是:Continuous SOA、Limited
    的頭像 發(fā)表于 02-18 11:04 ?942次閱讀

    CanoE和TC3x7應(yīng)用套件之間建立通信,如何實(shí)現(xiàn)通過串行通信從CanoE收到的數(shù)據(jù)幀?

    我想在 CanoE 和 TC3x7 應(yīng)用套件之間建立通信。 我希望開發(fā)板打印它通過串行通信從 CanoE 收到的數(shù)據(jù)幀。 我該怎么做? 我是初學(xué)者,請(qǐng)幫忙。
    發(fā)表于 01-31 06:36

    soa光放大器原理 soa光放大器增益測(cè)試

    )的工作原理,以及相關(guān)的增益測(cè)試方法,帶領(lǐng)讀者更深入地了解SOA光放大器的特性和應(yīng)用價(jià)值。 一、SOA光放大器的工作原理 半導(dǎo)體光放大器(Semiconductor Optical Amplifier,簡(jiǎn)稱
    的頭像 發(fā)表于 01-25 09:48 ?3332次閱讀

    soa光放大器增益測(cè)試

    附近產(chǎn)生復(fù)合發(fā)光,進(jìn)而增強(qiáng)光信號(hào)的強(qiáng)度。SOA光放大器具有寬帶寬、高增益、低噪聲等特點(diǎn),因此在光通信和光網(wǎng)絡(luò)中有廣泛的應(yīng)用。 為了確保SOA光放大器的質(zhì)量和性能,需要進(jìn)行增益測(cè)試。增益測(cè)試
    的頭像 發(fā)表于 01-10 13:38 ?844次閱讀

    基于CANoe的高性能測(cè)試系統(tǒng)解決方案

    。與此同時(shí),多總線通信的需求日益增長(zhǎng),通信數(shù)據(jù)量也逐步增多。這樣的趨勢(shì)導(dǎo)致測(cè)試系統(tǒng)對(duì)于測(cè)試工具性能的要求也隨之提高。為了滿足這些需求,除了配置高性能電腦外,CANoe
    的頭像 發(fā)表于 11-30 08:24 ?733次閱讀
    基于<b class='flag-5'>CANoe</b>的高性能<b class='flag-5'>測(cè)試</b>系統(tǒng)解決方案

    德思特案例 | Skydel GNSS仿真引擎助力多所高校實(shí)現(xiàn)GNSS仿真測(cè)試教育

    高校研究機(jī)構(gòu)很難擁有用于定位、導(dǎo)航和定時(shí)(PNT)的測(cè)試和模擬工具,GNSS仿真測(cè)試解決了這一問題,學(xué)生們可以利用GNSS模擬器進(jìn)行測(cè)試。目前,Skydel GNSS
    的頭像 發(fā)表于 11-17 10:06 ?503次閱讀
    德思特案例 | Skydel GNSS<b class='flag-5'>仿真</b>引擎助力多所高校<b class='flag-5'>實(shí)現(xiàn)</b>GNSS<b class='flag-5'>仿真</b><b class='flag-5'>測(cè)試</b>教育

    Python與CANoe/CANoe4SW

    Python作為功能強(qiáng)大的編程語言,在智能汽車研發(fā)和測(cè)試中應(yīng)用廣泛,如數(shù)據(jù)處理、測(cè)試自動(dòng)化、測(cè)試腳本開發(fā),甚至直接將Python應(yīng)用運(yùn)行在車輛上。CANoe產(chǎn)品體系為汽車行業(yè)XiL
    的頭像 發(fā)表于 11-16 08:25 ?1960次閱讀
    Python與<b class='flag-5'>CANoe</b>/<b class='flag-5'>CANoe</b>4SW

    基于CANoe的高性能測(cè)試系統(tǒng)解決方案

    。與此同時(shí),多總線通信的需求日益增長(zhǎng),通信數(shù)據(jù)量也逐步增多。這樣的趨勢(shì)導(dǎo)致測(cè)試系統(tǒng)對(duì)于測(cè)試工具性能的要求也隨之提高。為了滿足這些需求,除了配置高性能電腦外,CANoe也提供多種解決方案供用戶選擇,以應(yīng)對(duì)不同的應(yīng)用場(chǎng)景。
    的頭像 發(fā)表于 11-15 12:42 ?1618次閱讀
    基于<b class='flag-5'>CANoe</b>的高性能<b class='flag-5'>測(cè)試</b>系統(tǒng)解決方案