新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > CAN總線基礎(chǔ)知識

CAN總線基礎(chǔ)知識

作者: 時間:2013-05-18 來源:網(wǎng)絡(luò) 收藏
  CAN基本知識
  什么是CAN ?
  CAN,全稱為“Controller Area Network”,即控制器局域網(wǎng),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。最初,CAN被設(shè)計作為汽車環(huán)境中的微控制器通訊,在車載各電子控制裝置ECU之間交換信息,形成汽車電子控制網(wǎng)絡(luò)。比如:發(fā)動機管理系統(tǒng)、變速箱控制器、儀表裝備、電子主干系統(tǒng)中,均嵌入CAN控制裝置。
  一個由CAN 總線構(gòu)成的單一網(wǎng)絡(luò)中,理論上可以掛接無數(shù)個節(jié)點。實際應(yīng)用中,節(jié)點數(shù)目受網(wǎng)絡(luò)硬件的電氣特性所限制。例如,當(dāng)使用Philips P82C250作為CAN收發(fā)器時,同一網(wǎng)絡(luò)中允許掛接110個節(jié)點。CAN 可提供高達1Mbit/s的數(shù)據(jù)傳輸速率,這使實時控制變得非常容易。另外,硬件的錯誤檢定特性也增強了CAN的抗電磁干擾能力。
  CAN 是怎樣發(fā)展起來的?
  CAN最初出現(xiàn)在80年代末的汽車工業(yè)中,由德國Bosch公司最先提出。當(dāng)時,由于消費者對于汽車功能的要求越來越多,而這些功能的實現(xiàn)大多是基于電子操作的,這就使得電子裝置之間的通訊越來越復(fù)雜,同時意味著需要更多的連接信號線。提出的最初動機就是為了解決現(xiàn)代汽車中龐大的電子控制裝置之間的通訊,減少不斷增加的信號線。于是,他們設(shè)計了一個單一的網(wǎng)絡(luò)總線,所有的外圍器件可以被掛接在該總線上。1993年,CAN 已成為國際標(biāo)準(zhǔn)ISO11898(高速應(yīng)用)和ISO11519(低速應(yīng)用)。
  CAN是一種多主方式的串行通訊總線,基本設(shè)計規(guī)范要求有高的位速率,高抗電磁干擾性,而且能夠檢測出產(chǎn)生的任何錯誤。當(dāng)信號傳輸距離達到10Km時,CAN 仍可提供高達50Kbit/s的數(shù)據(jù)傳輸速率。
  由于具有很高的實時性能,因此,CAN已經(jīng)在汽車工業(yè)、航空工業(yè)、工業(yè)控制、安全防護等領(lǐng)域中得到了廣泛應(yīng)用。
  CAN 是怎樣工作的?
  CAN通訊協(xié)議主要描述設(shè)備之間的信息傳遞方式。CAN層的定義與開放系統(tǒng)互連模型(OSI)一致。每一層與另一設(shè)備上相同的那一層通訊。實際的通訊發(fā)生在每一設(shè)備上相鄰的兩層,而設(shè)備只通過模型物理層的物理介質(zhì)互連。CAN的規(guī)范定義了模型的最下面兩層:數(shù)據(jù)鏈路層和物理層。下表中展示了OSI開放式互連模型的各層。應(yīng)用層協(xié)議可以由CAN用戶定義成適合特別工業(yè)領(lǐng)域的任何方案。已在工業(yè)控制和制造業(yè)領(lǐng)域得到廣泛應(yīng)用的標(biāo)準(zhǔn)是DeviceNet,這是為PLC和智能傳感器設(shè)計的。在汽車工業(yè),許多制造商都應(yīng)用他們自己的標(biāo)準(zhǔn)。
  表1 OSI開放系統(tǒng)互連模型
  7 應(yīng)用層 最高層。用戶、軟件、網(wǎng)絡(luò)終端等之間用來進行信息交換。如:DeviceNet
  6 表示層 將兩個應(yīng)用不同數(shù)據(jù)格式的系統(tǒng)信息轉(zhuǎn)化為能共同理解的格式
  5 會話層 依靠低層的通信功能來進行數(shù)據(jù)的有效傳遞。
  4 傳輸層 兩通訊節(jié)點之間數(shù)據(jù)傳輸控制。操作如:數(shù)據(jù)重發(fā),數(shù)據(jù)錯誤修復(fù)
  3 網(wǎng)絡(luò)層 規(guī)定了網(wǎng)絡(luò)連接的建立、維持和拆除的協(xié)議。如:路由和尋址
  2 數(shù)據(jù)鏈路層 規(guī)定了在介質(zhì)上傳輸?shù)臄?shù)據(jù)位的排列和組織。如:數(shù)據(jù)校驗和幀結(jié)構(gòu)
  1 物理層 規(guī)定通訊介質(zhì)的物理特性。如:電氣特性和信號交換的解釋
  
  CAN能夠使用多種物理介質(zhì),例如雙絞線、光纖等。最常用的就是雙絞線。信號使用差分電壓傳送,兩條信號線被稱為“CAN_H”和“CAN_L”,靜態(tài)時均是2.5V左右,此時狀態(tài)表示為邏輯“1”,也可以叫做“隱性”。用CAN_H比CAN_L高表示邏輯“0”,稱為“顯形”,此時,通常電壓值為:CAN_H = 3.5V 和CAN_L = 1.5V 。
  - 1 - 北京華控技術(shù)有限責(zé)任公司電話:(010)58859951~69轉(zhuǎn)9906 傳真: 58859818 http://www.huakong.com.cn
  CAN 有哪些特性?
  CAN具有十分優(yōu)越的特點,使人們樂于選擇。這些特性包括:
   低成本
   極高的總線利用率
   很遠的數(shù)據(jù)傳輸距離(長達10Km)
   高速的數(shù)據(jù)傳輸速率(高達1Mbit/s)
   可根據(jù)報文的ID決定接收或屏蔽該報文
   可靠的錯誤處理和檢錯機制
   發(fā)送的信息遭到破壞后,可自動重發(fā)
   節(jié)點在錯誤嚴重的情況下具有自動退出總線的功能
   報文不包含源地址或目標(biāo)地址,僅用標(biāo)志符來指示功能信息、優(yōu)先級信息
  Philips制造的CAN芯片有哪些?
  表2 CAN芯片一覽表
  類別 型號 備注
  CAN微控制器 P87C591 替代P87C592
  XA C37 16位MCU
  CAN獨立控制器 SJA1000 替代82C200
  CAN收發(fā)器 PCA82C250 高速CAN收發(fā)器
  PCA82C251 高速CAN收發(fā)器
  PCA82C252 容錯CAN收發(fā)器
  TJA1040 高速CAN收發(fā)器
  TJA1041 高速CAN收發(fā)器
  TJA1050 高速CAN收發(fā)器
  TJA1053 容錯CAN收發(fā)器
  TJA1054 容錯CAN收發(fā)器
  LIN收發(fā)器 TJA1020 LIN收發(fā)器
  
  什么是CSMA/CD ?
  CSMA/CD是“載波偵聽多路訪問/沖突檢測”(Carrier Sense Multiple Access with Collision Detect)的縮寫。
  利用CSMA訪問總線,可對總線上信號進行檢測,只有當(dāng)總線處于空閑狀態(tài)時,才允許發(fā)送。利用這種方法,可以允許多個節(jié)點掛接到同一網(wǎng)絡(luò)上。當(dāng)檢測到一個沖突位時,所有節(jié)點重新回到‘監(jiān)聽’總線狀態(tài),直到該沖突時間過后,才開始發(fā)送。在總線超載的情況下,這種技術(shù)可能會造成發(fā)送信號經(jīng)過許多延遲。為了避免發(fā)送時延,可利用CSMA/CD方式訪問總線。當(dāng)總線上有兩個節(jié)點同時進行發(fā)送時,必須通過“無損的逐位仲裁”方法來使有最高優(yōu)先權(quán)的的報文優(yōu)先發(fā)送。在上發(fā)送的每一條報文都具有唯一的一個11位或29位數(shù)字的ID。CAN總線狀態(tài)取決于二進制數(shù)‘0’而不是‘1’,所以ID號越小,則該報文擁有越高的優(yōu)先權(quán)。因此一個為全‘0’標(biāo)志符的報文具有總線上的最高級優(yōu)先權(quán)??捎昧硗獾姆椒▉斫忉專涸谙_突的位置,第一個節(jié)點發(fā)送0而另外的節(jié)點發(fā)送1,那么發(fā)送0的節(jié)點將取得總線的控制權(quán),并且能夠成功的發(fā)送出它的信息。
  - 2 - 北京華控技術(shù)有限責(zé)任公司電話:(010)58859951~69轉(zhuǎn)9906 傳真: 58859818 http://www.huakong.com.cn
  CAN的高層協(xié)議
  CAN的高層協(xié)議(也可理解為應(yīng)用層協(xié)議)是一種在現(xiàn)有的底層協(xié)議(物理層和數(shù)據(jù)鏈路層)之上實現(xiàn)的協(xié)議。高層協(xié)議是在CAN規(guī)范的基礎(chǔ)上發(fā)展起來的應(yīng)用層。許多系統(tǒng)(像汽車工業(yè))中,可以特別制定一個合適的應(yīng)用層,但對于許多的行業(yè)來說,這種方法是不經(jīng)濟的。一些組織已經(jīng)研究并開放了應(yīng)用層標(biāo)準(zhǔn),以使系統(tǒng)的綜合應(yīng)用變得十分容易。
  一些可使用的CAN高層協(xié)議有:
  制定組織主要高層協(xié)議
  CiA CAL協(xié)議
  CiA CANOpen協(xié)議
  ODVA DeviceNet 協(xié)議
  Honeywell SDS 協(xié)議
  Kvaser CANKingdom協(xié)議
  什么是標(biāo)準(zhǔn)格式CAN和擴展格式CAN?
  標(biāo)準(zhǔn)CAN的標(biāo)志符長度是11位,而擴展格式CAN的標(biāo)志符長度可達29位。CAN 協(xié)議的2.0A版本規(guī)定CAN控制器必須有一個11位的標(biāo)志符。同時,在2.0B版本中規(guī)定,CAN控制器的標(biāo)志符長度可以是11位或29位。遵循CAN2.0B協(xié)議的CAN控制器可以發(fā)送和接收11位標(biāo)識符的標(biāo)準(zhǔn)格式報文或29位標(biāo)識符的擴展格式報文。如果禁止CAN2.0B,則CAN 控制器只能發(fā)送和接收11位標(biāo)識符的標(biāo)準(zhǔn)格式報文,而忽略擴展格式的報文結(jié)構(gòu),但不會出現(xiàn)錯誤。
  目前,Philips公司主要推廣的CAN獨立控制器均支持CAN2.0B協(xié)議,即支持29位標(biāo)識符的擴展格式報文結(jié)構(gòu)。
雙絞線傳輸器相關(guān)文章:雙絞線傳輸器原理


關(guān)鍵詞: CAN總線 基礎(chǔ)知識

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