您的位置:首頁 > 資訊 > 行業(yè)動態(tài) > 正文

科普:了解 CAN 總線的綜合指南

2024-02-04 13:39 性質(zhì):原創(chuàng) 作者:Mulan 來源:AGV
免責(zé)聲明:中叉網(wǎng)(www.m21363.cn)尊重合法版權(quán),反對侵權(quán)盜版。(凡是我網(wǎng)所轉(zhuǎn)載之文章,文中所有文字內(nèi)容和圖片視頻之知識產(chǎn)權(quán)均系原作者和機(jī)構(gòu)所有。文章內(nèi)容觀點(diǎn),與本網(wǎng)無關(guān)。如有需要刪除,敬請來電商榷?。?/div>

CAN 總線結(jié)構(gòu)

CAN 總線系統(tǒng)的結(jié)構(gòu) [6] 設(shè)計用于促進(jìn)多個節(jié)點(diǎn)之間的高效通信。最基本的 CAN 總線系統(tǒng)由兩條線路組成,即 CAN-高(或 CANH)和 CAN-低(或 CANL),連接到系統(tǒng)中的所有節(jié)點(diǎn)。這兩條線路傳輸代表傳輸數(shù)據(jù)的差分信號。

圖 2.CAN 總線結(jié)構(gòu)

系統(tǒng)中的每個節(jié)點(diǎn)都有一個收發(fā)器(或 CAN 收發(fā)器)和一個控制器(或 CAN 控制器),前者負(fù)責(zé)與總線線路連接,后者負(fù)責(zé)處理數(shù)據(jù)成幀和錯誤檢查。CAN 收發(fā)器負(fù)責(zé)將 CAN 控制器的數(shù)字信號轉(zhuǎn)換為總線上的差分信號,反之亦然??刂破鲃t負(fù)責(zé)創(chuàng)建包含待傳輸數(shù)據(jù)的幀,并檢查接收到的幀是否有誤。

節(jié)點(diǎn)

在 CAN 總線系統(tǒng)中,節(jié)點(diǎn)指的是與總線相連并能發(fā)送和接收報文的任何設(shè)備。每個節(jié)點(diǎn)都有自己的控制器和收發(fā)器,以便與總線連接。節(jié)點(diǎn)可以是任何設(shè)備,從簡單的傳感器或執(zhí)行器到復(fù)雜的設(shè)備,如發(fā)動機(jī)控制單元(ECU)。

只要總線空閑,CAN 總線系統(tǒng)中的每個節(jié)點(diǎn)都會傳輸數(shù)據(jù)。數(shù)據(jù)以幀的形式發(fā)送,幀中包含數(shù)據(jù)以及表示信息內(nèi)容的標(biāo)識符??偩€上的所有其他節(jié)點(diǎn)都會收到該幀,并根據(jù)標(biāo)識符值決定是否接受該幀。

CAN 總線系統(tǒng)中的節(jié)點(diǎn)還負(fù)責(zé)錯誤檢測。每個節(jié)點(diǎn)都會使用多種方法檢查接收到的幀是否存在錯誤,包括位監(jiān)控和幀檢查序列。如果一個節(jié)點(diǎn)檢測到錯誤,它就會傳輸一個錯誤幀,提醒所有其他節(jié)點(diǎn)注意該錯誤。

總線線路

在 CAN 總線系統(tǒng)中,總線線路是節(jié)點(diǎn)之間傳輸數(shù)據(jù)的物理介質(zhì)。有兩條總線線路,即 CAN-High 和 CAN-Low,它們攜帶互補(bǔ)信號。這些總線通常被絞合在一起,形成一對雙絞線,這有助于減少電磁干擾和提高信號完整性。

CAN 總線系統(tǒng)中使用的差分信號具有以下幾個優(yōu)點(diǎn):

共模噪聲:確??偩€線路接收到的任何噪聲對兩條線路的影響相同,從而提高抗噪聲能力。由于接收節(jié)點(diǎn)只關(guān)心兩條線路上的電壓差,因此這種共模噪聲被有效抵消。

減少磁場:互補(bǔ)信號的使用意味著一條線路上的電流與另一條線路上的電流相等且相反。這就減少了電流產(chǎn)生的凈磁場,進(jìn)一步降低了電磁干擾。

總線線路的兩端使用電阻器(通常為 120 歐姆)進(jìn)行端接,以匹配線路的特性阻抗。這種端接對于防止信號反射至關(guān)重要,信號反射會導(dǎo)致數(shù)據(jù)傳輸錯誤。在某些情況下,還可使用稱為偏置電阻器的附加電阻器,以確??偩€線路在無節(jié)點(diǎn)傳輸時處于已知狀態(tài)。

總線線路的長度和與之相連的節(jié)點(diǎn)數(shù)量會影響 CAN 總線系統(tǒng)的性能。較長的總線線路和較多的節(jié)點(diǎn)會導(dǎo)致電容增加,從而減慢信號的上升和下降時間。這反過來又會限制總線上可實現(xiàn)的最大數(shù)據(jù)傳輸速率。為緩解這一問題,CAN 總線規(guī)范定義了不同的數(shù)據(jù)傳輸速率和最大總線長度,使系統(tǒng)設(shè)計人員能夠根據(jù)具體應(yīng)用選擇合適的組合。

CAN 協(xié)議

CAN 總線是公認(rèn)的數(shù)據(jù)通信國際標(biāo)準(zhǔn)。CAN 總線通信系統(tǒng)使用多種協(xié)議 [7],每種協(xié)議都有自己的特點(diǎn)和功能。這些協(xié)議定義了數(shù)據(jù)傳輸規(guī)則,包括幀格式、數(shù)據(jù)速率和錯誤處理。要為特定應(yīng)用選擇合適的協(xié)議,了解這些協(xié)議之間的差異至關(guān)重要。

使用最廣泛的 CAN 總線協(xié)議是 CAN 2.0A、CAN 2.0B(也稱為傳統(tǒng) CAN)和 CAN FD(靈活數(shù)據(jù)速率)。這些協(xié)議都建立在 CAN 總線系統(tǒng)的基本原理之上,并增加了新的特性和功能,以滿足汽車和工業(yè)應(yīng)用不斷發(fā)展的需求。

CAN 協(xié)議 2.0A 和 2.0B

經(jīng)典 CAN(即 CAN 2.0A 和 CAN 2.0B)是兩個密切相關(guān)的協(xié)議,主要區(qū)別在于其標(biāo)識符字段的長度。CAN 2.0A 也稱為標(biāo)準(zhǔn) CAN,使用 11 位標(biāo)識符,而 CAN 2.0B 或擴(kuò)展 CAN 使用 29 位標(biāo)識符。標(biāo)識符長度上的這種差異(如圖 1 所示)對數(shù)據(jù)傳輸有若干影響。下面我們來談?wù)剮讉€基本影響:

適用于復(fù)雜系統(tǒng):CAN 2.0B 中較長的標(biāo)識符允許使用更多的唯一報文標(biāo)識符,這在具有許多節(jié)點(diǎn)和數(shù)據(jù)類型的復(fù)雜系統(tǒng)中非常有用。不過,較長的標(biāo)識符也會增加幀的長度,從而降低總線上可實現(xiàn)的最大數(shù)據(jù)傳輸速率。

更精細(xì)的優(yōu)先級:CAN 2.0B 中更長的標(biāo)識符為報文的優(yōu)先級排序提供了更多機(jī)會。由于較低的標(biāo)識符值在 CAN 總線系統(tǒng)中具有最高的優(yōu)先級,CAN 2.0B 標(biāo)識符中的額外位允許對報文優(yōu)先級進(jìn)行更精細(xì)的控制。

靈活性:在 CAN 2.0A 和 CAN 2.0B 中使用不同長度的標(biāo)識符會影響設(shè)備之間的兼容性。雖然 CAN 2.0B 設(shè)備通常可以與 CAN 2.0A 設(shè)備進(jìn)行通信,但情況并非總是如此。這是因為 CAN 2.0B 幀中較長的標(biāo)識符可能會導(dǎo)致設(shè)計上不適合處理這些標(biāo)識符的 CAN 2.0A 設(shè)備出錯。

