摘 要:介紹基于嵌入式PC104計算機和MCS-51單片機的火炮隨動控制系統監控儀設計。該系統要求實時顯示火炮高低和方位主令曲線及火炮位置反饋曲線,并且實時監控火炮的極限位置。采用PC104模塊實現主令發送及曲線顯示,單片機實時檢測火炮極限位置,單片機和PC104模塊與火炮隨動系統之間通過CAN總線通信,單片機與PC104模塊之間通過串口進行數據設置及狀態信息傳送。該設計不僅利用PC104模塊實現了強大的計算及圖形顯示功能,同時采用單片機又保證了整體系統的實時性。
關鍵詞:隨動系統; PC104; CAN總線; 串行通信
中圖分類號:TP275 文獻標識碼:A
文章編號:1004-373X(2010)09-0032-03
Design of Monitoring Apparatus in Mobile Servo-control System of Artillery
CAI Rong-li, TAN Fan-qiong
(Xi’an Technological University, Xi’an 710032, China)
Abstract:The design of the monitering apparatus in the molile servo-control system for artillery based on the embedded PC104 computer and MCS-51 monolithic integrated circuit is introduced. The requirements to carry out the real-time display of the master curves of elevation and azimuth, feedback curve of artillery position and real-time monitoring of the artillery′s limiting position should be satisfied for the system. PC104 modules are used to achieve the master′s delivery and display of curve. MCU are used to perform the real-time detection of the artillery limited position. The communication between PC104 module and MCU with artillery servo-system is achieved by CAN bus. The transmission of status information and data setting between the MCU and PC104 modules are achieved by a serial port. This design not only realized the formidable function of computation and the graphical display by the PC104 modules, but also ensured overall system′s timeliness through MCU.
Key words: servo-control system; PC104; CAN bus; serial communication
0 引 言
近年來,隨著高新技術武器的不斷涌現,其目標識別能力、隱蔽程度、目標命中精度均大大提高,這給火炮武器系統提出了新的要求。對火炮隨動系統而言,必須具備很高的角速度、角加速度和很高的跟蹤精度,要求有很好的快速性和動態品質,還應有很高的可靠性和可維護性[1]。
火炮隨動系統是一種位置反饋的控制系統,在設計及產品交驗時,需要知道火炮隨動系統的各類技術指標,如跟蹤性能、階躍性能等。該火炮隨動控制系統監控儀主要用來控制和監測火炮隨動系統能夠的方位及高低位置,并根據主令曲線計算出誤差曲線,從而判定隨動系統的跟蹤性能、階躍性能等,當火炮運行至所設定的極限位置時,能夠輸出開關量。該火炮隨動控制系統監控儀要求:體積小;能通過圖形顯示火炮的速度、位置及誤差曲線;響應時間快,要求到限響應時間不大于10 ms。
1 PC104模塊與MCS-51單片機之間的通信
隨動控制系統監控儀采用PC104計算機作為主控制器,與外部隨動系統的通信采用PC104 CAN卡,操作系統為Windows XP。因此,可以通過PC104計算機實現曲線圖形顯示及誤差計算等功能。但是,由于Windows XP是非實時操作系統,程序運行時,無法通過應用程序精確控制時間,因此無法做到真正的實時性。所以在火炮到限檢測時,采用單片機電路,可確??焖夙憫囊蟆CS51單片機通過串口與PC104計算機系統連接,串口設置為最簡單的工作方式,串口通信波特率設置為9 600 b/s,接口芯片使用MAX232,串口通信協議采用十六進制編碼方式[2]。
1.1 下位機數據包組成
下位機(單片機)數據包定義相同,每個數據包由4個字節組成,依次為:
BYTE3BYTE2BYTE1BYTE0
發送順序為先高后低。
BYTE3:起始幀,0xAB。
BYTE2:長度幀,0x02。
BYTE1:命令幀,0xA0/0xA1/0xA2/0xA3:執行復位/停止監控/恢復監控/射角限制設置等命令成功;0xFF:接收數據錯誤,要求重發;0xF3/0xF4:火炮位置超下限/上限,產生下限/上限報警;0x3F/0x4F:清除下限/上限報警顯示。
BYTE0:結束幀,0xCD。
1.2 上位機(PC104計算機)數據包組成[3]
上位機數據包組成有兩種定義,第一種數據包定義由4個字節組成,依次為:
BYTE3BYTE2BYTE1BYTE0
發送順序為先高后低。
BYTE3:起始幀,0xAB。
BYTE2:長度幀,0x02。
BYTE1:命令幀,0x00/0x01/0x02:復位/停止監控/恢復監控命令;0xFF:接收數據錯誤,要求重發;0xE3/0xE4:解除下限/上限警報;
BYTE0:結束幀,0xCD。
上位機第二種數據包定義由8個字節組成,依次為:
BYTE7BYTE6BYTE5BYTE4BYTE3BYTE2BYTE1BYTE0
發送順序為先高后低。
BYTE7:起始幀,0xAB。
BYTE6:長度幀,0x06。
BYTE5:命令幀,0x04:設置射角上下限。
BYTE4~BYTE3:數據幀,射角上限值。
BYTE2~BYTE1:數據幀,射角下限值。
BYTE0:結束幀,0xCD。
上位機與下位機之間一包的通信數據量為8個字節和4個字節,其所用時間大概為7 ms和3.5 ms。
2 監控儀與隨動系統之間的通信
隨動控制系統功能要求:
(1) 監控儀能接收CAN總線上的數據,并顯示在顯示器上,顯示的內容包括:火控機數據、隨動反饋角、方位高低誤差、故障報警,顯示到小數點后一位;
(2) 能模擬射角限制器功能,并能隨意的設置射角限制區等;
(3) 監控儀能夠通過CAN總線向隨動系統發送主令數據。
根據控制系統的要求,在監控儀和隨動系統之間使用CAN總線通信方式。單片機電路主要功能是同上位機進行通信和監控火炮的極限位置[4-5]。
2.1 MCS-51單片機與隨動系統之間的通信電路設計
單片機與隨動系統之間使用實時性強、可靠度高、價格低廉、傳輸距離遠、傳輸速率快和有較強的抗電磁干擾能力等的CAN總線通信方式。在電路設計中,使用AT89S52作為微處理器。CAN總線控制器選用Philips半導體公司的SJA1000,它支持CAN 2.0A和CAN 2.0B協議,可以工作在BasicCAN模式或者是具有更多功能的PeliCAN模式。
CAN總線收發器選用PAC82C250,其能提供CAN總線的差動發送能力及對CAN控制器的差動接收能力,信號使用差分電壓傳送,兩條信號線被稱主CANH和CANL。為了提高抗干擾能力在SJA1000與PAC82C250 之間采用高速光耦6N137進行信號隔離。電路連接如圖1所示[6-8]。
圖1 CAN接口電路
為了保證系統的可靠性,提高系統的抗干擾能力,電路中使用隔離型DC/DC電源模塊向收發電路供電,DC/DC電源使用可以提供穩定、低噪聲5 V DC電壓的BO505RN-1W的電源模塊。
2.2 MCS-51單片機與隨動系統之間通信的軟件設計
監控儀軟件功能為:
(1) 使用CAN 2.0B通訊協議,通信波特率500 Kb/s;
(2) 上限位置、下限位置設置:可設置一定的區域,設置單位為密位;
(3) 上下限的響應必須足夠快,為此電路上設計了單片機電路板,通過串口與PC104計算機系統連接;
(4) 故障指示: PC104系統接收到故障代碼后,除了顯示器上顯示故障情況,同時通過串口傳送給單片機,單片機控制故障指示燈亮。
(5) 通信數據格式:
① CAN總線上不同節點具有不同的節點號;
② 位置反饋方位、高低角數值范圍0~65 535,代表0~6 000密位;
BYTE7:方位反饋低位;
BYTE6:方位反饋高位;
BYTE5:高低反饋低位;
BYTE4:高低反饋高位;
BYTE3:BYTE2:空;
BYTE1:方位誤差;
BYTE0:高低誤差。
依據控制系統的要求,SJA1000初始為peliCAN模式,通信波特率為500 Kb/s,使用CAN 2.0B通訊協議,其初始化代碼如下[9,10]:
void sjainit();//SJA1000 initial
{
sjarst=0;//SJA1000復位信號,低有效
for(i=0;i<2000;i++);
sjarst=1;
do{
MOD=0x01;
value=MOD;
}while((value0x01)==0);//進入復位模式
CDR=0x8f;//選擇peliCAN模式
BTR0=0x00;
BTR1=0x2f;//設置波特率為500 Kb/s
ACR0 =0x00;
ACR1=0x00;
ACR2 =0x00;
ACR3 =0x00;//隨動系統節點號
AMR0 =0xff;
AMR1 =0xff;
AMR2=0xff;
AMR3 =0xff;//設置驗收屏蔽寄存器
OCR=0x1a;
RBSA=0x0;//接收緩沖器起始地址
MOD=0x08;//進入工作模式
CMR=0x0c;//清除數據溢出位,釋放接收緩沖器
IER=0x01;//僅開放接收中斷
}
單片機電路主要是接收CAN總線上隨動系統的數據,并監控火炮的極限位置;超上限或者超下限時向上位機發送報警命令,同時釋放繼電器,火炮處于超限鎖死狀態。流程圖如圖2所示。
圖2 單片機主程序流程圖
CAN總線上數據的報文格式有標準幀和擴展幀。本文中使用擴展幀,其數據幀由13個字節組成,依次為:
BYTE12BYTE11~BYTE8BYTE7~BYTE0
BYTE12:RX幀信息 EFF;
BYTE11~BYTE8:RX識別碼1~RX識別碼4;
BYTE7~BYTE0:RX數據1~RX數據8。
單片機完成一次CAN總線隨動數據的接收,數據量有13個字節;通信波特率為500 Kb/s的情況下,大概需要210 μs。
3 結 語
火炮隨動控制系統監控儀在現場測試中到限響應時間為8 ms,滿足到限快速響應要求。監控儀是一種實時的火炮隨動控制系統監測儀器,且電路結構合理、體積小、易維護,可以通過計算機接口進行軟件升級和各項參數的調整,具有較強的實用性。
參考文獻
[1]張捷,薄煜明,杜國平.基于DSP的數字火控隨動系統設計[J].荊門職業技術學院學報,2006,21(3):15-17.
[2]朱華,宋柏,薛永剛,等.基于單片機的隨動控制系統設計[J].制造業自動化,2007,29(4):59-61,71.
[3]張新房,徐大平.WindowsCE下PC104模塊與MCS51單片機通信[J].測控技術,2002,21(11):40-44.
[4]李朝青.單片機原理及接口技術[M].北京:北京航空航天大學出版社,1999.
[5]求是科技.單片機通信技術與工程實踐[M].北京:人民郵電出版社,2005.
[6]鄔寬明.CAN總線原理和應用系統設計[M].北京:北京航空航天大學出版社,1996.
[7]王福瑞.單片機微機測控系統設計大全[M].北京:北京航空航天大學出版社,1998.
[8]魏瑞軒.CAN總線測控網絡的設計與實現[J].工業控制計算機,2000,13(2):9-10.
[9]廣州致遠電子有限公司.基于SJA1000的CAN節點設計[M].廣州:廣州致遠電子有限公司,2006.
[10]廣州周立功單片機發展有限公司.SJA1000獨立的CAN控制器應用指南[EB/OL].[2007-5-30].http://www.zlgmcu.com,2007.