女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

淺析AutoSAR CAN Stack在配置工具中的實(shí)現(xiàn)

冬至子 ? 來(lái)源:Vehicle軟件開(kāi)發(fā) ? 作者:KTing_CD ? 2023-06-14 14:26 ? 次閱讀

CAN****模塊的開(kāi)發(fā)歷程

當(dāng)時(shí)在開(kāi)發(fā)MCAL相關(guān)模塊的時(shí)候,偶爾會(huì)看下CAN整個(gè)模塊的配置,由于CAN相關(guān)的模塊一直同事在配置,當(dāng)時(shí)感覺(jué)內(nèi)容好多,各種CANxxx模塊在配置工具里,感覺(jué)如果能有機(jī)會(huì)配置下的話一定是一件非常偉大的事情,到了18年年底,我終于分到了CAN模塊的配置任務(wù),負(fù)責(zé)一個(gè)CAN通道的配置。由于前邊同事已經(jīng)配置了一個(gè)通道,我在他基礎(chǔ)上繼續(xù)配置,當(dāng)時(shí)我已經(jīng)處于無(wú)人管理的狀態(tài)了,開(kāi)始自己的瞎發(fā)揮,可能內(nèi)容比較多,一直沒(méi)有配置好,嘗試了ECUM的Flex模式和Fix模式,手動(dòng)修改了好多BSWM的Rules,當(dāng)時(shí)也不是很懂,看程序在哪有問(wèn)題就直接手動(dòng)改代碼,后來(lái)問(wèn)同事,也知道了一些注意的地方,然后我就開(kāi)始擼代碼看,發(fā)現(xiàn)好多CAN通信的變量值沒(méi)變化,后來(lái)在地鐵上看COMM的AutoSAR文檔,發(fā)現(xiàn)需要請(qǐng)求通道的通信,當(dāng)時(shí)瞬間感覺(jué)找到了問(wèn)題的所在,果然第二天一大早早早去公司試了下,居然成功了,當(dāng)時(shí)別提多開(kāi)心了,在自己稀里糊涂的琢磨了大概一個(gè)月終于看到了CAN的信號(hào),當(dāng)時(shí)真的很開(kāi)心,因?yàn)檫@算是我自己獨(dú)立搞出來(lái)的,成就感瞬間爆棚。也從這一刻開(kāi)始心中對(duì)AutoSAR配置的害怕感漸漸的消失,大概從19年開(kāi)始到7月份就一直在做CAN相關(guān)的配置。從CAN最底層的驅(qū)動(dòng)到CANTrcv、CANIf、PDUR、COM、CANSM、ComM等基本的CAN相關(guān)的模塊都配置了解了一遍,雖然中間做了一些架構(gòu)相關(guān)的工作也支持了別的項(xiàng)目的開(kāi)發(fā),但是每天都會(huì)花點(diǎn)時(shí)間看一些CAN相關(guān)的技術(shù)資料,配一些基本的功能,并立馬調(diào)試、擼代碼、解決Bug,漸漸的對(duì)CAN通信在AutoSAR架構(gòu)的實(shí)現(xiàn)理解也加深了。其中在CANSM的配置中也明白了CAN相關(guān)的BusOff以及恢復(fù)機(jī)制,雖然自己在大學(xué)學(xué)了一點(diǎn)CAN通信的東西,但一直到配置CAN模塊的時(shí)候才算有了全面的了解,之前也做過(guò)一些STM32的CAN通信的程序,但是當(dāng)時(shí)也并沒(méi)有深入的研究,在和同事測(cè)試CAN BusOff以及恢復(fù)中漸漸的對(duì)CAN通信有了更深的理解,隨后也通過(guò)抓取CAN總線上的波形對(duì)數(shù)據(jù)和時(shí)間進(jìn)行了分析,理解了CAN總線的空閑、校驗(yàn)、位填充、位時(shí)間等概念。對(duì)于普通CAN信號(hào)不帶相關(guān)協(xié)議和網(wǎng)絡(luò)管理的信號(hào))的傳輸模塊配置可參考之前的公眾號(hào)《淺析TC277CAN模塊在AutoSAR的應(yīng)用》。

