,,,
(解放軍理工大學(xué)野戰(zhàn)工程學(xué)院,江蘇 南京 210007)
基于CAN總線的某型火箭布雷車模擬器數(shù)據(jù)采集系統(tǒng)設(shè)計
王樸,申金星,李永生,李煥良
(解放軍理工大學(xué)野戰(zhàn)工程學(xué)院,江蘇 南京 210007)
某型火箭布雷車模擬器可解決部隊實裝實彈訓(xùn)練無法開展的難題,對于提高裝備操作人員操縱能力和技術(shù)水平有著重要的現(xiàn)實意義。提出了基于CAN總線的模擬器數(shù)據(jù)采集系統(tǒng)設(shè)計,利用CAN總線將各個席位微處理器所檢測的操作信號與計算機進行交互,并將計算機處理的數(shù)據(jù)結(jié)果傳遞給各下位機微處理器,以控制各路顯示部件的狀態(tài),驅(qū)動三維視景的實時動作與音頻輸出。
該型裝備模擬器席位設(shè)置為駕駛席、炮長席、半自動操作席、操瞄席和指揮車席位。數(shù)據(jù)采集系統(tǒng)由模擬器各個席位的微處理器、CAN控制器、CAN收發(fā)器以及相應(yīng)的調(diào)理電路組成。系統(tǒng)根據(jù)信號類型選用相應(yīng)的傳感器檢測操縱部件的動作,將位置、速度和加速度等物理量轉(zhuǎn)換為電信號,并經(jīng)過調(diào)理電路、A/D轉(zhuǎn)換電路和CAN通信接口,由微處理器識別、采集,通過CAN總線向發(fā)送相應(yīng)的信號,以驅(qū)動虛擬三維場景,實現(xiàn)布雷車作業(yè)場景的輸出,其組成包括模擬操作部件、傳感器、調(diào)理電路、節(jié)點微處理器(MCU)、CAN控制器、CAN收發(fā)器和CAN總線,主要采集模擬訓(xùn)練系統(tǒng)顯控臺、駕駛操作部件、儀表盤、模擬數(shù)傳終端、模擬電臺、手動/半自動操瞄裝置和模擬液壓閥箱等模塊,采集各路數(shù)字量、模擬量輸入信號。數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)
模擬訓(xùn)練系統(tǒng)中的各個席位的單片機及其調(diào)理電路均作為一個通信節(jié)點,通過CAN總線相互連接,通信節(jié)點由數(shù)據(jù)采集電路、S3C2440微處理器串行外設(shè)接口(SPI)、MCP2510CAN控制器和TJA1060CAN收發(fā)器組成,MCP2510作為CAN總線控制芯片,實現(xiàn)錯誤檢測、位定時、位編碼、同步和解碼等功能和TJA1060收發(fā)器規(guī)范了CAN總線的發(fā)送/接收特性,S3C2440微控制器實現(xiàn)高層協(xié)議應(yīng)用與控制功能。
2.1 通信接口
S3C2440微處理器的串行外圍設(shè)備接口(SPI)可以與外圍器件以串行方式進行數(shù)據(jù)交換,并由相應(yīng)控制寄存器設(shè)置8位串行數(shù)據(jù)的頻率。
MCP2510是一款具有SPI串行接口的獨立CAN總線通信控制器,支持CAN2.0A/B技術(shù)規(guī)范,能夠收發(fā)標(biāo)準(zhǔn)幀以及擴展幀,具備報文濾波與信息管理功能,通過串行接口實現(xiàn)與節(jié)點微處理器的數(shù)據(jù)傳輸,最高通信速率可達(dá)5Mb/s[1]。
TJA1050總線收發(fā)器提供CAN控制器與物理總線之間的高速接口,將CAN控制器的邏輯電平轉(zhuǎn)換為CAN總線的差分電平,實現(xiàn)了對CAN總線的差動發(fā)送與接收功能。
2.2 電路設(shè)計
接口電路設(shè)計是CAN總線網(wǎng)絡(luò)中的重要環(huán)節(jié),其可靠性與安全性直接影響整個通信網(wǎng)絡(luò)運行[2]。接口電路如圖2、圖3所示,RESET引腳為CAN控制器的復(fù)位引腳,低電平有效,MCP2510具有兩種復(fù)位方式,即硬件復(fù)位與SPI復(fù)位,上電之后至少要采用一種方式實現(xiàn)復(fù)位,以確保邏輯和寄存器處于缺省狀態(tài);CS片選信號輸入引腳為低電平則控制器開始工作;SO引腳、SI引腳和SCK引腳分別實現(xiàn)CAN控制器的串行數(shù)據(jù)輸入、輸出以及時鐘信號輸入;OSC1、OSC2引腳輸入16MHz的外部時鐘信號;INT引腳是控制器的終端輸出引腳,低電平有效;TXCAN與RXCAN分別與CAN收發(fā)器的TXD與RXD引腳相連。
CANH和CANL均通過一個電容與地連接,以濾除總線上的高頻干擾,降低電磁輻射的影響,增強數(shù)據(jù)傳輸穩(wěn)定性。為提高節(jié)點拓?fù)淠芰Γヅ淇偩€阻抗CANH與CANL之間連接了120Ω的電阻R81,起到了抑制信號反射、提高EMC性能的作用。如果不加匹配電阻,總線的抗干擾能力將大為降低,甚至不能正常通信。另外,采用抗屏蔽的雙絞線作為數(shù)據(jù)傳輸介質(zhì),使用3芯“T”型連接器作為通信接口,減少了現(xiàn)場環(huán)境對節(jié)點的干擾[3]。
圖2 CAN控制器接口電路
圖3 CAN收發(fā)器接口電路
模擬訓(xùn)練系統(tǒng)采用模塊化、總線化的設(shè)計思路,各數(shù)據(jù)采集模塊作為一個節(jié)點與總線進行數(shù)據(jù)交換,CAN通信系統(tǒng)一共有3個席位MCU、炮長席主控單元、模擬電臺MCU、模擬數(shù)傳終端MCU、模擬發(fā)射裝置控制主機、視景仿真計算機、指揮終端和車外發(fā)射裝置等13個通信節(jié)點。因此,數(shù)據(jù)交換量大,必須清晰定義CAN總線的應(yīng)用層協(xié)議,以確保各節(jié)點實現(xiàn)準(zhǔn)確、穩(wěn)定的數(shù)據(jù)通信[4]。CAN 總線通信速率一般可選擇125kb/s,250kb/s,500kb/s,根據(jù)模擬訓(xùn)練系統(tǒng)數(shù)據(jù)傳輸實際需求,最終將波特率設(shè)置為250kb/s,采用29位標(biāo)識符,即擴展幀進行通信,29位標(biāo)識符包括11位基本ID與18位擴展ID。
3.1 CAN協(xié)議標(biāo)識符分配
根據(jù)十六進制方式,炮長席主控單元、指揮終端地址編碼為A0、A1,駕駛席、操瞄席和車外發(fā)射裝置節(jié)點分別定義為B0~B2,模擬電臺、模擬數(shù)傳終端編碼為C0、C1,模擬發(fā)射裝置計算機及其控制設(shè)備的編碼為D0~D4,視景仿真計算機的地址編碼為E4。以駕駛席通信節(jié)點MCU為例,表1所示的5個數(shù)據(jù)幀為駕駛席的5路模擬操作信號(離合器踏板、制動踏板、油門踏板、方向盤和手油門)向視景仿真計算機節(jié)點發(fā)送的數(shù)據(jù)幀內(nèi)容,根據(jù)自定義的應(yīng)用層協(xié)議,源設(shè)備地址編碼為B0,目標(biāo)設(shè)備地址為E4,優(yōu)先級為00110,通信方式為點對點,所以幀類型為01,標(biāo)識符的所有元素組成了數(shù)據(jù)幀的ID:0X0601E4B0,DLC含義是數(shù)據(jù)長度碼,一般為4位,定義的應(yīng)用層協(xié)議使用的數(shù)據(jù)場長度為8字節(jié)。因此,DLC編碼為0X08。駕駛席MCU節(jié)點發(fā)送數(shù)據(jù)幀示例如表2所示
表1 標(biāo)識符分配方案標(biāo)識符
表2 駕駛席MCU節(jié)點發(fā)送數(shù)據(jù)幀示例
3.2 CAN數(shù)據(jù)域定義
根據(jù)應(yīng)用層協(xié)議設(shè)計,CAN數(shù)據(jù)長度碼DLC為0X08,即數(shù)據(jù)域長度為8字節(jié)。通信節(jié)點的所有采集與控制信息全部由這8個字節(jié)數(shù)據(jù)表示,這種短幀結(jié)構(gòu)有利于提高數(shù)據(jù)傳輸速度與實時性,提高總線帶寬利用率。
4.1 初始化子程序
CAN總線在進行數(shù)據(jù)傳輸之前必須完成初始化,而初始化只有在總線復(fù)位模式下才可進行。因此,控制器MCP2510相關(guān)的硬件上電后需要進行復(fù)位操作,如果控制器正處于復(fù)位模式,那么模式寄存器的RM應(yīng)為1,否則就要通過硬件或軟件將其強制置1,以進入復(fù)位模式[5]。CAN初始化子程序由INITCAN函數(shù)實現(xiàn),主要實現(xiàn)MCP2510使能、設(shè)置初始化錯誤報警界限、設(shè)置通信波特率、中斷初始化、報文過濾器設(shè)置、工作方式設(shè)置和環(huán)形緩沖區(qū)設(shè)置等。CAN初始化程序框圖如圖4所示。
圖4 CAN初始化程序
4.2 接收子程序
報文接收由中斷處理函數(shù)實現(xiàn),MCP2510的中斷觸發(fā)節(jié)點MCU的外部中斷0,中斷服務(wù)程序?qū)⒏鶕?jù)控制器中斷狀態(tài)寄存器的類型,啟動不同的中斷響應(yīng)。在數(shù)據(jù)接收中斷服務(wù)程序中讀取CANICR寄存器狀態(tài),如果有接收中斷請求,CAN控制器將讀取接收緩沖區(qū)數(shù)據(jù)。CAN中斷處理函數(shù)流程如圖5所示。
圖5 CAN接收中斷程序
4.3 發(fā)送子程序
數(shù)據(jù)發(fā)送之前需要檢測狀態(tài)寄存器,以確定發(fā)送寄存器沒有處于鎖定狀態(tài)[6]。如果發(fā)送寄存器為自由狀態(tài),那么數(shù)據(jù)將被存入buf確定的數(shù)據(jù)緩存區(qū)。數(shù)據(jù)存入緩沖區(qū)后,控制器對命令寄存器TXBNCTRL的發(fā)送請求位TXREQ置1,開始報文數(shù)據(jù)的發(fā)送,緩沖區(qū)內(nèi)數(shù)據(jù)發(fā)送完成后,控制器MCP2510要返回一個數(shù)據(jù)發(fā)送成功狀態(tài)返回,然后清除發(fā)送請求位,同時把中斷標(biāo)志位CANINTF.TXNIF置1,產(chǎn)生發(fā)送成功中斷標(biāo)志,并將存儲區(qū)內(nèi)的待發(fā)送數(shù)據(jù)存入發(fā)送緩沖器,開始下一個發(fā)送過程。其程序框圖如圖6所示。
圖6 CAN接收中斷程序
提出了基于CAN總線的某型模擬器數(shù)據(jù)采集系統(tǒng)設(shè)計方法,在數(shù)據(jù)采集系統(tǒng)中,各個席位的微處理器以CAN總線為通信手段,根據(jù)不同的信號選擇不同類型的傳感器,并輔以不同的信號處理方法,成功地實現(xiàn)了對所有操作的模擬。系統(tǒng)各個席位之間采用CAN總線進行通信互聯(lián),使連線的長度和復(fù)雜性降低,布線簡潔清楚。這種設(shè)計方案有利于系統(tǒng)的前期調(diào)試、后期維護及功能拓展。系統(tǒng)響應(yīng)及時準(zhǔn)確,可靠性高,具有很好的應(yīng)用前景。
[1] 饒韻濤,鄒繼軍.現(xiàn)場總線CAN原理與應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版社,2003.
[2] 李燕寧,鮑芳,邱雪瓊,等.CAN現(xiàn)場總線的嵌入式網(wǎng)關(guān)設(shè)計[J].儀表技術(shù)與傳感器,2006(11):27-29.
[3] 孟遨,趙敏,陳志逸,等.基于CAN總線的船用儀表系統(tǒng)研究[J].指揮控制與仿真,2013(2):128-130.
[4] 苗中華,褚劍鋼,劉成良,等.采棉機智能監(jiān)控CAN應(yīng)用層協(xié)議設(shè)計[J].農(nóng)用機械學(xué)報,2012(1):180-183.
[5] IAN B.Timely use of the CAN protocal in critical hard realtime systems with falts[J].IEEE Tansactions on Industrial Electronics,2007,5(4):48-51.
[6] 張穎超,楊宇峰,葉小嶺,等.基于CAN總線的溫室監(jiān)測系統(tǒng)的通信設(shè)計[J].控制工程,2009(1):103-106.
Design of Data Acquisition for Mine Laying Simulator on Rocket Based on CAN Field Bus
WANGPu,SHENJinxing,LIYongsheng,LIhuanliang
(College of Field Engineers,PLA University of Science and Technology,Nanjing 210007,China)
根據(jù)某型火箭布雷車模擬器的信號特性,運用現(xiàn)場總線技術(shù),選用合適的微處理器,設(shè)計了裝備模擬器的數(shù)據(jù)采集系統(tǒng)。應(yīng)用表明,CAN總線技術(shù)的應(yīng)用為模擬器數(shù)據(jù)采集系統(tǒng)提供了一種可靠實用的設(shè)計方法,提高了系統(tǒng)的實時性和穩(wěn)定性。
火箭布雷車;數(shù)據(jù)采集;CAN總線
According to the characteristics of the mine laying simulator on rocket signal,a data acquisition system using appropriate microprocessor was designed with CAN bus technology.The practice proves that,the application of CAN bus provided a reliable and practical design method for the system,which improves the instantaneity and stability of the system.
mine laying system on rocket;data acquisition;CAN bus
2014-03-21
江蘇省青年科研基金資助項目(BK2012061)
TH39
A
1001-2257(2014)08-0045-03
王樸(1990-),男,山東鄒平人,碩士研究生,研究方向為裝備保障;申金星(1988-),男,江蘇徐州人,碩士研究生,研究方向為裝備保障。