精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

CAN基礎(chǔ):電平、邏輯、報(bào)文是怎么來的

電子設(shè)計(jì) ? 來源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2020-12-26 02:46 ? 次閱讀

CAN總線的報(bào)文是怎么產(chǎn)生以及收發(fā)的,遇到通訊異常的問題時(shí)從什么角度分析?這篇文章將會(huì)帶您快速了解報(bào)文的傳輸原理。

1、節(jié)點(diǎn)通訊的原理

圖1 CAN節(jié)點(diǎn)示意圖

如圖1所示是一個(gè)CAN節(jié)點(diǎn)的示意圖,整體包括了CAN收發(fā)器、CAN控制器MCU。我們以節(jié)點(diǎn)發(fā)送報(bào)文為例,當(dāng)我們使用上位機(jī)軟件發(fā)送一段報(bào)文時(shí),報(bào)文會(huì)通過MCU發(fā)送給CAN控制器。CAN控制器將這段報(bào)文解析成邏輯信號(hào)后,再發(fā)送給CAN收發(fā)器。CAN收發(fā)器根據(jù)CAN-bus標(biāo)準(zhǔn)將接收到的邏輯信號(hào)轉(zhuǎn)換成電信號(hào),再通過CAN_H和CAN_L兩根總線將電信號(hào)傳到總線上的其他節(jié)點(diǎn)上。

簡(jiǎn)單說就是MCU將報(bào)文發(fā)送給控制器,控制器將報(bào)文轉(zhuǎn)換成符合規(guī)范的CAN報(bào)文后,通過CAN收發(fā)器以電信號(hào)的形式在總線上進(jìn)行傳輸。

2、電平是如何轉(zhuǎn)換成邏輯?

圖2 CAN-bus信號(hào)電平

如圖2所示,CAN總線使用的是雙線差分信號(hào),所以分為CAN_H和CAN_L兩根總線,根據(jù)兩根總線之間電壓的差值大小來判斷其顯隱性。而線纜上傳輸?shù)碾娖叫盘?hào)只有兩種可能,分別為顯性電平和隱性電平,其中顯性電平代表邏輯0,隱性電平代表邏輯1。

當(dāng)接受到報(bào)文時(shí),首先就要通過CAN收發(fā)器將電信號(hào)轉(zhuǎn)換成邏輯信號(hào)。根據(jù)圖3所示的ISO11898高速CAN電平標(biāo)準(zhǔn)進(jìn)行判斷,但是線路上經(jīng)常會(huì)受到各種干擾,為了保證傳輸?shù)姆€(wěn)定性。所以差分電平小于0.5V就是隱性電平代表邏輯1,差分電平大于0.9V就是顯性電平代表邏輯0。

圖3 ISO11898高速CAN電平

3、邏輯信號(hào)如何轉(zhuǎn)換成報(bào)文?

CAN控制器是CAN-bus設(shè)備的核心元件,集成了CAN規(guī)范中數(shù)據(jù)鏈路層的全部功能,能夠自動(dòng)完成CAN-bus協(xié)議的解析。

當(dāng)CAN收發(fā)器將邏輯信號(hào)傳送給CAN控制器后,CAN控制器會(huì)將邏輯信號(hào)轉(zhuǎn)換成符合CAN規(guī)范的CAN幀。而CAN幀的類型包括了數(shù)據(jù)幀、遠(yuǎn)程幀、幀間空間、錯(cuò)誤幀和超載幀。

圖4 標(biāo)準(zhǔn)幀格式

以最常見的數(shù)據(jù)幀為例,圖4就是標(biāo)準(zhǔn)幀的格式,包括了幀起始、仲裁場(chǎng)、控制場(chǎng)、數(shù)據(jù)場(chǎng)等。

圖5 報(bào)文解析實(shí)例

圖5就是報(bào)文解析的實(shí)例,當(dāng)接受到對(duì)應(yīng)的邏輯信號(hào)后,CAN控制器就會(huì)根據(jù)規(guī)定的CAN幀格式進(jìn)行解析,并將報(bào)文發(fā)給MCU。

4、上位機(jī)報(bào)文顯示

圖6 上位機(jī)報(bào)文顯示