圖 3.CAN FD 數(shù)據(jù)框圖

CAN FD(靈活數(shù)據(jù)速率)是 CAN 總線協(xié)議系列(2012 年)的最新成員,旨在解決 CAN 2.0A 和 CAN 2.0B 的一些局限性。CAN FD 的主要優(yōu)點(diǎn)是能夠支持更高的數(shù)據(jù)傳輸速率和更大的數(shù)據(jù)有效載荷,因此非常適合需要更快通信速度和更大數(shù)據(jù)吞吐量的現(xiàn)代汽車和工業(yè)應(yīng)用。

CAN FD 通過對 CAN 總線協(xié)議引入兩個關(guān)鍵變化來實現(xiàn)這些改進(jìn):

可變數(shù)據(jù)速率:它允許在單幀傳輸過程中采用可變數(shù)據(jù)速率。這意味著,在節(jié)點(diǎn)爭奪總線訪問權(quán)的仲裁階段,可以采用較低的數(shù)據(jù)傳輸速率,以確保通信的穩(wěn)健性,而數(shù)據(jù)有效載荷則以較高的數(shù)據(jù)傳輸速率傳輸,以提高吞吐量。這在電噪聲環(huán)境中尤其有用,因為較低的數(shù)據(jù)傳輸速率可以提供更好的抗噪能力。

靈活的數(shù)據(jù)字段大?。篊AN FD 將幀中數(shù)據(jù)字段的最大大小從 CAN 2.0 的 8 字節(jié)增加到 64 字節(jié)。更大的數(shù)據(jù)有效載荷可以提高數(shù)據(jù)傳輸效率,因為傳輸相同數(shù)量的信息所需的幀數(shù)更少。這對于需要快速傳輸大量數(shù)據(jù)(如高分辨率傳感器數(shù)據(jù)或軟件更新)的應(yīng)用尤其有利。

向后兼容性:盡管有這些改進(jìn),CAN FD 仍保持了與 CAN 2.0A 和 CAN 2.0B 設(shè)備的向后兼容性。這是通過使用與 CAN 2.0B 相同的幀格式實現(xiàn)的,但增加了一個新的控制字段,用于指示該幀是 CAN FD 幀還是標(biāo)準(zhǔn) CAN 2.0B 幀。這樣,CAN FD 設(shè)備就可以與 CAN 2.0A 和 CAN 2.0B 設(shè)備在同一總線上共存,但 CAN FD 的更高數(shù)據(jù)傳輸速率和更大數(shù)據(jù)有效載荷只有在與其他 CAN FD 設(shè)備通信時才能使用。

CAN 總線變體

CAN 總線的物理層和數(shù)據(jù)鏈路層功能與 RS-485 類似。必須認(rèn)識到,有兩種廣泛使用的 CAN 總線規(guī)格。一聽到 "CAN 總線 "一詞,幾乎每個人都會立即想到 ISO 11898-2 標(biāo)準(zhǔn),也稱為高速 CAN。CAN 協(xié)議有兩種變體,即高速 CAN 和低速 CAN,每種變體都是為了滿足特定的通信要求而設(shè)計的。

高速 CAN 適用于需要實時和快速數(shù)據(jù)交換的用途。最大數(shù)據(jù)傳輸速率可達(dá) 1 Mbps。高速 CAN 的典型電壓值確保了通信的可靠性,隱性狀態(tài)下的電壓值為 2.5V,顯性狀態(tài)下的電壓值為 3.5V。這一點(diǎn)在嘈雜的工業(yè)和汽車環(huán)境中尤為重要。

圖 4.高速 CAN 總線

相反,CAN 總線標(biāo)準(zhǔn)的容錯和低速變體是 ISO 11898-3 或低速 CAN。它適用于對數(shù)據(jù)傳輸速率要求較低的系統(tǒng),最高可達(dá) 125 Kbps。低速 CAN 采用與高速 CAN 相同的電壓電平,即隱性狀態(tài)約為 2.5V,顯性狀態(tài)約為 3.5V。與高速 CAN 不同的是,這里的電阻分散在每個節(jié)點(diǎn)上,而不是在總線的起點(diǎn)和終點(diǎn)使用兩個終端電阻。

