<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > CAN協(xié)議的熱門(mén)應用有哪些?

CAN協(xié)議的熱門(mén)應用有哪些?

發(fā)布人:電子資料庫 時(shí)間:2023-01-28 來(lái)源:工程師 發(fā)布文章

CAN(Controller Area Network)協(xié)議是歐洲汽車(chē)電子公司Robert Bosch GmbH于1983年為車(chē)載網(wǎng)絡(luò )開(kāi)發(fā)的。開(kāi)發(fā) CAN 協(xié)議的目的是在單根電線(xiàn)上實(shí)現車(chē)輛的不同電子控制單元 (ECU) 和微控制器控制單元 (MCU) 之間的穩健數據通信,從而擺脫它們之間復雜的點(diǎn)對點(diǎn)布線(xiàn). 盡管通過(guò)單一總線(xiàn)傳輸數據,CAN 不需要任何主機。

標準 CAN 協(xié)議在 OSI 模型的物理層和數據鏈路層運行。其他協(xié)議棧層沒(méi)有在 CAN 中實(shí)現,這被證明是一個(gè)很大的優(yōu)勢。系統工程師可以自由地以最適合應用程序的方式設計其他協(xié)議棧層。如今,CAN 作為一種健壯、簡(jiǎn)單、跨域、多功能的串行網(wǎng)絡(luò )通信協(xié)議而享有盛譽(yù),只要屬于不同域的電子設備之間需要頻繁的實(shí)時(shí)數據通信,就必須實(shí)施該協(xié)議。CAN 做出了 CANopen、DeviceNet 和 J1939 等變體,允許實(shí)現所有七個(gè)協(xié)議棧層以及用于特定用例的標準 CAN 第 1 層和第 2 層。學(xué)習標準 CAN 協(xié)議的實(shí)現會(huì )很有見(jiàn)地。

在本文中,我們將了解 CAN 協(xié)議及其獨特的功能。然后,我們將探索 CAN 協(xié)議的一些典型應用,并研究 CAN 在這些應用中是如何被利用的。

CAN 標準
CAN 規范定義了 CAN 協(xié)議和 CAN 物理層。該協(xié)議主要由 ISO-11898 規范定義,但其他規范如用于低速串行數據通信的 ISO-11519 也適用于該協(xié)議。ISO-11898 規范分為三個(gè)部分。第一部分定義了數據鏈路層和單一物理鏈路的規范。規范的第二部分定義了高速 CAN 的 CAN 物理層。規范的第三部分定義了低速 CAN 的 CAN 物理層。

低速 CAN 的數據速率為 5Kbps、10、20、50 和 125Kbps。高速 CAN 的數據速率為 250、500、800Kbps 和 1Mbps。在 CAN 網(wǎng)絡(luò )中,數據通過(guò)具有 120 歐姆特性阻抗的屏蔽或非屏蔽雙絞線(xiàn)或帶狀電纜進(jìn)行通信。DB9(公)連接器按照 CiA DS-102 規范使用。CiA 代表“自動(dòng)化中的 CAN”。CAN 總線(xiàn)的最大范圍是 1000m(40Kbps)。對于高速 CAN,在 1Mbps 時(shí)最大范圍為 40m。一條 CAN 總線(xiàn)最多可連接 127 個(gè)節點(diǎn)。

CAN 協(xié)議如何工作
在 CAN 網(wǎng)絡(luò )中,連接到總線(xiàn)上的每個(gè)電子設備或系統都是一個(gè)節點(diǎn)。每個(gè)節點(diǎn)由三個(gè)元素組成——主機控制器、CAN 控制器和 CAN 收發(fā)器。主機控制器是設備/系統中的微控制器或處理器,它為特定作業(yè)運行某些應用程序。CAN 控制器處理主機控制器和 CAN 總線(xiàn)之間 CAN 消息的傳輸和接收。它充當協(xié)議處理程序。CAN 收發(fā)器負責通過(guò) CAN 總線(xiàn)傳輸和接收 CAN 消息。它充當線(xiàn)路驅動(dòng)器。主機控制器是一個(gè)物理控制器/處理器,而 CAN 控制器和 CAN 收發(fā)器是在軟件或固件中實(shí)現的。

image.png


CAN 節點(diǎn)的組件

