1. 程式人生 > >CAN總線的顯性電平為什麽能覆蓋隱性電平?

CAN總線的顯性電平為什麽能覆蓋隱性電平?

芯片 很大的 bubuko 由於 微信 性能 深入 框圖 差分

摘要:在CAN總線中,顯性電平是強驅動,隱性電平時弱驅動,因此當有的節點發送顯性電平有的節點發送隱性電平時,總線上呈現的肯定是強驅動的狀態,這就是CAN總線顯性電平可以覆蓋隱性電平的原因。


  大家都知道,CAN總線的差分電平分為顯性電平和隱性電平,顯性電平的邏輯為0,隱性電平的邏輯為1,在同一個位時間,一個節點發顯性電平,另一個節點發隱性電平,則總線電平為顯性電平,這是CAN總線仲裁的基礎。就是像有些書上寫的線與的概念,如圖1所示,很好理解,1&0=0,顯性能覆蓋隱性。

技術分享圖片

圖1

  孔丙火(微信公眾號:孔丙火)認為,這種解釋對於新手來說,容易理解,但深入研究就會發現,這僅僅是一個邏輯原理圖,實際CAN總線的波形並不是這樣的,顯性電平時高電平,隱性電平時低電平,那實際情況下,顯性電平是如何覆蓋隱性電平的呢,這要從CAN收發器芯片的原理說起。圖2和圖3是AMIS42675和PCA82C251兩款芯片的原理框圖,其他CAN收發器芯片也類似。PCA82C251屬於早期芯片,是基於三極管的,比較新的芯片,如AMIS42675,都是基於JFET的,但對於發送驅動的基本原理是一致的。

技術分享圖片

圖2

技術分享圖片

圖3

  以AMIS42675為例來說明,如圖2所示,在本機發送顯性電平(差分高電平)時,圖中兩個JFET是導通的,CANH和CANL之間形成一個壓差,由於CAN收發器的輸入阻抗(接收器)是很大的,所以這個壓差的能量主要消耗在終端電阻和傳輸電纜上。在本機發送隱性電平(差分低電平)時,圖中兩個JFET截止,CANH和CANL處於高阻狀態,CANH和CANL的電平基本相等,差分電平接近於0。由此可以看出,顯性電平是強驅動,隱性電平時弱驅動,因此當有的節點發送顯性電平有的節點發送隱性電平時,總線上呈現的肯定是強驅動的狀態,這就是CAN總線顯性電平可以覆蓋隱性電平的原因。這是孔丙火(微信公眾號:孔丙火)的理解,希望大家批評指正。

文章在微信公眾號同步推出,微信公眾號:孔丙火,關註欣賞更多文章。

技術分享圖片

CAN總線的顯性電平為什麽能覆蓋隱性電平?