CAN總線研究及應(yīng)用
——
關(guān)鍵詞:現(xiàn)場(chǎng)總線;CAN;網(wǎng)絡(luò)
一、引言
在計(jì)算機(jī)數(shù)據(jù)傳輸領(lǐng)域內(nèi),長(zhǎng)期以來(lái)使用RS-232和CCITTV.24通信標(biāo)準(zhǔn),盡管它們被廣泛地使用,但卻是一種低數(shù)據(jù)速率和點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)傳輸標(biāo)準(zhǔn),無(wú)能力支持更高層次的計(jì)算機(jī)之間的功能操作。同時(shí),在復(fù)雜或大規(guī)模的應(yīng)用(如工業(yè)現(xiàn)場(chǎng)或生產(chǎn)自動(dòng)化領(lǐng)域)中需采用傳統(tǒng)星型拓?fù)浣Y(jié)構(gòu),那么安裝成本和介質(zhì)造價(jià)都將非常高昂;采用流行的LAN組件及環(huán)型或總線型拓?fù)浣Y(jié)構(gòu),雖然可以減少電纜長(zhǎng)度,但是增加的LAN介質(zhì)及相關(guān)硬件和軟件又使其系統(tǒng)造價(jià)與星型系統(tǒng)相差無(wú)幾。所以在最低層次上的確需要設(shè)計(jì)出一種造價(jià)低廉而又能經(jīng)受工業(yè)現(xiàn)場(chǎng)環(huán)境的通信系統(tǒng),現(xiàn)場(chǎng)總線(Field bus)就是在這種背景下產(chǎn)生的。
二、CAN總線
控制器局部網(wǎng)(CAN-Controller Area Network)屬于現(xiàn)場(chǎng)總線的范疇,它是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通訊網(wǎng)絡(luò)。CAN的應(yīng)用范圍遍及從高速網(wǎng)絡(luò)到低成本的多線路網(wǎng)絡(luò)。在自動(dòng)化電子領(lǐng)域的汽車發(fā)動(dòng)機(jī)控制部件、傳感器、抗滑系統(tǒng)等應(yīng)用中,CAN的位速率可高達(dá)1Mbps。同時(shí),它可以廉價(jià)地用于交通運(yùn)載工具電氣系統(tǒng)中,例如,燈光聚束電氣窗口等等以代替所需要的硬件連接。
CAN總線采用雙線串行通信方式,檢錯(cuò)能力強(qiáng),可在高噪聲干擾環(huán)境中合作。CAN具有優(yōu)先權(quán)和仲裁功能,多個(gè)控制模塊通過(guò)CAN控制器掛到CAN-bus上,形成多主機(jī)局部網(wǎng)絡(luò)。其可靠性和實(shí)時(shí)性遠(yuǎn)高于普通的通信技術(shù)。
三、CAN控件的硬件構(gòu)成
由于CAN總線具有通訊速率高,可靠性高,連接方便和性能價(jià)格比高等諸多特點(diǎn),推動(dòng)其應(yīng)用開(kāi)發(fā)的迅速發(fā)展,其產(chǎn)品正逐步形成系列。下面以PHILIPS82C200為例說(shuō)明。82C200分為控制寄存器、命令寄存器、狀態(tài)寄存器、中斷寄存器、驗(yàn)收碼寄存器、驗(yàn)收屏蔽寄存器、總線定時(shí)寄存器、輸出控制寄存器、測(cè)試寄存器、發(fā)送緩存器、接收緩存器和時(shí)鐘分頻寄存器,十三種寄存器。
四、CAN控制器的初始化
在初始化之前,應(yīng)設(shè)置輸出控制寄存器的復(fù)位請(qǐng)求位為高,再設(shè)置其它寄存器??刂萍拇嫫髟O(shè)定中斷,命令寄存器控制緩存器的接發(fā)狀態(tài),中斷寄存器查詢82C200的工作狀態(tài),接收碼寄存器設(shè)定工作地址,接收屏蔽寄存器設(shè)定工作形式,總線定時(shí)寄存器設(shè)定工作頻率、采樣頻率,輸出控制寄存器一般為正常輸出方式,最后應(yīng)使復(fù)位請(qǐng)求位從高變低,使CAN控制器進(jìn)入正常工作狀態(tài)。
五、CAN的通信協(xié)議
CAN控制器支持四種不同的CAN協(xié)議類型:數(shù)據(jù)幀、遠(yuǎn)程幀、出錯(cuò)幀和超載幀。具體可參見(jiàn)CAN技術(shù)規(guī)范2.0a或2.0b以及CAN國(guó)際標(biāo)準(zhǔn)ISO11898。這里只介紹一下數(shù)據(jù)幀。
CAN中的總線數(shù)值為兩種互補(bǔ)邏輯數(shù)值:顯性(表示邏輯“0”)或隱性(表示邏輯“1”)。
數(shù)據(jù)幀從一個(gè)發(fā)送節(jié)點(diǎn)傳送數(shù)據(jù)以一個(gè)或多個(gè)接收節(jié)點(diǎn),一個(gè)數(shù)據(jù)幀由七個(gè)不同的位場(chǎng)組成如圖1所示:幀起始、仲裁場(chǎng)、控制場(chǎng)、循環(huán)冗余校驗(yàn)(CRC)場(chǎng)、應(yīng)答場(chǎng)、幀結(jié)束。
圖1 數(shù)據(jù)幀的結(jié)構(gòu)示意圖
六、CAN協(xié)議的分層結(jié)構(gòu)
CAN協(xié)議是一種串行數(shù)據(jù)通信協(xié)議,它可以非常有效地構(gòu)成分布式實(shí)時(shí)監(jiān)測(cè)/控制系統(tǒng)。CAN總線規(guī)范規(guī)定了任意兩個(gè)CAN節(jié)點(diǎn)之間的兼容性,包括電氣特性及數(shù)據(jù)解釋協(xié)議,它采用了ISO-OSI中的三層網(wǎng)絡(luò)結(jié)構(gòu)——物理層、數(shù)據(jù)鏈路層和應(yīng)用層。其中應(yīng)用層可能包含了除物理層和數(shù)據(jù)鏈路層外其余四層中的某些功能。它具有簡(jiǎn)化的網(wǎng)絡(luò)結(jié)構(gòu)。CAN總線體系結(jié)構(gòu)模式如圖2所示。
圖2 CAN總線體系結(jié)構(gòu)
七、結(jié)束語(yǔ)
帶有CAN通信接口的工業(yè)控制產(chǎn)品可通過(guò)雙絞線接入CAN,這使得CAN的組網(wǎng)和擴(kuò)展變得容易。目前CAN總線應(yīng)用研究還在不斷深入,隨著CAN總線的國(guó)際標(biāo)準(zhǔn)化,具有優(yōu)先權(quán)和仲裁權(quán)功能,通信速率高,可靠性和實(shí)時(shí)性高,連接方便和性能價(jià)格比高等優(yōu)點(diǎn)CAN網(wǎng)絡(luò)將會(huì)得到迅速的發(fā)展和應(yīng)用。
評(píng)論