摘要:將CAN總線技術(shù)應(yīng)用于艦船的羅經(jīng)系統(tǒng)。以LPC2292和CTM1050為核心部件,同時系統(tǒng)采用以及其它的軟硬件設(shè)計,完成了一套基于ARM和CAN總線的羅經(jīng)數(shù)字變送系統(tǒng)的設(shè)計。整個系統(tǒng)能實時、動態(tài)地顯示航向信息,同時跟蹤速度,傳輸速率,可靠性得到了很大提高。
關(guān)鍵詞:CAN;現(xiàn)場總線;ARM;羅經(jīng)
Transfer And Communication of Compass System Based on CAN-Bus and ARM
PAN Kou-lin, ZHANG Shou-chun
(College of information engineering, Shanghai Maritime University, Shanghai 201306, China)
Abstract: This paper applies can-bus to the compass system of ship. Take LPC2292 and CTM1050 as its communication system key part, Adopts other designs both of hardware and software, completed a suit of digital compass conversation and transmission system based on ARM and can-bus. The system has the advantages of simple design and communication fast, the running effect is also satisfactory.
Key words: can; field bus; ARM; compass
船舶自動識別系統(tǒng)(automatic identificationsystem,簡稱AIS)是一種新型的助航系統(tǒng)及設(shè)備。根據(jù)AIS性能指標要求,船舶陀螺羅經(jīng)應(yīng)按NMEA-0183標準(美國電子航海儀器信號標準)向AIS提供航角度值H和ROT兩個標準信號。同時羅經(jīng)輸出的航向信息還提供給自動舵,組合導(dǎo)航系統(tǒng),雷達等艦船導(dǎo)航觀通設(shè)備使用,以及提供給駕駛?cè)藛T等那些需要的場合使用。
基于CAN總線的設(shè)備互連技術(shù)正在迅速發(fā)展,本文研究實現(xiàn)了基于ARM和CAN總線技術(shù)的羅經(jīng)數(shù)字轉(zhuǎn)換和傳送技術(shù),從而克服了RS232串行通信用于數(shù)據(jù)傳輸?shù)膫鬏斔俣嚷妆桓蓴_,并且接口復(fù)雜缺點。
1 系統(tǒng)工作原理
1.1 航向轉(zhuǎn)換
陀螺羅經(jīng),主要由陀螺球,隨動部分,固定部分組成。隨動系統(tǒng)跟蹤陀螺球并向外輸出航向信號,帶動航向同步發(fā)送電機。航向同步發(fā)送電機的激磁U0是110V/50HZ的交流信號,其輸出三相交流電壓FA,F(xiàn)B,F(xiàn)C。本羅經(jīng)數(shù)字化單元采集羅經(jīng)自整角同步發(fā)送機輸出的模擬信號U0,F(xiàn)A,F(xiàn)B,F(xiàn)C,以U0為參考信號,經(jīng)過濾波,過零比較,鑒相,生成一個6位格雷碼信號。Um為激勵電源的電壓有效值,Um'為三相整步繞組中產(chǎn)生感應(yīng)電勢的有效值,0為自整角機轉(zhuǎn)子偏離0度的角度值,F(xiàn)A,F(xiàn)B,F(xiàn)C是與U0同頻的交流電。
三相信號FA,F(xiàn)B,F(xiàn)C,U0經(jīng)過衰減器分別加到低通濾波器,本文采用二階巴特沃茲低通濾波器,它具有最平幅頻響應(yīng)特性,四路采用相同的電路,因而具有相同的延時,經(jīng)過零比較形成同頻同相的方波信號,經(jīng)鑒相得到輸出信號,對于360:1的傳向系統(tǒng),自整角機旋轉(zhuǎn)一周,航向改變1度, 變化30度時,航向改變1/12度,即將360度分為12個區(qū),每30度為一個區(qū),當 每變化30度時輸出不同的6位格雷碼,即相鄰的二個碼組只變化了一位,而其它的位相同。
獲得的數(shù)據(jù)經(jīng)過處理,可以顯示,也可以通過串口發(fā)送,本文采用CAN總線技術(shù),通過LPC2292和CTM1050把航向數(shù)據(jù)發(fā)送到CAN總線上。數(shù)據(jù)采集原理圖如圖1所示。
1.2 通信協(xié)議
CAN節(jié)點(NODE)指總線上可以編址的設(shè)備。CAN采用數(shù)據(jù)塊編碼方式。CAN數(shù)據(jù)塊的標識碼最多可由29位二進制數(shù)組成(CAN2、OB,CAN2.0A為11位)。CAN總線信號傳輸采用短幀結(jié)構(gòu),每一幀有效字節(jié)數(shù)為8個。因而傳輸時間短,受干擾的概率低。當節(jié)點發(fā)生嚴重錯誤時,具有自動關(guān)閉的功能,切斷該節(jié)點與總線的聯(lián)系,使總線上其它節(jié)點不受影響,具有很強的抗干擾能力。最大通信距離長達10km,比特率可達1Mbps,可同時傳送16個報文。CAN還有較強的校驗功能,出錯的數(shù)據(jù)自動重新發(fā)送,可靠性很高。
本系統(tǒng)采用CAN2.0A協(xié)議標準,標識符ID號分配如下:日期時間0AH,航向0BH,信息序列 0CH,信息源 0DH。信息序列號表示導(dǎo)航信息發(fā)送的序列號從00H-FFH循環(huán),每發(fā)送一次航向信息,則該數(shù)值自動加1以判斷是否及時更新 數(shù)字羅經(jīng)發(fā)送順序按標識符ID號0AH-0DH排列。信息源用來判斷設(shè)定的標志位是否為0,“0”表示羅經(jīng)航向的信息正常,“1”表示羅經(jīng)航向的信息不正常,組合導(dǎo)航系統(tǒng)不采用羅經(jīng)信息,選擇其它的航向信息。標識符ID號為0AH表示的時間日期按一次發(fā)送8字節(jié),為秒,分,時,0,日,月,年(低位),年(高位)共8個字節(jié)。標識符ID號為0BH表示的航向信息共4個字節(jié),分別為百位,十位,個位和小數(shù)位。
1.3 軟硬件設(shè)計
本文選ARM芯片LPC2292帶2路 CAN控制器以及CTM1050 隔離CAN收發(fā)器芯片,它支持CAN 2.0A/B規(guī)約和110個CAN節(jié)點。
接口電路原理圖見圖2,從圖中可以看出電路主要由二部分所構(gòu)成CTM1050 隔離CAN收發(fā)器芯片和ARM芯片LPC2292, LPC2292微處理器負責CAN的初始化通過控制CTM1050實現(xiàn)數(shù)據(jù)的接收和發(fā)送等通信任務(wù)。
必須注意的是總線兩端必須接兩個120歐姆終端匹配電阻,不接會使數(shù)據(jù)通信的抗干擾性及可靠性大大降低,甚至不能通信。
CAN通訊協(xié)議的實現(xiàn),包括各種通訊幀的組織和發(fā)送,均由集成在LPC2292和CTM1050通訊控制器中的電路實現(xiàn)的,因此系統(tǒng)的開發(fā)主要在應(yīng)用層軟件的設(shè)計上。應(yīng)用層軟件的核心部分是CPU的數(shù)據(jù)接收和發(fā)送程序,本文軟件設(shè)計主要包括三大部分羅經(jīng)數(shù)據(jù)接收,CAN 初始化和航向數(shù)據(jù)發(fā)送。因此初始化及數(shù)據(jù)發(fā)送部分是程序中的主要部分,下面僅就后面提到的二部分程序的設(shè)計作一個描述。
void canint(void)
{
CAN2MOD = 0X01; //
CAN2BTR = 0X00170007;//11059200HZ,125.672K;;;
CAN2ICR = 0X00;//
RD2GSR = CAN2GSR;//
RD2ICR = CAN2ICR;//
RD2RFS = CAN2RFS;//
CAN2TID1 = 0X02;//
CAN2TID2 = 0X02;//
CAN2TID3 = 0X02;//
CAN2GSR = 0X00000000;//
CAN2CMR = 0X0C;//
CAN2EWL = 0XF0;//
CAN2IER = 0X01; //
CAN2CMR = 0x04;//
CAN2MOD = 0X00;//
}
發(fā)送子程序流程圖如圖3。
2 調(diào)試與分析
1) 羅經(jīng)跟蹤性能實驗
將主羅經(jīng)信號模擬裝置和模擬分羅經(jīng)及本數(shù)字羅經(jīng)連接好,調(diào)節(jié)使數(shù)字航向值與模擬羅經(jīng)航向值一致,并且回轉(zhuǎn)速率(ROT)的顯示值為零。用直流電機帶動航向發(fā)送自整角機在不同的ROT下跟蹤顯示情況如表1所示。
表1實驗數(shù)據(jù)表明,本系統(tǒng)能在回轉(zhuǎn)速率大于30度/秒的情況下實現(xiàn)可靠的跟蹤,跟蹤精度為1/12度。
2) CAN總線通信實驗
先對本系統(tǒng)進行初始化,再調(diào)通單個節(jié)點。采用雙絞線作為通信介質(zhì),選擇一個節(jié)點發(fā),一個節(jié)點收,進行通信實驗。通過實驗發(fā)現(xiàn),必須先調(diào)通單節(jié)點再調(diào)試互相通信,而且需要注意的是初始化要正確,加終端電阻構(gòu)成回路,正確的發(fā)送命令,發(fā)收節(jié)點的波特率要一致。經(jīng)過調(diào)試,本系統(tǒng)的通信速率可達125Kbps以上。
3) 雙冗余自診斷通信實驗
先對本系統(tǒng)LPC2292進行初始化,采用雙路CAN電路,先調(diào)通單個節(jié)點。CAN1和CAN2雙節(jié)點,相互進行通信實驗。通過實驗發(fā)現(xiàn),無論哪路CAN出現(xiàn)故障系統(tǒng)能自動檢測并發(fā)出告警。實際應(yīng)用中,雙路CAN應(yīng)該隔離,其中一路是另一路的備份。二路總線同時起作用。
3 結(jié)束語
本系統(tǒng)采用模擬濾波與數(shù)字濾波相結(jié)合的方法,減少了干擾,提高了分羅經(jīng)的機動性和跟蹤精度,同時采用CAN總線技術(shù)不但提高了數(shù)據(jù)傳輸?shù)目煽啃裕瑫r也提高航向數(shù)據(jù)傳輸速度,而且有利于船上各種電子系統(tǒng)的集成。同時采用雙CAN網(wǎng)絡(luò)進行冗余設(shè)計,系統(tǒng)能自診斷和報警,增加可靠性。經(jīng)試驗證明,本系統(tǒng)能很好地滿足要求,工作可靠,性能穩(wěn)定。
參考文獻:
[1] 鄔寬明.CAN總線原理及應(yīng)用系統(tǒng)設(shè)計[M].北京:北京航空航天大學(xué)出版社,1996.
[2] 陽憲惠.現(xiàn)場總線技術(shù)及其應(yīng)用[M].北京:清華大學(xué)出版社,1999.
[3] 鄔寬明.CAN總線系統(tǒng)設(shè)計中的幾個問題[J].電子技術(shù)應(yīng)用,1998(9).
[4] 李廣弟.單片機基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,1993.
[5] 龔瑩瑩,曾連蓀.航向數(shù)字顯示器的設(shè)計[J].電子技術(shù),2004(4).
[6] 周立功.ARM微控制器基礎(chǔ)與實戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2003.