除了做基本的CAN信號(hào)的配置(不帶相關(guān)協(xié)議和網(wǎng)絡(luò)管理的信號(hào)),在那段時(shí)間里也完成了J1939TP、XCP以及CANNM的配置。在配置J1939TP的時(shí)候當(dāng)時(shí)連基本的J1939協(xié)議也不是完全懂,在磕磕碰碰中實(shí)現(xiàn)了J1939TP的功能,后來(lái)也對(duì)J1939協(xié)議結(jié)合在AutoSAR的實(shí)現(xiàn)有了基本的認(rèn)識(shí),雖然不是很透徹,但是基本的原理和實(shí)現(xiàn)都明白了。其中走J1939TP的CAN信號(hào)在CANIf層后不能直接到PDUR層,必須要經(jīng)過(guò)J1939TP這個(gè)模塊,然后將信號(hào)傳輸?shù)絇DUR,一般走特殊協(xié)議的CAN信號(hào)都會(huì)在CANIf與PDUR之間加一層特殊的協(xié)議模塊(J1939TP、UDS等)。

為了滿足一些測(cè)試的目的做了XCP的配置,在XCP的配置的過(guò)程中更加對(duì)AutoSAR的分層理念有了更深的理解,XCP的配置不同于其他的一般CAN信號(hào),直接從CANIf層到XCP進(jìn)行傳輸,然后與RTE、APP層進(jìn)行交互。對(duì)CAN的一些基本的模塊配置完成后,發(fā)現(xiàn)診斷和網(wǎng)絡(luò)管理這兩部分也是比較重要的,時(shí)至今日,對(duì)于診斷模塊的配置也沒(méi)有深入的研究,只是簡(jiǎn)單的看下課同事配置的CANTP和DCM的東西,這部分后期也會(huì)在公眾號(hào)內(nèi)分享。網(wǎng)絡(luò)管理模塊大概是19年4月份做的吧,一開(kāi)始自己對(duì)網(wǎng)絡(luò)管理和喚醒也不是很懂,剛開(kāi)始認(rèn)為喚醒就是網(wǎng)絡(luò)管理把CAN模塊的通信喚醒,只要CAN的通信能正常工作就達(dá)到了網(wǎng)絡(luò)管理和喚醒的目的,后來(lái)漸漸的提高了自己的認(rèn)知,喚醒就是把MCU從睡眠的狀態(tài)進(jìn)入到正常的工作模式,而網(wǎng)絡(luò)管理更是一種整車層面的多個(gè)ECU的進(jìn)行通信的策略,在某些特定的情況下實(shí)現(xiàn)部分ECU的休眠減少消耗。

之后開(kāi)始將CANNM和NM功能集成到了配置環(huán)境中,并嘗試了一些喚醒的功能,此時(shí)只是單純的CAN信號(hào)層面實(shí)現(xiàn)報(bào)文的收發(fā)和總線休眠,那個(gè)時(shí)侯由于自己對(duì)整個(gè)AutoSAR下的BSWM、ECUM、OS等模塊控制的下電過(guò)程還一無(wú)所知,因此只是實(shí)現(xiàn)了簡(jiǎn)單的CAN信號(hào)的禁用和開(kāi)啟,結(jié)合AutoSAR的網(wǎng)絡(luò)管理流程基本上能跑的通,一些網(wǎng)絡(luò)管理相關(guān)的狀態(tài)機(jī)可以根據(jù)自己的測(cè)試和外部條件進(jìn)行轉(zhuǎn)換,后來(lái)自己做了整個(gè)系統(tǒng)的上下電功能后基本上也可以實(shí)現(xiàn)部分網(wǎng)絡(luò)管理和喚醒的功能了。一直延續(xù)到19年7月份,在利用一些零碎或者特定的時(shí)間段下基本上對(duì)CAN相關(guān)的AutoSAr模塊的整個(gè)配置(除了診斷)都熟悉了一遍。

