在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

基于AUTOSAR的CAN通訊介紹

工程師鄧生 ? 來源:汽車電子與軟件 ? 作者:糊涂振 ? 2022-09-20 18:09 ? 次閱讀

1、信號角度

從信號角度,主要想再說明下:信號在CAN總線上是電壓形式,在軟件中是二進制數,這是怎么轉換的?信號在軟件中是如何變化的?

1.1 數模轉換

通過本系列前面文章,我們知道ECU之間通過CAN總線通訊。從信號轉換角度:模擬信號到數字信號,比如接收,如圖1所示。

其具體過程為:在CAN總線上,信號表現為電壓形式,其具體值根據ISO11898和ISO11519標準的定義而來。然后電壓信號經過CAN收發器轉換成數字信號,即邏輯電平0和1。

接著這些邏輯電平序列將被ECU硬件單元處理,丟棄或存入寄存器。反之,發送過程其實就是一個數字信號到模擬信號的轉換過程。

pYYBAGMpkbaASI61AABto10r2q0931.jpg


圖1 CAN總線到ECU的信號轉換

這里若需掌握各個環節的細節:

關于CAN總線特性,可通過ISO11898,ISO11519系列標準研究總線的電器和物理特性。

關于信號轉換實現,可研究CAN收發器的原理與特性等。

關于寄存器存儲,可細讀相應的芯片手冊,并動手去配置芯片和調試代碼。

1.2 信號變化

上述的邏輯電平序列有什么規律?有什么作用?通過前面文章我們知道CAN協議標準定義了這些邏輯電平序列,使這些數據有了實際意義,其實就是一些數據幀,遙控幀等的信息

通過配置CAN硬件單元,比如利用IDE的數據就可以決定ECU是否接收某個CanId的數據,進而再準確將接收的相應數據存入相應的寄存器,比如IDE存入IDE相關的寄存器,DLC存入長度相關的寄存器。

當軟件通過硬件接口訪問相應的寄存器,就可以讀取到對應的數據,比如長度,數據等信息。這樣軟件按照OSI參考模型的架構將這些讀取的數據以協議數據單元(PDU)格式逐層向上傳輸,直到將PDU解包成報文通訊協議規定的信號形式,整個過程如下圖2所示。

pYYBAGMpkc2AOeAhAAEH3lCZWwc387.jpg

圖2 CAN通訊的信號變化過程 這里若研究各個環節的實現:

關于CAN幀定義,可細讀CAN協議和ISO11898-1標準。

關于寄存器的存儲與提取,可研究相應的芯片手冊。

關于CAN通訊架構,可參考OSI參考模型,ISO17356和AUTOSAR文檔等。

2、軟硬件角度

從軟硬件角度,要實現怎么樣CAN通訊功能,就決定了要用怎樣的硬件和軟件。那么從軟件工程師角度,是怎么看硬件?又是怎么看軟件的?

2.1 硬件

從軟件工程師角度,主要是根據芯片手冊,ECU原理圖和其他驅動的用戶手冊來助于對軟件的理解,比如了解CAN的硬件連接,即從總線連接到哪個PIN,PIN連接到什么收發器,收發器連接到芯片的哪些引腳。或者了解提取寄存器數據,要對芯片進行的哪些配置,怎么配置等。或者更深入地就是硬件特性變化會對軟件產生怎樣的影響等等。

2.2 軟件

從前面文章我們知道,先明確了一個清晰的軟件架構,如下圖3的中間部分,再從控制流和數據流考慮。若采用一個極其簡單的架構,如圖3最左側部分,從寄存器提取完數據,直接給應用層去解析。

但這樣的架構顯然滿足不了軟件的安全性,可移植性,可重用性和可擴展性等要求,所以為了滿足這些要求,會采用基于OSI參考模型的AUTOSAR架構,如圖3最右側部分,只允許CAN Driver 訪問硬件,向上只對接CAN Interface,與上層的模塊通訊均由CAN Interface統一管理,通過PduR路由到更多的上層模塊,減少接口等等。

