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

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

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

報(bào)文的傳輸原理你了解嗎

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

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

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

報(bào)文的傳輸原理你了解嗎

圖1CAN節(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)行傳輸。

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

報(bào)文的傳輸原理你了解嗎

圖2CAN-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。

報(bào)文的傳輸原理你了解嗎

圖3ISO11898高速CAN電平

三、邏輯信號(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ò)誤幀和超載幀。

報(bào)文的傳輸原理你了解嗎

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

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

報(bào)文的傳輸原理你了解嗎

圖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。

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

報(bào)文的傳輸原理你了解嗎

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

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

總結(jié):

對(duì)于CAN總線報(bào)文錯(cuò)誤來說,百分之九十的錯(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)投訴
  • 電平
    +關(guān)注

    關(guān)注

    5

    文章

    356

    瀏覽量

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

    關(guān)注

    10

    文章

    2849

    瀏覽量

    87840
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

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

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

    CAN報(bào)文定義

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

    報(bào)文交換,報(bào)文交換是什么意思

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

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

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

    icmp報(bào)文和ip報(bào)文分析

    . ICMP允許主機(jī)或路由報(bào)告差錯(cuò)情況和提供有關(guān)異常情況。ICMP是因特網(wǎng)的標(biāo)準(zhǔn)協(xié)議,但I(xiàn)CMP不是高層協(xié)議,而是IP層的協(xié)議。通常ICMP報(bào)文被IP層或更高層協(xié)議(TCP或UDP)使用。一些ICMP報(bào)文把差錯(cuò)報(bào)文返回給用戶進(jìn)程
    發(fā)表于 11-03 09:09 ?9822次閱讀
    icmp<b class='flag-5'>報(bào)文</b>和ip<b class='flag-5'>報(bào)文</b>分析

    tcp報(bào)文格式詳解

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

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

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

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

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

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

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

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

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

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

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

    一幀CANFD報(bào)文由多少個(gè)位組成?

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

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

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