馬文希 張巧
摘 要:SCADE Suite主要用于嵌入式控制軟件的設(shè)計(jì)、驗(yàn)證和代碼生成。本文利用完成了α-β濾波的代碼開(kāi)發(fā),與傳統(tǒng)的代碼編寫(xiě)相比較縮短了開(kāi)發(fā)周期,可視化更強(qiáng),調(diào)試驗(yàn)證方便快捷,圖形化的方法便于開(kāi)發(fā)人員快速學(xué)習(xí)運(yùn)用。
關(guān)鍵詞:代碼生成;α-β濾波;嵌入式控制軟件;圖形化開(kāi)發(fā);實(shí)時(shí)仿真
1SCADE軟件試用
1.1 SCADE簡(jiǎn)介
SCADE 是一種圖形化、模塊化,基于自頂向下的控制流和數(shù)據(jù)流設(shè)計(jì)的軟件開(kāi)發(fā)工具。SCADE結(jié)合Lustre和Esterel兩種語(yǔ)言進(jìn)行設(shè)計(jì),屬于強(qiáng)類(lèi)型語(yǔ)言,能夠提供數(shù)據(jù)流運(yùn)算符、控制結(jié)構(gòu)體和層次化狀態(tài)機(jī),其語(yǔ)義規(guī)范,無(wú)歧義,支持循環(huán)式的程序執(zhí)行方式。SCADE Suite基于形式化語(yǔ)言和嚴(yán)謹(jǐn)?shù)臄?shù)學(xué)理論,為研制人員設(shè)計(jì)出高安全性的系統(tǒng)和軟件提供了充分的支持。提供了友好直觀的基于模型的集成開(kāi)發(fā)環(huán)境。SCADE使用同步語(yǔ)言,創(chuàng)建無(wú)歧義并且自動(dòng)實(shí)現(xiàn)、規(guī)范方面有著強(qiáng)大的優(yōu)勢(shì),SCADE的圖形描述首先轉(zhuǎn)換成LUSTRE語(yǔ)言,再通過(guò)LUSTRE轉(zhuǎn)化成C語(yǔ)言或ADA語(yǔ)言。其中LUSTRE語(yǔ)言可以看成是SCADE的核心。
LUSTRE是一種基于數(shù)據(jù)流的同步程序設(shè)計(jì)語(yǔ)言,LUSTRE應(yīng)用于反應(yīng)系統(tǒng)。它是確定性的,是基于時(shí)間的同步模型。它的同步模型使它適合在程序中處理時(shí)間、并被編譯成高效的程序。整個(gè)系統(tǒng)看作實(shí)時(shí)交互的節(jié)點(diǎn)集,實(shí)則構(gòu)成了一種時(shí)間演算系統(tǒng),可以刻畫(huà)出系統(tǒng)的動(dòng)態(tài)行為,該技術(shù)在許多安全關(guān)鍵系統(tǒng)中已經(jīng)得到了成功的應(yīng)用。能有效地控制和使用系統(tǒng)資源、確定任務(wù)的時(shí)限、描述系統(tǒng)的行為。LUSTRE的時(shí)間模型可以為程序員精確提供精確的時(shí)間控制;并發(fā)性則為指定控制系統(tǒng)提供了便利;完整的確定性;有限狀態(tài)機(jī)語(yǔ)言;容易分析、執(zhí)行時(shí)間可預(yù)測(cè)、更容易驗(yàn)證、服從軟件的實(shí)現(xiàn)。
1.2 α-β濾波跟蹤模型設(shè)計(jì)
當(dāng)機(jī)動(dòng)目標(biāo)模型建立之后,就要對(duì)目標(biāo)進(jìn)行跟蹤,主要是對(duì)目標(biāo)的距離信息、方位角信息、俯仰角信息以及距離變化率信息、方位角變化率信息、俯仰角變化率信息進(jìn)行跟蹤,預(yù)測(cè)目標(biāo)的運(yùn)動(dòng)參數(shù)。濾波就是從混合在一起的諸多信號(hào)中提取出所需要的信號(hào)。α-β濾波是一種簡(jiǎn)單并且在工程上易于實(shí)現(xiàn)得濾波方法。以α-β濾波模型設(shè)計(jì)作為SCADE軟件建模的目標(biāo)。該模型功能較為獨(dú)立,適合作為單一軟件模塊進(jìn)行設(shè)計(jì)。
2 傳統(tǒng)工具軟件設(shè)計(jì)過(guò)程
2.1 需求分析
2.1.1 跟蹤模型處理過(guò)程
根據(jù)工作狀態(tài),選取對(duì)應(yīng)的濾波參數(shù)。根據(jù)目標(biāo)坐標(biāo)預(yù)測(cè)值及本周期測(cè)量結(jié)果,進(jìn)行目標(biāo)坐標(biāo)及速度估值,估值完成后,進(jìn)行下周期坐標(biāo)預(yù)測(cè)。
2.1.2 濾波跟蹤模型輸入輸出
(1)輸入?yún)?shù)為目標(biāo)上周期濾波結(jié)果、間隔時(shí)間、濾波系數(shù)組;
(2)輸出參數(shù)為目標(biāo)本周期濾波結(jié)果。
2.2 軟件設(shè)計(jì)
目標(biāo)跟蹤軟件中的α-β濾波跟蹤模型如下。
3 SCADE工具軟件設(shè)計(jì)過(guò)程
3.1常量設(shè)計(jì)
根據(jù)需求分析,進(jìn)行對(duì)應(yīng)的常量設(shè)計(jì),其中包含濾波系數(shù)等常量參數(shù)。包括目標(biāo)當(dāng)前拍的距離信息、方位角信息、俯仰角信息。
3.2 數(shù)據(jù)類(lèi)型設(shè)計(jì)
根據(jù)需求分析,進(jìn)行對(duì)應(yīng)的數(shù)據(jù)類(lèi)型設(shè)計(jì),其中主要包含濾波系數(shù)結(jié)構(gòu)體、、濾波系數(shù)數(shù)組等。包括目標(biāo)的距離信息、方位角信息、俯仰角信息以及距離變化率信息、方位角變化率信息、俯仰角變化率信息。
3.3 Operator設(shè)計(jì)
根據(jù)實(shí)際需要定義相應(yīng)的類(lèi)型,確保在PC機(jī)進(jìn)行模型測(cè)試與目標(biāo)機(jī)的數(shù)據(jù)類(lèi)型相符。整形根據(jù)實(shí)際需要選擇8位,16位,32位或64位。浮點(diǎn)型根據(jù)需要選擇32位(單精度)或64位(雙精度)。將常用的模塊集成到庫(kù),以便重用;建議設(shè)計(jì)清晰表達(dá)所實(shí)現(xiàn)的功能,如:一節(jié)點(diǎn)包含計(jì)數(shù)功能,調(diào)用庫(kù)節(jié)點(diǎn)“counter”,而不是直接在當(dāng)前節(jié)點(diǎn)中構(gòu)建計(jì)數(shù)器;即使某些子功能不會(huì)重用,但只要它很復(fù)雜難以理解,就應(yīng)該構(gòu)建實(shí)現(xiàn)子功能的操作符。當(dāng)操作符的內(nèi)容無(wú)法在一個(gè)圖形頁(yè)設(shè)計(jì)完畢時(shí),建議將操作符內(nèi)容分到多個(gè)圖形頁(yè)(diagram)中去設(shè)計(jì);而當(dāng)實(shí)現(xiàn)圖形頁(yè)的一部分過(guò)于復(fù)雜或者圖形頁(yè)數(shù)量過(guò)大時(shí),建議考慮將實(shí)現(xiàn)內(nèi)容封裝到新操作符中。對(duì)齊方式中輸入采用左對(duì)齊,輸出采用右對(duì)齊。變量與變量對(duì)齊,常量與常量對(duì)齊,運(yùn)算符與運(yùn)算符對(duì)齊。相同操作符可以按照不同情況設(shè)置為等寬,或等高,或大小相同。
根據(jù)軟件流程圖,將濾波跟蹤模型劃分為3個(gè)Operator:FiltersSelectByT(根據(jù)目標(biāo)跟蹤周期選擇濾波系數(shù)組)、FiltersSelectByREB(根據(jù)距離角度標(biāo)志選擇濾波系數(shù))、FilterProcess(濾波跟蹤處理)、Opt_Main(頂層控制)。
Operator設(shè)計(jì)如圖所示:
3.4 工程構(gòu)建及仿真測(cè)試
軟件建模完成后,選擇Opt_Main模塊進(jìn)行Check,Check通過(guò)后,選擇Simulation模式進(jìn)行編譯,編譯完成后,點(diǎn)擊運(yùn)行。在運(yùn)行前,可將輸入輸出接口添加至watch窗口中,并初始化各輸入接口數(shù)據(jù)。初始化完成后,選擇仿真運(yùn)行時(shí)間開(kāi)始仿真。在仿真過(guò)程中,可隨時(shí)觀測(cè)模塊各級(jí)輸入輸出接口數(shù)據(jù)變化情況。計(jì)算結(jié)果與輸入的上周期坐標(biāo)預(yù)測(cè)值基本一致,符合目標(biāo)濾波跟蹤模型的要求。
4 總結(jié)
運(yùn)用SCADE工具對(duì)數(shù)據(jù)計(jì)算類(lèi)的軟件進(jìn)行設(shè)計(jì)開(kāi)發(fā),進(jìn)行數(shù)據(jù)仿真比較靈活,可以動(dòng)態(tài)的觀測(cè)仿真數(shù)據(jù)。繼而得出結(jié)論,SCADE Suite的優(yōu)勢(shì)主要體現(xiàn)在:軟件的模塊劃分比較清晰,開(kāi)發(fā)周期較短,而且生成的文檔快速完整,通過(guò)圖形化的方法進(jìn)行系統(tǒng)建模,并且可以進(jìn)行動(dòng)態(tài)仿真,為開(kāi)發(fā)者提供了極大的便利,SCADE Suite在以后的運(yùn)用中會(huì)得到極大的推廣。
參考文獻(xiàn):
[1]張合軍.基于SCADE的無(wú)人機(jī)飛行控制系統(tǒng)軟件設(shè)計(jì)[M].南京航空航天大學(xué),2007.
[2]李紳.基于Scade Suite的數(shù)字濾波器設(shè)計(jì)[M].中國(guó)電子科機(jī)集團(tuán)公司第二十研究所.