當然前面文章出于內容更易懂且精煉的考慮,采用了圖3中間部分的基于OSI參考模型的AUTOSAR架構的簡約版。

poYBAGMpkeKARYI8AAEYebpCsl0163.jpg

圖3 CAN通訊的軟件架構,引自[1]

這個軟件架構的CAN通訊控制流如下圖4所示。前面文章已經大體上介紹了CAN發送與接收的控制過程,比如不同模塊如何進行數據傳輸,同一模塊中數據傳輸所需具備的條件。另外也介紹了這些過程所涉及的接收通知,發送,發送確認的相關函數與動作。抽象地講就是實現一個功能需先要以一定的時序組織不同的模塊,然后各個模塊要滿足各自一定的條件才去采取執行某些活動,最后考慮這些活動如何具體地一步一步實施。

pYYBAGMpkfeADnLTAACpfpTaY_o486.jpg

圖4

當然通過控制流不難發現,數據流也極其重要。基于OSI參考模型,協議數據單元(PDU)在不同的層會有不同的名字,比如數據鏈路層的PDU叫L-PDU,網絡層的PDU叫N-PDU,交互層的PDU叫I-PDU。我們根據這些PDU和其他信息的映射關系,鏈接關系,就可構建起整個CAN通訊功能的數據流,類似于圖5。

這樣使得我們能更好理解AUTOSAR配置工具,比如VECTOR或EB工具配置內容的設置和鏈接關系;也能更深入AUTOSAR的CAN通訊實現原理與方法,比如硬件的訪問機制,從L-PDU到N-PDU到I-PDU的映射邏輯等。

pYYBAGMpkhiANhFdAAEa6MWkdaY177.jpg
poYBAGMpkh6AYIbfAACwb_tsZB4456.jpg

圖5 PDU的傳輸,引自[1]

這里若想研究軟件的各個模塊,可根據ISO11898-1, ISO17356-4和相關AUTOSAR文檔。

3、功能視角

功能需求決定了硬件和軟件,所以先看軟件實現了怎么樣的功能,然后再看軟件具體是怎樣實現的。正如目前文章介紹的只是最常見的CAN通訊發送與接收功能,沒有考慮通訊錯誤的情況,也沒有考慮總線關閉的情況。為了完善CAN通訊基本功能,也為了強化CAN通訊功能,下面將大概列舉出來,也算是預告下后面文章的內容。

對于CAN通訊錯誤的情況,CAN協議標準定義了一套完成的錯誤處理機制。比如: 針對總線信號有定義錯誤幀,下圖6所示。

poYBAGMpklaAFxaEAACbtXE-Z90093.jpg

圖6 錯誤幀定義,引自[2]

針對總線通訊單元有定義主動錯誤,被動錯誤和總線關閉狀態,如圖7所示。


poYBAGMpkm-AWnXNAAC2D6I8YBs151.jpg

圖7 單元的錯誤狀態,引自[2]

針對CAN通訊網絡有定義無通訊模式,靜默模式,完全通訊模式,如圖8所示。


poYBAGMpko6AGbw5AACW9wMVmUc358.jpg

圖8 CanSM狀態機,引自[3]

對于CAN數據幀數據長度不夠的情況,有提出一種更靈活的CAN數據幀,即CANFD。


poYBAGMpkqqAYYLDAAFtK34PXDI366.jpg

圖9 CANFD概念,引自[4]

對于CAN通訊網絡能被喚醒的情況,如下圖10所示。

pYYBAGMpksWAJiLMAACzt1uKLHA069.jpg

圖10 具備喚醒的CAN網絡示意,引自[5]

就先列出這些典型的CAN通訊功能,通過這些新功能不難發現:為了應對日益增加的功能需求,不管是針對個人還是企業,硬件還是軟件,其實都需要不斷地進行更新和強化。