如圖6所示,當(dāng)CAN控制器完成了CAN-bus協(xié)議的解析后,就會(huì)將報(bào)文傳輸?shù)組CU中在上0位機(jī)軟件中進(jìn)行顯示。像幀起始、CRC場(chǎng)、ACK場(chǎng)這樣的數(shù)據(jù)不讀取,所以我們上位機(jī)軟件只顯示數(shù)據(jù)幀類型、幀ID和幀數(shù)據(jù)等信息

5、總結(jié)

對(duì)于CAN總線報(bào)文錯(cuò)誤來說,百分之90的錯(cuò)誤都來自于物理層,而CANScope總線分析儀可以對(duì)CAN 波形與報(bào)文同步發(fā)送和接收,快速對(duì)CAN總線進(jìn)行各項(xiàng)測(cè)試,幫助工程師們快速完成故障定位和問題排查。

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

    關(guān)注

    57

    文章

    2720

    瀏覽量

    463399
  • 電平
    +關(guān)注

    關(guān)注

    5

    文章

    360

    瀏覽量

    39858
  • 邏輯
    +關(guān)注

    關(guān)注

    2

    文章

    832

    瀏覽量

    29453
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    邏輯電平輸出是什么意思

    信號(hào)。 邏輯電平輸出的定義 邏輯電平輸出是指數(shù)字電路中的輸出端能夠產(chǎn)生的電壓水平,這些電壓水平用于表示邏輯狀態(tài)。在數(shù)字電路中,通常使用兩個(gè)不
    的頭像 發(fā)表于 09-20 17:32 ?460次閱讀

    CAN總線的報(bào)文類型介紹

    CAN(Controller Area Network)總線是一種廣泛使用的串行通信協(xié)議,特別適用于汽車和工業(yè)自動(dòng)化領(lǐng)域。CAN總線上的報(bào)文類型主要可以分為以下幾種,每種類型都有其特定的用途和格式。
    的頭像 發(fā)表于 09-03 14:20 ?1074次閱讀

    CAN SIC收發(fā)器助力復(fù)雜CAN網(wǎng)絡(luò)高效可靠通信(2)

    SIC的作用機(jī)理在CAN總線上,通過CAN_H和CAN_L兩根線上的電位差表示CAN信號(hào)。CAN
    的頭像 發(fā)表于 08-09 08:37 ?1306次閱讀
    <b class='flag-5'>CAN</b> SIC收發(fā)器助力復(fù)雜<b class='flag-5'>CAN</b>網(wǎng)絡(luò)高效可靠通信(2)

    TSMaster 中不同總線報(bào)文消息過濾的操作方式

    TSMaster軟件平臺(tái)支持對(duì)不同總線(CAN、LIN、FlexRay)報(bào)文和信號(hào)的過濾,包括全局接收過濾、數(shù)據(jù)流過濾、窗口過濾、字符串過濾、可編程過濾,針對(duì)不同的總線信號(hào)過濾器的使用方法基本相
    的頭像 發(fā)表于 06-22 08:21 ?1399次閱讀
    TSMaster 中不同總線<b class='flag-5'>報(bào)文</b>消息過濾的操作方式

    如何通過CAN報(bào)文TC375傳輸數(shù)據(jù)?

    從示例 MCMCAN_1_KIT_TC375_LK 和 ADC_Single_Channel_1_TC375_LK 開始,我必須用 CAN 報(bào)文發(fā)送從模擬通道獲取的數(shù)值。 我就是這么做的: void
    發(fā)表于 05-28 08:30

    CAN報(bào)文為什么會(huì)發(fā)送失敗?

    CAN總線調(diào)試過程中出現(xiàn)報(bào)文發(fā)送失敗。很多工程師都對(duì)此只知其一不知其二,今天我們就以CAN報(bào)文發(fā)送失敗的問題做一次探討。在了解
    的頭像 發(fā)表于 04-12 08:25 ?1907次閱讀
    <b class='flag-5'>CAN</b><b class='flag-5'>報(bào)文</b>為什么會(huì)發(fā)送失敗?

    CAN總線波形中為什么ACK電平偏高?

    在觀察CAN通信波形時(shí),我們會(huì)發(fā)現(xiàn)差分電平在ACK段突然增高,這是什么原因?qū)е碌哪兀勘疚慕Y(jié)合測(cè)試實(shí)例對(duì)ACK電平偏高的原因做簡(jiǎn)單分析。ACK簡(jiǎn)介ACK的作用:確認(rèn)一幀報(bào)文是否正常接收。
    的頭像 發(fā)表于 03-28 08:23 ?1081次閱讀
    <b class='flag-5'>CAN</b>總線波形中為什么ACK<b class='flag-5'>電平</b>偏高?

    TC275多路CAN節(jié)點(diǎn),報(bào)文接收時(shí)需要開啟多路的CAN接收中斷嗎?

    TC275配置使用一路CAN0時(shí),收發(fā)都可以,收報(bào)文是開啟的CAN0接收中斷,然后接收報(bào)文;現(xiàn)在使用兩路CAN
    發(fā)表于 02-20 08:27

    雙向邏輯電平轉(zhuǎn)換器電路圖分享

    雙向邏輯電平轉(zhuǎn)換器是一種電子器件,用于在不同電壓邏輯電平之間進(jìn)行轉(zhuǎn)換。它可以將一個(gè)邏輯電平轉(zhuǎn)換為
    的頭像 發(fā)表于 02-19 16:54 ?3121次閱讀
    雙向<b class='flag-5'>邏輯</b><b class='flag-5'>電平</b>轉(zhuǎn)換器電路圖分享

    TC387模塊CAN0的節(jié)點(diǎn)2作為CANA使用,CANA既收不到報(bào)文也發(fā)不出報(bào)文如何解決?

    TC387模塊CAN0的節(jié)點(diǎn)2作為CANA使用,CAN1的節(jié)點(diǎn)0作為CANB使用,配置基本相同。但CANB的通信正常,而在TJA1145正常情形下,CANA既收不到報(bào)文,也發(fā)不出報(bào)文
    發(fā)表于 02-19 06:43

    TC39x的can報(bào)文過濾規(guī)則怎么設(shè)置?

    TC39x的can報(bào)文過濾規(guī)則怎么設(shè)置
    發(fā)表于 02-19 06:12

    請(qǐng)問TC297如何配置接收多個(gè)id的CAN報(bào)文

    例程中使用了IfxMultican_Can_MsgObj_initConfig這個(gè)函數(shù),里面設(shè)置了int型的messageId ,只能接收messageId的報(bào)文。我看到有
    發(fā)表于 02-02 07:45

    CAN總線報(bào)文數(shù)據(jù)一致性校驗(yàn)

    比如ECU1接收ECU2發(fā)出的一幀0x100報(bào)文,協(xié)議層是不會(huì)區(qū)分是ECU1發(fā)的,還是非法接入OBD的CAN盒發(fā)的?如果ECU1接收到非ECU2發(fā)出的0x100報(bào)文豈不是很危險(xiǎn)?
    的頭像 發(fā)表于 01-24 10:03 ?1697次閱讀
    <b class='flag-5'>CAN</b>總線<b class='flag-5'>報(bào)文</b>數(shù)據(jù)一致性校驗(yàn)

    [ElfBoard] YOU CAN YOU UP 之CAN總線

    出現(xiàn)問題,缺點(diǎn)是信號(hào)反射嚴(yán)重,無法用于高波特率和遠(yuǎn)距離傳輸,如下圖所示: 電平標(biāo)準(zhǔn) CAN_High - CAN_Low < 0.5V 時(shí)候?yàn)殡[性的,邏輯信號(hào)表現(xiàn)為\"
    發(fā)表于 12-05 10:45

    [ElfBoard] YOU CAN YOU UP 之CAN總線分享

    出現(xiàn)問題,缺點(diǎn)是信號(hào)反射嚴(yán)重,無法用于高波特率和遠(yuǎn)距離傳輸,如下圖所示: 電平標(biāo)準(zhǔn) CAN_High - CAN_Low < 0.5V 時(shí)候?yàn)殡[性的,邏輯信號(hào)表現(xiàn)為\"
    發(fā)表于 12-04 14:47