詳解CAN總線幾種正常的「異常」波形

2020-11-27 電子產品世界

工程師們通常使用示波器觀察CAN總線的信號質量,一般主要關注CAN總線差分信號的幅值、最小位寬、邊沿情況等。相信不少工程師都看到過一條報文數據的波形上高高低低存在多個幅值,心裡可能會變得忐忑不安,幅值不統一是不是波形出現畸變了呢?其實並非如此,今天就把CAN總線上的幅值「異常」歸歸類。

本文引用地址:http://www.eepw.com.cn/article/201807/384622.htm

一、CAN-bus信號產生原理

眾所周知,一個標準CAN節點由微處理器、控制器、收發器構成。多個節點成總線型架構掛在一起,兩個端節點上並有終端電阻。其結構簡圖如下圖所示。

圖1 CAN-bus節點網絡結構

可以看出,與總線直接相連的是CAN節點的收發器,起內部電路等效如下圖所示,CAN-H、CAN-L直接由三極體驅動,近似可以看成電流型輸出。結合上文所述網絡架構中的終端電阻,節點發出信號時電流流過終端電阻產生電壓信號,當同一時間多個節點同時發出信號時就會使總線上的電流高於單一節點發出的電流,使得我們觀察電壓信號時出現突增的現象。

圖2 CAN收發器結構

CAN-bus是總線型結構,通常狀態下一般只有一個節點佔有總線。那麼有幾種情況會導致多個節點同時發出,進而導致幅值出現「異常」呢,下文通過致遠電子CANScope分析儀的幾個測試案例總結一下。

二、應答位上的幅值「異常」

最常見的,當CAN網絡上存在3個以上的節點時,應答位上的幅值要明顯高於同一報文的其他位置,如下圖所示。可以看到報文在ID段、數據段、CRC校驗段處的幅值均比較一致,但是到應答位處時幅值出現突增。這是為什麼呢,大家都知道CAN-bus總線擁有自動應答機制,即當某一節點發送完一幀報文時,所有總線中的其餘非只聽節點均會在應答位處做出響應,如果報文被成功識別則發出一個顯性位做為應答信號。

結合上文所述,應答位此時CAN總線上的電流是若干節點電流疊加的綜合,所以應答位的幅值高就很容易講通了。

圖3 應答位上的幅值「異常」

三、ID段上的幅值「異常」

CAN-bus總線的一大特點就是多主結構,即網絡中所有節點功能對等,沒有主從機的概念,所有節點均可自由收發數據。保證多主結構得以實現的關鍵在於CAN總線的仲裁機制也稱優先級機制。當網絡中同時有多個節點同時發送數據時會在ID段處產生仲裁,優先級高的節點會最終佔有總線。

如下圖所示,可以看到在圖中的標記處波形出現了「臺階」。正是由於在「臺階」出現前有兩個節點同時發出數據,導致幅值增高,在「臺階」處某一節點由於優先級高佔有總線,另一個節點暫時退出,使得幅值又回歸平常。

圖4 ID段上的幅值異常

四、錯誤幀上的幅值「異常」

再看看這個案例,可以看到在波形的後半部分也出現了臺階式的幅值增高,光標卡住的顯性電平區間可以看到寬度明顯超過了5個標準位寬,按照CAN總線的位填充規則(不能存在連續六個相同的顯性位或隱性位)表明這是一條錯誤幀。但是不要誤會,並不是因為這個幅值「異常」而導致的錯誤幀,我們知道CAN總線有錯誤重發機制,以保證總線傳輸數據的可靠性。這種可靠性正式通過錯誤幀的「一票否決制」實現的。

當網絡中某一節點識別到一條認為是有問題的報文後會發送六個連續的顯性位(即錯誤幀),投出這一否決票通知網絡上所有其他節點,本條報文無效。此後其他節點會以「跟票」的形式全部發出六個顯性位錯誤幀。所以此時多個節點重疊部分的錯誤幀的幅值就會高一些了。

圖5 錯誤幀上的幅值異常