在配置中有好幾個(gè)時(shí)間段確實(shí)遇到了比較大的挑戰(zhàn),并且那段時(shí)間手上還有別的任務(wù),好幾次都在抱怨一群神經(jīng)病發(fā)明了AutoSAR,大家好好手寫(xiě)代碼不好嗎,抱怨也好,發(fā)牢騷也罷,想到自己身上的房貸,想到當(dāng)初自己從機(jī)械專業(yè)轉(zhuǎn)入到汽車軟件開(kāi)發(fā)的初衷,想到未來(lái)還有很多人也會(huì)有我這樣的煩躁和抱怨,就又老老實(shí)實(shí)的在看AutoSAR的技術(shù)手冊(cè),開(kāi)始通過(guò)各種途徑來(lái)請(qǐng)教別人,確實(shí)也得到了同事和好多未曾謀面人的幫助,這段配置階段,我就想以后一定要分享一些自己的問(wèn)題和遇到的坑,盡可能的幫助那些像我一樣笨的AutoSAR開(kāi)發(fā)工程師。有時(shí)候感覺(jué)從0做一些事情,對(duì)人的心理也是一個(gè)挑戰(zhàn)。經(jīng)歷過(guò)整個(gè)CAN模塊的配置后,感覺(jué)心理上對(duì)AutoSAR的害怕或者迷茫也減少了,基本知道了它的一些方法論和小竅門(mén),在AutoSAR的配置中自信心也漸漸的增強(qiáng)了,也更加的喜歡和堅(jiān)定了自己的選擇。

說(shuō)了幾句廢話,言歸正傳,下面簡(jiǎn)單總結(jié)下CAN相關(guān)的模塊相關(guān)配置。

CAN

CAN模塊的配置主要配置CAN的中斷優(yōu)先級(jí)(中斷模式下使用)或者Polling模式下的周期處理函數(shù);CAN消息在控制器中使用了多少個(gè)郵箱,進(jìn)行收發(fā)數(shù)據(jù);選擇硬件上CAN消息的通道;喚醒功能的使能;CAN的濾波器;CAN通信的時(shí)鐘;CANFD相關(guān)功能的配置等

CANTrcv

CANTrcv 模塊主要配置CANTrcv外部芯片,一般CANTrcv芯片有兩種模式,一種自帶喚醒功能的CANTrcv和不帶喚醒功能的CANTrcv。帶有喚醒CANTrcv模塊主要的是選擇和喚醒功能相關(guān)Pin腳,Pin腳要與硬件上與CANTrcv芯片相連的引腳一一對(duì)應(yīng)。如果是不帶Wak功能的主要選擇Rx的Pin即可。

CANIf

CANIf模塊主要定義了上/下層的CAN信號(hào)在發(fā)送和接收時(shí)候的標(biāo)準(zhǔn)接口。AutoSAR中CANIf模塊一個(gè)重要的功能就是和WakeUp有密切的關(guān)系,要根據(jù)實(shí)際情況進(jìn)行配置。CANIf模塊要對(duì)下層的CANDrv和CANTrcv進(jìn)行定義,區(qū)分CANIf下層的交互模塊。如果CANIf中對(duì)應(yīng)的CAN通道配置了CANTrcv則要選擇與之對(duì)應(yīng)的CANTrcv通道,表明該CAN通道是通過(guò)CANTrcv發(fā)出去的,CANIf的狀態(tài)變換也是與CANTrcv密切相關(guān)的。如果沒(méi)有CANTrcv通道,那么該模塊中不需要添加相應(yīng)的CANTrcv。CANIf要定義數(shù)據(jù)接收和發(fā)送的Buffer,對(duì)于CAN信號(hào)收發(fā)采用的郵箱也需要定義。同時(shí)支持回調(diào)函數(shù)功能;對(duì)于CAN信號(hào)在CANIf這一層對(duì)上面一層交互的模塊(XCP、PDUR、CANNM、CANTP/J1939等)也要定義清楚。根據(jù)實(shí)際信號(hào)在使用的時(shí)候的路由進(jìn)行選擇即可,XCP的就選XCP,J1939協(xié)議的選擇J939TP等等。同時(shí)CANSM會(huì)對(duì)CANIf狀態(tài)進(jìn)行控制,達(dá)到對(duì)CAN信號(hào)的使能和禁用。

