一種在吊艙中實(shí)現(xiàn)大容量數(shù)據(jù)記錄的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種在吊艙中實(shí)現(xiàn)大容量數(shù)據(jù)記錄的方法,適用于在吊艙實(shí)時(shí)嵌入式環(huán)境下實(shí)現(xiàn)大容量數(shù)據(jù)記錄。
【背景技術(shù)】
[0002]嵌入式系統(tǒng)是隨著計(jì)算機(jī)技術(shù)、微處理器技術(shù)、電子技術(shù)、通信技術(shù)、集成電路技術(shù)的發(fā)展而發(fā)展起來的,越來越廣泛地運(yùn)用在各種場合,包括汽車、航天、航空、軍事裝備等領(lǐng)域。同時(shí),隨著技術(shù)的發(fā)展,flash電子盤的使用也比較廣泛,先前只是一般環(huán)境中使用,慢慢地也在實(shí)時(shí)嵌入式環(huán)境中使用。目前,飛機(jī)上一般都是采用在專門的機(jī)載設(shè)備中利用電子盤進(jìn)行數(shù)據(jù)記錄。在機(jī)載吊艙上,由于吊艙的實(shí)時(shí)性要求很高,如果既要完成本身的飛行任務(wù),又要實(shí)時(shí)記錄通訊數(shù)據(jù),當(dāng)數(shù)據(jù)量較大時(shí),特別是既要記錄通訊數(shù)據(jù),又要記錄圖像數(shù)據(jù)時(shí),原來的方法無法滿足實(shí)時(shí)性要求。所以,目前其他吊艙上都沒有進(jìn)行大容量數(shù)據(jù)記錄。
【發(fā)明內(nèi)容】
[0003]為了解決大容量數(shù)據(jù)記錄的實(shí)時(shí)性要求,本發(fā)明目的在于提供一種吊艙中實(shí)現(xiàn)大容量數(shù)據(jù)記錄的方法。
[0004]綜合各種因素考慮,首先排除利用操作系統(tǒng)提供的文件系統(tǒng)進(jìn)行數(shù)據(jù)記錄,改為直接訪問電子盤的物理地址進(jìn)行讀寫,而且使用匯編語言進(jìn)行讀寫函數(shù)的編寫,這是因?yàn)槔梦募到y(tǒng)需要進(jìn)行一系列的處理,比如邏輯地址與物理地址的映射轉(zhuǎn)換,這樣的時(shí)間開銷大,在目前的硬件環(huán)境是不可能保證系統(tǒng)任務(wù)的執(zhí)行時(shí)間。同時(shí),為了滿足系統(tǒng)多次加電記錄不覆蓋數(shù)據(jù)的要求,將電子盤的物理地址從使用上分成幾個(gè)等同的分區(qū),每次上電記錄到不同的分區(qū)上。
[0005]為了實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
一種在吊艙中實(shí)現(xiàn)大容量數(shù)據(jù)記錄的方法,
A )、在該方法中設(shè)置了一個(gè)操作系統(tǒng)支持的環(huán)形緩沖區(qū);
B)、在初始化的時(shí)候調(diào)用庫函數(shù)為每路高速數(shù)據(jù)建立一個(gè)環(huán)形緩沖區(qū);
C)、接著在主工作線程中,通過查詢、搬移數(shù)據(jù)函數(shù)每個(gè)周期去查詢高速RS422接口的寄存器狀態(tài),存貯寄存器半滿將數(shù)據(jù)導(dǎo)入到環(huán)形緩沖區(qū);
D)、周期查詢環(huán)形緩沖區(qū)的數(shù)據(jù)情況,當(dāng)其狀態(tài)滿足2K,就在主工作線程中調(diào)用寫電子盤函數(shù),將數(shù)據(jù)寫入到電子盤。
[0006]所述環(huán)形緩沖區(qū)的大小為20K。
[0007]本發(fā)明的有益效果:
本發(fā)明通過直接訪問電子盤的物理地址進(jìn)行讀寫,使用匯編語言進(jìn)行讀寫函數(shù)的編寫,增加一個(gè)操作系統(tǒng)支持的環(huán)形緩沖區(qū)等方法,發(fā)明一種在實(shí)時(shí)嵌入式環(huán)境下實(shí)現(xiàn)大容量數(shù)據(jù)記錄的方法,具有實(shí)時(shí)性高、數(shù)據(jù)記錄準(zhǔn)確等特性。
【附圖說明】
[0008]圖1為本發(fā)明的電子盤記錄流程圖;
圖2為本發(fā)明程序控制流程圖。
【具體實(shí)施方式】
[0009]下面結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)描述:
本方案應(yīng)用的吊艙系統(tǒng)是某型武器系統(tǒng)的一部分,主要功能是實(shí)現(xiàn)各個(gè)系統(tǒng)之間的傳輸以及數(shù)據(jù)記錄。該系統(tǒng)包含四個(gè)具有各自功能的子系統(tǒng)。其中,中控機(jī)是其核心,控制管理系統(tǒng)內(nèi)部各個(gè)子系統(tǒng)之間有序的協(xié)調(diào)工作,實(shí)現(xiàn)GJB289A、低速RS422和高速RS422等硬件接口的工作,并在工作過程中記錄這些數(shù)據(jù)。
[0010]中控機(jī)主要配置參數(shù)如下:
CPU:選用 Intel MG80486DX 25 ?33MHz ;
存貯器:配置了 Flash存貯器、SRAM存貯器和EEPROM存貯器;
MBI接口:用來實(shí)現(xiàn)GJB289A數(shù)據(jù)總線通信輸出,單通道、雙余度;
422接口:用來實(shí)現(xiàn)低速422接口數(shù)據(jù)的通信,4路,速率可以通過軟件設(shè)置,在該系統(tǒng)使用的速率為115.2K ;
高速422接口:用來實(shí)現(xiàn)高速422接口數(shù)據(jù)的通信,2路,傳輸速率不小于530K ; 電子盤:用來記錄各種數(shù)據(jù),容量1G,采用Flash芯片,內(nèi)置了升溫電路。
[0011]如圖2,該方案在吊艙中實(shí)現(xiàn)大容量數(shù)據(jù)記錄的方法:
A )、在該方法中設(shè)置了一個(gè)操作系統(tǒng)支持的環(huán)形緩沖區(qū);
B)、在初始化的時(shí)候調(diào)用庫函數(shù)為每路高速數(shù)據(jù)建立一個(gè)環(huán)形緩沖區(qū);
C)、接著在主工作線程中,通過查詢、搬移數(shù)據(jù)函數(shù)每個(gè)周期去查詢高速RS422接口的寄存器狀態(tài),存貯寄存器半滿將數(shù)據(jù)導(dǎo)入到環(huán)形緩沖區(qū);
D)、周期查詢環(huán)形緩沖區(qū)的數(shù)據(jù)情況,當(dāng)其狀態(tài)滿足2K,就在主工作線程中調(diào)用寫電子盤函數(shù),將數(shù)據(jù)寫入到電子盤。
[0012]所述環(huán)形緩沖區(qū)的大小為20K,比如,ppRngBufA=rngCreate (1024*20)。
[0013]附圖2為程序流程圖,在進(jìn)行設(shè)計(jì)的時(shí)候,需要著重考慮將高速數(shù)據(jù)記錄到電子盤的設(shè)計(jì)。由于該運(yùn)行平臺為單CPU系統(tǒng),需要完成邏輯計(jì)算、RS422傳輸、高速數(shù)據(jù)傳輸和記錄。RS422的傳輸速率為115.2K,需要傳輸?shù)淖止?jié)數(shù)為60幾個(gè),大約花在這方面的時(shí)間為5.874ms ;25ms周期任務(wù)和40ms的周期任務(wù)的邏輯計(jì)算等功能的運(yùn)行時(shí)間大約4到5ms,因此用到兩路高速數(shù)據(jù)采集、記錄到電子盤的時(shí)間不能超過7ms,否則就不能滿足系統(tǒng)設(shè)計(jì)的要求,也可能會影響任務(wù)的實(shí)時(shí)性。
[0014]經(jīng)過試驗(yàn)和使用的測試驗(yàn)證以及完善修改,能滿足該系統(tǒng)的要求,能保證系統(tǒng)的實(shí)時(shí)性。
【主權(quán)項(xiàng)】
1.一種在吊艙中實(shí)現(xiàn)大容量數(shù)據(jù)記錄的方法,其特征在于: A )、在該方法中設(shè)置了 一個(gè)操作系統(tǒng)支持的環(huán)形緩沖區(qū); B)、在初始化的時(shí)候調(diào)用庫函數(shù)為每路高速數(shù)據(jù)建立一個(gè)環(huán)形緩沖區(qū); C)、接著在主工作線程中,通過查詢、搬移數(shù)據(jù)函數(shù)每個(gè)周期去查詢高速RS422接口的寄存器狀態(tài),存貯寄存器半滿將數(shù)據(jù)導(dǎo)入到環(huán)形緩沖區(qū); D)、周期查詢環(huán)形緩沖區(qū)的數(shù)據(jù)情況,當(dāng)其狀態(tài)滿足2K,就在主工作線程中調(diào)用寫電子盤函數(shù),將數(shù)據(jù)寫入到電子盤。
2.根據(jù)權(quán)利要求1所述的在吊艙中實(shí)現(xiàn)大容量數(shù)據(jù)記錄的方法,其特征在于:所述環(huán)形緩沖區(qū)的大小為20K。
【專利摘要】本發(fā)明涉及一種在吊艙中實(shí)現(xiàn)大容量數(shù)據(jù)記錄的方法,適用于在吊艙實(shí)時(shí)嵌入式環(huán)境下實(shí)現(xiàn)大容量數(shù)據(jù)記錄。在該方法中設(shè)置了一個(gè)操作系統(tǒng)支持的環(huán)形緩沖區(qū);在初始化的時(shí)候調(diào)用庫函數(shù)為每路高速數(shù)據(jù)建立一個(gè)環(huán)形緩沖區(qū);接著在主工作線程中,通過查詢、搬移數(shù)據(jù)函數(shù)每個(gè)周期去查詢高速RS422接口的寄存器狀態(tài),存貯寄存器半滿將數(shù)據(jù)導(dǎo)入到環(huán)形緩沖區(qū);周期查詢環(huán)形緩沖區(qū)的數(shù)據(jù)情況,當(dāng)其狀態(tài)滿足2K,就在主工作線程中調(diào)用寫電子盤函數(shù),將數(shù)據(jù)寫入到電子盤。
【IPC分類】G06F12-06, G06F12-08, G06F3-06
【公開號】CN104571945
【申請?zhí)枴緾N201410691789
【發(fā)明人】李國豐, 余伏章, 陳國平, 袁廣玉, 汪高峰, 嚴(yán)菡, 王利祥, 余奎, 徐琳, 胡亞昌, 張俊, 陳亮, 謝前進(jìn), 周龍, 徐歷春, 萬興祥, 江濤, 謝暉
【申請人】江西洪都航空工業(yè)集團(tuán)有限責(zé)任公司
【公開日】2015年4月29日
【申請日】2014年11月27日