国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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連接到什么收發器,收發器連接到芯片的哪些引腳?;蛘吡私馓崛〖拇嫫鲾祿?,要對芯片進行的哪些配置,怎么配置等?;蛘吒钊氲鼐褪怯布匦宰兓瘯浖a生怎樣的影響等等。

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

當然通過控制流不難發現,數據流也極其重要?;贠SI參考模型,協議數據單元(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

    文章

    3819

    瀏覽量

    111201
  • AUTOSAR
    +關注

    關注

    10

    文章

    398

    瀏覽量

    23653
  • can通訊
    +關注

    關注

    1

    文章

    32

    瀏覽量

    11251

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    串行通訊與并行通訊介紹

    按數據傳送的方式,通訊可分為串行通訊與并行通訊,串行通訊是指設備之間通過少量數據信號線(一般是8根以下), 地線以及控制信號線,按數據位形式一位一位地傳輸數據的
    發表于 12-11 06:52

    PXB-6020(D):讓CAN通訊更靈活,Modbus接入更簡單

    在現代工業和儲能系統中,CAN通訊接口數量有限,常常限制了系統的擴展和設備接入。如何在不增加成本的情況下,實現更多設備的靈活接入?本文將介紹一款高效、可靠的解決方案,輕松解決接口瓶頸問題。背景在
    的頭像 發表于 11-27 11:38 ?301次閱讀
    PXB-6020(D):讓<b class='flag-5'>CAN</b><b class='flag-5'>通訊</b>更靈活,Modbus接入更簡單

    AT32F系列 CAN通訊模式使用

    AT32F系列 CAN通訊模式使用本帖子演示AT32F系列_CAN通訊模式的使用方法。注:本應用筆記對應的代碼是基于雅特力提供的V2.x.x 板級支持包(BSP)而開發,對于其他版本B
    發表于 10-20 16:29

    CAN總線遠程調試工具介紹

    一種工程機械領域調試上的創新產品,可用于Codesys 源程序的無線下載聯機、遠程調試、故障診斷、CAN 總線數據在線監控、透傳收發、數據采集、數據分析、遠程控制等各種 CAN 總線通訊的場景。
    發表于 10-17 16:14 ?0次下載

    CAN通訊失敗的常見原因

    通過這種由外至內、從硬件到軟件的逐層排查,我能夠高效地定位并解決絕大多數CAN通訊故障。
    的頭像 發表于 10-14 15:15 ?1485次閱讀

    RT-Thread睿賽德正式加入AUTOSAR 組織,成為開發合作伙伴!

    近日,AUTOSAR宣布RT-Thread睿賽德已正式加入AUTOSAR組織成為開發合作伙伴!AUTOSAR組織AUTOSAR組織的本質是一個開發合作伙伴關系。作為全球汽車開放式系統架
    的頭像 發表于 09-04 17:07 ?1307次閱讀
    RT-Thread睿賽德正式加入<b class='flag-5'>AUTOSAR</b> 組織,成為開發合作伙伴!

    從手寫代碼到AUTOSAR工具鏈:J1939Tp應用篇

    J1939Tp是我學習AUTOSAR CP諸多BSW模塊的起點,其分層架構完美體現了AUTOSAR規范的精髓,掌握J1939Tp有助于深入理解通信(COM)相關模塊的程序執行過程。
    的頭像 發表于 07-10 16:37 ?5165次閱讀
    從手寫代碼到<b class='flag-5'>AUTOSAR</b>工具鏈:J1939Tp應用篇

    如何解決CAN通訊故障?原因分析與解決方法全攻略

    在日常工作中,我們經常收到客戶的反饋,他們表示CAN卡無法正常通訊,這給工作帶來了諸多不便。今天,就讓我們深入探討一下導致CAN通訊失敗的常見原因,以及相應的解決方法。單個
    的頭像 發表于 06-16 11:39 ?2033次閱讀
    如何解決<b class='flag-5'>CAN</b><b class='flag-5'>通訊</b>故障?原因分析與解決方法全攻略

    東軟睿馳亮相第16屆AUTOSAR開放大會

    此前,5月27日-28日,第16屆AUTOSAR開放大會(16th AUTOSAR Open Conference)在比利時布魯日成功召開,本屆大會以“AUTOSAR solutions
    的頭像 發表于 06-06 16:07 ?1629次閱讀

    光庭信息亮相第16屆AUTOSAR開放大會

    此前,當地時間5月27日至28日,第16屆AUTOSAR開放大會 (AUTOSAR Open Conference)在比利時布魯日會議中心隆重舉行。
    的頭像 發表于 05-30 15:09 ?962次閱讀

    基于CAN的娛樂車通信網絡RV-C介紹

    電子發燒友網站提供《基于CAN的娛樂車通信網絡RV-C介紹.pdf》資料免費下載
    發表于 04-19 17:01 ?2次下載

    Vector硬件驅動 Hardware Manager介紹直播預告,預約有禮喔#CANoe #CAN

    CAN
    北匯信息POLELINK
    發布于 :2025年04月08日 15:02:47

    CAN報文流程解析

    CAN報文流程解析,直流充電樁上的CAN通訊解析過程
    發表于 03-24 14:03 ?10次下載

    使用STM32H7的FDCAN通訊,為什么CAN1會收到CAN2的幀ID,CAN2也會收到CAN1的?

    使用STM32H7的FDCAN通訊,請問為什么CAN1會收到CAN2的幀ID,CAN2也會收到CAN1的?
    發表于 03-14 10:33