CAN[Control(Controller) Area Network]是控制(器)局域網的(de)簡稱
它是德國Bosch公司在1986年爲解決現代汽車中衆多(duō)測量控制部件之間的(de)數據交換而開發的(de)一種串行數據通(tōng)信總線。
現已被列入ISO 國際标準,稱爲ISO11898
CAN最初是爲汽車的(de)監測、控制系統而設計的(de),現已在航天、電力、石化(huà)、冶金、紡織、造紙、倉儲等行業廣泛采用(yòng)。在火車、輪船、機器人(rén)、樓宇自控、醫療器械、數控機床、智能傳感器、過程自動化(huà)儀表等自控設備中,都廣泛采用(yòng)CAN技術
CAN的(de)主要技術特點
CAN網絡上的(de)節點不分(fēn)主從,任一節點均可(kě)在任意時(shí)刻主動地向網絡上其他(tā)節點發送信息,通(tōng)信方式靈活,利用(yòng)這(zhè)一特點可(kě)方便地構成多(duō)機備份系統
CAN網絡上的(de)節點信息具有不同的(de)優先級,可(kě)滿足對(duì)實時(shí)性的(de)不同要求,高(gāo)優先級的(de)數據最多(duō)可(kě)在134微秒内得(de)到傳輸
CAN采用(yòng)非破壞性總線仲裁技術,當多(duō)個(gè)節點同時(shí)向總線發送信息時(shí),優先級較低的(de)節點會主動地退出發送,而最高(gāo)優先級的(de)節點可(kě)不受影(yǐng)響地繼續傳輸數據,從而節省了(le)總線沖突的(de)仲裁時(shí)間。
CAN隻需通(tōng)過報文濾波即可(kě)實現點對(duì)點、一點對(duì)多(duō)點及全局廣播等幾種方式傳送接收數據,無需專門的(de)"調度"
CAN的(de)直接通(tōng)信距離最遠(yuǎn)可(kě)達10km(速率5kbps以下(xià));通(tōng)信速率最高(gāo)可(kě)達1Mbps(此時(shí)通(tōng)信距離最長(cháng)爲40m)。
CAN上的(de)節點數主要決定于總線驅動電路,目前可(kě)達110個(gè);報文标識符可(kě)達2032種(CAN2.0A),而擴展标準(CAN2.0B)的(de)報文标識符幾乎不受限制
采用(yòng)短幀結構,傳輸時(shí)間短,受幹擾概率低,具有良好的(de)檢錯效果。 。
CAN節點中均有錯誤檢測、标定和(hé)自檢能力。檢錯的(de)措施包括:發送自檢、循環冗餘校驗、位填充和(hé)報文格式檢查等。保證了(le)低出錯率。
CAN節點在錯誤嚴重的(de)情況下(xià)具有自動關閉輸出功能,以使總線上其他(tā)節點的(de)操作不受影(yǐng)響。
CAN的(de)通(tōng)信介質可(kě)爲雙絞線、同軸電纜或光(guāng)纖,選擇靈活。
CAN器件可(kě)被置于無任何内部活動的(de)睡(shuì)眠方式,相當于未連接到總線驅動器。這(zhè)樣可(kě)降低系統功耗。其睡(shuì)眠狀态可(kě)借助總線激活或者系統的(de)内部條件被喚醒。
CAN在汽車電子系統中得(de)到廣泛應用(yòng)
現代汽車越來(lái)越多(duō)地采用(yòng)電子裝置控制,如發動機控制、注油控制,加速、刹車控制(ASC)及複雜(zá)的(de)防死鎖刹車系統(ABS)等。
汽車内部所具有的(de)控制器、執行器、監測儀器、傳感器的(de)數量很多(duō),按模拟系統的(de)接線方式,一個(gè)傳統車輛的(de)典型連線束展開後,其長(cháng)度約爲1600多(duō)米,有将近300個(gè)接頭
這(zhè)些控制需檢測及交換大(dà)量數據,因而引入CAN通(tōng)信技術,組成汽車内部網絡,以适應控制與數據通(tōng)信的(de)需要。
世界上一些著名汽車制造廠商如BENZ(奔馳)、BMW(寶馬)、PORSCHE(保時(shí)捷)ROLLS-ROYCE(羅斯萊斯)JAGUAR(美(měi)洲豹)等都已開始采用(yòng)CAN總線來(lái)實現汽車内部控制系統與各檢測和(hé)執行機構間的(de)數據通(tōng)信。
基于CAN總線的(de)數據通(tōng)信與網絡技術在汽車行業有良好的(de)應用(yòng)前景
汽車内部網絡的(de)構成
汽車内部網絡由一系列稱之爲ECU(電控單元)的(de)不同功能部件作爲網絡節點而構成的(de)。
可(kě)分(fēn)爲動力、照(zhào)明(míng)、操作、顯示、安全、娛樂(yuè)等多(duō)個(gè)子系統。
Motorola公司提出的(de)基于CAN的(de)汽車内部網絡的(de)解決方案。
動力系統采用(yòng)傳輸速率大(dà)于250kbps的(de)CAN網段,車身電子系統采用(yòng)傳輸速率不小于125kbps的(de)低速CAN網段,兩個(gè)子網之間通(tōng)過中央模塊實現互連。
汽車内部網絡的(de)解決方案 ( Motorola )
CAN通(tōng)信技術
CAN的(de)通(tōng)信參考模型
CAN的(de)通(tōng)信模型的(de)分(fēn)層結構
數據鏈路層
包括邏輯鏈路控制子層LLC
LLC的(de)主要功能是:爲數據傳送和(hé)遠(yuǎn)程數據請求提供服務,确認由LLC子層接收的(de)報文實際已被接收,并爲恢複管理(lǐ)和(hé)通(tōng)知超載提供信息
媒體訪問控制子層MAC)
MAC子層主要規定傳輸規則,即控制幀結構、執行仲裁、錯誤檢測、出錯标定和(hé)故障界定
物(wù)理(lǐ)層
物(wù)理(lǐ)層規定了(le)節點的(de)全部電氣特性
CAN節點網絡的(de)連接
CAN總線的(de)顯位與隐位
顯位(0)
VCANH: 3.5v
VCANL 1 1.5v
隐位(1)
VCANH 2.5v
VCANL 2.5v
CAN的(de)幀類型
4種不同類型的(de)幀:數據幀、遠(yuǎn)程幀、出錯幀或超載幀
數據幀攜帶數據由發送器至接收器
遠(yuǎn)程幀用(yòng)以請求總線上的(de)相關單元發送具有相同标識符的(de)數據幀
出錯幀由檢測出總線錯誤的(de)單元發送
超載幀用(yòng)于提供當前的(de)和(hé)後續的(de)數據幀的(de)附加延遲
CAN的(de)幀結構
數據幀由7個(gè)不同的(de)位場(chǎng)(域)組成:
幀起始(1個(gè)顯位),标志幀的(de)起始
仲裁場(chǎng)、控制場(chǎng)、數據場(chǎng)、CRC場(chǎng)、應答(dá)場(chǎng)和(hé)幀結束(7個(gè)隐位)。
數據場(chǎng)長(cháng)度可(kě)爲零 。
CAN數據幀的(de)組成
CAN2.0A 與CAN2.0B
CAN2.0A:
标識符的(de)長(cháng)度爲11位,這(zhè)些位從高(gāo)位到低位的(de)順序發送,最低位爲ID.0,其中最高(gāo)7位(ID.10-ID.4)不能全爲隐位。
遠(yuǎn)程發送請求位(RTR)在數據幀中必須是顯位,而在遠(yuǎn)程幀中必須爲隐位
仲裁場(chǎng)由11位标識符和(hé)遠(yuǎn)程發送請求位RTR組成。
CAN 2.0B:
存在兩種不同的(de)幀格式,具有11位标識符的(de)标準幀,29位标識符的(de)擴展幀
标準幀與CAN2.0A相同
擴展幀的(de)仲裁場(chǎng)由29位标識符和(hé)替代遠(yuǎn)程請求SRR位、标識位和(hé)遠(yuǎn)程發送請求位組成,标識符位爲ID.28至ID.0。
CAN數據幀的(de)組成
遠(yuǎn)程幀
遠(yuǎn)程幀由6個(gè)場(chǎng)組成:幀起始、仲裁場(chǎng)、控制場(chǎng)、CRC場(chǎng)、應答(dá)場(chǎng)和(hé)幀結束。遠(yuǎn)程幀不存在數據場(chǎng)。
遠(yuǎn)程幀的(de)RTR位必須是隐位。
DLC的(de)數據值是獨立的(de),它可(kě)以是0~8中的(de)任何數值,爲對(duì)應數據幀的(de)數據長(cháng)度。
出錯幀
出錯幀由兩個(gè)不同場(chǎng)組成,第一個(gè)場(chǎng)由來(lái)自各站的(de)錯誤标志疊加得(de)到,第二個(gè)場(chǎng)是出錯界定符
錯誤标志具有兩種形式:
活動錯誤标志(Active error flag),由6個(gè)連續的(de)顯位組成
認可(kě)錯誤标志(Passive error flag),由6個(gè)連續的(de)隐位組成
出錯界定符包括8個(gè)隐位
超載幀
超載幀包括兩個(gè)位場(chǎng):超載标志和(hé)超載界定符
發送超載幀的(de)超載條件:
要求延遲下(xià)一個(gè)數據幀或遠(yuǎn)程幀
在間歇場(chǎng)檢測到顯位
超載标志由6個(gè)顯位組成
超載界定符由8個(gè)隐位組成
CAN通(tōng)信控制器
CAN通(tōng)信控制器82C200
CAN控制器主要由實現CAN總線協議(yì)部分(fēn)和(hé)與微控制器接口部分(fēn)電路組成。對(duì)于不同型号的(de)CAN總線通(tōng)信控制器,實現CAN協議(yì)的(de)電路,其結構和(hé)功能大(dà)體相同;與微控制<