專利名稱::基于can總線船舶電站控制儀表通信方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及基于CAN總線的智能儀表組網(wǎng)技術(shù),涉及一種基于CAN總線智能控制儀表通信協(xié)議和多地址幀傳送的方法,特別適用于CAN總線船舶電站控制儀表通信
背景技術(shù):
:現(xiàn)場總線(FieldBus)是當(dāng)前工業(yè)數(shù)據(jù)總線領(lǐng)域中最活躍的一個領(lǐng)域已成為工業(yè)數(shù)據(jù)總線領(lǐng)域的一個新熱點。CAN(ControllerAreaNetwork)總線是重要的現(xiàn)場總線之一,它遵從OSI模型主要工作在數(shù)據(jù)鏈路層和物理層。CAN總線是一種全數(shù)字化雙向和多主的現(xiàn)場總線以其高性能高可靠性以及靈活的設(shè)計受到人們的重視應(yīng)用越來越廣泛。CAN(ControllerAreaNetwork)總線己被廣泛應(yīng)用到各個自動化控制系統(tǒng)中,CAN具有以下的主要特點1、多主站依據(jù)優(yōu)先權(quán)進行總線訪問。由于CAN是對通訊數(shù)據(jù)塊進行編碼的,所以優(yōu)先權(quán)是通過數(shù)據(jù)塊(數(shù)據(jù)幀)中的仲裁場決定的。通常是指數(shù)據(jù)幀的標(biāo)識符的編碼,編碼的數(shù)據(jù)越小優(yōu)先級越高。2、無破壞性的基于優(yōu)先權(quán)的仲裁。在總線競爭過程中優(yōu)先級高的報文得到發(fā)送,優(yōu)先級低的報文在經(jīng)過若干個總線周期后,再次參與總線競爭,報文不會被破壞。3、借助接收濾波的多地址幀傳送,由于CAN控制器中都存在報文濾波寄存器,可實現(xiàn)多地址傳送。4、遠程數(shù)據(jù)請求,需要數(shù)據(jù)的節(jié)點可以發(fā)送遠程幀進行數(shù)據(jù)請求。5、錯誤檢測和出錯信令,發(fā)送期間若丟失仲裁或由于出錯而遭破壞的幀可以自動重發(fā)。6、暫時錯誤和永久故障節(jié)點的判別及故障節(jié)點的自動脫離。但CAN-BUS沒有對應(yīng)用層協(xié)議作具體規(guī)定。需根據(jù)CAN特點進行拓展。
發(fā)明內(nèi)容本發(fā)明針對上述現(xiàn)有CAN-BUS在通訊應(yīng)用上所存在的不足,而提供一種基于CAN總線智能控制儀表通信協(xié)議,其使用簡潔、格式規(guī)范、信息全面、與濾波器一起可用作廣播或組播地址,且對提高通訊的靈活性非常有用。為了達到上述目的,本發(fā)明采用的技術(shù)方案是基于CAN總線船舶電站控制儀表通信方法,該方法是通過驗收濾波器控制CAN總線,并通過改進的CAN協(xié)議實現(xiàn)船舶電站控制儀表之間的通信;該改進的CAN協(xié)議通過標(biāo)識符的重新定義來實現(xiàn)。所述CAN協(xié)議為CAN2JB,該協(xié)議下可采用標(biāo)準(zhǔn)幀和擴展幀兩種不同的數(shù)據(jù)幀;標(biāo)準(zhǔn)幀的仲裁場由ll位標(biāo)識符和RTR位組成,擴展幀的仲裁場由29位標(biāo)識符、SRR位、IDE位和RTR位組成。所述擴展幀仲裁場中的29位標(biāo)識符依次定義為功能碼、組號、目的地址碼、源地址碼、數(shù)據(jù)性質(zhì)和多幀標(biāo)識。所述功能碼占4位,用于定義網(wǎng)絡(luò)中傳送不同報文的優(yōu)先級。所述組號占4位,共有16組,其中有1組用于表示網(wǎng)絡(luò)全局廣播,組號有15個組可供使用。所述地址碼共有8位,其中有一節(jié)點表示表示組播。所述目的地址碼和源地址碼都為8位,且都對應(yīng)智能儀表的唯一地址。所述數(shù)據(jù)性質(zhì)為4位,其用于定義各種所需數(shù)據(jù),若數(shù)據(jù)大于8個字節(jié)時,該數(shù)據(jù)需分成多幀傳送。所述多幀標(biāo)識1位,用于標(biāo)識發(fā)送數(shù)據(jù)為多幀數(shù)據(jù)還是單幀數(shù)據(jù),便于大于8個字節(jié)數(shù)據(jù)分成多幀傳送。所述驗收濾波器采用雙濾波方式;其在接收數(shù)據(jù)幀時通過標(biāo)識符和幀接收濾波來確定此數(shù)據(jù)幀是否正確,若多于兩個的節(jié)點同時發(fā)送,發(fā)送權(quán)的競爭需要通過上述的標(biāo)識符的逐位仲裁來解決。所述標(biāo)識符的逐位仲裁的標(biāo)準(zhǔn)為安排標(biāo)識符的值小優(yōu)先級高。根據(jù)上述技術(shù)方案得到的本發(fā)明基于CAN總線智能控制儀表的通信協(xié)議使用簡潔、格式規(guī)范、信息全面、與濾波器一起可用作廣播或組播地址,這對于提高通訊的靈活性非常有用;同時實用性廣,具有很強的市場價值。以下結(jié)合附圖和具體實施方式來進一步說明本發(fā)明。圖1為本發(fā)明中CAN數(shù)據(jù)幀的結(jié)構(gòu)。圖2為本發(fā)明中CAN擴展幀數(shù)據(jù)幀的結(jié)構(gòu)。圖3為本發(fā)明中定義的標(biāo)識符結(jié)構(gòu)。圖4為本發(fā)明中過濾器的設(shè)置結(jié)構(gòu)。具體實施例方式為了使本發(fā)明實現(xiàn)的技術(shù)手段、創(chuàng)作特征、達成目的與功效易于明白了解,下面結(jié)合具體圖示,進一步闡述本發(fā)明。船舶電站當(dāng)工作情況發(fā)生變化時一般引起多個參數(shù)變化,傳輸數(shù)據(jù)按工況多參數(shù)來編碼,使關(guān)系較密切的參數(shù)組合在一起,用標(biāo)識碼表示不同工況參數(shù),達到參數(shù)組合合理。參數(shù)類型有字節(jié)變量、整型變量、單精度變量、雙精度變量和字符變量,分別占一個字節(jié)、二個字節(jié)、四個字節(jié)、八個字節(jié)和多個字節(jié),對于單、雙精度變量采用IEEE754標(biāo)準(zhǔn)編程。SJA1000驗收濾波器由4個驗收碼寄存器ACR0、ACR1、ACR2和ACR3和4個驗收屏蔽寄存器AMR0、AMR1、AMR2和AMR3組成。這8個寄存器在SJA1000的復(fù)位模式下可由主控制器設(shè)置,通過對這些寄存器的設(shè)置可對接收信息構(gòu)成非常靈活的濾波。SJA1000的驗收濾波器的濾波方式為單濾波和雙濾波兩種方式,又因為SJA1000兼容CAN2.0B技術(shù)規(guī)范具有標(biāo)準(zhǔn)幀和擴展幀兩種幀格式,每種幀格式都有單濾波和雙濾波功能,故實際上SJAIOOO共有四種濾波方式。由于SJA1000驗收濾波器的使用相當(dāng)靈活,可依據(jù)實際情況的不同,采用不同的濾波方式,且船舶電站系統(tǒng)中有單機和多機并聯(lián)運行工作情況,CAN總線要支持廣播或組播功能。故本發(fā)明采用SJA1000驗收濾波器作為CAN總線的控制器,來實現(xiàn)智能控制儀表通訊;其雙濾波拿出一個濾波器用作廣播或組播地址,即可實現(xiàn)CAN總線支持廣播或組播功能,這對于提高通訊的靈活性非常有用。如圖1所示CAN數(shù)據(jù)幀結(jié)構(gòu)在CAN2.B中存在兩種不同的幀格式,標(biāo)準(zhǔn)幀和擴展幀。標(biāo)準(zhǔn)幀和擴展幀的仲裁場的格式不同,標(biāo)準(zhǔn)幀格式仲裁場由11位標(biāo)識符和RTR位組成,擴展幀格式仲裁場由29位標(biāo)識符、SRR位、IDE位和RTR位組成。CAN控制器(即SJA1000驗收濾波器)的硬件內(nèi)部有組合的報文過濾機制,每個接收器通過標(biāo)識符和幀接收濾波確定此幀與其是否有關(guān);如果多于兩個的節(jié)點同時發(fā)送,發(fā)送權(quán)的競爭需要通過ll位(或29位)標(biāo)識符的逐位仲裁來解決。標(biāo)識符的值決定了總線沖突仲裁時節(jié)點優(yōu)先級的高低。在報文標(biāo)識符上,CAN上的節(jié)點分成不同的優(yōu)先級,標(biāo)識符的值小優(yōu)先級高,可滿足不同的實時要求,如果用二進制表示,則全"0"具有最高的優(yōu)先級,全"l"具有最低的優(yōu)先級。無論幾個報文發(fā)送者什么時候競爭總線使用權(quán),最后總是具有高優(yōu)先級的發(fā)送者將贏得仲裁,其報文將被無延時地發(fā)送出去,因此同一時間發(fā)送的報文必須有不同的優(yōu)先級。基于上述原理,本發(fā)明通過開發(fā)利用仲裁場的標(biāo)識符,以實現(xiàn)通信的動態(tài)優(yōu)先級功能和組播功能。以下以CAN擴展幀來說明由于在CAN2.0B中存在兩種不同的幀格式,即標(biāo)準(zhǔn)幀和擴展幀。本實施例采用CAN擴展幀來說明,參見圖2CAN擴展幀數(shù)據(jù)幀的結(jié)構(gòu)。本實施例把29位標(biāo)識符被分為功能碼、組號和目的地址號、源地址號、數(shù)據(jù)性質(zhì)和多幀標(biāo)識。如圖3所示其在功能碼中定義了網(wǎng)絡(luò)中傳送不同報文的優(yōu)先級?;诂F(xiàn)場總線的設(shè)備網(wǎng)既要接送周期性數(shù)據(jù),如儀表的狀態(tài)等,又要接送非周期性數(shù)據(jù),如故障報警、組態(tài)數(shù)據(jù)的上傳與下載等。按輕重緩急排序,如表1所示表i功能碼定義<table>tableseeoriginaldocumentpage7</column></row><table>修改上限0100調(diào)整上限修改下限0101調(diào)整下限修改偏差0110調(diào)整精度組態(tài)下載1000動態(tài)組網(wǎng)組態(tài)上傳1001尋址修改組號1010調(diào)整組號修改地址1011調(diào)整地址其它備用目的地址碼和源地址碼都對應(yīng)智能儀表的唯一地址,表1中組號占有4bits,共有16組,當(dāng)為"llll"時,可以表示為網(wǎng)絡(luò)全局廣播,組號有15個組可供使用。地址碼共有8位,最多有256個節(jié)點,當(dāng)為"llllllll"時表示組播。8位目的地址碼和源地址碼,充分考慮了CAN節(jié)點數(shù)和方便編程的需要。通過設(shè)置過濾器就可以只接受自己要的報文,同時雙過濾器的另一個可以辯識具有組內(nèi)廣播的報文。例如#2發(fā)電機控制屏電壓表在第二組,地址碼為5,雙過濾器的設(shè)置如圖4所示,過濾器1使節(jié)點5接收組報文,過濾器2使節(jié)點5只接收自己要的報文。數(shù)據(jù)性質(zhì)定義各種數(shù)據(jù),其如表2所示,共定義了9種,根據(jù)需要可以再定義。開關(guān)量用無符號數(shù)據(jù)或布爾量表示,測控數(shù)據(jù)可用符號數(shù)或無符號數(shù)表示,系統(tǒng)時間用date時間表示。當(dāng)數(shù)據(jù)大于8個字節(jié)時,就要分成多幀傳送,當(dāng)多幀標(biāo)識符為0時,表示傳送的數(shù)據(jù)為多幀數(shù)據(jù),為l時表示為單幀數(shù)據(jù)。表2數(shù)據(jù)性質(zhì)定義數(shù)據(jù)性質(zhì)編碼字節(jié)備注Boolean00001O為假,l為真Unsigned8000110~255Unsigned16001020~65535Unsigned32001140~232-1Integer801001-128~127Integer1601012-216~216-18<table>tableseeoriginaldocumentpage9</column></row><table>以上顯示和描述了本發(fā)明的基本原理和主要特征和本發(fā)明的優(yōu)點。本行業(yè)的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實施例的限制,上述實施例和說明書中描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會有各種變化和改進,這些變化和改進都落入要求保護的本發(fā)明范圍內(nèi)。本發(fā)明要求保護范圍由所附的權(quán)利要求書及其等效物界定。權(quán)利要求1、基于CAN總線船舶電站控制儀表通信方法,其特征在于,該方法是通過驗收濾波器控制CAN總線,并通過改進的CAN協(xié)議實現(xiàn)船舶電站控制儀表之間的通信;該改進的CAN協(xié)議通過標(biāo)識符的重新定義來實現(xiàn)。2、根據(jù)權(quán)利要求1所述的基于CAN總線船舶電站控制儀表通信方法,其特征在于,所述CAN協(xié)議為CAN2.B,該協(xié)議下可采用標(biāo)準(zhǔn)幀和擴展幀兩種不同的數(shù)據(jù)幀;標(biāo)準(zhǔn)幀的仲裁場由ll位標(biāo)識符和RTR位組成,擴展幀的仲裁場由29位標(biāo)識符、SRR位、IDE位和RTR位組成。3、根據(jù)權(quán)利要求2所述的基于CAN總線船舶電站控制儀表通信方法,其特征在于,所述擴展幀仲裁場中的29位標(biāo)識符依次走義為功能碼、組號、目的地址碼、源地址碼、數(shù)據(jù)性質(zhì)和多幀標(biāo)識。4、根據(jù)權(quán)利要求3所述的基于CAN總線船舶電站控制儀表通信方法,其特征在于,所述功能碼占4位,用于定義網(wǎng)絡(luò)中傳送不同報文的優(yōu)先級。5、根據(jù)權(quán)利要求3所述的基于CAN總線船舶電站控制儀表通信方法,其特征在于,所述組號占4位,共有16組,其中有1組用于表示網(wǎng)絡(luò)全局廣播,組號有15個組可供使用。6、根據(jù)權(quán)利要求3所述的基于CAN總線船舶電站控制儀表通信方法,其特征在于,所述地址碼共有8位,其中有一節(jié)點表示表示組播。7、根據(jù)權(quán)利要求3所述的基于CAN總線船舶電站控制儀表通信方法,其特征在于,所述目的地址碼和源地址碼都為8位,且都對應(yīng)智能儀表的唯一地址。8、根據(jù)權(quán)利要求3所述的基于CAN總線船舶電站控制儀表通信方法,其特征在于,所述數(shù)據(jù)性質(zhì)為4位,其用于定義各種所需數(shù)據(jù),若數(shù)據(jù)大于8個字節(jié)時,該數(shù)據(jù)需分成多幀傳送。9、根據(jù)權(quán)利要求3所述的基于CAN總線船舶電站控制儀表通信方法,其特征在于,所述多幀標(biāo)識l位,用于標(biāo)識發(fā)送數(shù)據(jù)為多幀數(shù)據(jù)還是單幀數(shù)據(jù),便于大于8個字節(jié)數(shù)據(jù)分成多幀傳送。10、根據(jù)權(quán)利要求1所述的基于CAN總線船舶電站控制儀表通信方法,其特征在于,所述驗收濾波器采用雙濾波方式;其在接收數(shù)據(jù)幀時通過標(biāo)識符和幀接收濾波來確定此數(shù)據(jù)幀是否正確,若多于兩個的節(jié)點同時發(fā)送,發(fā)送權(quán)的競爭需要通過上述的標(biāo)識符的逐位仲裁來解決。11、根據(jù)權(quán)利要求10所述的基于CAN總線船舶電站控制儀表通信方法,其特征在于,所述標(biāo)識符的逐位仲裁的標(biāo)準(zhǔn)為安排標(biāo)識符的值小優(yōu)先級高。全文摘要本發(fā)明公開了基于CAN總線船舶電站控制儀表通信方法,該方法是通過驗收濾波器控制CAN總線,并通過改進的CAN協(xié)議實現(xiàn)船舶電站控制儀表之間的通信;該改進的CAN協(xié)議通過標(biāo)識符的重新定義來實現(xiàn)。根據(jù)上述技術(shù)方案得到的本發(fā)明基于CAN總線智能控制儀表的通信協(xié)議使用簡潔、格式規(guī)范、信息全面、與濾波器一起可用作廣播或組播地址,這對于提高通訊的靈活性非常有用;同時實用性廣,具有很強的市場價值。文檔編號H04L12/40GK101662404SQ20081004373公開日2010年3月3日申請日期2008年8月27日優(yōu)先權(quán)日2008年8月27日發(fā)明者夏永明申請人:上海海事大學(xué)