新聞中心

EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > CAN總線網(wǎng)絡(luò)的實(shí)時(shí)性研究和改進(jìn)

CAN總線網(wǎng)絡(luò)的實(shí)時(shí)性研究和改進(jìn)

作者: 時(shí)間:2012-03-16 來(lái)源:網(wǎng)絡(luò) 收藏

摘要:由于的獨(dú)特優(yōu)勢(shì),已成為工業(yè)數(shù)據(jù)通信的主流技術(shù)之一,這就要求它具有良好的和可靠性。但是隨著控制復(fù)雜化,控制節(jié)點(diǎn)的增多,帶寬分配不均問(wèn)題也隨之凸顯,使得上低優(yōu)先級(jí)的站點(diǎn)數(shù)據(jù)傳輸延時(shí)增加。提出了動(dòng)態(tài)優(yōu)先級(jí)算法,它能夠動(dòng)態(tài)改變站點(diǎn)優(yōu)先級(jí),解決帶寬分配不均問(wèn)題,實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)傳輸;簡(jiǎn)要介紹時(shí)間觸發(fā)CAN(TTCAN)協(xié)議,并通過(guò)實(shí)驗(yàn)與動(dòng)態(tài)優(yōu)先級(jí)算法和標(biāo)準(zhǔn)CAN協(xié)議進(jìn)行比較,得出延時(shí)特征。
關(guān)鍵詞:;動(dòng)態(tài)優(yōu)先級(jí);TTCAN;延時(shí)

0 引言
控制局域網(wǎng)(Controner Aera Net,CAN)是德國(guó)Boasch公司于1983年為汽車(chē)應(yīng)用而開(kāi)發(fā)的一種有效支持分布式控制的串行控制網(wǎng)絡(luò)。盡管CAN最初是為汽車(chē)電子系統(tǒng)設(shè)計(jì)的,但由于它在開(kāi)放性和技術(shù)方面的獨(dú)特優(yōu)勢(shì),在航天、電力、石化等領(lǐng)域都得到了廣泛應(yīng)用。在火車(chē)、輪船、樓宇自動(dòng)化、過(guò)程自動(dòng)化儀表中,都有CAN技術(shù)的身影。CAN已成為工業(yè)數(shù)據(jù)通信的主流技術(shù)之一。
CAN總線具有多主發(fā)送、采用確定性的優(yōu)先級(jí)仲裁機(jī)制等特點(diǎn),保證了CAN總線數(shù)據(jù)通信的可靠性、和靈活性。在數(shù)據(jù)通信過(guò)程中,如果出現(xiàn)碰撞,低優(yōu)先級(jí)的節(jié)點(diǎn)會(huì)主動(dòng)退出,而最高優(yōu)先級(jí)的節(jié)點(diǎn)可以不受影響繼續(xù)傳輸數(shù)據(jù),從而大大節(jié)省了總線沖突仲裁時(shí)間,保證了傳輸數(shù)據(jù)的實(shí)時(shí)性。但是這種靜態(tài)優(yōu)先級(jí)機(jī)制的一個(gè)缺點(diǎn)就是不能均等地為高優(yōu)先級(jí)和低優(yōu)先級(jí)站點(diǎn)分配帶寬,在網(wǎng)絡(luò)負(fù)載很大時(shí),低優(yōu)先級(jí)站點(diǎn)會(huì)在多次競(jìng)爭(zhēng)總線使用權(quán)時(shí)失敗,從而導(dǎo)致低優(yōu)先級(jí)站點(diǎn)消息傳輸產(chǎn)生不確定的延時(shí),甚至無(wú)法發(fā)送。本文針對(duì)CAN的這個(gè)問(wèn)題,在參考文獻(xiàn)的基礎(chǔ)上,結(jié)合消息型和事件型消息,提出了動(dòng)態(tài)優(yōu)先級(jí)算法和基于時(shí)間觸發(fā)的TTCAN靜態(tài)調(diào)度算法。通過(guò)仿真實(shí)驗(yàn),將動(dòng)態(tài)優(yōu)先級(jí)算法、靜態(tài)優(yōu)先級(jí)調(diào)度算法和標(biāo)準(zhǔn)CAN進(jìn)行比較,得到網(wǎng)絡(luò)延時(shí)特性。

1 CAN協(xié)議幀及仲裁機(jī)制
為了提高CAN總線傳輸數(shù)據(jù)的可靠性和傳輸距離,CAN采用差分方式輸出。雙絞線的一根為CANH,另外一根為CANL。CAN總線具有兩種邏輯電平:顯性電平和隱性電平。在傳輸一個(gè)顯性位時(shí),總線呈現(xiàn)顯性狀態(tài);在傳輸一個(gè)隱性位時(shí),總線呈現(xiàn)隱性狀態(tài)。隱性狀態(tài)時(shí),CANH和CANL兩條線之間的差分電壓Vdiff近似為0;顯性狀態(tài)時(shí),CANH和CANL兩條線之間的差分電壓Vdiff的幅值一般為2~3 V,明顯高于隱性狀態(tài)時(shí)的差分電壓值。CAN總線上的位電平如圖1所示。

