基于DSP在捷聯(lián)慣性制導(dǎo)技術(shù)中的應(yīng)用
1 引言
捷聯(lián)慣性制導(dǎo)是隨著計(jì)算機(jī)技術(shù)的發(fā)展而發(fā)展起來的慣性制導(dǎo)技術(shù),由于它是用一個(gè)數(shù)學(xué)平臺(tái)來代替平臺(tái)式慣性制導(dǎo)系統(tǒng)中的陀螺穩(wěn)定平臺(tái),因而具有成本低、結(jié)構(gòu)簡單、體積小、可靠性高等優(yōu)點(diǎn)。但正是由于沒有穩(wěn)定平臺(tái),其慣性器件的測量值就不能直接用于導(dǎo)航計(jì)算,而必須先經(jīng)過復(fù)雜的數(shù)學(xué)變換把其變?yōu)榉蠈?dǎo)航計(jì)算要求的值,這樣捷聯(lián)慣性制導(dǎo)在計(jì)算上十分復(fù)雜,同時(shí)對計(jì)算裝置的性能也提出了很高的要求。
2捷聯(lián)慣性制導(dǎo)的工作原理
由于去掉了穩(wěn)定平臺(tái),捷聯(lián)慣性制導(dǎo)將慣性器件直接固聯(lián)于彈體上。這樣,其慣性器件所測得的值便是沿彈體坐標(biāo)系軸向的測量值。由于彈體坐標(biāo)系是運(yùn)動(dòng)坐標(biāo)系,而導(dǎo)航計(jì)算是以參考坐標(biāo)系(導(dǎo)航坐標(biāo)系)為參照來確定彈的位置、速度、姿態(tài)等運(yùn)動(dòng)參數(shù)的。因此,彈體坐標(biāo)系下的測量值不能直接用于導(dǎo)航計(jì)算,而必須先對它們進(jìn)行變換,以將其變換到導(dǎo)航坐標(biāo)系,然后再進(jìn)行導(dǎo)航計(jì)算。具體的變換會(huì)因所選的參考坐標(biāo)系的不同而有所不同,其基本過程如下:
(1)計(jì)算機(jī)根據(jù)陀螺的輸出計(jì)算出姿態(tài)角;
(2)根據(jù)姿態(tài)角參數(shù),確定用來進(jìn)行坐標(biāo)變換的方向余弦矩陣;
(3)把彈體坐標(biāo)系下的加速度用方向余弦矩陣變換到導(dǎo)航坐標(biāo)系下;
(4)根據(jù)相應(yīng)的力學(xué)編排方程算出彈體的即時(shí)速度、位置等制導(dǎo)參數(shù)。
圖1所示是一個(gè)捷聯(lián)慣性制導(dǎo)的工作原理示意圖。該系統(tǒng)的坐標(biāo)系變換過程需要進(jìn)行大量的矩陣運(yùn)算,而變換后的導(dǎo)航計(jì)算主要是積分運(yùn)算。因此,從計(jì)算方面來看,捷聯(lián)慣性制導(dǎo)在計(jì)算上是很復(fù)雜的,沒有相當(dāng)?shù)挠布С质菬o法實(shí)現(xiàn)的。但從其它方面來看,省掉穩(wěn)定平臺(tái)又使得捷聯(lián)慣性制導(dǎo)系統(tǒng)具有結(jié)構(gòu)簡單,可靠性高,容易制造,體積小,重量輕,成本低等特點(diǎn)。所以,捷聯(lián)慣性制導(dǎo)利用數(shù)學(xué)技術(shù)實(shí)現(xiàn)了系統(tǒng)結(jié)構(gòu)的簡化,并由此帶來了工程技術(shù)上的優(yōu)越性。因此,小型戰(zhàn)術(shù)制導(dǎo)武器系統(tǒng)很適合采用這種技術(shù)。
3 捷聯(lián)慣性制導(dǎo)系統(tǒng)的設(shè)計(jì)
3.1 DSP技術(shù)介紹
DSP(數(shù)字信號(hào)處理器)是一種特殊結(jié)構(gòu)的微處理器,該類器件原本主要是用來對數(shù)字信號(hào)進(jìn)行快速傅立葉變換(FFT)、離散余弦變換(DCT)、卡爾曼濾波等運(yùn)算量極大且要求實(shí)時(shí)計(jì)算的系統(tǒng)進(jìn)行處理的。為達(dá)到快速進(jìn)行數(shù)字信號(hào)處理的目的,DSP芯片應(yīng)有一些特殊硬件結(jié)構(gòu),具體表現(xiàn)如下:
(1)哈佛結(jié)構(gòu):哈佛結(jié)構(gòu)是并行體系結(jié)構(gòu),主要特點(diǎn)是將程序和數(shù)據(jù)存儲(chǔ)在不同的存儲(chǔ)空間中,即程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器是兩個(gè)互相獨(dú)立的存儲(chǔ)器,每個(gè)存儲(chǔ)器獨(dú)立編址,獨(dú)立訪問。與兩個(gè)存儲(chǔ)器相對應(yīng)的是系統(tǒng)中的程序總線和數(shù)據(jù)總線,這兩條總線可使數(shù)據(jù)吞吐量提高一倍。
(2)流水線操作:該操作與哈佛結(jié)構(gòu)相關(guān),DSP芯片廣泛采用流水線操作方式以減少指令執(zhí)行時(shí)間,增強(qiáng)處理器的處理能力;
(3)專用的硬件乘法器:乘法可以在一個(gè)指令周期內(nèi)完成;
(4)特殊的DSP指令:DSP芯片使用專門用于數(shù)字信號(hào)處理的特殊指令;
(5)快速的指令周期:由于采用哈佛結(jié)構(gòu)、流水線操作、專用的硬件乘法器、特殊的DSP指令再加上集成電路的優(yōu)化設(shè)計(jì),因此,DSP芯片的指令周期可降到20ns以下,而快速的指令周期則可使DSP芯片能夠?qū)崿F(xiàn)很多實(shí)時(shí)計(jì)算的應(yīng)用。
可以看出,DSP的高速實(shí)時(shí)計(jì)算能力很強(qiáng)。因此,捷聯(lián)慣性制導(dǎo)需要進(jìn)行的大量實(shí)時(shí)計(jì)算非常適合用DSP芯片來實(shí)現(xiàn)。
3.2 制導(dǎo)系統(tǒng)電路設(shè)計(jì)
捷聯(lián)慣性制導(dǎo)理論將整個(gè)系統(tǒng)電路按功能分成三大模塊,即計(jì)算機(jī)模塊、數(shù)據(jù)采集模塊、通訊與控制接口模塊。其中計(jì)算機(jī)模塊負(fù)責(zé)全系統(tǒng)所有的計(jì)算和控制工作;數(shù)據(jù)采集模塊負(fù)責(zé)從慣性器件采集數(shù)據(jù);通訊與控制接口模塊負(fù)責(zé)計(jì)算機(jī)模塊與系統(tǒng)外其它設(shè)備的通訊工作和對彈體飛行控制機(jī)構(gòu)的控制工作。三大模塊之間通過總線進(jìn)行互連。其系統(tǒng)功能結(jié)構(gòu)示意圖如圖2所示。從圖中可以看出,計(jì)算機(jī)模塊是全系統(tǒng)的核心,是唯一有計(jì)算能力的部分,系統(tǒng)中所有軟件功能均在此實(shí)現(xiàn)。所以,本模塊設(shè)計(jì)的好壞對整個(gè)系統(tǒng)的性能影響很大,是系統(tǒng)全部電路設(shè)計(jì)的關(guān)鍵。下面重點(diǎn)介紹這部分電路的設(shè)計(jì)。
對于一個(gè)計(jì)算機(jī)電路來說,決定其性能的最重要部分當(dāng)然是處理器。所以,本模塊采用什么樣的處理器也就成了這部分電路設(shè)計(jì)的重點(diǎn)。綜合捷聯(lián)慣性制導(dǎo)的特點(diǎn)和系統(tǒng)的設(shè)計(jì)要求,筆者選用TI公司的TMS320C32PCMA50(簡稱C32)作處理器。C32是一種32位高性能浮點(diǎn)數(shù)字信號(hào)處理器(DSP),與一般的DSP芯片相比,C32允許數(shù)據(jù)存放在程序存儲(chǔ)器中并被算術(shù)運(yùn)算指令直接引用,從而增強(qiáng)了芯片的靈活性;另外,C32也可以將指令存儲(chǔ)在高速緩沖器Cache中。這樣,當(dāng)執(zhí)行此指令時(shí),就不需要再從存儲(chǔ)器中讀取指令,從而節(jié)約了一個(gè)指令周期的時(shí)間。C32的運(yùn)算速度高達(dá)60MFLOPS(每秒百萬次浮點(diǎn)運(yùn)算)和25MIPS(每秒百萬次指令)。所以,不論從速度上,還是精度上,C32都完全可以滿足捷聯(lián)慣性制導(dǎo)系統(tǒng)的設(shè)計(jì)要求。
系統(tǒng)中的計(jì)算機(jī)模塊電路一般由狀態(tài)監(jiān)控、系統(tǒng)恢復(fù)和計(jì)算機(jī)電路組成。本模塊電路示意圖見圖3所示。該模塊是全系統(tǒng)的核心,而C32 DSP更是核心中的核心。因此,有必要對其進(jìn)行專門的監(jiān)控,以保證其正常運(yùn)行。設(shè)計(jì)時(shí)可通過狀態(tài)監(jiān)控電路來對C32 DSP和電源進(jìn)行監(jiān)控,以防因偶然情況出現(xiàn)死循環(huán)、程序偏離預(yù)定流程而導(dǎo)致系統(tǒng)失效。
慣性制導(dǎo)系統(tǒng)是歷史信息敏感型系統(tǒng),如果系統(tǒng)因故重啟后沒有歷史信息,其后的導(dǎo)航計(jì)算就沒什么意義。所以有必要對系統(tǒng)運(yùn)行的一些重要信息進(jìn)行保存,以便重啟后能迅速接替以前的工作。為此,本系統(tǒng)采用了兩條措施:第一是使用高速自動(dòng)存儲(chǔ)E2PROM對數(shù)據(jù)存儲(chǔ)器中的重要數(shù)據(jù)進(jìn)行自動(dòng)備份;第二是使用一個(gè)具有備份電源的實(shí)時(shí)時(shí)鐘芯片來記錄從上一次導(dǎo)航數(shù)據(jù)保存時(shí)刻到重啟后讀取導(dǎo)航歷史信息之間的時(shí)間長度。該實(shí)時(shí)時(shí)鐘芯片在主電源掉電后能利用備份電源提供幾十秒的電能。系統(tǒng)恢復(fù)電路就由上述兩個(gè)芯片構(gòu)成。
計(jì)算機(jī)電路是本模塊的核心電路,它由C32 DSP、SRAM、FLASHROM和CPLD構(gòu)成。為提高性能,該電路采用32位數(shù)據(jù)總線和24位地址總線。同時(shí),由于C32被設(shè)置成了微機(jī)工作模式,因而具有自主引導(dǎo)功能。系統(tǒng)程序固化在FLASHROM中,SRAM則用作數(shù)據(jù)存儲(chǔ)器。將CPLD作為C32和外圍芯片的接口可實(shí)現(xiàn)很多邏輯電路功能。外圍芯片與C32的連接需要有一個(gè)唯一的I/O地址,因此在CPLD中設(shè)計(jì)的I/O地址分配電路可為每個(gè)外圍芯片分配一個(gè)I/O地址。另外,C32本身的外部中斷源只有四級(jí)(個(gè)),而系統(tǒng)中需要通過中斷來執(zhí)行的程序又不止四個(gè),故采用中斷和查詢相結(jié)合的辦法來解決這個(gè)問題。由于同一級(jí)中斷中包括好幾個(gè)中斷源,這樣,在該級(jí)中斷響應(yīng)時(shí)再對具體的中斷源進(jìn)行查詢即可確定需要具體響應(yīng)哪個(gè)中斷源。因此,在CPLD中設(shè)計(jì)了中斷分配電路。對于啟動(dòng)和運(yùn)行時(shí)間都很嚴(yán)格的中斷源來說,可由各種頻率的時(shí)鐘信號(hào)來對其進(jìn)行觸發(fā)。所以,CPLD中還設(shè)計(jì)了時(shí)鐘分頻電路,即用系統(tǒng)的精確時(shí)鐘來分頻以產(chǎn)生所需的各種頻率時(shí)鐘。
對于I/O地址分配電路、中斷分配電路和時(shí)鐘分頻電路,如果用標(biāo)準(zhǔn)邏輯器件(74系列或54系列)來實(shí)現(xiàn),將需要很多芯片,這樣一方面將使電路部分的體積和功耗增加;另一方面也會(huì)使電路的規(guī)模擴(kuò)大、復(fù)雜性增加、可靠性下降。因此,這三個(gè)電路可用CPLD(復(fù)雜可編程器件)來實(shí)現(xiàn)。為了充分利用CPLD 的靈活性,系統(tǒng)中其它的一些邏輯電路也被放到這里。這樣,在一片170mm×170mm的小芯片
中就可實(shí)現(xiàn)系統(tǒng)所需的大量邏輯功能。
3.3 系統(tǒng)程序設(shè)計(jì)
導(dǎo)航、制導(dǎo)計(jì)算都屬于實(shí)時(shí)計(jì)算。要實(shí)現(xiàn)這一要求,軟件就必須結(jié)合硬件來進(jìn)行設(shè)計(jì),以充分發(fā)揮硬件的功能。本設(shè)計(jì)充分利用了系統(tǒng)的中斷功能,并以中斷為主來進(jìn)行程序設(shè)計(jì),以使系統(tǒng)中各個(gè)部分的具體功能都可通過中斷程序來實(shí)現(xiàn)。其系統(tǒng)工作過程如下:
加電開機(jī)→FLASH中的程序調(diào)入內(nèi)存→系統(tǒng)初始化、自檢→導(dǎo)航信息恢復(fù)→安裝中斷程序→打開中斷→待機(jī)。
該系統(tǒng)的軟件包括主程序、子程序和各中斷響應(yīng)程序等部分。
其中主程序是系統(tǒng)程序的框架,重要的初始化參數(shù)主要在主程序中定義,主程序通過調(diào)用子程序來完成系統(tǒng)初始化、自檢、導(dǎo)航信息恢復(fù)、系統(tǒng)配置、中斷程序配置等功能。其中,系統(tǒng)自檢程序主要檢測CPU、SRAM以及各接口芯片的工作是否正常。引導(dǎo)程序主要根據(jù)系統(tǒng)硬件中存儲(chǔ)的狀態(tài)信息來確定導(dǎo)航計(jì)算的起點(diǎn)。主要狀態(tài)信息有:系統(tǒng)是加電開機(jī)還是死機(jī)后重新啟動(dòng),以及上一次保存數(shù)據(jù)與當(dāng)前的時(shí)間間隔等。根據(jù)系統(tǒng)硬件中保存的狀態(tài)信息和非易失存儲(chǔ)器中保存的導(dǎo)航信息可確定當(dāng)前導(dǎo)航計(jì)算的基準(zhǔn)點(diǎn)。系統(tǒng)主程序流程如圖4所示。
子程序主要用來完成一些特定的功能,包括導(dǎo)航子程序、控制子程序、通訊子程序和卡爾曼濾波子程序等。
中斷程序由硬件中斷觸發(fā),除完成現(xiàn)場保護(hù)和硬件信息處理外,還可根據(jù)需要調(diào)用導(dǎo)航子程序、控制子程序、通訊子程序、狀態(tài)監(jiān)控子程序、卡爾曼濾波程序等,同時(shí)在處理完成后恢復(fù)現(xiàn)場并向主程序返回?cái)?shù)據(jù)。
4 結(jié)束語
捷聯(lián)慣性制導(dǎo)是一種很有應(yīng)用價(jià)值的慣性制導(dǎo)方法,隨著計(jì)算機(jī)技術(shù)的發(fā)展,該技術(shù)將迅速應(yīng)用于各種戰(zhàn)術(shù)武器中。本文并不企圖在理論上進(jìn)行創(chuàng)新,而是在技術(shù)上謀求好的實(shí)現(xiàn)方法。實(shí)驗(yàn)證明:用DSP芯片對慣性器件的信息進(jìn)行處理,并用可編程器件進(jìn)行邏輯電路的實(shí)現(xiàn),可簡化系統(tǒng)電路,提高系統(tǒng)的運(yùn)算性能以及可靠性和靈活性。