CANSM

CANSM配置模塊中對(duì)CANSM與CANIf之間進(jìn)行Mode邊變化的時(shí)間做了限制,同時(shí)定義了BusOff處理的相關(guān)時(shí)間參數(shù)。定義相關(guān)CAN模塊的BusOff段短恢復(fù)和長(zhǎng)恢復(fù)機(jī)制。

COM

COM模塊主要為應(yīng)用層(或者RTE)模塊提供信號(hào)傳輸?shù)慕涌冢峁┑慕涌谥饕且許ignal的形式存在,同時(shí)也包含信號(hào)組的形式,信號(hào)組一般對(duì)應(yīng)應(yīng)用層的結(jié)構(gòu)體變量,在COM層實(shí)現(xiàn)了Signal在I_PDU中的打包和解包;定義了信號(hào)傳輸?shù)臋?quán)限;信號(hào)傳輸?shù)哪J胶托盘?hào)傳輸?shù)倪^(guò)濾器設(shè)置;信號(hào)傳輸?shù)难舆t時(shí)間;超時(shí)的監(jiān)控機(jī)制;與其他模塊的調(diào)用和被調(diào)用函數(shù)等。在COM層可以實(shí)現(xiàn)信號(hào)的組管理,實(shí)現(xiàn)信號(hào)使能或者禁用的成組控制。

ComM

ComM模塊的主要作用在于:實(shí)現(xiàn)對(duì)總線的管理和控制。如果網(wǎng)絡(luò)管理功能使能的情況下,實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)管理模式的配置和選擇。

PDUR

在PDUR配置中,主要建立COM層與下面具體的傳輸層(CANTP、J1939、CANIf等)之間的路由。也可以將PDUR作為一個(gè)網(wǎng)關(guān)使用,實(shí)現(xiàn)不同ECU在PDUR層的信息傳遞,不需要再往上傳輸在APP做信號(hào)傳輸轉(zhuǎn)換的網(wǎng)關(guān)。

XCP

將與XCP相關(guān)的PDU進(jìn)行關(guān)聯(lián),XCP的信號(hào)可以直接被RTE調(diào)用,根據(jù)XCP相關(guān)的協(xié)議在XCP的配置中定義好具體的內(nèi)容,定義XCP處理的時(shí)間相關(guān)的參數(shù),時(shí)間周期、時(shí)間基準(zhǔn)等。同時(shí)將XCP通信的處理放到特定的處理事件中;定義具體的XCP實(shí)現(xiàn)方式(DAQ、STIM等)。

J1939TP

在J1939TP模塊中根據(jù)J1939協(xié)議的內(nèi)容配置到具體的參數(shù)中即可。

CANNM

CANNM要關(guān)聯(lián)到具體的CAN通道,同時(shí)特定幀喚醒的情況下要關(guān)聯(lián)具體的CAN報(bào)文,定義周期的處理時(shí)間和超時(shí)時(shí)間等。根據(jù)實(shí)際的需求定義發(fā)送的網(wǎng)絡(luò)管理報(bào)文的具體內(nèi)容,發(fā)送的網(wǎng)絡(luò)管理報(bào)文一般因OEM不同會(huì)有稍微的區(qū)別。對(duì)于PN網(wǎng)絡(luò)管理的相關(guān)參數(shù)根據(jù)具體的需求進(jìn)行使能和不定義。

