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?
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!
總結
以上是生活随笔為你收集整理的CAN总线基础(二)——CAN总线物理层介绍(总线电压详解)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TJA1050只能RX不能TX
- 下一篇: 关于MCP2515帧连发、多发的坑