此外,低速容錯 CAN 可以有多種不同的設(shè)計方式,例如星形總線、類似高速 CAN 的線性總線或由線性總線連接的多個星形總線。

圖 5.低速 CAN 總線

CAN 總線在汽車中的應(yīng)用

CAN 總線以其高效性和靈活性成為現(xiàn)代汽車工業(yè)不可或缺的一部分。它用于促進(jìn)汽車內(nèi)各種電子控制單元(ECU)和傳感器之間的通信,實現(xiàn)眾多子系統(tǒng)的無縫集成。CAN 總線在汽車系統(tǒng)中的一些主要應(yīng)用包括發(fā)動機(jī)控制、安全系統(tǒng)、車身控制和信息娛樂系統(tǒng)。通過使用通用通信協(xié)議,CAN 總線簡化了布線,降低了汽車電子結(jié)構(gòu)的復(fù)雜性,從而減輕了重量,降低了制造成本,并使診斷更加容易。

發(fā)動機(jī)控制

CAN 總線在汽車系統(tǒng)中的主要應(yīng)用之一是發(fā)動機(jī)控制。發(fā)動機(jī)控制模塊(ECM)負(fù)責(zé)管理發(fā)動機(jī)運(yùn)行的各個方面,如燃油噴射、點(diǎn)火正時和排放控制。為了執(zhí)行這些任務(wù),ECM 需要接收來自節(jié)氣門位置傳感器、氧傳感器和曲軸位置傳感器等各種傳感器的數(shù)據(jù),并向噴油器和點(diǎn)火線圈等執(zhí)行器發(fā)送指令。

CAN 總線在促進(jìn) ECM 與其他設(shè)備之間的通信方面發(fā)揮著至關(guān)重要的作用。通過使用單一總線在 ECM 與各種傳感器和執(zhí)行器之間傳輸數(shù)據(jù),CAN 總線簡化了布線并減少了所需連接的數(shù)量。這不僅減輕了發(fā)動機(jī)控制系統(tǒng)的重量和復(fù)雜性,還提高了其可靠性和可維護(hù)性。

此外,CAN 總線的使用允許對發(fā)動機(jī)的運(yùn)行進(jìn)行實時監(jiān)控。這使得 ECM 能夠根據(jù)從傳感器接收到的數(shù)據(jù)對發(fā)動機(jī)參數(shù)進(jìn)行快速調(diào)整,從而確保最佳的性能、燃油效率和排放控制。此外,CAN 總線通信可實現(xiàn)先進(jìn)的診斷功能,使技術(shù)人員能夠快速識別和解決發(fā)動機(jī)控制系統(tǒng)的問題。

安全系統(tǒng)

CAN 總線通信在車輛安全系統(tǒng)的各種操作中發(fā)揮著至關(guān)重要的作用。這些系統(tǒng)依靠傳感器、執(zhí)行器和控制模塊之間有效的數(shù)據(jù)交換來確保車內(nèi)人員和其他道路使用者的安全。使用 CAN 總線的一些關(guān)鍵安全系統(tǒng)包括防抱死制動系統(tǒng) (ABS)、電子穩(wěn)定性控制系統(tǒng) (ESC) 和高級駕駛員輔助系統(tǒng) (ADAS)。

防抱死制動系統(tǒng) (ABS) 的設(shè)計目的是防止在重制動時車輪抱死,否則會導(dǎo)致側(cè)滑和失控。防抱死制動系統(tǒng)控制模塊從車輪速度傳感器接收數(shù)據(jù),并利用這些信息調(diào)節(jié)施加到每個車輪上的制動力。通過 CAN 總線傳輸這些數(shù)據(jù),ABS 控制模塊可以快速、準(zhǔn)確地調(diào)節(jié)制動力,確保最佳的制動性能和車輛穩(wěn)定性。

