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

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

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

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

基于AUTOSAR的CAN通訊介紹

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

掃碼添加小助手

加入工程師交流群

1、信號(hào)角度

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

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

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

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

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

pYYBAGMpkbaASI61AABto10r2q0931.jpg


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

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

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

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

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

1.2 信號(hào)變化

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

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

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

pYYBAGMpkc2AOeAhAAEH3lCZWwc387.jpg

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

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

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

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

2、軟硬件角度

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

2.1 硬件

從軟件工程師角度,主要是根據(jù)芯片手冊(cè),ECU原理圖和其他驅(qū)動(dòng)的用戶手冊(cè)來(lái)助于對(duì)軟件的理解,比如了解CAN的硬件連接,即從總線連接到哪個(gè)PIN,PIN連接到什么收發(fā)器,收發(fā)器連接到芯片的哪些引腳?;蛘吡私馓崛〖拇嫫鲾?shù)據(jù),要對(duì)芯片進(jìn)行的哪些配置,怎么配置等。或者更深入地就是硬件特性變化會(huì)對(duì)軟件產(chǎn)生怎樣的影響等等。

2.2 軟件

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

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

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

poYBAGMpkeKARYI8AAEYebpCsl0163.jpg

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

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

pYYBAGMpkfeADnLTAACpfpTaY_o486.jpg

圖4

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

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

pYYBAGMpkhiANhFdAAEa6MWkdaY177.jpg
poYBAGMpkh6AYIbfAACwb_tsZB4456.jpg

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

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

3、功能視角

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

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

poYBAGMpklaAFxaEAACbtXE-Z90093.jpg

圖6 錯(cuò)誤幀定義,引自[2]

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


poYBAGMpkm-AWnXNAAC2D6I8YBs151.jpg

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

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


poYBAGMpko6AGbw5AACW9wMVmUc358.jpg

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

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


poYBAGMpkqqAYYLDAAFtK34PXDI366.jpg

圖9 CANFD概念,引自[4]

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

pYYBAGMpksWAJiLMAACzt1uKLHA069.jpg

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

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

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



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(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)投訴
  • 收發(fā)器
    +關(guān)注

    關(guān)注

    10

    文章

    3823

    瀏覽量

    111226
  • AUTOSAR
    +關(guān)注

    關(guān)注

    10

    文章

    399

    瀏覽量

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

    關(guān)注

    1

    文章

    32

    瀏覽量

    11252

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    串行通訊與并行通訊介紹

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

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

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

    AT32F系列 CAN通訊模式使用

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

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

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

    CAN通訊失敗的常見(jiàn)原因

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

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

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

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

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

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

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

    東軟睿馳亮相第16屆AUTOSAR開(kāi)放大會(huì)

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

    光庭信息亮相第16屆AUTOSAR開(kāi)放大會(huì)

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

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

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

    CAN報(bào)文流程解析

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

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

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