1前言
在新型導彈制導和控制系統(tǒng)中采用總線式的數(shù)據傳輸方案,,是解決現(xiàn)行的導彈飛行控制系統(tǒng)中,通過點對點直接連接的電纜網傳輸模擬信號造成的結構復雜,、可靠性低,、系統(tǒng)的電磁兼容性與抗毀傷能力等諸多弊病的一個較好的途徑。電液伺服機構是導彈控制系統(tǒng)中重要的組成部分,。它的性能往往嚴重影響到導彈的控制精度,,甚至決定飛行的成敗。在總線式導彈控制系統(tǒng)中,,導彈電液伺服機構將作為總線上的一個節(jié)點掛接在總線上,,因此必須設計一個將總線與電液伺服機構連接起來的接口。導彈總線式控制系統(tǒng)結構如圖1所示,。
在導彈飛行中,,慣性敏感元件獲得導彈的飛行參數(shù)后,送到彈上計算機,,經過計算機運算后形成控制指令,,指令被送到導彈的電液伺服機構,通過導彈電液伺服機構的作動筒的動作來控制導彈的飛行彈道,。
1.1 CAN總線
CAN(Controller Area Network)即控制器局域網絡,。CAN總線是一種多主站局部網絡,能夠有效支持分布式控制系統(tǒng)或實時控制系統(tǒng)的通信功能;它采用雙線串行通信方式工作,。微處理器可通過CAN控制器掛到CAN總線上,,它具有較強的檢錯功能以及優(yōu)先權和仲裁功能,可在高噪聲環(huán)境中使用,,其傳輸速率可高達1Mb/s,。
1.2 PC/104
PC/104是工業(yè)嵌入式PC的機械電氣標準。它的制定,,為嵌入式應用提供了標準的系統(tǒng)平臺,。PC/104總線與PC/AT總線(ISA)完全兼容。它符合IEEE-P996標準,,所有信號電平與TTL兼容,。PC/104模塊一般提供6mA的總線驅動能力,,可驅動15個低功耗的TTL負載。與普通的工業(yè)控制機相比,,PC/104總線具有如下特點:
?、貾C/104模塊與PC機軟、硬件完全兼容,,可以利用現(xiàn)有的較豐富和成熟的硬件、軟件開發(fā)工具及方法,、設計知識等資源,,開發(fā)周期短,成本低,。
?、赑C/104模塊體積小,功耗低,,無需散熱,,可層疊,具有系統(tǒng)級的性能,,芯片級的大小,。
③模塊之間采用獨特的縱向層疊或側向接插的結合方式,,模塊層疊后四角還有支柱和螺釘固定,,可靠性高,配置靈活方便,,便于故障的排除和修理,。
④外圍模塊齊全,,用戶可以選擇各種不同的功能模塊,,設計滿足不同需要的專用系統(tǒng)。
?、莨ぷ鳒囟确秶鷮?,一般在0-70度。
?、薮蠖鄶?shù)模塊采用單+5V電源,,降低了系統(tǒng)對電源的要求。
2 接口硬件設計
根據實際系統(tǒng)的要求,,本接口的功能主要是:實現(xiàn)與彈上計算機的通信,,在控制系統(tǒng)中作為一個終端接收彈上計算機傳來的指令和數(shù)據,進行控制算法的運算及執(zhí)行D/A,、A/D轉換,,并將伺服機構的運動信息和狀態(tài)數(shù)據傳輸給彈上計算機,。
接口與CAN總線之間的傳輸介質采用屏蔽雙絞線,接口硬件采用基于PC/104總線標準的模塊,,主要有:D/A和A/D模塊,、處理器模塊、外部存儲模塊,、雙向驅動及時序控制模塊,、CAN總線通信模塊。如圖2所示,。
1)D/A模塊
在本設計中,,我們選擇美國AD公司的AD7547數(shù)模轉換器。它是一種雙12位電流輸出的DACS(數(shù)據收集與控制系統(tǒng)),,具有以下特點:較寬的工作電壓(12-15V);抗電源電壓干擾性能好;緊湊的封裝形式(24腳0.3英寸DIP封裝);低增益誤差,。它可以和大多數(shù)的微處理器配合使用,能夠兼容TTL,、CMOS電平,。通過獨立的參考電壓和反饋電阻,還能夠提供四象限的乘法器功能,。其內部主要包括三個部分:控制邏輯電路,、A路數(shù)模轉換電路和B路數(shù)模轉換電路。其中邏輯控制電路通過簡單的三個控制信號:CSA,,CSB及WR來選擇相應的模數(shù)轉換器,,同時鎖存需要轉換的數(shù)據。A路數(shù)模轉換電路的基本控制原理為:通過CSA與WR控制信號,,將12位的轉換數(shù)據一次鎖存入A路轉換電路的數(shù)據寄存器中,,A路轉換電路開始進行數(shù)模轉換,將轉換后的模擬量輸出,。B路轉換電路的控制原理與A路類似,。
2)A/D模塊
A/D模塊將導彈電液伺服機構位移檢測裝置輸出的反饋信號轉化為數(shù)字量以便于計算機進行處理。系統(tǒng)的控制精度在很大程度上取決于檢測反饋裝置的精度,。根據伺服機構的反饋參數(shù)和系統(tǒng)性能指標要求,,本設計中采用美國AD公司生產的AD674A模數(shù)轉換芯片。它是一個12位逐次逼近型快速A/D轉換器,,轉換速度最大為15微秒,。AD674A片內配有三態(tài)輸出緩沖器電路,因而可以直接與各種典型的8位或16位處理器相連,,而無須附加邏輯接口電路,,且能與CMOS及TTL電平兼容。
3)處理器模塊
本設計中處理器采用PC/104嵌入式計算機,,因為它具有很快的運算速度,,所以它主要為接口提供高速的數(shù)據運算與處理功能,,這些數(shù)據包括彈上計算機通過總線送來的控制數(shù)據和通過模數(shù)轉換模塊采集的位移檢測裝置的輸出量,處理器將它們進行處理和綜合,,形成輸出量來控制作動筒的動作,。
4)雙向驅動及時序控制模塊
CAN控制器SJA1000的地址總線和數(shù)據總線是按照INTEL的8位單片機總線規(guī)范設計的,與PC/104總線不能直接相連,,中間要經過雙向總線驅動電路和時序轉換電路進行兩種總線信號的切換,,即將PC/104總線的數(shù)據總線和I/O地址總線經過總線驅動器和時序轉換變成SJA1000的數(shù)據/地址復用總線,這里邊有一個關鍵的時序切換問題,??刂瓶偩€的信號也要經過相應的轉換才能驅動總線控制器SJA1000。轉換電路原理框圖如圖3所示,。
圖3中細實線表示數(shù)據線和地址線,粗實線表示控制線,,細虛線表示片選信號,。
在本設計中,數(shù)據總線和地址總線分別通過兩個八總線收發(fā)送器74HC245連接到CAN控制器SJA1000的數(shù)據,、地址復用總線上,。74HC245是8位的總線收發(fā)送器,具有三態(tài)輸出,,可以進行雙向的數(shù)據傳送,。這中間用可編程邏輯芯片GAL16V8設計了一個時序控制邏輯電路,控制兩片74HC245的工作,,進行時序切換,,并避免數(shù)據和地址產生可能的沖突。片選信號是由一片74H688產生的,,74H688是一個8位的數(shù)值比較器/等值檢測器,。通過波段開關來設定I/O地址,用74HC688來比較PC/104總線上的地址信息和設定的I/O地址是否相同,,如相同則對SJA1000產生片選信號,。控制總線的信號切換也是由可編程邏輯芯片GAL16V8來實現(xiàn)的,。
5)通信模塊
CAN總線通信模塊由CAN控制器SJA1000,、光電隔離器6N137、CAN收發(fā)器82C250組成,,如圖4所示,。
a)SJA1000是PHILIP公司生產的標準CAN總線控制器,它在軟硬件設計上完全兼容基本CAN總線控制器PCA82C200,,具有和它完全兼容的引腳和協(xié)議CAN2.0A,,二者可以替換,。另外,它還支持總線擴展協(xié)議集CAN2.0B,。它有兩種工作模式:基本模式和擴展模式,。在基本模式下,它有32個工作寄存器,,而在擴展模式下,,它有127個工作寄存器。本設計選用基本工作模式,,即支持CAN2.0A協(xié)議,。CAN控制器一方面具有與微控制器接口的功能,另一方面還能完成CAN通信協(xié)議所要求的全部功能,。
b)82C250是CAN總線收發(fā)器,,它是控制器和物理總線間的接口。CAN控制器的傳送和接收端不允許與總線直接相連,,原因是:當網絡內某個節(jié)點未加電或發(fā)生故障時,,將影響整個網絡的正常工作。另外,,若總線出現(xiàn)短路故障時,,CAN控制器的輸出驅動器有可能損壞。所以,,在實現(xiàn)應用中必須在CAN控制器與總線之間設置一個接口電路,。82C250能提供對總線的差動發(fā)送能力和對CAN控制器的差動接收能力。82C250還具有很強的驅動能力,,能增大通信距離(最遠可達10Km),,可以進行斜率控制以降低射頻干擾,具有瞬間抗干擾能力,。它有三種工作模式:高速模式,、斜率控制模式和待機模式。本設計中采用了斜率控制模式,,通過在8引腳上接一個18歐姆的電阻來控制總線上的斜率,。
c)6N137是一個TI公司生產的高速光電隔離器,它具有較高的速度,,可以滿足系統(tǒng)的要求,,采用光電隔離電路以后,總線驅動器與總線控制器分別供電,,隔斷了二者的電氣連接,,進一步提高了抗干擾性能。
3 接口軟件設計
伺服機構與CAN總線接口軟件的主要任務有:初始化、接收總線信息,、向總線發(fā)送信息,、受理中斷、數(shù)據運算與輸入輸出控制,。伺服機構傳感器采集的信號存入指定發(fā)送子地址的數(shù)據緩沖區(qū)內,,從彈上計算機接收的指令和數(shù)據則存入指定的接收子地址的數(shù)據緩沖區(qū)內。當接口收到彈上計算機的控制指令后,,開始對伺服機構進行控制,。
初始化程序設計是本接口設計中重要的一個環(huán)節(jié)。在系統(tǒng)上電復位后,,首先確定微處理器的設置,,然后在SJA復位后,需要確定與通信有關的參數(shù),,包括總線定時,、各種寄存器和工作模式等。在系統(tǒng)運行過程中,,也可以發(fā)出一個復位請求,,根據實現(xiàn)情況重新確定系統(tǒng)的通信參數(shù)。其初始化程序主要步驟有:
1)初始化微處理器,,同時關閉與CAN控制器相連的外部中斷。
2)檢查復位端,,若進行復位狀態(tài),,則設置通信參數(shù),包括:工作模式,、時鐘驅動寄存器,、接收碼寄存器、輸出控制寄存器,、接收屏蔽寄存器和總線定時等,。
3)檢查復位請求位,若復位請求位為低,,則系統(tǒng)進入正常工作狀態(tài),,開微處理器的外部中斷以及CAN控制器本身的中斷。
初始化程序流程圖如圖5所示,。
CAN總線報文數(shù)據的接收是由控制器根據CAN總線通信協(xié)議自主完成的,。接收到的數(shù)據被放入接收緩存,然后狀態(tài)寄存器的“接收緩存狀態(tài)”標志位將被置位,,同時,,中斷寄存器的“接收中斷”標志位也被置位。微處理器必須讀出接收到的數(shù)據,同時釋放接收緩存,。報文的接收過程可以采用中斷方式,,也可以通過查詢的方式實現(xiàn)。
本設計中采用查詢方式實現(xiàn)數(shù)據的接收,。如圖6所示為查詢方式的流程圖,。CAN控制器的接收中斷標志被關閉。微處理器讀取CAN控制器的狀態(tài)寄存器的“接收緩存狀態(tài)”標志位,,檢查是否有數(shù)據到來,。如果緩沖區(qū)為空,表示沒有接收到數(shù)據,,微處理器便轉到其它工作上去,,直到下一輪檢查。如果緩沖區(qū)滿,,則表示有數(shù)據放入緩存,。微處理器可以根據報文信息讀取緩沖區(qū)的數(shù)據,之后需要設置命令寄存器的“釋放緩存標志”,,通知SJA1000釋放接收緩存,,完成接收,并進行相應的數(shù)據處理,。但由于接收緩存中的報文不一定只是一個,,因此必須重新檢查接收緩存,直到接收緩存為空為止,。否則,,由于接收緩存的大小有限,將會出現(xiàn)緩沖區(qū)溢出的現(xiàn)象,。循環(huán)查詢的時間必須足夠快,,以避免報文丟失。
4 結束語
本設計很好地解決了導彈伺服機構與CAN總線的連接和通信問題,,大大減輕了原系統(tǒng)的重量,,增強了信號傳遞的抗干擾性,提高了伺服機構的控制精度,,另外,,PC/104的模塊化結構使得接口的通用性和可維修性也顯著提高。