相關焦點

  • 淺析共模電感在CAN總線中的作用
    本文將簡單介紹共模電感用於總線的作用。 我們在實際應用中看到許多CAN產品會使用共模電感,但在常規測試中卻看不到它對哪一項指標有明顯改善,反而影響波形質量。 許多工程師為了以防萬一,確保可靠,會對CAN增加全面外圍電路。CAN晶片已經有很好的抗靜電,瞬態電壓能力,有些收發器本身也有很好的EMC性能,我們在應用中可根據設計要求逐個增加防護、濾波等外圍。
  • 汽車can總線工作原理及測量方法詳解
    分析CAN總線系統產生故障的原因一般有以下三種:   1.汽車電源系統引起的故障:汽車電控模塊的工作電壓一般在10.5-15.0V,如果汽車電源系統提供的工作電壓不正常,就會使得某些電控模塊出現短暫的不正常工作,這會引起整個汽車CAN總線系統出現通信不暢。
  • 深度剖析RS-485組網問題及總線測試
    1、終端電阻問題 若RS-485總線上接有終端電阻,且所用RS-485收發器門限電平是±200mV,則可能出現表2中所述的異常現象。AB之間電壓在±200mV之間時,輸出狀態不確定,即有可能輸出高電平(此時表現為通信正常),有可能輸出低電平(此時表現為通信異常),因此若總線空閒狀態時AB差分電壓處於門限電平之內,則會出現一定概率的異常問題。
  • 示波器測量汽車LIN總線信號及波形分析
    它的英文是「Local Interconnect Network」,LIN總線基於UART/SCI(通用異步收發器/串行接口)的串行通信協議,主要用於智能傳感器和執行器的串行通信,車上各個LIN總線系統之間的數據交換是由控制單元通過CAN數據總線實現的。
  • I2C總線設計注意事項
    在調試時,波形都比較正常,上升沿和下降沿都能符合要求,通常跑的速率為100KHz。然而後期改版,需要在I²C接口上增加四個I²C設備,線路也相應地變長,在調試的時候,就發現CPU主板上電後,I²C工作異常,偶爾會讀不到任何信息。  經過了長時間的查問題階段,發現通過I²C接口的SDA和SCL上拉電阻的大小與放置位置都是有講究的。
  • 如何測量CAN總線網絡阻抗
    在用直流測量阻抗方法時,測量的是CAN通信網絡或被測CAN節點的等效電阻;在用交流測量阻抗方法時,測量的是總線間的阻抗,包括電阻和電抗。  四、測量意義  1、直流阻抗測量意義  直流阻抗測量是為了分析CAN通信網絡或CAN節點的等效電阻,CAN節點間通信要求CANH和CANL之間的電阻為60Ω,才可使通信信號正常
  • 用無扼流圈收發器簡化CAN總線實現方式
    這樣的話,當不同子系統被集成在一個較大解決方案中,並且在常見(嘈雜)環境中運行時,這些子系統能夠正常運轉。雖然有很多不同的車內網絡互連標準,並且汽車原始設備製造商 (OEM) 對於EMC也有多種不同的要求,這篇文章主要討論一個已經被證明具有特別挑戰性的話題:一個控制器區域網 (CAN) 總線的射頻 (RF) 放射。
  • 探討CAN總線的抗幹擾能力
    在CAN總線裡,衝突的處理由於該信號的二值且「單穩態」的特性變得簡單,報錯幀可以使所有節點(包括發生衝突的節點)容易地取得數據的一致性和節點狀態的同步。  FlexRay總線的狀態有低功耗閒置、閒置、「0」、「1」四種。在正常工作模式時,總線接收部分只認可後3種狀態。
  • 一種利用無扼流圈收發器簡化CAN總線的方式
    共模扼流圈的另外一個意外結果就是總線上增高的大瞬態電壓風險。諸如到電源、電池電壓或系統接地的短接等故障情況會導致共模電流的突然變化。這會在短路連接/斷開,以及CAN驅動在顯性和隱性狀態之間變換時出現。當流經扼流圈電感的電流快速變化時,會在驅動器IC的CAN端子上產生一個較大的電壓電位。
  • 如何進行CAN信號質量評估?
    信號質量評估方法1、斜率評估全面評估CAN總線電平的信號質量,邊沿時間的評估是不可或缺的,過於平緩的邊沿會導致接收節點採樣錯誤。如圖2所示的波形,邊沿明顯過於平緩。2、幅值評估信號質量的好壞與信號的幅值(幅值是指頂部值與底部值之間的差值)密切相關,幅值對應的頂部值和底部值需在ISO 11898-2定義的範圍之內,否則可能導致無法正常通信。
  • 示波器快速維修與CPU及總線相關的故障
    示波器快速維修與CPU及總線相關的故障 大家知道,CPU的基本工作條件主要是電源(CPU供電VCC)、時鐘(CPU的時鐘振蕩電路)、復位(CPU的復位電路)必須正常。隨著新產品的電路變化,總線電路、鍵盤接口和其他輔助信號(例如電視機的行、場逆程脈衝)也會影響CPU的正常工作。本講將結合實例講解如何使用示波器快速維修與CPU及總線相關的故障。
  • 一文看懂CAN總線原理、特點及應用
    CAN總線使用串行數據傳輸方式,可以1Mb/s的速率在40m的雙絞線上運行,也可以使用光纜連接,而且在這種總線上總線協議支持多主控制器。CAN總線最 初是為汽車的電子控制系統而設計的,目前在歐洲生產的汽車中CAN的應用已非常普遍,不僅如此,這項技術已推廣到火車、輪船等交通工具中。  (1)CAN總線技術的應用:國外知名汽車基本都已經採用了CAN總線技術,例如沃爾沃、林肯、奧迪、寶馬等,而國內汽車品牌,例如奇瑞等公司也已經有幾款車型應用了總線技術。
  • CAN一致性之信號邊沿測試
    CAN總線邊沿時間會影響採樣正確性,而採樣錯誤會造成不斷錯誤幀出現,影響CAN總線通信。那麼CAN總線邊沿時間標準是什麼?邊沿時間如何測量呢?
  • CAN總線—PROFIBUS-DP總線網關的實現方法
    但每種現場總線都以一個或幾個大型跨國公司為背景,公司的利益與總線的發展息息相關。這些公司競爭的結果是多種總線協調共存。據不完全統計,目前國際上有200多種現場總線,而其中佔據市場主流的現場總線有十幾種[1]。現場總線的多樣性,為總線設備用戶提供了更多產品選擇的同時,也為總線用戶帶了總線設備間兼容性問題。
  • 嵌入式Win CE中CAN總線控制器的驅動設計與實現
    Windows CE作業系統之所以能夠支持各種各樣的硬體設備,是因為對每一款硬體設備,都有其對應的設備驅動程序,否則這款硬體就無法在Windows CE下正常工作。Win CE提供了4種設備模型,其中2種是專門用於Win CE的模型,另外2種外部模型來自其他的作業系統。
  • 救活你的I2C總線故障方案出爐了!
    通常一些低功耗 i2c 設備,晶片引腳使用上拉輸出即可滿足與其正常數據交互,還有一些 i2c 設備,則需要在總線上外加一個上拉電阻,此時相應的 I/O 配置成開漏輸出,其他的按照晶片手冊進行標準配置。
  • CAN總線及CAN通訊協議
    CAN,全稱為「Controller Area Network」,即控制器區域網,是國際上應用最廣泛的現場總線之一。 一個由CAN 總線構成的單一網絡中,理論上可以掛接無數個節點。實際應用中,節點數目受網絡硬體的電氣特性所限制。例如,當使用Philips P82C250作為CAN收發器時,同一網絡中允許掛接110個節點。CAN 可提供高達1Mbit/s的數據傳輸速率,這使實時控制變得非常容易。
  • CAN總線協議概述
    在北美和西歐,CAN總線協議已經成為汽車計算機控制系統和嵌入式工業控制區域網的標準總線,並且擁有以CAN為底層協議專為大型貨車和重工機械車輛設計的J1939協議。​在幾個站同時需要發送數據時,要求快速地進行總線分配。實時處理通過網絡交換的緊急數據有較大的不同。一個快速變化的物理量,如汽車引擎負載,將比類似汽車引擎溫度這樣相對變化較慢的物理量更頻繁地傳送數據並要求更短的延時。CAN總線以報文為單位進行數據傳送,報文的優先級結合在11位標識符中,具有最低二進位數的標識符有最高的優先級。
  • CAN總線的特點、幀類型以及應用中的注意事項
    物理層,CAN採用差分總線。單片機引腳的邏輯電平0,被CAN收發器(PHY)轉換為顯性電平(Dominant),邏輯電平1被轉換為隱性電平(Reccesive)。總線上執行的是「線與」邏輯,只要有一個節點輸出顯性電平,那麼總線上就是顯性電平。
  • CAN總線的拓撲如何設計最安全?
    隨著CAN總線的應用越來越廣泛,工程師在面對各種不同工況下,如何選擇合適的網絡拓撲方式就變成了一個讓人頭疼的問題。這篇文章會介紹主流的幾種總線拓撲方式,可以幫您快速了解如何選擇。一、直線型拓撲圖1 直線型拓撲直線型拓撲也叫總線型拓撲,如圖1所示,所有的節點都接到同一總線上,總線上任意節點發送信息