每個(gè)節點(diǎn)都是一個(gè) CAN 收發(fā)器。數據以半雙工、異步方式傳送。這些位使用差分電壓通過(guò) CAN 總線(xiàn)傳輸。CAN 總線(xiàn)中的兩條線(xiàn)稱(chēng)為 CAN low 和 CAN high。CAN 總線(xiàn)有兩種不尋常的邏輯狀態(tài),稱(chēng)為隱性和顯性。邏輯1是隱性狀態(tài),邏輯0是顯性狀態(tài)。通常,總線(xiàn)處于隱性狀態(tài),即邏輯 1。對于隱性狀態(tài)或通信邏輯 1,線(xiàn) CAN low 和 CAN high 都施加電源電壓 VDD 或 VCC 一半的電壓。電源電壓通常為 5V,因此兩條線(xiàn)均施加 2.5V。結果,導線(xiàn)之間的差分電壓為 0V。這被讀作邏輯 1。在顯性狀態(tài)下,CAN 高電平被拉高至 3.5V,CAN 低電平被拉高至 1.5V。因此,兩根線(xiàn)之間的電壓差為2V。這是總線(xiàn)的顯性狀態(tài),由 CAN 收發(fā)器讀取為邏輯 0。

image.png


CAN 信號電平示例

顯性狀態(tài)總是覆蓋隱性狀態(tài)。只有當所有節點(diǎn)都發(fā)送隱性位時(shí),總線(xiàn)才處于隱性電平。由于 AND 邏輯,即使單個(gè)節點(diǎn)發(fā)送顯性位,總線(xiàn)狀態(tài)也是顯性的。

CAN 是一種基于消息的協(xié)議。數據以消息幀的形式進(jìn)行通信。幀是有意義的位序列。消息幀有四種類(lèi)型——數據幀、遠程幀、錯誤幀和過(guò)載幀。數據幀攜帶來(lái)自一個(gè)CAN收發(fā)器的消息,發(fā)送遠程幀向其他CAN收發(fā)器請求數據,發(fā)送錯誤幀表示數據幀有錯誤,發(fā)送過(guò)載幀表示數據幀過(guò)載,表示要求數據幀傳輸延遲。標識符字段標識每個(gè)幀。標識符字段在標準 CAN 中為 11 位長(cháng),在擴展 CAN 協(xié)議中為 29 位長(cháng)。要了解有關(guān)數據幀和其他 CAN 幀的結構/格式的更多信息,請查看這篇關(guān)于標準 CAN 協(xié)議的文章。

同一時(shí)間,只有一個(gè)節點(diǎn)可以訪(fǎng)問(wèn)總線(xiàn)。CAN 協(xié)議中使用的訪(fǎng)問(wèn)方法是一種稱(chēng)為按位仲裁 (BA) 的帶沖突檢測的載波偵聽(tīng)多路訪(fǎng)問(wèn) (CSMA/CD) 方法。數據幀的標識符字段設置消息的優(yōu)先級。標識符值越低,優(yōu)先級越高。因此,標識符字段為 0x6C3 的數據幀比標識符字段為 0x7B4 的數據幀具有更高的優(yōu)先級。類(lèi)似地,標識符字段為0x7B3的數據幀比標識符字段為0x7B4的數據幀具有更高的優(yōu)先級。

如果任何節點(diǎn)處于空閑狀態(tài),即處于隱性狀態(tài),則它可以訪(fǎng)問(wèn) CAN 總線(xiàn)。如果兩個(gè)或多個(gè)節點(diǎn)試圖同時(shí)訪(fǎng)問(wèn)總線(xiàn),則傳輸具有較低標識符字段的數據幀的節點(diǎn),即具有較高優(yōu)先級的數據幀獲得總線(xiàn)訪(fǎng)問(wèn)權。標識符字段從 MSB(位 10)到 LSB(位 0)逐位比較,直到節點(diǎn)贏(yíng)得仲裁。如果一個(gè)節點(diǎn)正在傳輸相應的隱性位,而任何其他節點(diǎn)正在傳輸顯性位,則該節點(diǎn)將失去仲裁。以這種方式,發(fā)送具有最低標識符值即最高優(yōu)先級的數據幀的節點(diǎn)獲得對CAN總線(xiàn)的訪(fǎng)問(wèn)。其他節點(diǎn)必須根據其數據幀的優(yōu)先級等待輪到他們。