電子穩(wěn)定性控制系統(tǒng)(ESC)是另一個依靠 CAN 總線進(jìn)行通信的安全系統(tǒng)。ESC 的設(shè)計目的是通過選擇性制動和調(diào)整發(fā)動機(jī)扭矩來檢測和糾正牽引力損失或車輛側(cè)滑。ESC 控制模塊從轉(zhuǎn)向角傳感器、偏航率傳感器和車輪速度傳感器等各種傳感器接收數(shù)據(jù),并利用這些信息確定適當(dāng)?shù)募m正措施。CAN 總線實現(xiàn)了 ESC 控制模塊與其他設(shè)備之間的快速通信,使系統(tǒng)能夠?qū)Σ粩嘧兓臈l件做出快速反應(yīng),并保持車輛穩(wěn)定性。

高級駕駛員輔助系統(tǒng)(ADAS)包括自適應(yīng)巡航控制、車道偏離警告和防碰撞系統(tǒng)等多種安全功能。這些系統(tǒng)依靠攝像頭、雷達(dá)和激光雷達(dá)等各種傳感器的數(shù)據(jù)來監(jiān)控車輛周圍的環(huán)境,并為駕駛員提供幫助。CAN 總線對于在 ADAS 控制模塊和其他設(shè)備之間傳輸這些數(shù)據(jù)至關(guān)重要,可實現(xiàn)車輛安全系統(tǒng)的實時決策和控制。

通過促進(jìn)這些系統(tǒng)之間的有效通信,CAN 總線有助于提高車輛的整體安全性,降低事故發(fā)生的可能性。

CAN 總線在工業(yè)領(lǐng)域的應(yīng)用

CAN 總線除了在汽車系統(tǒng)中得到廣泛應(yīng)用外,在各種工業(yè)環(huán)境中也有應(yīng)用。它的堅固性、可靠性和靈活性使其成為工業(yè)自動化和控制系統(tǒng)中設(shè)備間通信的理想選擇。CAN 總線的一些主要工業(yè)應(yīng)用包括機(jī)器控制、傳感器網(wǎng)絡(luò)和分布式控制系統(tǒng)。

機(jī)器控制

機(jī)器控制是工業(yè)自動化的一個重要方面,它需要電機(jī)、執(zhí)行器和傳感器等各種設(shè)備之間的精確協(xié)調(diào),以確保高效準(zhǔn)確的運(yùn)行。CAN 總線可實現(xiàn)設(shè)備間的實時通信,并允許執(zhí)行復(fù)雜的控制算法,因此非常適合實現(xiàn)這一目的。

在典型的機(jī)器控制應(yīng)用中,中央控制模塊(通常稱為可編程邏輯控制器 (PLC))負(fù)責(zé)協(xié)調(diào)各種設(shè)備的運(yùn)行。PLC 接收來自位置傳感器、溫度傳感器和壓力傳感器等傳感器的數(shù)據(jù),并利用這些信息確定電機(jī)、閥門和電磁閥等執(zhí)行器的適當(dāng)操作。

CAN 總線促進(jìn)了 PLC 與各種設(shè)備之間的通信,從而實現(xiàn)了快速數(shù)據(jù)交換和實時控制。通過使用單一總線進(jìn)行通信,CAN 總線簡化了布線,降低了機(jī)器控制系統(tǒng)的復(fù)雜性,從而降低了安裝和維護(hù)成本。此外,CAN 總線精確的錯誤檢測和處理能力確保了可靠的通信,即使在電氣噪聲較大的工業(yè)環(huán)境中也是如此。

在機(jī)器控制應(yīng)用中使用 CAN 總線還能實現(xiàn)分布式控制和遠(yuǎn)程監(jiān)控等高級功能。分布式控制實現(xiàn)了控制任務(wù)的分散化,系統(tǒng)中的每個設(shè)備都能根據(jù)本地數(shù)據(jù)做出決策。這可以提高系統(tǒng)的整體性能和靈活性,并減輕中央控制模塊的負(fù)擔(dān)。另一方面,遠(yuǎn)程監(jiān)控使操作員能夠從遠(yuǎn)程位置監(jiān)控系統(tǒng),提高效率并減少停機(jī)時間。

網(wǎng)友評論
文明上網(wǎng),理性發(fā)言,拒絕廣告

相關(guān)資訊

關(guān)注官方微信

手機(jī)掃碼看新聞