Can總線上的電平及物理層仲裁

 CAN總線採用差分信號傳輸,通常情況下只需要兩根信號線(CAN-H和CAN-L)就可以進行正常的通信。在干擾比較強的場合,還需要用到屏蔽地即CAN-G(主要功能是屏蔽干擾信號),CAN協議推薦用戶使用屏蔽雙絞線作爲CAN總線的傳輸線。
    在“隱性”狀態下,CAN-H與CAN-L的輸入差分電壓爲0V(最大不超過0.5V),共模輸入電壓爲2.5V。
    在“顯性”狀態下,CAN-H與CAN-L的輸入差分電壓爲2V(最小不小於0.9V),如下圖 1所示。

CAN總線上,“顯性”的優先級要高於“隱性”;當“顯性”位和“隱性”位同時發送到總線上時,總線上的數值表現爲“顯性”。
可以理解爲:
      邏輯 1-->“隱性”,總線處於高阻,任何一個CAN節點都可以將總線驅動成“顯性”。    
      邏輯 0-->“顯性”,在總線上的電平優先級要高於“隱性”,所以1個接收節點在總線上產生的“顯性"位可以導致發送節點在這個時刻發送“隱性”時的物理仲裁錯誤。

CAN節點的物理層仲裁
    CAN節點出於發送狀態的時候,TX引腳發送數據bit流,同時RX引腳在接收總線上的bit流;由於總線上“顯性”位的優先級要高於“隱性”位;所以在RX引腳上接收到的這個時刻的bit電平與TX引腳上發送的bit電平不一致,就導致該發送節點發送失敗,也可理解成爲:發送總線仲裁錯誤。
    這樣就可以用來解決,2個節點在同一時刻開始往總線上發送數據,只要2個節點發送的bit流不一致,就可以區分開來。先發送“顯性”位(邏輯 0)的節點能將完整的數據幀發送到總線上;而另外的那個節點因爲發送“隱性”位( 邏輯 1)的時刻,RX引腳上檢測到總線上“顯性”位( 邏輯 0),因此產生總線仲裁錯誤而退出發送狀態。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章