一個(gè) CAN 節點(diǎn)傳輸的數據幀被傳輸到總線(xiàn)上的所有其他節點(diǎn)。在其他節點(diǎn),只有當標識符字段適用于它們時(shí),它才會(huì )被它們過(guò)濾并接收。

為什么可以?
選擇 CAN 協(xié)議的原因有很多。CAN 是一種串行網(wǎng)絡(luò )通信協(xié)議,只需要兩根線(xiàn)即可在多個(gè)設備之間進(jìn)行數據通信。連接在 CAN 網(wǎng)絡(luò )中的所有設備都通過(guò)公共雙線(xiàn)總線(xiàn)進(jìn)行通信。不需要一對一連接兩個(gè)節點(diǎn)/設備。

由于 CAN 控制器和 CAN 收發(fā)器是在軟件/固件級別實(shí)現的,并且協(xié)議僅在物理和數據鏈路層實(shí)現,因此來(lái)自不同域的設備可以在同一總線(xiàn)上進(jìn)行通信。每個(gè)設備或節點(diǎn)上的 OSI 模型的其他層可以由系統工程師根據特定節點(diǎn)/設備的需要或角色單獨設計。

CAN 是一種基于消息的協(xié)議。與基于地址的協(xié)議不同,這種類(lèi)型的協(xié)議不受總線(xiàn)上添加或刪除節點(diǎn)的影響。通過(guò)總線(xiàn)傳輸的消息被廣播到所有其他節點(diǎn),并根據節點(diǎn)級別的標識符字段進(jìn)行過(guò)濾。優(yōu)先級通過(guò)其標識符字段附加到消息幀,而不是 CAN 節點(diǎn)。這樣就不需要識別共享CAN總線(xiàn)的節點(diǎn)??梢栽诓挥绊?CAN 網(wǎng)絡(luò )的情況下插入或刪除節點(diǎn)。

作為為車(chē)載網(wǎng)絡(luò )構建的協(xié)議,該協(xié)議使用差分電壓。因此,數據不能被其他節點(diǎn)破壞或更改。由于電壓電平不同,CAN 是最強大的串行通信協(xié)議之一。

CAN 總線(xiàn)在設備之間發(fā)生任何沖突的可能性最小。通過(guò)按位仲裁,優(yōu)先級附加到消息,因此最重要的消息首先通過(guò)總線(xiàn)進(jìn)行通信,而不管傳輸它們的節點(diǎn)如何。數據通過(guò)總線(xiàn)異步傳輸,并通過(guò)按位仲裁確定優(yōu)先級。

該協(xié)議支持錯誤檢查以確??煽啃圆⑻峁┏錾目乖胄?。CAN 是一種廣泛使用的串行通信協(xié)議,用于嵌入式電子設備之間低速但頻繁的數據交換。許多芯片都內置了 CAN 接口。用于設置 CAN 網(wǎng)絡(luò )的半導體芯片可從 Maxim Integrated、Texas Instruments、Analog Devices、Microchip Technology、NXP、ST Microelectronics 等供應商處獲得。

CAN的應用
CAN 協(xié)議廣泛用于所有類(lèi)型的汽車(chē)行業(yè)應用,包括乘用車(chē)、重型貨車(chē)和多用途車(chē)輛以及農用車(chē)輛。作為一種健壯、可靠和通用的串行通信協(xié)議,CAN 不僅限于汽車(chē)。該協(xié)議被高速列車(chē)和飛機的控制模塊使用。它被汽車(chē)中的娛樂(lè )和信息娛樂(lè )系統使用。該協(xié)議用于控制和監控起重機和鉆探探頭。它被電梯和電梯控制系統使用。該協(xié)議用于樓宇自動(dòng)化,如供暖和空調系統。它也被用于自動(dòng)門(mén)和窗簾開(kāi)啟器。它用于溫室和農場(chǎng)的自動(dòng)澆水。由于其穩健性和多功能性,該協(xié)議在醫療儀器中得到廣泛采用。許多機床控制系統使用 CAN 網(wǎng)絡(luò )作為實(shí)現工廠(chǎng)自動(dòng)化的設備內總線(xiàn)系統。傳感器網(wǎng)絡(luò )也使用該協(xié)議,因為環(huán)境因素需要信號穩健性。

