2024/01/30

CAN Bus 工作原理 - 物理層

作為 車用通訊 車用匯流排標準 的 控制器區域網路 (Controller Area Network,簡稱CAN或者CAN bus) 

首先,先了解硬體架構:
CAN Bus通訊 僅使用兩條電線相連,一條高電壓,名曰 CAN+(CAN High);另一條是低電壓,名曰 CAN-(CAN Low)
通常使用 12V電壓,所有設備皆拉兩條 CAN+/-出來,跟別人的CAN+/- 接在一起,並均需各自接上120Ω的電阻,俗稱 終端電阻。
自己的CAN+線 接別人的CAN+線,CAN-接別人的CAN-。
CAN Bus無所謂的 Master/Host,不需要找特定主機 逐一訊問(俗稱Polling)。
只要自己開機完 通訊準備完畢,就可以開始發送訊號。
每條CAN bus上,最少需要兩個設備在線! 因為 通訊中有個ACK訊號,需要別台機器幫忙發送確認。
同時作為他台機器確認收到正確完整封包的指示。
通訊期間,一般不會如同其他Bus般 稱呼高低電壓為 0/1(因為CAN+與CAN-恰好電壓是相反的),
而是稱 顯性及隱性 (理由下面說明)
平時無通訊期間,CAN bus上皆為 隱性(1)訊號!
隱性(1) 訊號時, CAN+為低電壓; CAN-為高電壓。
顯性(0)訊號時, CAN+為高電壓; CAN-為低電壓。
CAN bus晶片,僅以CAN+及CAN-之間的電壓差,作為0或1的判定標準;此種作法俗稱 差分訊號。
例如: 雖然 CAN+有高達 17V電壓,但 CAN-此時也有16V訊號;此時CAN chip仍判定Bus上訊號為 隱性(1) 訊號

理解工作原理 才能順利記憶 
關於 CAN Bus背後的工作原理:

問:
一條 18V的電線,與一條 0V電線 斷路後,若不持續外加電壓,此時兩條線的電壓會是多少?