什么是CAN總線協(xié)議?看完保證你秒懂!
在這篇文章中,小編將為大家?guī)?a href="/tags/CAN" target="_blank">CAN總線協(xié)議的相關(guān)報道。如果你對本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。
一、CAN總線協(xié)議及其發(fā)展
控制器局域網(wǎng)總線(CAN,Controller Area Network)是一種用于實時應(yīng)用的串行通訊協(xié)議總線,它可以使用雙絞線來傳輸信號,是世界上應(yīng)用最廣泛的現(xiàn)場總線之一。CAN協(xié)議用于汽車中各種不同元件之間的通信,以此取代昂貴而笨重的配電線束。該協(xié)議的健壯性使其用途延伸到其他自動化和工業(yè)應(yīng)用。CAN協(xié)議的特性包括完整性的串行數(shù)據(jù)通訊、提供實時支持、傳輸速率高達(dá)1Mb/s、同時具有11位的尋址以及檢錯能力。
控制器局域網(wǎng)CAN( Controller Area Network)屬于現(xiàn)場總線的范疇,是一種有效支持分布式控制系統(tǒng)的串行通信網(wǎng)絡(luò)。是由德國博世公司在20世紀(jì)80年代專門為汽車行業(yè)開發(fā)的一種串行通信總線。由于其高性能、高可靠性以及獨特的設(shè)計而越來越受到人們的重視,被廣泛應(yīng)用于諸多領(lǐng)域。而且能夠檢測出產(chǎn)生的任何錯誤。當(dāng)信號傳輸距離達(dá)到10km時,CAN仍可提供高達(dá)50kbit/s的數(shù)據(jù)傳輸速率。由于CAN總線具有很高的實時性能和應(yīng)用范圍,從位速率最高可達(dá)1Mbps的高速網(wǎng)絡(luò)到低成本多線路的50Kbps網(wǎng)絡(luò)都可以任意搭配。因此,CAN己經(jīng)在汽車業(yè)、航空業(yè)、工業(yè)控制、安全防護(hù)等領(lǐng)域中得到了廣泛應(yīng)用。
隨著CAN總線在各個行業(yè)和領(lǐng)域的廣泛應(yīng)用,對其的通信格式標(biāo)準(zhǔn)化也提出了更嚴(yán)格的要求。1991年CAN總線技術(shù)規(guī)范(Version2.0)制定并發(fā)布。該技術(shù)規(guī)范共包括A和B兩個部分。其中2.0A給出了CAN報文標(biāo)準(zhǔn)格式,而2.0B給出了標(biāo)準(zhǔn)的和擴展的兩種格式。美國的汽車工程學(xué)會SAE在2000年提出了J1939協(xié)議,此后該協(xié)議成為了貨車和客車中控制器局域網(wǎng)的通用標(biāo)準(zhǔn)。CAN總線技術(shù)也在不斷發(fā)展。傳統(tǒng)的CAN是基于事件觸發(fā)的,信息傳輸時間的不確定性和優(yōu)先級反轉(zhuǎn)是它固有的缺陷。當(dāng)總線上傳輸消息密度較小時,這些缺陷對系統(tǒng)的實時性影響較小;但隨著在總線上傳輸消息密度的增加,系統(tǒng)實時性能會急劇下降。為了滿足汽車控制對實時性和傳輸消息密度不斷增長的需要,改善CAN總線的實時性能非常必要。于是,傳統(tǒng)CAN與時間觸發(fā)機制相結(jié)合產(chǎn)生了TTCAN(Time-Triggered CAN),ISO11898-4己包含了TTCAN。 TTCAN總線和傳統(tǒng)CAN總線系統(tǒng)的區(qū)別是:總線上不同的消息定義了不同的時間槽(Timer Slot)。
二、CAN總線協(xié)議之?dāng)?shù)據(jù)幀
在 CAN 協(xié)議中,數(shù)據(jù)幀和遙控幀有著諸多相同之處,將數(shù)據(jù)幀和遙控幀放在一起來講。數(shù)據(jù)幀是指包含了要傳輸?shù)臄?shù)據(jù)的幀,作用是承載發(fā)送節(jié)點要傳遞給接收節(jié)點的數(shù)據(jù)。遙控幀的作用:請求其它節(jié)點發(fā)出與本遙控幀具有相同 ID 號的數(shù)據(jù)幀。發(fā)起方發(fā)起特定ID的遙控幀,并且只發(fā)送ID部分,那么與其 ID相符的終端設(shè)備就有義務(wù)在后半段的數(shù)據(jù)部分接管總線控制權(quán)并發(fā)送自己的數(shù)據(jù)。 例如中控機需要定時獲取某個節(jié)點的數(shù)據(jù)(例如轉(zhuǎn)速計的實時轉(zhuǎn)速、油量計的實時油量等),可以向總線發(fā)送遠(yuǎn)程幀;相應(yīng)節(jié)點在接收判斷幀 ID與自己相符、并且是遠(yuǎn)程幀的情況下,就可以將自己的實時數(shù)據(jù)發(fā)送到總線上;這樣中控機就獲取到了相關(guān)節(jié)點的實時數(shù)據(jù)。遠(yuǎn)程幀最大的好處就是只需要一幀的時間就能完成一次雙向交互。兩種幀格式由幀起始、仲裁幀、控制端、數(shù)據(jù)段、CPC 段、ACK 段、幀結(jié)束, 不同的段有不同的用途。
1、起始段
幀的最開始的一位是幀起始,也叫 SOF(Start Of Frame),SOF 恒為顯性位,即邏輯0。幀起始表示CAN_H和CAN_L上有了電位差,也就是說,一旦總線上有了 SOF 就表示總線上開始有報文了。
2、仲裁段
CAN 總線有一個特點,就是所有節(jié)點均可以獲得總線的控制權(quán)并且向 CAN 總線發(fā)送數(shù)據(jù),當(dāng)同時有 2 個或 2 個以上的設(shè)備要求發(fā)送數(shù)據(jù)時,就會產(chǎn)生總線沖突,這時就需要判斷一個先后順序,而仲裁段就是判斷先后順序的裁判員,仲裁段會對 CAN 數(shù)據(jù)進(jìn)行比較,ID 碼值越小的數(shù)據(jù)越具有優(yōu)先權(quán),從而使具有高優(yōu)先級的數(shù)據(jù)不受任何損壞地傳輸。
總線中的信號持續(xù)跟蹤最后獲得總線控制權(quán)發(fā)出的報文,在這里值得注意的是,CAN 總線的這種仲裁方式優(yōu)點在于,無論是總線的控制權(quán)在哪個節(jié)點,CAN 總線傳輸?shù)膱笪囊呀?jīng)在總線上傳輸了。 因此,CAN 總線具有高優(yōu)先級的節(jié)點的數(shù)據(jù)在傳輸時,沒有任何延遲,在獲得總線控制權(quán)的節(jié)點發(fā)送數(shù)據(jù)過程中,其他節(jié)點成為報文的接收節(jié)點,并且不會在總線再次空閑之前發(fā)送報文。
以上便是小編此次想要和大家共同分享的有關(guān)CAN總線協(xié)議的內(nèi)容,如果你對本文內(nèi)容感到滿意,不妨持續(xù)關(guān)注我們網(wǎng)站喲。最后,十分感謝大家的閱讀,have a nice day!