范方川
(昌河飛機(jī)工業(yè)(集團(tuán))有限公司,江西 景德鎮(zhèn)333002)
本文就直升機(jī)座艙自適應(yīng)調(diào)光控制設(shè)計中的軟件設(shè)計進(jìn)行詳細(xì)論述。文中首先對調(diào)光控制軟件做了簡單的介紹,然后詳細(xì)地介紹了各控制單元軟件的設(shè)計,它們各自都包括底層驅(qū)動器的設(shè)計和上層應(yīng)用程序的設(shè)計。最后通過軟件與硬件的聯(lián)合調(diào)試以及整機(jī)的系統(tǒng)測試,模塊對各種對象的配置和測量都正確;各通信接口工作正常,程控功能運行正確。
調(diào)光控制系統(tǒng)軟件由導(dǎo)光板亮度自動控制單元、顯示器亮度自動控制單元、告警指示燈亮度自動控制單元、數(shù)據(jù)接收和發(fā)送系統(tǒng)控制單元組成。調(diào)光控制軟件框圖如圖1 所示。
圖1 調(diào)光控制軟件組成框圖
導(dǎo)光板亮度自動控制單元用于檢測環(huán)境光照度,通過分布在駕駛倉內(nèi)的多個傳感器,檢測飛機(jī)駕駛倉內(nèi)的環(huán)境光照度的變化,將光信號變換為電信號,判斷光照度。當(dāng)環(huán)境光照度大于200LX 則設(shè)置占空比為0,關(guān)閉導(dǎo)光板LED 照明;當(dāng)環(huán)境光照度小于200LX 時,在輸入亮度曲線模型中通過查表、計算、讀取相應(yīng)的數(shù)據(jù)來控制PWM輸出。當(dāng)飛行員打開手動調(diào)光開關(guān),并旋轉(zhuǎn)手動調(diào)節(jié)旋鈕時,將在自動調(diào)光曲線的基礎(chǔ)上,疊加一個人工的輸入量值并保存在EEPROM中,然后通過計算讀取EEPROM中數(shù)據(jù)來控制PWM輸出。
導(dǎo)光板亮度自動控制單元軟件流程圖(如圖2 所示)由初始化程序、數(shù)據(jù)采集程序、數(shù)據(jù)處理程序等構(gòu)成、手動補(bǔ)償程序、數(shù)據(jù)儲存程序、加載程序。
2.1 初始化程序。完成對各模塊初始化,系統(tǒng)自檢,故障診斷并提示。
2.2 數(shù)據(jù)采集程序。其功能包含兩個方面:一是用于采集光照傳感器環(huán)境光照強(qiáng)度;二是用于采集手動補(bǔ)償旋鈕的位置信息。
2.3 數(shù)據(jù)處理程序。主要完成對采集到的數(shù)據(jù)進(jìn)行分析和處理,并將該數(shù)據(jù)作為最終區(qū)域的照度值。在此基礎(chǔ)上,根據(jù)環(huán)境光照度和亮度曲線模型,通過查表得出每路導(dǎo)光板的亮度。解析亮度數(shù)據(jù),通過亮度與PWM的曲線關(guān)系計算出每路導(dǎo)光板對應(yīng)的PWM控制信號。
2.4 手動補(bǔ)償程序。根據(jù)采集到的手動補(bǔ)償旋鈕的位置信息,在輸出PWM占空比基礎(chǔ)上,疊加一個人工補(bǔ)償值。當(dāng)順時針調(diào)節(jié)補(bǔ)償旋鈕疊加一個正的PWM補(bǔ)償值,當(dāng)逆時針調(diào)節(jié)補(bǔ)償旋鈕時疊加一個負(fù)的的PWM補(bǔ)償值。
2.5 數(shù)據(jù)儲存程序。主要用于調(diào)光數(shù)據(jù)保存。
2.6 加載程序。主要用于實現(xiàn)調(diào)光曲線的加載和軟件的加載更新。
圖2 導(dǎo)光板調(diào)光系統(tǒng)控制軟件流程框圖
顯示器亮度自動控制單元用于檢測環(huán)境光照度,根據(jù)傳感器檢測當(dāng)前環(huán)境光照度下亮度,然后根據(jù)環(huán)境亮度從EEPROM中讀取相對應(yīng)的顯示器的亮度數(shù)據(jù),最后將亮度數(shù)據(jù)通過數(shù)據(jù)總線發(fā)送給顯示器。當(dāng)飛行員打開手動調(diào)光開關(guān),并旋轉(zhuǎn)手動調(diào)節(jié)旋鈕時,將在自動調(diào)光數(shù)據(jù)基礎(chǔ)上疊加一個人工的輸入量并保存EEPROM 中,然后讀取EEPROM 中數(shù)據(jù),最后將亮度值通過數(shù)據(jù)總線發(fā)送給顯示器,以達(dá)到調(diào)節(jié)亮度的目的。
顯示器亮度調(diào)節(jié)控制單元軟件主要包括:
3.1 光照傳感器數(shù)據(jù)采集程序。主要負(fù)責(zé)采集光照傳感器的模擬量信號;
3.2 數(shù)據(jù)處理程序。主要是分析、處理采集的數(shù)據(jù)和總線接收數(shù)據(jù);
3.3 手動補(bǔ)償程序。根據(jù)采集到的手動補(bǔ)償旋鈕的位置信息,在輸出礎(chǔ)上,疊加一個人工補(bǔ)償值。當(dāng)順時針調(diào)節(jié)補(bǔ)償旋鈕疊加一個正的亮度補(bǔ)償值,當(dāng)逆時針調(diào)節(jié)補(bǔ)償旋鈕時疊加一個負(fù)的的亮度補(bǔ)償值。
3.4 數(shù)據(jù)儲存程序。主要用于調(diào)光數(shù)據(jù)保存。
3.5 總線數(shù)據(jù)收發(fā)程序。主要完成亮度數(shù)據(jù)的接收和發(fā)送;
3.6 地面維護(hù)接口程序。主要完成亮度控制模型數(shù)據(jù)的下載和地面維護(hù)。
圖3 顯示器亮度自動控制單元流程框圖
告警指示燈亮度自動控制單元用于檢測環(huán)境光照度,通過分布在駕駛倉內(nèi)的多個傳感器檢測環(huán)境飛機(jī)駕駛倉內(nèi)環(huán)境光照度的變化,將光信號變換為電信號。讀取光照度,根據(jù)設(shè)計的調(diào)光曲線輸出相應(yīng)的PWM波形。當(dāng)飛行員打開手動調(diào)光開關(guān),并手動調(diào)節(jié)旋鈕時,將在自動調(diào)光曲線基礎(chǔ)上,疊加一個人工的輸入量來調(diào)整曲線并保存在EEPROM中,然后通過計算讀取EEPROM中數(shù)據(jù)來控制PWM輸出。
告警指示燈亮度自動控制單元軟件流程圖(如圖4)所示由初始化程序、看門狗程序、數(shù)據(jù)采集程序、數(shù)據(jù)處理程序、手動補(bǔ)償程序、數(shù)據(jù)儲存程序、加載程序等構(gòu)成。
圖4 告警指示燈亮度自動控制單元軟件流程圖
數(shù)據(jù)接收和發(fā)送單元軟件流程圖(如圖5)主要由初始化模塊、看門狗程序、數(shù)據(jù)處理程序、數(shù)據(jù)保存程序。
5.1 初始化程序。完成系統(tǒng)自檢,進(jìn)行故障診斷并提示。
5.2 數(shù)據(jù)處理程序。主要是用于數(shù)據(jù)接收和發(fā)送。
5.3 數(shù)據(jù)保存程序。主要是用于調(diào)光數(shù)據(jù)的保存。
圖5 數(shù)據(jù)接收和發(fā)送單元軟件流程圖
調(diào)光控制軟件設(shè)計采用了標(biāo)準(zhǔn)化、模塊化、子程序化的設(shè)計原則,使得軟件結(jié)構(gòu)清晰、簡捷、流程合理,具有良好的可讀性、可移植性,便于程序的調(diào)試、鏈接、修改。調(diào)光控制軟件設(shè)計過程中應(yīng)用了加電自檢、周期自檢、看門狗等設(shè)計,提高了軟件的可靠性和安全性,滿足軟件設(shè)計的綜合化考慮。