CAN協(xié)議和CANOpen協(xié)議兩套協(xié)議的不同點(diǎn)
本文說(shuō)的CAN即是一種總線,也是一種協(xié)議。因此,我們常聽(tīng)見(jiàn)CAN總線,也常聽(tīng)見(jiàn)CAN協(xié)議。
CAN協(xié)議和CANOpen協(xié)議是兩套不同的協(xié)議。從軟硬件層次來(lái)劃分,CAN協(xié)議屬于硬件協(xié)議,而CANOpen屬于軟件協(xié)議。CAN 總線(Controller Area Network)是控制器局域網(wǎng)的簡(jiǎn)稱,是 20 世紀(jì) 80 年代初德國(guó) BOSCH 公司為解決現(xiàn)代汽車中眾多的控制與測(cè)試儀器之間的數(shù)據(jù)交換而開(kāi)發(fā)的一種串行數(shù)據(jù)通信協(xié)議。目前,CAN 總線已經(jīng)被列入 ISO 國(guó)際標(biāo)準(zhǔn),稱為 ISO11898。CAN 總線已經(jīng)成為工業(yè)數(shù)據(jù)通信的主流技術(shù)之一。
CAN 總線作為數(shù)字式串行通信技術(shù),與其他同類技術(shù)相比,在可靠性、實(shí)時(shí)性和靈活性方面具有獨(dú)特的技術(shù)優(yōu)勢(shì),主要特點(diǎn)如下:
? CAN 總線是一種多主總線,總線上任意節(jié)點(diǎn)可在任意時(shí)刻主動(dòng)地向網(wǎng)絡(luò)上其他節(jié)點(diǎn)發(fā)送信息而不分主次,因此可在各節(jié)點(diǎn)之間實(shí)現(xiàn)自由通信。
? CAN 總線采用非破壞性總線仲裁技術(shù)。但多個(gè)節(jié)點(diǎn)同時(shí)向總線發(fā)送信息時(shí),優(yōu)先級(jí)低的節(jié)點(diǎn)會(huì)主動(dòng)退出發(fā)送,而最高優(yōu)先級(jí)的節(jié)點(diǎn)可以不受影響地繼續(xù)傳輸數(shù)據(jù),從而大大節(jié)省總線沖突的仲裁時(shí)間。即使在網(wǎng)絡(luò)負(fù)載很重的情況下也不會(huì)發(fā)生網(wǎng)絡(luò)癱瘓情況。
? CAN 總線的通信介質(zhì)可以是雙絞線、同軸電纜或光導(dǎo)纖維,選擇靈活。
? CAN 總線的通信速率可達(dá) 1Mbit/s(此時(shí)通信距離最長(zhǎng)為 40 米),通信距離最遠(yuǎn)可達(dá) 10km(速率在 5kbit/s 以下)。
? CAN 總線上的節(jié)點(diǎn)信息分成不同的優(yōu)先級(jí),可以滿足不同級(jí)別的實(shí)時(shí)要求,高優(yōu)先級(jí)的數(shù)據(jù)可以在 134μs 內(nèi)得到傳輸。
? CAN 總線通過(guò)報(bào)文濾波即可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)及全局廣播等幾種方式傳送數(shù)據(jù),無(wú)需專門的調(diào)度。
? CAN 總線的數(shù)據(jù)采用短幀結(jié)構(gòu),傳輸時(shí)間短,受干擾概率低,具有極好的檢錯(cuò)效果。
? CAN 總線采用 CRC 檢驗(yàn)并可提供相應(yīng)的錯(cuò)誤處理功能,保證了數(shù)據(jù)通信的可靠性。
? CAN 總線上的器件可被置于無(wú)任何內(nèi)部活動(dòng)的睡眠方式,相當(dāng)于未連接到總線上,可以有效降低系統(tǒng)功耗。
? CAN 總線上的節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下具有自動(dòng)關(guān)閉輸出的功能,以使總線上其他節(jié)點(diǎn)的操作不受影響。
CAN 總線卓越的特性、極高的可靠性和獨(dú)特的設(shè)計(jì),特別適合工業(yè)過(guò)程中監(jiān)控設(shè)備的互連,因此,越來(lái)越受到工業(yè)界的重視,并被公認(rèn)為是最有前途的現(xiàn)場(chǎng)總線之一。另外,CAN 總線協(xié)議已被國(guó)際標(biāo)準(zhǔn)化組織認(rèn)可,技術(shù)比較成熟,控制的芯片已經(jīng)商品化,性價(jià)比高,特別適用于分布式測(cè)控系統(tǒng)之間的數(shù)通訊。CAN 總線插卡可以任意插在 PC AT XT 兼容機(jī)上,方便地構(gòu)成分布式監(jiān)控系統(tǒng)。因此,用 FPGA 實(shí)現(xiàn) CAN 總線通信控制器具有非常重要的應(yīng)用價(jià)值。
使用CAN總線的注意事項(xiàng)
電氣特性 :CAN總線對(duì)電氣特性有嚴(yán)格的要求,包括電壓水平、終端電阻、電纜長(zhǎng)度等。確保遵循CAN總線規(guī)范中的電氣參數(shù),以保證通信的穩(wěn)定性。
拓?fù)浣Y(jié)構(gòu) :CAN總線通常采用線性或星形拓?fù)?。線性拓?fù)浜?jiǎn)單,但對(duì)電纜長(zhǎng)度有限制;星形拓?fù)淇梢詼p少電纜長(zhǎng)度,但需要使用集線器或中繼器。
終端電阻 :在CAN總線的兩端必須安裝終端電阻,以減少信號(hào)反射,保證信號(hào)完整性。
電纜選擇 :選擇適合CAN總線的雙絞線電纜,以減少電磁干擾和信號(hào)衰減。
節(jié)點(diǎn)數(shù)量 :CAN總線理論上可以支持多達(dá)110個(gè)節(jié)點(diǎn),但實(shí)際應(yīng)用中,節(jié)點(diǎn)數(shù)量應(yīng)根據(jù)網(wǎng)絡(luò)的負(fù)載和性能要求來(lái)確定。
錯(cuò)誤處理 :CAN總線具有錯(cuò)誤檢測(cè)和錯(cuò)誤處理機(jī)制,包括位錯(cuò)誤、幀錯(cuò)誤、CRC錯(cuò)誤等。了解這些機(jī)制對(duì)于故障診斷和系統(tǒng)維護(hù)至關(guān)重要。
消息優(yōu)先級(jí) :CAN總線通過(guò)消息ID來(lái)確定消息的優(yōu)先級(jí)。設(shè)計(jì)系統(tǒng)時(shí),應(yīng)合理分配消息ID,以確保高優(yōu)先級(jí)消息能夠及時(shí)傳輸。
實(shí)時(shí)性 :雖然CAN總線支持實(shí)時(shí)通信,但在高負(fù)載或復(fù)雜網(wǎng)絡(luò)中,消息可能會(huì)延遲。設(shè)計(jì)時(shí)需考慮實(shí)時(shí)性要求。
網(wǎng)絡(luò)安全 :隨著CAN總線在車輛中的應(yīng)用越來(lái)越廣泛,網(wǎng)絡(luò)安全成為一個(gè)重要議題。需要采取措施保護(hù)CAN總線免受惡意攻擊。
軟件和硬件兼容性 :確保所使用的CAN控制器和軟件工具與CAN總線標(biāo)準(zhǔn)兼容,以避免兼容性問(wèn)題。
CAN總線與其他通信協(xié)議對(duì)比
與LIN總線對(duì)比 :
成本 :LIN總線成本較低,因?yàn)樗褂脝尉€通信,而CAN總線需要雙絞線。
速度 :CAN總線的數(shù)據(jù)傳輸速率通常高于LIN總線,適合高速通信。
可靠性 :CAN總線具有更強(qiáng)的錯(cuò)誤檢測(cè)和處理能力,適合需要高可靠性的應(yīng)用。
與FlexRay總線對(duì)比 :
速度 :FlexRay總線的數(shù)據(jù)傳輸速率遠(yuǎn)高于CAN總線,適合需要極高速度的應(yīng)用。
復(fù)雜性 :FlexRay總線比CAN總線更復(fù)雜,成本也更高。
同步性 :FlexRay總線支持時(shí)間觸發(fā)通信,而CAN總線是事件觸發(fā)的。
與MOST總線對(duì)比 :
媒體類型 :MOST總線使用光纖通信,而CAN總線使用雙絞線。
速度 :MOST總線的數(shù)據(jù)傳輸速率遠(yuǎn)高于CAN總線,適合多媒體數(shù)據(jù)傳輸。
成本 :MOST總線的成本較高,因?yàn)樗枰饫w和相應(yīng)的接口。
與以太網(wǎng)對(duì)比 :
速度 :以太網(wǎng)的數(shù)據(jù)傳輸速率遠(yuǎn)高于CAN總線,適合大數(shù)據(jù)量的傳輸。
協(xié)議復(fù)雜性 :以太網(wǎng)協(xié)議比CAN總線復(fù)雜,需要更多的處理能力。
應(yīng)用領(lǐng)域 :以太網(wǎng)廣泛應(yīng)用于IT和網(wǎng)絡(luò)通信領(lǐng)域,而CAN總線主要用于車輛和工業(yè)控制。
與SerCOS總線對(duì)比 :
實(shí)時(shí)性 :SerCOS總線具有非常高的實(shí)時(shí)性,適合需要精確同步的應(yīng)用。
成本 :SerCOS總線的成本較高,因?yàn)樗枰厥獾挠布蛥f(xié)議支持。
應(yīng)用領(lǐng)域 :SerCOS總線主要用于工業(yè)自動(dòng)化和機(jī)器人領(lǐng)域。
總結(jié)來(lái)說(shuō),CAN總線以其可靠性、實(shí)時(shí)性和成本效益在車輛和工業(yè)控制領(lǐng)域占有重要地位。然而,根據(jù)不同的應(yīng)用需求,可能需要考慮其他通信協(xié)議。在選擇通信協(xié)議時(shí),應(yīng)綜合考慮成本、速度、可靠性、實(shí)時(shí)性等因素。