CAN 總線信號(hào)是什么樣的?
CAN 是Controller Area Network 的縮寫(xiě)(以下稱為CAN),是ISO國(guó)際標(biāo)準(zhǔn)化的串行通信協(xié)議。在汽車(chē)產(chǎn)業(yè)中,出于對(duì)安全性、舒適性、方便性、低功耗、低成本的要求,各種各樣的電子控制系統(tǒng)被開(kāi)發(fā)了出來(lái)。由于這些系統(tǒng)之間通信所用的數(shù)據(jù)類(lèi)型及對(duì)可靠性的要求不盡相同,由多條總線構(gòu)成的情況很多,線束的數(shù)量也隨之增加。為適應(yīng)“減少線束的數(shù)量”、“通過(guò)多個(gè)LAN,進(jìn)行大量數(shù)據(jù)的高速通信”的需要,1986 年德國(guó)電氣商博世公司開(kāi)發(fā)出面向汽車(chē)的CAN 通信協(xié)議。此后,CAN 通過(guò)ISO11898 及ISO11519 進(jìn)行了標(biāo)準(zhǔn)化,在歐洲已是汽車(chē)網(wǎng)絡(luò)的標(biāo)準(zhǔn)協(xié)議。
CAN 的高性能和可靠性已被認(rèn)同,并被廣泛地應(yīng)用于工業(yè)自動(dòng)化、船舶、醫(yī)療設(shè)備、工業(yè)設(shè)備等方面?,F(xiàn)場(chǎng)總線是當(dāng)今自動(dòng)化領(lǐng)域技術(shù)發(fā)展的熱點(diǎn)之一,被譽(yù)為自動(dòng)化領(lǐng)域的計(jì)算機(jī)局域網(wǎng)。它的出現(xiàn)為分布式控制系統(tǒng)實(shí)現(xiàn)各節(jié)點(diǎn)之間實(shí)時(shí)、可靠的數(shù)據(jù)通信提供了強(qiáng)有力的技術(shù)支持。
與其它現(xiàn)場(chǎng)總線比較而言,CAN總線是具有通信速率高、容易實(shí)現(xiàn)、且性價(jià)比高等諸多特點(diǎn)的一種已形成國(guó)際標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線。這些也是CAN總線應(yīng)用于眾多領(lǐng)域,具有強(qiáng)勁的市場(chǎng)競(jìng)爭(zhēng)力的重要原因。
在這篇文章中,我將重點(diǎn)介紹 CAN 總線上的信號(hào)電平,以便設(shè)計(jì)人員了解 CAN 抗噪設(shè)計(jì)的由來(lái)。CAN 是一種串行、兩線、差分總線技術(shù)。這意味著數(shù)據(jù)通過(guò)控制器局域網(wǎng)高 (CANH) 和控制器局域網(wǎng)低 (CANL) 總線線路上的兩個(gè)互補(bǔ)信號(hào)一次發(fā)送一位。
為了有效地解釋不同類(lèi)型的信號(hào),首先了解典型的 CAN 應(yīng)用很有用。每個(gè) CAN 應(yīng)用都包含一個(gè)帶有內(nèi)置 CAN 控制器的微控制器和一個(gè)與總線相連的收發(fā)器。圖 1 顯示了這種分立實(shí)現(xiàn)。CAN 收發(fā)器處理的兩種信號(hào)是單端信號(hào)(TXD 和 RXD)和差分信號(hào)(CANH 和 CANL)。在正常運(yùn)行期間,CAN 收發(fā)器將來(lái)自 CAN 控制器的單端邏輯電平輸出信號(hào) (TXD) 轉(zhuǎn)換為差分信號(hào)。它還將總線上的差分信號(hào)轉(zhuǎn)換回單端邏輯信號(hào) (RXD) 以輸入到 CAN 控制器中。本質(zhì)上,收發(fā)器提供與 CAN 總線之間的差分驅(qū)動(dòng)和差分接收能力。
CAN 總線有兩種邏輯狀態(tài):顯性和隱性。當(dāng)向收發(fā)器的發(fā)送輸入引腳(通常稱為 TXD)施加邏輯低電平時(shí),出現(xiàn)顯性狀態(tài)。隱性狀態(tài)對(duì)應(yīng)于收發(fā)器發(fā)送輸入引腳上的邏輯高電平。圖 2 顯示了這兩種狀態(tài)。
如您所見(jiàn),在隱性狀態(tài)下,CANH 和 CANL 總線引腳都偏置到相同的電平:~2.5V。在顯性狀態(tài)期間,CANH 總線引腳偏置到較高的電壓電位 (~3.5V),而 CANL 總線引腳偏置到較低的電壓電位 (~1.5V)。通過(guò)減去兩個(gè)總線引腳的電壓電位,可以使用公式 1 確定總線的邏輯狀態(tài)。當(dāng)總線上的 V diff值小于 0.5V 時(shí),認(rèn)為總線處于隱性狀態(tài)。或者,大于 0.9V 的V diff值表示總線處于顯性狀態(tài)。最后,對(duì)于 V diff0.5V 和 0.9V 之間的值,總線狀態(tài)未定義。由于使用兩個(gè)信號(hào)之間的差異來(lái)定義總線的狀態(tài),因此這種信號(hào)類(lèi)型稱為差分信號(hào)。此外,CANH 和 CANL 信號(hào)通常被稱為互補(bǔ)單信號(hào),因?yàn)槟枰肋@兩個(gè)信號(hào)的電壓電位才能確定總線的邏輯狀態(tài)。
只有連接到總線的所有收發(fā)器都在傳輸隱性狀態(tài)時(shí),總線上才會(huì)存在隱性狀態(tài),因?yàn)殡[性狀態(tài)是弱偏置的,而顯性狀態(tài)是強(qiáng)偏置的。這類(lèi)似于有線邏輯與連接。所有收發(fā)器都必須發(fā)送邏輯高電平信號(hào),總線輸出才能變?yōu)檫壿嫺唠娖?。即使一個(gè)收發(fā)器發(fā)送一個(gè)邏輯 0,整個(gè)總線都將遵循該狀態(tài)并處于顯性狀態(tài)。