到此我們就從3個視角既回顧了CAN通訊的基本發送與接收功能,也提出了CAN通訊的新功能,為了讓大家更加全面且系統地了解CAN通訊功能,后面文章將在CAN發送與接收的主樹干上繼續生枝發葉。



審核編輯:劉清

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

    關注

    10

    文章

    3454

    瀏覽量

    106256
  • AUTOSAR
    +關注

    關注

    10

    文章

    363

    瀏覽量

    21784
  • can通訊
    +關注

    關注

    1

    文章

    30

    瀏覽量

    10741

原文標題:從3個視角談CAN通訊

文章出處:【微信號:智能汽車電子與軟件,微信公眾號:智能汽車電子與軟件】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    AUTOSAR通信與網絡安全 AUTOSAR通信在車輛中的應用

    隨著汽車行業的發展,車輛的電子化和智能化水平不斷提高,這使得車輛的通信系統變得日益復雜。AUTOSAR(AUTomotive Open System ARchitecture)是一個全球性的汽車軟件
    的頭像 發表于 12-17 15:06 ?384次閱讀

    AUTOSAR中通信堆棧的配置 AUTOSAR通信模塊測試方法

    AUTOSAR(AUTomotive Open System ARchitecture)是一個全球性的汽車軟件架構合作伙伴計劃,旨在創建并建立一個開放的標準化軟件架構,以簡化汽車電子控制單元(ECU
    的頭像 發表于 12-17 15:01 ?379次閱讀

    AUTOSAR通信框架的優勢 AUTOSAR通信實例與應用場景

    AUTOSAR通信框架的優勢 AUTOSAR(AUTomotive Open System ARchitecture)是一個全球性的汽車軟件架構合作伙伴計劃,旨在創建并建立一個開放的標準化軟件架構
    的頭像 發表于 12-17 14:58 ?447次閱讀

    AUTOSAR通信與CAN協議的關系

    的概念,允許應用層組件(如軟件組件和ECU抽象層)通過定義良好的接口進行通信。 1. 通信服務: AUTOSAR提供了一系列通信服務,包括復雜驅動通信(COM)、網絡管理(NM)、診斷通信(DCM)和CAN通信(CAN)。這些服
    的頭像 發表于 12-17 14:57 ?370次閱讀

    AUTOSAR通信組件介紹 AUTOSAR通信層功能分析

    AUTOSAR通信組件介紹 AUTOSAR(AUTomotive Open System ARchitecture)是一個全球性的汽車軟件架構合作伙伴計劃,旨在創建和建立一個開放的標準化軟件架構,以
    的頭像 發表于 12-17 14:55 ?572次閱讀

    AUTOSAR通信協議解析 如何實現AUTOSAR通信

    AUTOSAR(Automotive Open System Architecture)即汽車開放系統架構,該架構支持汽車電子控制單元(ECU)之間的通信,實現了高度模塊化和可重用性。AUTOSAR
    的頭像 發表于 12-17 14:54 ?1038次閱讀

    CAN時鐘--位時間介紹#CAN #CANoe

    CAN
    北匯信息POLELINK
    發布于 :2024年10月29日 14:11:09

    CAN通訊導致CE電流法測試超標整改分析案例

    CAN通訊導致CE電流法測試超標整改分析案例
    的頭像 發表于 07-05 08:17 ?934次閱讀
    <b class='flag-5'>CAN</b>不<b class='flag-5'>通訊</b>導致CE電流法測試超標整改分析案例

    can通訊故障快速檢測方法有哪些

    ,影響系統的正常運行。本文將詳細介紹一些CAN通信故障的快速檢測方法。 故障類型 在討論故障檢測方法之前,我們首先需要了解CAN通信系統中可能出現的故障類型。常見的故障類型包括: 1.1 物理層故障:包括電纜損壞、連接器故障、接
    的頭像 發表于 06-16 10:00 ?2244次閱讀

    如何檢測can通訊電路的好壞

    影響。本文將詳細介紹如何檢測CAN通訊電路的好壞,包括檢測方法、檢測工具、檢測流程以及常見問題處理等方面的內容。 一、檢測方法 視覺檢查 在進行CAN
    的頭像 發表于 06-16 09:42 ?3570次閱讀

    AUTOSAR MCAL驅動程序與演示程序中的Libraries中的驅動程序有什么不同之處?

    1.關于 AUTOSAR MCAL 驅動程序 與演示程序中的 Libraries 中的驅動程序 有什么不同之處? 2.AUTOSAR MCAL 驅動程序中是否包含了 TC397 安全菜單中提及的 SM(安全機制)的接口? 3.是否有文檔
    發表于 05-17 06:55

    PLC與CAN通訊設備如何搭配使用呢?

    PLC與CAN通訊設備的搭配使用,主要取決于具體的應用場景和需求。
    的頭像 發表于 05-11 10:39 ?687次閱讀

    MACH網關 SENT-ETH數據讀取與控制(CAN通訊

    ? Mach SAE J2716 SENT 網關模塊,廠家的軟件只支持了canlib32.dll,但是網關開放的通訊協議可以讓其他CAN卡通過CAN報文順利地使用它。 配置網關CAN
    的頭像 發表于 04-29 16:36 ?539次閱讀
    MACH網關 SENT-ETH數據讀取與控制(<b class='flag-5'>CAN</b><b class='flag-5'>通訊</b>)

    CP AUTOSAR信息安全機制全面解析

    這個模塊一定是我們工程師最先接觸到的AUTOSAR信息安全機制,主要用于ECU板級的安全通信。 大家應該有印象,在以往沒有該機制,CAN通信通常是使用Checksum和RollingCounter來檢驗是否掉幀或者漏幀,并沒有一個機制來保證報文數據的有效和可信。
    的頭像 發表于 02-22 11:44 ?3498次閱讀
    CP <b class='flag-5'>AUTOSAR</b>信息安全機制全面解析

    Mini CAN Unit小型CAN總線通訊單元

    技術,CAN總線能夠實現穩定通信,適應長距離傳輸和嘈雜環境的要求。MiniCANUnitMiniCANUnit是一款小型CAN總線通訊單元,采用了TJA1051T
    的頭像 發表于 02-19 12:47 ?546次閱讀
    Mini <b class='flag-5'>CAN</b> Unit小型<b class='flag-5'>CAN</b>總線<b class='flag-5'>通訊</b>單元
    主站蜘蛛池模板: 国产高清在线看 | 日本黄色免费网址 | 久久久伊香蕉网站 | 爱爱456高清国语在线456 | 亚洲综合免费 | 国产一级毛片午夜 | 亚洲一区免费在线观看 | 鲁一鲁色一色 | 亚洲人成人网毛片在线播放 | 日韩精品免费一级视频 | 69堂在线观看国产成人 | 夜夜爽网站 | 欧美特级午夜一区二区三区 | 亚洲午夜免费视频 | 亚洲国产成人成上人色 | 色一区二区 | 免费看一级毛片 | 久在草影院 | 黑人破乌克兰美女处 | 人与牲动交xx | 韩国三级久久精品 | 污污视频在线免费看 | aa在线观看 | 日本不卡一区 | 一区二区三区网站在线免费线观看 | 又粗又大又爽又色又过瘾视频 | 美女国产一区 | 人人射人人澡 | 色黄污在线看黄污免费看黄污 | 日本污视频在线观看 | 亚洲男女免费视频 | 四虎影院在线免费 | 能看毛片的网址 | 欧美三级黄视频 | 成年女人在线观看 | 一级大片免费看 | 亚洲成在人线中文字幕 | 亚洲 另类 在线 欧美 制服 | 波多野结衣50连精喷在线 | 三级国产 | 欧美午夜性 |