1. 程式人生 > >CAN匯流排基礎(二)——CAN匯流排物理層介紹(匯流排電壓詳解)

CAN匯流排基礎(二)——CAN匯流排物理層介紹(匯流排電壓詳解)

CAN匯流排的物理層定義了連線車內各控制器的相關介質以及介面。由於CAN匯流排的資料傳輸實質是通過總線上的電壓變化傳輸的,所以CAN的匯流排電壓是CAN匯流排技術的核心所在,匯流排電壓在物理層中定義。為了深刻理解CAN匯流排,下面我們詳細介紹匯流排電壓:

 

        CAN匯流排的拓撲結構如下:

        通過CAN的匯流排拓撲結構可以看出,CAN匯流排採用雙絞線進行資料傳輸。兩根導線中,一根稱為CAN-High,另一根稱為CAN-Low。這兩根導線在靜止狀態下對地電壓均為2.5V,此時兩根導線的電壓差值為0V,該狀態稱為隱性狀態,其數字訊號用1來表示;當CAN-High的對地電壓為3.5V,CAN-Low的對地電壓為1.5V時,此時CAN-High和CAN-Low兩根導線的電壓差為2V,該狀態稱為顯性狀態,其數字訊號用0來表示。為了方便,不會出現混淆記憶,我們將CAN匯流排的這一特性記憶為“顯零隱一”。

        CAN匯流排是多主節點(多主機)的區域網,各個主節點可以同時向總線上傳送資料,此時總線上就會有電壓變化。之前介紹過,如果匯流排的CAN-High和CAN-Low產生電壓差,稱為顯性用0表示,如果總線上沒有電壓差,稱為隱性用1表示。那麼大家需要思考一個問題,假如節點A傳送資料0101,節點B傳送資料1111,節點A和節點B同時向匯流排傳送資料,那麼總線上的電壓會如何變化呢?很明顯,CAN總線上的電壓變化是:2V-0V-2V-0V,用來表示數字訊號0101。因為兩個主節點共用一路CAN匯流排,而表示顯性的2V電壓差會覆蓋表示隱性的0V電壓差,即總線上某一時刻的電壓只會有一種狀態,無變化的電壓自然會被有變化的電壓覆蓋,從顯性和隱性的命名上可以看出這一深意(這很好理解,如同兩個人A和B(即兩個主節點)同時潛在水中游泳,並且他們遊的一樣快,如果露頭表示顯性0,不露頭表示隱性1,A和B分別向外界傳遞某種資訊0101和1111,那麼我們通過觀察水面的露頭變化只會得到0101的資訊),CAN匯流排的這一特性我們稱為“顯性可以覆蓋隱性”,這一特性對於後面學習資料幀的仲裁、應答等機制都至關重要,因此需要深刻理解。

        學習CAN匯流排物理層除了匯流排電壓這一部分需要深刻理解之外,剩下的無非都是一些物理介質以及介面的規定。之後一章節將對物理介質及介面做詳細的說明(原創內容,轉載請注說明)。
--------------------- 
作者:追慕罌G呢 
來源:CSDN 
原文:https://blog.csdn.net/kgcjie/article/details/78237719 
版權宣告:本文為博主原創文章,轉載請附上博文連結!