NM

NM模塊的主要適應(yīng)ComM模塊和各種總線的NM模塊,實(shí)現(xiàn)函數(shù)的Call和Callback;定義是否使能總線網(wǎng)絡(luò)管理的協(xié)調(diào)機(jī)制,參考的ComM的總線通道;定義ShutDown的時(shí)間,定義總線的同步機(jī)制等。由于這個(gè)模塊是所有的總線相關(guān)的,在實(shí)際的配置中主要采用了它的CAN的網(wǎng)絡(luò)管理的請(qǐng)求和釋放通信功能。

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

    關(guān)注

    5

    文章

    97

    瀏覽量

    18296
  • AUTOSAR
    +關(guān)注

    關(guān)注

    10

    文章

    370

    瀏覽量

    22373
  • XCP
    XCP
    +關(guān)注

    關(guān)注

    0

    文章

    11

    瀏覽量

    11853
  • DAQ
    DAQ
    +關(guān)注

    關(guān)注

    6

    文章

    95

    瀏覽量

    32701
  • 過(guò)濾器
    +關(guān)注

    關(guān)注

    1

    文章

    436

    瀏覽量

    20167
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    AUTOSAR CAN網(wǎng)絡(luò)管理

    一、背景: AUTOSAR CAN網(wǎng)絡(luò)管理框架下,如果所有的節(jié)點(diǎn)都按照狀態(tài)機(jī)要求,ReadSleep狀態(tài)下停發(fā)NM幀,Prepare
    發(fā)表于 07-26 06:47

    在哪里可以找到CAN驅(qū)動(dòng)程序的演示Autosar代碼呢

    我想獲得STM32F4VET6CAN驅(qū)動(dòng)程序的演示Autosar代碼?在哪里可以找到呢
    發(fā)表于 12-13 08:10

    LLCE driver是否可以autosar os運(yùn)行?

    S32DS、RTD和LLCE CAN驅(qū)動(dòng)有對(duì)應(yīng)的工具版本嗎?我想知道,LLCE driver是否可以autosar os運(yùn)行,是否有關(guān)
    發(fā)表于 04-18 09:21

    AUTOSAR CAN時(shí)鐘同步問(wèn)題

    請(qǐng)問(wèn)有沒(méi)有AUTOSAR CAN時(shí)鐘同步的能運(yùn)行的代碼,或者有沒(méi)有能做這一塊的大佬,主要是CanTsyn和STBM這兩個(gè)模塊的。有償,價(jià)格都好商量,急需。
    發(fā)表于 11-09 00:00

    AUTOSAR_SWS_CAN網(wǎng)絡(luò)管理規(guī)范標(biāo)準(zhǔn)4.3.1

    AUTOSAR_SWS_CAN網(wǎng)絡(luò)管理規(guī)范標(biāo)準(zhǔn)4.3.1
    發(fā)表于 03-28 17:02 ?13次下載

    CAN網(wǎng)絡(luò)管理規(guī)范 AUTOSAR CP中文版

    CAN網(wǎng)絡(luò)管理規(guī)范 AUTOSAR CP中文版免費(fèi)下載。
    發(fā)表于 04-06 16:21 ?0次下載

    NvMAUTOSAR的層次結(jié)構(gòu)

    AUTOSAR的NvM看起來(lái)挺難的,特別是配置的時(shí)候,一堆參數(shù),都不知道是干什么用的。想去研究它,卻不知如何下手。其實(shí)吧,AUTOSAR
    的頭像 發(fā)表于 04-21 10:47 ?4829次閱讀

    AUTOSAR CAN網(wǎng)絡(luò)管理協(xié)議

    AUTOSAR_SWS_CANNetworkManagement AUTOSAR CAN網(wǎng)絡(luò)管理協(xié)議,4.4.0版本
    發(fā)表于 08-01 11:09 ?16次下載

    AutoSARCAN通信網(wǎng)絡(luò)管理的概述

    AutoSARCAN通信的網(wǎng)絡(luò)管理主要是根據(jù)CANNode接收和發(fā)送的NMMessage進(jìn)行該節(jié)點(diǎn)在整個(gè)網(wǎng)絡(luò)的活動(dòng)的,根據(jù)NM Message控制整個(gè)網(wǎng)絡(luò)對(duì)Normal模式和Sle
    的頭像 發(fā)表于 01-18 10:21 ?6711次閱讀
    <b class='flag-5'>AutoSAR</b><b class='flag-5'>中</b><b class='flag-5'>CAN</b>通信網(wǎng)絡(luò)管理的概述

    AUTOSAR配置的PostBuild、Precompile、Linktime

    AUTOSAR配置軟件,經(jīng)??梢砸?jiàn)到PostBuild、Precompile、Linktime這三個(gè)的影子,所以想搞清楚它們的區(qū)別,以及知道大概是干什么的。
    的頭像 發(fā)表于 07-17 14:56 ?6996次閱讀
    <b class='flag-5'>AUTOSAR</b><b class='flag-5'>配置</b><b class='flag-5'>中</b>的PostBuild、Precompile、Linktime

    一文解析AUTOSAR CAN網(wǎng)絡(luò)管理

    AUTOSAR CAN 網(wǎng)絡(luò)管理是一個(gè)獨(dú)立于硬件的協(xié)議,只能在 CAN 上使用。它的主要目的是協(xié)調(diào)網(wǎng)絡(luò)的正常運(yùn)行和總線休眠模式之間的轉(zhuǎn)換。
    的頭像 發(fā)表于 09-09 10:32 ?7134次閱讀
    一文解析<b class='flag-5'>AUTOSAR</b> <b class='flag-5'>CAN</b>網(wǎng)絡(luò)管理

    AUTOSAR Builder—符合AUTOSAR(CPAP)的嵌入式系統(tǒng)設(shè)計(jì)工具

    AUTOSAR Builder是達(dá)索旗下一款基于Eclipse并使用Artop的可擴(kuò)展工具套件。Artop是由AUTOSAR成員和合作伙伴共同推動(dòng)的開(kāi)放的AUTOSAR
    的頭像 發(fā)表于 01-08 18:06 ?843次閱讀
    <b class='flag-5'>AUTOSAR</b> Builder—符合<b class='flag-5'>AUTOSAR</b>(CPAP)的嵌入式系統(tǒng)設(shè)計(jì)<b class='flag-5'>工具</b>

    AUTOSAR通信與CAN協(xié)議的關(guān)系

    AUTOSAR通信模型: AUTOSAR定義了一個(gè)分層的軟件架構(gòu),其中包括應(yīng)用層、基礎(chǔ)軟件層和微控制器抽象層。在這些層,通信模型是實(shí)現(xiàn)ECU之間通信的關(guān)鍵部分。
    的頭像 發(fā)表于 12-17 14:57 ?822次閱讀

    AUTOSAR通信堆棧的配置 AUTOSAR通信模塊測(cè)試方法

    )的開(kāi)發(fā)和生產(chǎn)。通信堆棧是AUTOSAR架構(gòu)的關(guān)鍵組成部分,負(fù)責(zé)處理ECU之間的通信。 AUTOSAR通信堆棧的配置 通信模型 :
    的頭像 發(fā)表于 12-17 15:01 ?769次閱讀

    AUTOSAR通信實(shí)現(xiàn)的常見(jiàn)問(wèn)題

    AUTOSAR(Automotive Open System Architecture)汽車開(kāi)放系統(tǒng)架構(gòu)旨在實(shí)現(xiàn)汽車電子的軟硬件分離,降低ECU軟件開(kāi)發(fā)的復(fù)雜度,提高軟件可重用性。 一、通信協(xié)議棧
    的頭像 發(fā)表于 12-17 15:03 ?927次閱讀