【正文】
還在繼續(xù),相信在未來的發(fā)展中, CAN 總線通過不斷的更新和改進(jìn),能夠取得更大的進(jìn)步。 CAN 總線的發(fā)展已經(jīng)頗具規(guī)模,它不僅在汽車領(lǐng)域的應(yīng)用占據(jù)一定優(yōu)勢(shì),在其他工業(yè)領(lǐng)域內(nèi)也占有一席之地。 CAN 總線以其高性能,高可靠性及獨(dú)特的設(shè)計(jì),在現(xiàn)代分布式測(cè)量與控制技術(shù)領(lǐng)域中的應(yīng)用已愈來愈廣泛。世界上一些著名的汽車制造廠商,都采用了 CAN 總線來實(shí)現(xiàn)汽車內(nèi)部 控制系統(tǒng)與各檢測(cè)和執(zhí)行機(jī)構(gòu)間的數(shù)據(jù)通信。 CAN 總線共享信息和資源,總線的數(shù)據(jù)通信提高了系統(tǒng)可靠性、實(shí)時(shí)性、靈活性、可維護(hù)性,更好地匹配和協(xié)調(diào)各個(gè)控制系統(tǒng)。 CAN 總線具有位填充、回讀、錯(cuò)誤約束、出錯(cuò)自動(dòng)重發(fā)等優(yōu)點(diǎn),同時(shí)通信速率高、通信距離遠(yuǎn)、容易實(shí)現(xiàn)、且性價(jià)比高。在處理沖突時(shí),由于該信號(hào)的二值且“單穩(wěn)態(tài)”的特性變得簡(jiǎn)單,報(bào)錯(cuò)幀可以使所有節(jié)點(diǎn)很容易地取得一致性的數(shù)據(jù),并且保證了節(jié)點(diǎn)狀態(tài)的同步,這種二值特性對(duì) CAN 總線的可靠性有很大保障。 CAN 總線的 信號(hào)狀態(tài)為 2種,隱位與顯位。 CAN 卓越的特性、極高的可靠性和獨(dú)特的設(shè)計(jì),特別適合工業(yè)過程監(jiān)控設(shè)備的通信,因此,越來越受到工業(yè)界的重視,并已公認(rèn)為最有前途的現(xiàn)場(chǎng)總線之一??筛鶕?jù)報(bào)文的 ID 決定接收或屏蔽該報(bào)文。 CAN 總線采用雙線串行通信方式,檢錯(cuò)能力強(qiáng),可在高噪聲干擾環(huán)境中工作。 5) CAN 總線協(xié)議采用了完善的錯(cuò)誤檢測(cè)與錯(cuò)誤處理機(jī)制,包括了 CRC 校驗(yàn)、錯(cuò)誤報(bào)文自動(dòng)重發(fā)、錯(cuò)誤狀態(tài)判斷、臨時(shí)錯(cuò)誤自動(dòng)恢復(fù)等措施,從而很好的保證了數(shù)據(jù)通信的可靠性。 4) CAN 采用非破壞性的總線仲裁技術(shù),即載波偵聽多路訪問/沖突檢測(cè) (CSMA/ CD)的總線仲裁方式,當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送 數(shù)據(jù)時(shí),優(yōu)先級(jí)低的節(jié)點(diǎn)會(huì)主動(dòng)停止發(fā)送,高優(yōu)先級(jí)的節(jié)點(diǎn)可繼續(xù)傳輸,節(jié)省總線仲裁時(shí)間。 CAN 總線上任意節(jié)點(diǎn)可以點(diǎn)對(duì)點(diǎn),一對(duì)多及廣播集中方式傳送和接受數(shù)據(jù),而且可以任意時(shí)刻主動(dòng)地向網(wǎng)絡(luò)上其它節(jié)點(diǎn)發(fā)送信息而不分主次,因此可在各節(jié)點(diǎn)之間實(shí)現(xiàn)自由通信。采用短幀結(jié)構(gòu),每一幀的有效字節(jié)數(shù)為8 個(gè),數(shù)據(jù)傳輸時(shí)間短,受干擾的概率低,重新發(fā)送的時(shí)間短,從而保 證了通信的實(shí)時(shí)性。這種按數(shù)據(jù)塊編碼的方式,使用報(bào)文的標(biāo)識(shí)符來指定報(bào)文的優(yōu)先級(jí)以及報(bào)文的內(nèi)容,高優(yōu)先級(jí)的節(jié)點(diǎn)享有傳送報(bào)文的優(yōu)先權(quán)。 2) CAN 總線沒有采取傳統(tǒng)的站地址編碼,不對(duì)節(jié)點(diǎn)進(jìn)行地址規(guī)定,而是把通信數(shù)據(jù)塊進(jìn)行編碼。 CAN 沒有采用站地址編碼,而是對(duì)通信數(shù)據(jù)進(jìn)行編碼,這可使不同的節(jié)點(diǎn)同時(shí)接收到數(shù)據(jù),這使得 CAN 總線的數(shù)據(jù)通信實(shí)時(shí)性強(qiáng),并且容易構(gòu)成冗余結(jié)構(gòu),提高系統(tǒng)的可靠性和系統(tǒng)的靈活性。 CAN 支持分布式控制或?qū)崟r(shí)控制,工作于多主方式,網(wǎng)絡(luò)上各個(gè)節(jié)點(diǎn)均可以在任一時(shí)刻主動(dòng)發(fā)送信息,可以點(diǎn)對(duì) 點(diǎn),點(diǎn)對(duì)多點(diǎn)以及全局廣播方式收發(fā)數(shù)據(jù)。達(dá)到簡(jiǎn)化布線、減少傳感器數(shù)量、避免控制功能重復(fù)的效果?;贑AN 總線的分布式控制系統(tǒng)在很多方面具有明顯的優(yōu)越性。通訊一般采用主從方式,通過主站查詢方式進(jìn)行通訊,實(shí)時(shí)性、可靠性較差。 CAN (Controller Area Network)屬于現(xiàn)場(chǎng)總線的一種,在傳統(tǒng)的工業(yè)控制領(lǐng)域中,大部分的通信采用 RS23 RS485 或 RS422 總線。 CAN 總線的特點(diǎn) 80年代末,在汽車工業(yè)中,由于眾多的控制設(shè)備與測(cè)試儀器之間需要進(jìn)行大量數(shù)據(jù)交換,傳統(tǒng)的總線無法滿足需求,德國(guó) BOSCH 公司提出了 CAN 總線,這種新的串行數(shù)據(jù)通訊協(xié)議。隨著汽車電子技術(shù)的發(fā)展,消費(fèi)者對(duì)于汽車功能的要求越來越多,汽車上所用的電控單元不斷增多,電控單元之間信息交換的需求,使得電子裝 置之間的通訊越來越復(fù)雜,同時(shí)意味著需要更多的連接信號(hào)線,這就促進(jìn)了車用總線技術(shù)的發(fā)展。 在計(jì)算機(jī)數(shù)據(jù)傳輸領(lǐng)域內(nèi),長(zhǎng)期以來使用的通信標(biāo)準(zhǔn),盡管被廣泛使用,但是無法在需要使用大量的傳感器和控制器的復(fù)雜或大規(guī)模的環(huán)境中使用。 微處理器中常用的串行總線是通用異步接收器傳輸總線 (UART)、串行通信接口(SCI)、同步外設(shè)接口 (SPI)、內(nèi)部集成電路 (I2C)和通用串行總線 (USB),以及車用串行總線,包括控制器區(qū)域網(wǎng) (CAN)和本地互連網(wǎng) (LIN)等。高速、高可靠和低成本的通信介質(zhì)的要求也隨之提高。 CAN的應(yīng)用范圍遍及從 高速網(wǎng)絡(luò)到低成本的多線路網(wǎng)絡(luò),它可以應(yīng)用于汽車系統(tǒng)、機(jī)械、技術(shù)設(shè)備和工業(yè)自動(dòng)化里幾乎任何類型的數(shù)據(jù)通信。 CAN 總線通訊基于 51 單片機(jī)應(yīng)用 第一章 前 言 概述 控制器局域網(wǎng)( CAN- Controller Area Network)屬于現(xiàn)場(chǎng)總線( Fieldbus)的范疇,是眾多的屬于現(xiàn)場(chǎng)總線標(biāo)準(zhǔn)之一,它適用于工業(yè)控制系統(tǒng),具有通信速率高、可靠性強(qiáng)、連接方便、性能價(jià)格比高等諸多特點(diǎn)。它是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò),以其短報(bào)文幀及 CSMA/CDAMP(帶有信息優(yōu)先權(quán)及沖突檢測(cè)的載波監(jiān)聽多路訪問)的 MAC(媒介訪問控制)方式而倍受工業(yè)自動(dòng)化領(lǐng)域中設(shè)備互連的厚愛。 隨著計(jì)算機(jī)硬件、軟件及集成電路技術(shù)的迅速發(fā)展,同時(shí)消費(fèi)類電子產(chǎn)品、計(jì)算機(jī)外設(shè)、汽車和工業(yè)應(yīng)用等的需求不斷增加?,F(xiàn)場(chǎng)總線是當(dāng)今自動(dòng)化領(lǐng)域技術(shù)發(fā)展的熱點(diǎn)之一,它為分布式控制系統(tǒng)實(shí)現(xiàn)各節(jié)點(diǎn)之間實(shí)時(shí)、可靠的數(shù)據(jù)通信提供了強(qiáng)有力的技術(shù)支持。這些總線在速度、物理接口要求和通信方法學(xué)上都有所不同。控制器局部網(wǎng) CAN(CONTROLLER AERANETW0RK)就是為適應(yīng)這種需要而發(fā)展起來的。 CAN 總線的出現(xiàn),就是為了減少不斷增加的信號(hào)線,所有的外圍器件都可以被連接到總線上 由于 CAN 總線具有可靠性高、實(shí)時(shí)性好、成本合理等優(yōu)點(diǎn),逐漸被應(yīng)用于如船舶、航天、工業(yè)測(cè)控、自動(dòng)化、電力系統(tǒng)、樓宇監(jiān)控等其他領(lǐng)域中。 CAN 總線即 控制器局域網(wǎng)總線,通信接口中集成了 CAN 協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對(duì)通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗(yàn)、優(yōu)先級(jí)判別等項(xiàng)工作。相比之下, RS23 RS485或 RS422 總線有著通信距離近,通訊速度慢,抗干擾性能差等缺點(diǎn)。當(dāng)系統(tǒng)有錯(cuò)誤,多節(jié)點(diǎn)同時(shí)向總線 發(fā)送數(shù)據(jù)時(shí),導(dǎo)致總線呈現(xiàn)短路,從而損壞某些節(jié)點(diǎn)。 L 而 CAN 的電路結(jié)構(gòu)簡(jiǎn)單,要求的線數(shù)較少,只需要兩根線與外部器件互聯(lián),使得各控制單元能夠通過 CAN 總線共享所有的信息和資源。 CAN 具有的完善的通信協(xié)議,并且可以通過 CAN 控制器芯片及其接口芯片來實(shí)現(xiàn),從而大大降低系統(tǒng)開發(fā)難度,縮短了開發(fā)周期。網(wǎng)絡(luò)中的各節(jié)點(diǎn)都可根據(jù)總線訪問優(yōu)先權(quán),采用非破壞性總線總裁技術(shù),通信速度快,可靠性高,可大大節(jié)省了總線仲裁沖突時(shí)間,在網(wǎng)絡(luò)負(fù)載很重的情況下 也不會(huì)出現(xiàn)網(wǎng)絡(luò)癱瘓。 它具有如下特點(diǎn) : 1) CAN 是到目前為止為數(shù)不多的有國(guó)際標(biāo)準(zhǔn)的現(xiàn)場(chǎng)總線,總線協(xié)議已被國(guó)際標(biāo)準(zhǔn)化組織認(rèn)證,技術(shù)比較成熟,控制的芯片已經(jīng)商品化, 性價(jià)比高,特別適用于分布式測(cè)控系統(tǒng)之間的數(shù)通訊。這種方法的優(yōu)點(diǎn)可使網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)個(gè)數(shù)在理論上不受限 制,數(shù)據(jù)塊的標(biāo)識(shí)碼可由 1l 位或 29位二進(jìn)制數(shù)組成。還可使不同的節(jié)點(diǎn)同時(shí)接收到相同的數(shù)據(jù),這一點(diǎn)在分布式控制系統(tǒng)中非常有用。 3) CAN 總線采用了多主競(jìng)爭(zhēng)式總線結(jié)構(gòu),通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維,可以多個(gè)主站運(yùn)行并且分散仲裁。 CAN 通訊距離最大是 1O 公里 (設(shè)速率為 5Kbps),最大通信速率為 1Mbit/ s(設(shè)通信距離為 4O米 )。避免多個(gè)節(jié)點(diǎn)同時(shí)開始發(fā)送消息而造成總線沖突,保證優(yōu)先級(jí)高的報(bào)文能夠優(yōu)先發(fā)送。節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下,具有自動(dòng)關(guān)黔 6) 閉總線的功能,切斷它與總線的聯(lián)系,以使總線上其他操作不受影響。具有實(shí)時(shí)性強(qiáng)、傳輸距離 較遠(yuǎn)、抗電磁干擾能力強(qiáng)、成本低等優(yōu)點(diǎn)??煽康腻e(cuò)誤處理和檢錯(cuò)機(jī)制,發(fā)送的信息遭到破壞后,可自動(dòng)重發(fā),報(bào)文不包含源地址或目標(biāo)地址,僅用標(biāo)志符來指示