本文引用地址:http://m.butianyuan.cn/article/155170.htm

a.JPG


在CAN總線上,顯性位可以改寫(xiě)隱性位。當(dāng)總線上2個(gè)不同節(jié)點(diǎn)在同一位時(shí)間分別強(qiáng)加顯性和隱性時(shí),總線上呈現(xiàn)顯性位,即顯性位可以覆蓋修改隱性位。顯性位一般表示邏輯0,隱性位一般表示邏輯。
CAN采用載波監(jiān)聽(tīng)多路訪問(wèn)、逐位仲裁的非破壞性總線仲裁技術(shù)。按CAN總線上節(jié)點(diǎn)對(duì)實(shí)時(shí)性要求的緊急程度,可預(yù)先將節(jié)點(diǎn)分成不同的優(yōu)先級(jí)。優(yōu)先級(jí)編號(hào)越大,其站點(diǎn)的優(yōu)先級(jí)越低。優(yōu)先級(jí)編號(hào)作為標(biāo)識(shí)符的組成部分被置于報(bào)文仲裁場(chǎng)。在總線仲裁期間,優(yōu)先級(jí)較低的節(jié)點(diǎn)會(huì)主動(dòng)退出發(fā)送,而優(yōu)先級(jí)可不受影響繼續(xù)傳輸數(shù)據(jù),簡(jiǎn)化了總線的沖突仲裁過(guò)程,在一定程度上提高了通信的確定性和實(shí)時(shí)性。其仲裁規(guī)則為:
(1)預(yù)發(fā)幀的字節(jié),當(dāng)總線在空閑時(shí)同時(shí)發(fā)送幀且同步于SOF的上升沿;
(2)各幀的標(biāo)識(shí)符字段在總線同時(shí)相遇,借助總線使標(biāo)識(shí)字段逐位“線與”,根據(jù)其結(jié)果進(jìn)行沖突仲裁;
(3)如果發(fā)送節(jié)點(diǎn)沒(méi)有檢測(cè)到?jīng)_突,則繼續(xù)發(fā)送下一位;
(4)如果發(fā)送節(jié)點(diǎn)檢測(cè)到?jīng)_突,則立即中斷,不再繼續(xù)后面位的發(fā)送;
(5)各標(biāo)識(shí)字段逐位“線與”結(jié)束后,未監(jiān)測(cè)到?jīng)_突的字節(jié)便獲得優(yōu)先發(fā)送權(quán),可以發(fā)送數(shù)據(jù)幀后邊的字段;如檢測(cè)到?jīng)_突的節(jié)點(diǎn),則不能發(fā)送后邊的數(shù)據(jù)字段,而等待下一次發(fā)送。
CAN數(shù)據(jù)幀由7個(gè)不同的位場(chǎng)組成,即幀起始、仲裁場(chǎng)、控制場(chǎng)、數(shù)據(jù)場(chǎng)、CRC場(chǎng)、應(yīng)答場(chǎng)和幀尾。數(shù)據(jù)幀中數(shù)據(jù)場(chǎng)的長(zhǎng)度可以為0。數(shù)據(jù)幀的位場(chǎng)排列如圖2所示。數(shù)據(jù)幀的結(jié)構(gòu)有兩種格式,即標(biāo)準(zhǔn)格式和擴(kuò)展格式。這兩種幀格式的主要區(qū)別在于標(biāo)識(shí)符的長(zhǎng)度,標(biāo)準(zhǔn)格式數(shù)據(jù)幀具有11位標(biāo)識(shí)符,擴(kuò)展格式數(shù)據(jù)幀具有29位標(biāo)識(shí)符。本文以擴(kuò)展格式為例進(jìn)行論述。幀的開(kāi)始有起始標(biāo)志位表示,它僅由一個(gè)顯位組成;接下來(lái)是仲裁場(chǎng),當(dāng)發(fā)生沖突時(shí),兩個(gè)不同優(yōu)先級(jí)站點(diǎn)同時(shí)競(jìng)爭(zhēng)總線的使用權(quán),并且由高位開(kāi)始,逐位比較下去,當(dāng)出現(xiàn)優(yōu)先級(jí)不同位時(shí),標(biāo)識(shí)符位為0的勝出,獲得總線使用權(quán),所以標(biāo)識(shí)符數(shù)值越小,優(yōu)先級(jí)越高。

b.JPG


上一頁(yè) 1 2 3 4 下一頁(yè)

評(píng)論


技術(shù)專區(qū)

關(guān)閉