汽車(chē)
中的 CAN CAN 協(xié)議專(zhuān)為車(chē)載網(wǎng)絡(luò )而構建,用于大多數乘用車(chē)。它可以實(shí)現多個(gè) ECU 之間的數據通信,而無(wú)需任何一對一的布線(xiàn)。大多數汽車(chē)都有基于 CAN 的發(fā)動(dòng)機管理系統。不僅如此,大多數汽車(chē)都通過(guò)基于 CAN 的多路復用系統連接車(chē)身電子 ECU。車(chē)載娛樂(lè )系統通過(guò)CAN總線(xiàn)連接。除此之外,車(chē)載診斷系統還使用 CAN 總線(xiàn)。ISO-15765 是基于 CAN 的診斷接口的規范。CAN 還用于車(chē)載娛樂(lè )設備之間面向連接的數據通信。

在電動(dòng)汽車(chē)和混合動(dòng)力汽車(chē)中,CAN 網(wǎng)絡(luò )可以發(fā)揮意想不到的廣泛作用。它對于逆變器、電池管理系統和伺服電機控制器之間的通信很有用。它還將伺服控制器與驅動(dòng)器的人機界面連接起來(lái)。盡管 CANopen 是主要用于非汽車(chē)應用的 CAN 變體,但它是一種在混合動(dòng)力和電動(dòng)汽車(chē)中找到實(shí)用性的變體。

挖掘機和叉車(chē)等許多農業(yè)機械都依賴(lài)基于 CAN 的網(wǎng)絡(luò )。在卡車(chē)起重機中,CAN 用于監測和控制起重機系統。

公共交通系統中的
CAN CAN協(xié)議廣泛應用于高速列車(chē)和飛機?;疖?chē)使用 CAN 連接制動(dòng)控制系統。在高速列車(chē)中,CAN 用于實(shí)現自動(dòng)制動(dòng)?;疖?chē)還使用 CAN 與制動(dòng)控制、門(mén)控制、診斷、貨車(chē)監控等子系統進(jìn)行通信,并與火車(chē)總線(xiàn)系統的網(wǎng)關(guān)進(jìn)行通信。CAN 在自動(dòng)化客戶(hù)服務(wù)和乘客信息系統方面也很有用。

在公路運輸中,基于 CAN 的傳感器網(wǎng)絡(luò )用于速度檢測、交通監控和交通信號燈管理。CAN 也是海事電子設備使用的協(xié)議。它還用于連接飛機發(fā)動(dòng)機控制系統與飛行狀態(tài)傳感器和導航系統。

用于工業(yè)自動(dòng)化的 CAN
作為一種可靠的串行通信協(xié)議,具有錯誤檢測方法、穩健的信號邏輯和故障限制能力,基于 CAN 的協(xié)議(如 CANopen、DeviceNet 和智能分布式系統)廣泛用于工業(yè)機器控制。半導體制造設備、紙箱包裝機、紡織品加工機、印刷機和質(zhì)量控制設備,都依賴(lài)于嵌入式 CAN 網(wǎng)絡(luò )?;贑AN的分布式控制系統廣泛用于機器人控制和流水線(xiàn)自動(dòng)化。

樓宇自動(dòng)化中的CAN
在樓宇自動(dòng)化中,CAN 協(xié)議被子網(wǎng)廣泛使用。電梯和升降機控制系統、空調系統、自動(dòng)門(mén)、自動(dòng)窗簾開(kāi)啟器、窗簾控制系統、加熱和冷卻系統以及照明控制系統使用基于 CAN 的協(xié)議在來(lái)自不同域的電子設備之間進(jìn)行通信。

醫療電子中的 CAN
由于具有穩健的信號、錯誤檢測能力和跨域通信,CAN 是一種廣泛應用于 X 光機和 CT 掃描儀等醫療電子設備中的設備內通信的協(xié)議?;?CAN 的協(xié)議也適用于重癥監護室和手術(shù)室的設備間網(wǎng)絡(luò )。

嵌入式電子產(chǎn)品中的
CAN CAN 支持靈活的嵌入式網(wǎng)絡(luò ),并在許多消費電器和設備中用作系統總線(xiàn),例如洗衣機、自動(dòng)售貨機、音頻視頻系統、咖啡機和許多其他家用電器。


*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。

電容相關(guān)文章:電容原理


關(guān)鍵詞: CAN 協(xié)議

相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>