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

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

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

報文的傳輸原理你了解嗎

電子工程師 ? 來源:工程師曾玲 ? 2019-04-25 14:50 ? 次閱讀

CAN總線通訊是我們每天都會使用的工業(yè)通訊總線,工程師更多的是關(guān)注報文是否能夠正常接收,解析結(jié)果是否正確。卻忽略了CAN總線的報文是怎么產(chǎn)生以及收發(fā)的,所以遇到通訊異常的問題時就會無從下手。那么這篇文章將會帶您快速了解報文的傳輸原理。

一、節(jié)點通訊的原理

報文的傳輸原理你了解嗎

圖1CAN節(jié)點示意圖

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

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

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

報文的傳輸原理你了解嗎

圖2CAN-bus信號電平

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

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

報文的傳輸原理你了解嗎

圖3ISO11898高速CAN電平

三、邏輯信號如何轉(zhuǎn)換成報文?

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

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

報文的傳輸原理你了解嗎

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

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

報文的傳輸原理你了解嗎

圖5報文解析實例

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

四、上位機(jī)報文顯示

報文的傳輸原理你了解嗎

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

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

總結(jié):

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

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

    關(guān)注

    5

    文章

    361

    瀏覽量

    39946
  • 總線
    +關(guān)注

    關(guān)注

    10

    文章

    2892

    瀏覽量

    88210
收藏 人收藏

    評論

    相關(guān)推薦

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

    TX 報文 */ IfxCan_Can_initMessage( g_mcmcan.txMsg); // @suppress(\"字段無法解析\") /* 定義要傳輸的數(shù)據(jù)內(nèi)容
    發(fā)表于 05-28 08:30

    CANopen SDO通訊 客戶端總是回復(fù)中斷傳輸報文

    使用電腦和驅(qū)動器進(jìn)行信號傳輸,驅(qū)動器處于預(yù)操作狀態(tài)電腦發(fā)送SDO請求報文,但是驅(qū)動器的回復(fù)報文數(shù)據(jù)位總是00 00 02 06,我查了下這是SDO的abort transfer,表示對象字典中的對象不存在;換了其他的索引,不管是
    發(fā)表于 11-14 16:58

    計算機(jī)的工作原理你知道哪些

    計算機(jī)的工作原理你需要有一定的電學(xué)知識,然后就可以去看模擬電路和數(shù)字電路相關(guān)的書籍了,了解完這兩個東西后你就能基本明白計算機(jī)是怎么運(yùn)作起來的了。這里只做簡單回答。簡單回答的意思是說,這個回答旨在讓
    發(fā)表于 09-06 08:45

    CAN報文定義

    協(xié)議中CAN報文種類報文傳輸過程中有:數(shù)據(jù)幀、遠(yuǎn)程幀、錯誤幀、過載幀和幀間隔。3. CAN報文的組成通常接收到的CAN報文由很多部分(圖1)組成,解析
    發(fā)表于 09-14 09:23

    紅外遙控的收發(fā)原理你都知道嗎

    紅外遙控的收發(fā)原理你都知道嗎?紅外收發(fā)解碼有哪些差異?
    發(fā)表于 01-24 06:37

    報文交換,報文交換是什么意思

    報文交換,報文交換是什么意思 報文交換(Message Switching )又稱為存儲轉(zhuǎn)發(fā)交換,與電路交換的原理不同,不需要提供通信雙方的物理連接,而是將
    發(fā)表于 03-18 15:31 ?6633次閱讀

    分布式C4ISR系統(tǒng)通信報文傳輸標(biāo)準(zhǔn)仿真驗證系統(tǒng)設(shè)計

    通過對分布式C4ISR系統(tǒng)通信報文傳輸標(biāo)準(zhǔn)仿真驗證系統(tǒng)的功能、組成、仿真模型與仿真系統(tǒng)流程的研究,提出了分布式C4ISR系統(tǒng)通信報文傳輸標(biāo)準(zhǔn)仿真驗證系統(tǒng)的設(shè)計方案。系統(tǒng)可用于對新提出的C4ISR系統(tǒng)通信報文傳輸標(biāo)準(zhǔn)進(jìn)行正確性驗證
    發(fā)表于 01-04 09:39 ?7次下載

    tcp報文格式詳解

    TCP(Transmission ControProtocol)傳輸控制協(xié)議是一種面向連接的、可靠的、基于字節(jié)流的傳輸層協(xié)議。TCP報文是TCP層傳輸的數(shù)據(jù)單元,也稱為
    發(fā)表于 12-08 11:11 ?3.3w次閱讀
    tcp<b class='flag-5'>報文</b>格式詳解

    CAN總線協(xié)議教程|CAN報文分析

    CAN協(xié)議教程 介紹:CAN總線 CAN總線是廣播類型的總線。這意味著所有節(jié)點都可以偵聽到所有傳輸報文。無法將報文單獨發(fā)送給指定節(jié)點;所有節(jié)點都將始終捕獲所有報文。但是,CAN硬件能
    發(fā)表于 04-03 15:32 ?1.4w次閱讀

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

    CAN總線的報文是怎么產(chǎn)生以及收發(fā)的,遇到通訊異常的問題時從什么角度分析?這篇文章將會帶您快速了解報文傳輸原理。
    的頭像 發(fā)表于 12-26 02:46 ?2244次閱讀

    CAN總線解決報文傳輸數(shù)據(jù)不夠用的三種方式

    每個CAN報文只有8字節(jié),當(dāng)節(jié)點需要發(fā)送較大的數(shù)據(jù)報文時很容易受限,所以要傳輸大于8字節(jié)數(shù)據(jù)時,就要進(jìn)行分包傳輸。
    發(fā)表于 10-25 11:18 ?4798次閱讀

    基于以太網(wǎng)的網(wǎng)絡(luò)管理報文

    公共模塊,完成數(shù)據(jù)鏈路層以及傳輸層的報文接收與發(fā)送任務(wù)。 3)Doip模塊基于以太網(wǎng)的通訊協(xié)議對UDS數(shù)據(jù)進(jìn)行傳輸,主要實現(xiàn)的基于ISO13400中規(guī)定的協(xié)議功能。在Doip模塊收到Soad模塊的診斷
    的頭像 發(fā)表于 10-04 17:26 ?1180次閱讀
    基于以太網(wǎng)的網(wǎng)絡(luò)管理<b class='flag-5'>報文</b>

    CAN報文為什么會發(fā)送失?。?/a>

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

    一幀CANFD報文由多少個位組成?

    要想知道CANFD報文由多少個位組成,那么我們就要了解CANFD幀結(jié)構(gòu),知道每個段占用位數(shù)從而得出CANFD報文位數(shù)。
    的頭像 發(fā)表于 04-27 06:08 ?4624次閱讀
    一幀CANFD<b class='flag-5'>報文</b>由多少個位組成?

    什么是北斗短報文功能?如何實現(xiàn)北斗短報文通信?

    報文功能是指北斗衛(wèi)星導(dǎo)航系統(tǒng)特有的雙向報文通信功能。這種功能允許用戶通過北斗衛(wèi)星進(jìn)行短報文通信,實現(xiàn)雙向的數(shù)據(jù)傳輸。當(dāng)用戶身處沒有移動通信信號覆蓋的區(qū)域時,通過北
    的頭像 發(fā)表于 05-25 10:16 ?4648次閱讀
    什么是北斗短<b class='flag-5'>報文</b>功能?如何實現(xiàn)北斗短<b class='flag-5'>報文</b>通信?