91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

基于AUTOSAR的CAN通訊介紹

工程師鄧生 ? 來源:汽車電子與軟件 ? 作者:糊涂振 ? 2022-09-20 18:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1、信號角度

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

1.1 數(shù)模轉(zhuǎn)換

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

其具體過程為:在CAN總線上,信號表現(xiàn)為電壓形式,其具體值根據(jù)ISO11898和ISO11519標(biāo)準(zhǔn)的定義而來。然后電壓信號經(jīng)過CAN收發(fā)器轉(zhuǎn)換成數(shù)字信號,即邏輯電平0和1。

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

pYYBAGMpkbaASI61AABto10r2q0931.jpg


圖1 CAN總線到ECU的信號轉(zhuǎn)換

這里若需掌握各個環(huán)節(jié)的細(xì)節(jié):

關(guān)于CAN總線特性,可通過ISO11898,ISO11519系列標(biāo)準(zhǔn)研究總線的電器和物理特性。

關(guān)于信號轉(zhuǎn)換實現(xiàn),可研究CAN收發(fā)器的原理與特性等。

關(guān)于寄存器存儲,可細(xì)讀相應(yīng)的芯片手冊,并動手去配置芯片和調(diào)試代碼。

1.2 信號變化

上述的邏輯電平序列有什么規(guī)律?有什么作用?通過前面文章我們知道CAN協(xié)議標(biāo)準(zhǔn)定義了這些邏輯電平序列,使這些數(shù)據(jù)有了實際意義,其實就是一些數(shù)據(jù)幀,遙控幀等的信息。

通過配置CAN硬件單元,比如利用IDE的數(shù)據(jù)就可以決定ECU是否接收某個CanId的數(shù)據(jù),進(jìn)而再準(zhǔn)確將接收的相應(yīng)數(shù)據(jù)存入相應(yīng)的寄存器,比如IDE存入IDE相關(guān)的寄存器,DLC存入長度相關(guān)的寄存器。

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

pYYBAGMpkc2AOeAhAAEH3lCZWwc387.jpg

圖2 CAN通訊的信號變化過程 這里若研究各個環(huán)節(jié)的實現(xiàn):

關(guān)于CAN幀定義,可細(xì)讀CAN協(xié)議和ISO11898-1標(biāo)準(zhǔn)。

關(guān)于寄存器的存儲與提取,可研究相應(yīng)的芯片手冊。

關(guān)于CAN通訊架構(gòu),可參考OSI參考模型,ISO17356和AUTOSAR文檔等。

2、軟硬件角度

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

2.1 硬件

從軟件工程師角度,主要是根據(jù)芯片手冊,ECU原理圖和其他驅(qū)動的用戶手冊來助于對軟件的理解,比如了解CAN的硬件連接,即從總線連接到哪個PIN,PIN連接到什么收發(fā)器,收發(fā)器連接到芯片的哪些引腳?;蛘吡私馓崛〖拇嫫鲾?shù)據(jù),要對芯片進(jìn)行的哪些配置,怎么配置等?;蛘吒钊氲鼐褪怯布匦宰兓瘯浖a(chǎn)生怎樣的影響等等。

2.2 軟件

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

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

當(dāng)然前面文章出于內(nèi)容更易懂且精煉的考慮,采用了圖3中間部分的基于OSI參考模型的AUTOSAR架構(gòu)的簡約版。

poYBAGMpkeKARYI8AAEYebpCsl0163.jpg

圖3 CAN通訊的軟件架構(gòu),引自[1]

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

pYYBAGMpkfeADnLTAACpfpTaY_o486.jpg

圖4

當(dāng)然通過控制流不難發(fā)現(xiàn),數(shù)據(jù)流也極其重要?;贠SI參考模型,協(xié)議數(shù)據(jù)單元(PDU)在不同的層會有不同的名字,比如數(shù)據(jù)鏈路層的PDU叫L-PDU,網(wǎng)絡(luò)層的PDU叫N-PDU,交互層的PDU叫I-PDU。我們根據(jù)這些PDU和其他信息的映射關(guān)系,鏈接關(guān)系,就可構(gòu)建起整個CAN通訊功能的數(shù)據(jù)流,類似于圖5。

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

pYYBAGMpkhiANhFdAAEa6MWkdaY177.jpg
poYBAGMpkh6AYIbfAACwb_tsZB4456.jpg

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

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

3、功能視角

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

對于CAN通訊錯誤的情況,CAN協(xié)議標(biāo)準(zhǔn)定義了一套完成的錯誤處理機(jī)制。比如: 針對總線信號有定義錯誤幀,下圖6所示。

poYBAGMpklaAFxaEAACbtXE-Z90093.jpg

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

針對總線通訊單元有定義主動錯誤,被動錯誤和總線關(guān)閉狀態(tài),如圖7所示。


poYBAGMpkm-AWnXNAAC2D6I8YBs151.jpg

圖7 單元的錯誤狀態(tài),引自[2]

針對CAN通訊網(wǎng)絡(luò)有定義無通訊模式,靜默模式,完全通訊模式,如圖8所示。


poYBAGMpko6AGbw5AACW9wMVmUc358.jpg

圖8 CanSM狀態(tài)機(jī),引自[3]

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


poYBAGMpkqqAYYLDAAFtK34PXDI366.jpg

圖9 CANFD概念,引自[4]

對于CAN通訊網(wǎng)絡(luò)能被喚醒的情況,如下圖10所示。

pYYBAGMpksWAJiLMAACzt1uKLHA069.jpg

圖10 具備喚醒的CAN網(wǎng)絡(luò)示意,引自[5]

就先列出這些典型的CAN通訊功能,通過這些新功能不難發(fā)現(xiàn):為了應(yīng)對日益增加的功能需求,不管是針對個人還是企業(yè),硬件還是軟件,其實都需要不斷地進(jìn)行更新和強(qiáng)化。

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



審核編輯:劉清

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

    關(guān)注

    10

    文章

    3819

    瀏覽量

    111208
  • AUTOSAR
    +關(guān)注

    關(guān)注

    10

    文章

    398

    瀏覽量

    23655
  • can通訊
    +關(guān)注

    關(guān)注

    1

    文章

    32

    瀏覽量

    11251

原文標(biāo)題:從3個視角談CAN通訊

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    串行通訊與并行通訊介紹

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

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

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

    AT32F系列 CAN通訊模式使用

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

    CAN總線遠(yuǎn)程調(diào)試工具介紹

    一種工程機(jī)械領(lǐng)域調(diào)試上的創(chuàng)新產(chǎn)品,可用于Codesys 源程序的無線下載聯(lián)機(jī)、遠(yuǎn)程調(diào)試、故障診斷、CAN 總線數(shù)據(jù)在線監(jiān)控、透傳收發(fā)、數(shù)據(jù)采集、數(shù)據(jù)分析、遠(yuǎn)程控制等各種 CAN 總線通訊的場景。
    發(fā)表于 10-17 16:14 ?0次下載

    CAN通訊失敗的常見原因

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

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

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

    從手寫代碼到AUTOSAR工具鏈:J1939Tp應(yīng)用篇

    J1939Tp是我學(xué)習(xí)AUTOSAR CP諸多BSW模塊的起點,其分層架構(gòu)完美體現(xiàn)了AUTOSAR規(guī)范的精髓,掌握J(rèn)1939Tp有助于深入理解通信(COM)相關(guān)模塊的程序執(zhí)行過程。
    的頭像 發(fā)表于 07-10 16:37 ?5170次閱讀
    從手寫代碼到<b class='flag-5'>AUTOSAR</b>工具鏈:J1939Tp應(yīng)用篇

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

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

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

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

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

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

    基于CAN的娛樂車通信網(wǎng)絡(luò)RV-C介紹

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

    Vector硬件驅(qū)動 Hardware Manager介紹直播預(yù)告,預(yù)約有禮喔#CANoe #CAN

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

    CAN報文流程解析

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

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

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