專(zhuān)利名稱(chēng)::牽制釋放仿真數(shù)據(jù)源系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種牽制釋放仿真數(shù)據(jù)源系統(tǒng),應(yīng)用于運(yùn)載火箭測(cè)控等效仿真領(lǐng)域。
背景技術(shù):
:牽制釋放系統(tǒng)在發(fā)動(dòng)機(jī)點(diǎn)火前后,對(duì)箭上發(fā)動(dòng)機(jī)等關(guān)鍵系統(tǒng)工作狀態(tài)進(jìn)行故障檢測(cè),在確定被檢測(cè)系統(tǒng)工作正常后釋放火箭。降低由于發(fā)動(dòng)機(jī)等關(guān)鍵系統(tǒng)早期故障導(dǎo)致的危害火箭、發(fā)射場(chǎng)安全的事故發(fā)生的概率,提高火箭發(fā)射、飛行安全性及飛行可靠度。牽制釋放系統(tǒng)通常分為牽制釋放測(cè)控系統(tǒng)和牽制釋放裝置。牽制釋放測(cè)控系統(tǒng)對(duì)被檢測(cè)對(duì)象的參數(shù)采集、傳輸、故障判斷、發(fā)送指令等功能。牽制釋放裝置位于火箭與發(fā)射臺(tái)之間,實(shí)現(xiàn)火箭與發(fā)射臺(tái)的可靠連接及解除連接、釋放火箭。為提高可靠性,牽制釋放測(cè)控系統(tǒng)采用三冗余設(shè)計(jì),從傳感器、數(shù)據(jù)采集和傳輸、故障判斷都采用三冗余設(shè)計(jì),控制指令輸出根據(jù)三冗余故障判斷的輸出經(jīng)三取二表決電路發(fā)出。牽制釋放仿真數(shù)據(jù)源需要配合三冗余嵌入式計(jì)算機(jī)完成三路冗余數(shù)據(jù)的高實(shí)時(shí)、同步發(fā)送。牽制釋放系統(tǒng)仿真數(shù)據(jù)源用于模擬運(yùn)載火箭的控制、遙測(cè)等外系統(tǒng)的輸入輸出,驗(yàn)證牽制釋放系統(tǒng)計(jì)算機(jī)的故障檢測(cè)功能。傳統(tǒng)仿真數(shù)據(jù)源一般以下三種方案進(jìn)行仿真測(cè)試(1)采用純硬件的方法進(jìn)行設(shè)計(jì),具有很強(qiáng)的針對(duì)性,但是靈活行差,不易擴(kuò)展和配置,對(duì)于故障注入、數(shù)據(jù)記錄等方面面很難保證,在牽制釋放原理試驗(yàn)階段,驗(yàn)證需求變化可能會(huì)導(dǎo)致硬件更改;(2)采用通用平臺(tái)下軟件編程來(lái)實(shí)現(xiàn)仿真功能的等效系統(tǒng),顯然實(shí)時(shí)性滿(mǎn)足不了要求,Windows操作系統(tǒng)下很難精確的控制同步精度和數(shù)據(jù)的實(shí)時(shí)發(fā)送;(3)對(duì)于仿真數(shù)據(jù)源采用三冗余硬件系統(tǒng),一個(gè)設(shè)備中要包含3路CPU,對(duì)立完成個(gè)各自的功能,這種方案也存在缺陷,無(wú)論是硬件設(shè)計(jì)還是軟件同步設(shè)計(jì)上復(fù)雜性都很高,而且代價(jià)昂貴。
發(fā)明內(nèi)容本發(fā)明的技術(shù)解決問(wèn)題是克服現(xiàn)有技術(shù)的不足,提供一種牽制釋放仿真數(shù)據(jù)源系統(tǒng),解決了牽制釋放三冗余系統(tǒng)的三路仿真數(shù)據(jù)的同步實(shí)時(shí)發(fā)送問(wèn)題。本發(fā)明的技術(shù)解決方案是牽制釋放仿真數(shù)據(jù)源系統(tǒng),其特征在于包括CPCI數(shù)據(jù)源設(shè)備和后端計(jì)算機(jī),CPCI數(shù)據(jù)源設(shè)備從后端計(jì)算機(jī)接收模擬數(shù)據(jù),完成模擬數(shù)據(jù)的存儲(chǔ),并根據(jù)數(shù)據(jù)請(qǐng)求信號(hào)的響應(yīng),發(fā)送給前端三冗余計(jì)算機(jī),CPCI數(shù)據(jù)源設(shè)備從后端計(jì)算機(jī)接收點(diǎn)火信號(hào)指令,并控制點(diǎn)火信號(hào)的輸出;后端計(jì)算機(jī)完成模擬數(shù)據(jù)的上傳,點(diǎn)火信號(hào)指令的發(fā)送控制,并接收顯示CPCI數(shù)據(jù)源設(shè)備的反饋信息,CPCI數(shù)據(jù)源設(shè)備的硬件包括電源板、CPU板和模擬源板,電源板用于給整個(gè)系統(tǒng)供電,CPU板為數(shù)據(jù)源設(shè)備的主控板,模擬源板實(shí)現(xiàn)三路串口信號(hào)的發(fā)送、一路點(diǎn)火信號(hào)的輸出、一路數(shù)據(jù)請(qǐng)求信號(hào)的輸入;CPCI數(shù)據(jù)源設(shè)備的軟件采用VxWorks操作系統(tǒng),應(yīng)用軟件包括初始化模塊、網(wǎng)絡(luò)模塊和串口同步發(fā)送模塊,初始化模塊用于應(yīng)用軟件的初始化,網(wǎng)絡(luò)模塊實(shí)現(xiàn)模擬源數(shù)據(jù)的網(wǎng)絡(luò)接收、存儲(chǔ)和點(diǎn)火信號(hào)的接收、控制執(zhí)行,串口同步發(fā)送模塊實(shí)現(xiàn)數(shù)據(jù)請(qǐng)求信號(hào)的響應(yīng),并控制模擬源數(shù)據(jù)的同步發(fā)送,所述的模擬數(shù)據(jù)由發(fā)動(dòng)機(jī)點(diǎn)火前和點(diǎn)火后真實(shí)試驗(yàn)數(shù)據(jù)組成。所述的模擬源板包括CPCI接口芯片、FPGA控制電路、三路隔離電路、三個(gè)電平轉(zhuǎn)換電路、三個(gè)接口保護(hù)電路、晶振、SDRAM、EEPROM、繼電器、光電耦合器,其中,EEPR0M存儲(chǔ)CPCI接口芯片的配置信息,CPCI接口芯片上電后讀取EEPR0M存儲(chǔ)CPCI接口芯片的配置信息,CPU板將要發(fā)送的并口數(shù)據(jù)通過(guò)CPCI接口芯片寫(xiě)入FPGA控制電路的內(nèi)部數(shù)據(jù)緩存中,SDRAM對(duì)FPGA控制電路內(nèi)部數(shù)據(jù)緩存中的并行數(shù)據(jù)進(jìn)行存儲(chǔ),CPU板向FPGA控制電路中的定時(shí)器發(fā)出使能信號(hào),定時(shí)器根據(jù)晶振產(chǎn)生的時(shí)鐘頻率開(kāi)始計(jì)時(shí),定時(shí)器控制FPGA中的并串轉(zhuǎn)換電路從SDRAM中將并行數(shù)據(jù)取出進(jìn)行并串轉(zhuǎn)換形成三路TTL信號(hào),當(dāng)定時(shí)器定時(shí)時(shí)間到時(shí),定時(shí)器控制并串轉(zhuǎn)換電路將轉(zhuǎn)換后的三路TTL信號(hào)發(fā)送至三個(gè)隔離電路進(jìn)行隔離,經(jīng)過(guò)隔離后的TTL信號(hào)進(jìn)行電平轉(zhuǎn)換,最后通過(guò)接口保護(hù)電路以串口形式輸出;繼電器將FPGA控制電路輸出的點(diǎn)火信號(hào)發(fā)送給前端的三冗余嵌入式計(jì)算機(jī);三冗余嵌入式計(jì)算機(jī)發(fā)送過(guò)來(lái)的數(shù)據(jù)請(qǐng)求信號(hào)經(jīng)過(guò)光電耦合器隔離后送入FPGA控制電路。所述的串口同步發(fā)送模塊采用中斷的方式實(shí)現(xiàn)數(shù)據(jù)請(qǐng)求信號(hào)響應(yīng),數(shù)據(jù)請(qǐng)求信號(hào)響應(yīng)由以下三部分實(shí)現(xiàn)初始化部分將數(shù)據(jù)請(qǐng)求信號(hào)掛接在數(shù)據(jù)請(qǐng)求中斷函數(shù)上,然后創(chuàng)建串口同步發(fā)送任務(wù),最后將數(shù)據(jù)請(qǐng)求中斷設(shè)置為使能狀態(tài);數(shù)據(jù)請(qǐng)求中斷函數(shù)部分首先將數(shù)據(jù)請(qǐng)求中斷設(shè)置為禁止?fàn)顟B(tài),然后清除數(shù)據(jù)請(qǐng)求中斷寄存器,最后釋放同步信號(hào)量;串口同步發(fā)送任務(wù)部分等待同步信號(hào)量,當(dāng)有同步信號(hào)量時(shí),開(kāi)始執(zhí)行模擬源數(shù)據(jù)的同步發(fā)送,發(fā)送完畢后,將數(shù)據(jù)請(qǐng)求中斷設(shè)置為使能狀態(tài),并返回等待狀態(tài),等待下一個(gè)同步信號(hào)量。所述的模擬數(shù)據(jù)由發(fā)動(dòng)機(jī)點(diǎn)火前和點(diǎn)火后真實(shí)試驗(yàn)數(shù)據(jù)組成,串口同步發(fā)送模塊實(shí)現(xiàn)模擬源數(shù)據(jù)發(fā)送的過(guò)程如下(1)等待同步信號(hào)量,當(dāng)?shù)玫酵叫盘?hào)量時(shí),判斷系統(tǒng)當(dāng)前狀態(tài)是否為點(diǎn)火前,如果是點(diǎn)火前,則進(jìn)入下一步,如果是點(diǎn)火后,則直接進(jìn)入步驟(6);(2)根據(jù)當(dāng)前的指針位置皿m從模擬數(shù)據(jù)內(nèi)存區(qū)中取出一組點(diǎn)火前數(shù)據(jù),并組成串口通信幀;如果是第一次從模擬數(shù)據(jù)內(nèi)存中取數(shù)據(jù),則指針指向模擬數(shù)據(jù)內(nèi)存的首地址,艮卩皿m=0;(3)將通信幀分別填充到模擬源板的3個(gè)串口的FIFO中;然后啟動(dòng)模擬源板的3個(gè)串口進(jìn)行同步發(fā)送,將三路數(shù)據(jù)發(fā)送給前端的三冗余計(jì)算機(jī);(4)皿m=皿m+l,即指針位置指向要取出的下一組模擬數(shù)據(jù)的內(nèi)存地址;(5)判斷指針位置皿m是否小于n,如果小于n,則返回等待同步信號(hào)量狀態(tài),如果不小于n,則將指針位置皿m設(shè)置為0后,再返回等待同步信號(hào)量狀態(tài),所述的n為系統(tǒng)提供的點(diǎn)火前數(shù)據(jù)的總組數(shù);(6)首先判斷當(dāng)前的指針位置皿m是否小于n,如果小于n,則將指針位置皿m設(shè)置為n后,進(jìn)入下一步,如果不小于n,則直接進(jìn)入下一步;(7)根據(jù)當(dāng)前的指針位置皿m從模擬數(shù)據(jù)內(nèi)存區(qū)中取出一組點(diǎn)火后數(shù)據(jù),并組成串口通信幀;(8)將通信幀分別填充到模擬源板的3個(gè)串口的FIFO中;然后啟動(dòng)模擬源板的3個(gè)串口進(jìn)行同步發(fā)送,將三路數(shù)據(jù)發(fā)送給前端的三冗余計(jì)算機(jī);(9)num=皿m+l,即指針位置指向要取出的下一組模擬數(shù)據(jù)的內(nèi)存地址,然后返回等待同步信號(hào)量狀態(tài)。本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于(1)采用通用計(jì)算機(jī)和前端嵌入式設(shè)備結(jié)合的仿真結(jié)構(gòu),在保證了平臺(tái)可靠性、實(shí)時(shí)性的同時(shí),也具備很強(qiáng)的靈活性。與用戶(hù)相關(guān)的指令控制、數(shù)據(jù)轉(zhuǎn)換與上傳均由后端計(jì)算機(jī)完成,而采用VxWorks操作系統(tǒng)的前端嵌入式設(shè)備及軟件保證了命令執(zhí)行的可靠和模擬數(shù)據(jù)的實(shí)時(shí)發(fā)送。通用性強(qiáng)、實(shí)時(shí)性高,有利于對(duì)牽制釋放系統(tǒng)故障判別的實(shí)時(shí)性仿真分析。(2)通過(guò)基于FPGA的硬件定時(shí)方式實(shí)現(xiàn)了三路串口可以同步或異步發(fā)送,每路發(fā)送的數(shù)據(jù)和各路之間發(fā)送數(shù)據(jù)的起始時(shí)間間隔可以自行設(shè)定,同步和異步發(fā)送的時(shí)間精度達(dá)到微秒級(jí);(3)牽制釋放仿真數(shù)據(jù)源系統(tǒng)采用的模擬數(shù)據(jù)均為真實(shí)發(fā)動(dòng)機(jī)的試車(chē)數(shù)據(jù),可根據(jù)牽制釋放測(cè)控系統(tǒng)時(shí)序等工作特點(diǎn),制作并模擬出各種正常、報(bào)警、故障等數(shù)據(jù)文件;用戶(hù)可根據(jù)測(cè)試內(nèi)容,通過(guò)后端計(jì)算機(jī)選擇相應(yīng)的文件上傳,靈活性強(qiáng),增強(qiáng)了測(cè)試覆蓋范圍,方便操作;(4)CPCI仿真數(shù)據(jù)源系統(tǒng)中的軟件采用了內(nèi)存分區(qū)管理,解決測(cè)試數(shù)據(jù)保存和大量模擬數(shù)據(jù)發(fā)送任務(wù)沖突造成的數(shù)據(jù)臨時(shí)存儲(chǔ)可靠性問(wèn)題,防止因內(nèi)存分配失敗以及產(chǎn)生碎片等原因造成數(shù)據(jù)丟失;(5)本發(fā)明中的串口發(fā)送模塊采用了串口同步發(fā)送任務(wù)和數(shù)據(jù)請(qǐng)求中斷處理相結(jié)合的機(jī)制,不僅保證了3路串口冗余發(fā)送的實(shí)時(shí)響應(yīng),更重要的是提高了軟件的質(zhì)量和系統(tǒng)的可靠性。圖1為本發(fā)明仿真數(shù)據(jù)源系統(tǒng)示意圖;圖2為本發(fā)明模擬源板結(jié)構(gòu)示意圖;圖3為本發(fā)明FPGA控制電路的組成原理圖;圖4為由隔離模塊、電平轉(zhuǎn)換電路和接口保護(hù)電路組成的內(nèi)部結(jié)構(gòu)5為本發(fā)明單路串口信號(hào)的波形圖;圖6為本發(fā)明網(wǎng)絡(luò)多任務(wù)通信結(jié)構(gòu)圖;圖7為本發(fā)明串口發(fā)送模塊實(shí)現(xiàn)數(shù)據(jù)請(qǐng)求響應(yīng)流程圖;圖8為本發(fā)明串口發(fā)送模塊實(shí)現(xiàn)模擬數(shù)據(jù)發(fā)送流程圖。具體實(shí)施例方式如圖1所示,為本發(fā)明仿真數(shù)據(jù)源系統(tǒng)示意圖,包括CPCI數(shù)據(jù)源設(shè)備和后端計(jì)算機(jī),CPCI數(shù)據(jù)源設(shè)備從后端計(jì)算機(jī)接收模擬數(shù)據(jù),完成模擬數(shù)據(jù)的存儲(chǔ),并根據(jù)數(shù)據(jù)請(qǐng)求信號(hào)的響應(yīng),發(fā)送給前端三冗余計(jì)算機(jī),CPCI數(shù)據(jù)源設(shè)備從后端計(jì)算機(jī)接收點(diǎn)火信號(hào)指令,并控制點(diǎn)火信號(hào)的輸出;后端計(jì)算機(jī)完成模擬數(shù)據(jù)的上傳,點(diǎn)火信號(hào)指令的發(fā)送控制,并接收顯示CPCI數(shù)據(jù)源設(shè)備的反饋信息。CPCI數(shù)據(jù)源設(shè)備采用標(biāo)準(zhǔn)CPCI總線(xiàn)的形式,以達(dá)到系統(tǒng)的可靠性和通用性要求,CPCI數(shù)據(jù)源設(shè)備的硬件包括電源板、CPU板和模擬源板,電源板用于給整個(gè)系統(tǒng)供電,CPU板為數(shù)據(jù)源設(shè)備的主控板,模擬源板實(shí)現(xiàn)三路串口信號(hào)的發(fā)送、一路點(diǎn)火信號(hào)的輸出、一路數(shù)據(jù)請(qǐng)求信號(hào)的輸入。CPU板為牽制釋放前端測(cè)試及模擬設(shè)備的主控板,具有1路以太網(wǎng)口,可接收后端計(jì)算機(jī)的控制指令,并將狀態(tài)數(shù)據(jù)實(shí)時(shí)傳入監(jiān)控計(jì)算機(jī);處理器選擇PowerPC系列,主頻不低于800MHz,CPU板可選用GE-CV1(6U)高性能CPCI主控板卡,主芯片為飛思卡爾公司的MPC7447AG4處理器,它能提供1GHz的工作主頻,帶有256MBDDRSDRAM和128MBFlash、1路PMC接口、2路千兆以太網(wǎng)接口、RS-232接口和10路GPIO接口,完全能夠滿(mǎn)足本系統(tǒng)的性能需求,并且可提供很大的功能升級(jí)空間。電源板可采用雙冗余備份方案,可自動(dòng)切換;輸入電壓200V-240VAC;輸出功率不小于200W。如圖2所示,為模擬源板結(jié)構(gòu)示意圖,包括CPCI接口芯片、FPGA控制電路、三路隔離電路、三個(gè)電平轉(zhuǎn)換電路、三個(gè)接口保護(hù)電路、晶振、SDRAM、EEPR0M、繼電器、光電耦合器,EEPROM存儲(chǔ)CPCI接口芯片的配置信息,CPCI接口芯片上電后讀取EEPROM存儲(chǔ)CPCI接口芯片的配置信息,CPU板將要發(fā)送的并口數(shù)據(jù)通過(guò)CPCI接口芯片寫(xiě)入FPGA控制電路的內(nèi)部數(shù)據(jù)緩存中,SDRAM對(duì)FPGA控制電路內(nèi)部數(shù)據(jù)緩存中的并行數(shù)據(jù)進(jìn)行存儲(chǔ),CPU板向FPGA控制電路中的定時(shí)器發(fā)出使能信號(hào),定時(shí)器根據(jù)晶振產(chǎn)生的時(shí)鐘頻率開(kāi)始計(jì)時(shí),定時(shí)器控制FPGA中的并串轉(zhuǎn)換電路從SDRAM中將并行數(shù)據(jù)取出進(jìn)行并串轉(zhuǎn)換形成三路TTL信號(hào),當(dāng)定時(shí)器定時(shí)時(shí)間到時(shí),定時(shí)器控制并串轉(zhuǎn)換電路將轉(zhuǎn)換后的三路TTL信號(hào)發(fā)送至三個(gè)隔離電路進(jìn)行隔離,經(jīng)過(guò)隔離后的TTL信號(hào)進(jìn)行電平轉(zhuǎn)換,最后通過(guò)接口保護(hù)電路以串口形式輸出。繼電器將FPGA控制電路輸出的點(diǎn)火信號(hào)發(fā)送給前端的三冗余嵌入式計(jì)算機(jī);三冗余嵌入式計(jì)算機(jī)發(fā)送過(guò)來(lái)的數(shù)據(jù)請(qǐng)求信號(hào)經(jīng)過(guò)光電耦合器隔離后送入FPGA控制電路。如圖3所示,F(xiàn)PGA控制電路包括三個(gè)定時(shí)器、三個(gè)并串轉(zhuǎn)換電路、三個(gè)寫(xiě)入緩存區(qū)和三個(gè)讀取緩存區(qū),由CPCI接口芯片寫(xiě)入的并行數(shù)據(jù)寫(xiě)入三個(gè)寫(xiě)入緩存區(qū)中,SDRAM對(duì)三個(gè)寫(xiě)入緩存區(qū)中的并行數(shù)據(jù)進(jìn)行存儲(chǔ),三個(gè)定時(shí)器同時(shí)或分別接收CPU板發(fā)出的使能信號(hào),當(dāng)接收到使能信號(hào)后三個(gè)定時(shí)器根據(jù)晶振產(chǎn)生的時(shí)鐘頻率分別計(jì)時(shí),三個(gè)并串轉(zhuǎn)換電路從SDRAM中將并行數(shù)據(jù)取出至三個(gè)讀取緩存區(qū)中,三個(gè)定時(shí)器控制三個(gè)并串轉(zhuǎn)換電路對(duì)三個(gè)讀取緩存區(qū)中的并行數(shù)據(jù)進(jìn)行并串轉(zhuǎn)換形成三路TTL信號(hào),當(dāng)三個(gè)定時(shí)器的定時(shí)時(shí)間到時(shí),三個(gè)定時(shí)器控制并串轉(zhuǎn)換電路將轉(zhuǎn)換后的三路TTL信號(hào)同步或異步輸出。如圖4所示,隔離電路采用光電耦合器進(jìn)行光電隔離;電平轉(zhuǎn)換電路將TTL信號(hào)轉(zhuǎn)換成差分的串口信號(hào);接口保護(hù)電路采用四個(gè)穩(wěn)壓二極管組成,每?jī)蓚€(gè)穩(wěn)壓二極管的正極對(duì)接,負(fù)極一端接地,另一端接一路差分串口信號(hào)。CPCICPU板與CPCI接口芯片之間以并行方式交換數(shù)據(jù),CPCI接口芯片構(gòu)成總線(xiàn)接口電路,轉(zhuǎn)化CPCI總線(xiàn)提供的信號(hào)時(shí)序以及地址和數(shù)據(jù)分時(shí)復(fù)用信號(hào),便于后端設(shè)備直接使用,完成FPGA與CPCI總線(xiàn)的數(shù)據(jù)通信。串口數(shù)據(jù)發(fā)送時(shí),CPU板將要發(fā)送的數(shù)據(jù)通過(guò)CPCI接口芯片寫(xiě)入FPGA內(nèi)部緩存,可通過(guò)使能控制3路同步發(fā)送。可設(shè)定發(fā)送的波特率、奇偶校驗(yàn)位和停止位。FPGA輸出的TTL信號(hào)經(jīng)過(guò)光電隔離和電平轉(zhuǎn)換,以串口(如RS-422)形式輸出。串口數(shù)據(jù)接收時(shí),輸入的串口信號(hào)經(jīng)電平轉(zhuǎn)換芯片轉(zhuǎn)換為T(mén)TL信號(hào),通過(guò)光電隔離,由FPGA負(fù)責(zé)接收和處理,使用大容量SDRAM對(duì)接收到的數(shù)據(jù)進(jìn)行緩存,CPU板可通過(guò)CPCI接口芯片讀取接收到的數(shù)據(jù)。通過(guò)FPGA實(shí)現(xiàn)多路串口精確定時(shí)發(fā)送關(guān)鍵是構(gòu)建多個(gè)可同步控制的硬件定時(shí)器,若實(shí)現(xiàn)微秒級(jí)的同步精度,F(xiàn)PGA晶振的頻率要在1M以上,本發(fā)明選用了24M晶振,理論同步精度可達(dá)到42ns。硬件定時(shí)器的定時(shí)時(shí)間可進(jìn)行動(dòng)態(tài)配置,實(shí)現(xiàn)3路串口同步發(fā)送需要3個(gè)硬件定時(shí)器,由1個(gè)使能控制器統(tǒng)一控制,這里選用了3個(gè)25位定時(shí)器,其每路之間的發(fā)送時(shí)間差異可達(dá)到1.4s。UART串行接口美國(guó)電子工業(yè)協(xié)會(huì)(EIA)制定的通信標(biāo)準(zhǔn),目前常用的串行接口主要有RS-232、RS-422、RS-485接口,不同接口的物理層電氣特性不同,但他們鏈路層的數(shù)據(jù)幀格式是完全相同的,均由l位起始位(邏輯0表示)、58位數(shù)據(jù)位(低位在前)、1為校驗(yàn)位、12位停止位組成。并行數(shù)據(jù)是采用高位在前的字節(jié)方式存儲(chǔ),并_串轉(zhuǎn)換和串-并轉(zhuǎn)換的實(shí)現(xiàn)方式類(lèi)似,只是操作過(guò)程相反。并串轉(zhuǎn)換的過(guò)程為計(jì)數(shù)器計(jì)數(shù)開(kāi)始,并串轉(zhuǎn)換電路對(duì)三個(gè)讀取緩存區(qū)中的并行數(shù)據(jù)電平進(jìn)行檢測(cè),以保證該幀的每位數(shù)據(jù)檢測(cè)都發(fā)生在數(shù)據(jù)位時(shí)間中部,減小檢測(cè)誤碼率;數(shù)據(jù)移位通過(guò)移位方式將并行數(shù)據(jù)由低位到高位轉(zhuǎn)換成串行數(shù)據(jù),存入臨時(shí)變量中;奇偶校驗(yàn)對(duì)移位后的數(shù)據(jù)根據(jù)奇偶校驗(yàn)的設(shè)置進(jìn)行奇偶校驗(yàn),當(dāng)定時(shí)器定時(shí)時(shí)間到將數(shù)據(jù)發(fā)出。在FPGA芯片中可以通過(guò)程序構(gòu)建FIFO的方式實(shí)現(xiàn)高速緩存,但構(gòu)建FIFO需要占用大量片上資源,一般不能做的很大,無(wú)法實(shí)現(xiàn)大容量的高速緩存。而SDRAM可以實(shí)現(xiàn)幾十M甚至上百M(fèi)的存儲(chǔ)容量,但它的存取速度相對(duì)較慢,本文通過(guò)片內(nèi)FIFO與SDRAM相結(jié)合的方式實(shí)現(xiàn)了多路串口的高速緩存。SDRAM具有空間存儲(chǔ)量大、讀寫(xiě)速度快、價(jià)格相對(duì)便宜的特點(diǎn)。但其控制邏輯復(fù)雜,需要周期性刷新操作、行列管理、不同延時(shí)和命令序列等。SDRAM的存儲(chǔ)地址分為頁(yè)(bank)地址,行(row)地址和歹lj(column)地址。例如一個(gè)8MByte的SDRAM,被分為4個(gè)bank,即1個(gè)bank為2Mbyte,每個(gè)bank包括12行8列。SDRAM的一系列指令如表1所示,每個(gè)指令最終都是通過(guò)控制RAS、CAS、WE信號(hào)來(lái)實(shí)現(xiàn),通常對(duì)SDRAM的操作過(guò)程如表1。表lSDRAM操作命令<table>tableseeoriginaldocumentpage8</column></row><table><table>tableseeoriginaldocumentpage9</column></row><table>對(duì)SDRAM進(jìn)行訪問(wèn)的最主要操作就是讀RD和寫(xiě)WR操作。SDRAM在進(jìn)行讀寫(xiě)操作時(shí),必須要先進(jìn)行頁(yè)激活A(yù)CT操作,以保證存儲(chǔ)單元是打開(kāi)的,以便從中讀取地址或者寫(xiě)入地址,關(guān)閉存儲(chǔ)單元通過(guò)預(yù)充電PHC命令實(shí)現(xiàn)。在進(jìn)行寫(xiě)操作時(shí),內(nèi)部的列地址和數(shù)據(jù)就會(huì)被寄存;進(jìn)行讀操作時(shí),內(nèi)部地址被寄存,等待CAS延遲時(shí)間(通常為13個(gè)時(shí)鐘周期)后,讀出的數(shù)據(jù)出現(xiàn)在數(shù)據(jù)總線(xiàn)上,具體時(shí)序詳見(jiàn)SDRAM數(shù)據(jù)手冊(cè),此處不再贅述。本發(fā)明為了簡(jiǎn)便起見(jiàn),將SDRAM劃分為3固定長(zhǎng)度的空間,分別存儲(chǔ)3路串口接收到的數(shù)據(jù),F(xiàn)PGA內(nèi)部構(gòu)建3路寫(xiě)入FIFO和3路讀取FIFO,并行數(shù)據(jù)首先保存在寫(xiě)入FIFO中,F(xiàn)PGA在每個(gè)時(shí)鐘周期檢測(cè)輸入FIFO,發(fā)現(xiàn)其中有數(shù)據(jù)就將數(shù)據(jù)轉(zhuǎn)移至SDRAM中,再檢測(cè)讀取FIFO是否為滿(mǎn),不滿(mǎn)則將SDRAM數(shù)據(jù)轉(zhuǎn)移至讀取FIFO中,供主控程序讀取。CPCI接口卡選用PLX公司的PCI9030,該芯片采用3.3V核心電壓,兼容5V信號(hào)電平,功耗低,配置靈活簡(jiǎn)單,易于完成FPGA與CPCI總線(xiàn)的數(shù)據(jù)通信;FPGA選用Xilinx公司Spartan3系列中的XC3S400PQ208-4I芯片,該芯片包含400K的GATES,344K的RAM和141個(gè)可用的I/O管腳,能夠滿(mǎn)足系統(tǒng)的功能需求。全雙工串口電平轉(zhuǎn)換芯片選用MAX485芯片,其最高通信速率為lOMbps,具有2KV的ESD保護(hù)特性。接口保護(hù)芯片選用ProTekDevices公司的PSM712,該芯片是RS-422/485接口常用的TVS陣列,可有效保護(hù)接口芯片。串口信號(hào)采用光電隔離,選用FAIRCHILD公司的HCPL0631,該芯片為10Mbps的高速光電耦合器件,可滿(mǎn)足系統(tǒng)速度需求。試驗(yàn)的操作系統(tǒng)使用Windows操作系統(tǒng),采用Driverstudio軟件編制了板卡的驅(qū)動(dòng)程序,用串口卡自身各路之間數(shù)據(jù)相互收發(fā)的方式測(cè)試串口的發(fā)送和接收功能,使用示波器查看串口發(fā)送數(shù)據(jù)的電平特性和同步精度。經(jīng)測(cè)試,每路串口均可正常收發(fā)數(shù)據(jù),三路串口的同步精度誤差達(dá)到100ns以下,能夠滿(mǎn)足系統(tǒng)的同步精度需求,單路串口的波形如圖5所示。CPCI數(shù)據(jù)源設(shè)備的軟件采用VxWorks操作系統(tǒng),應(yīng)用軟件包括初始化模塊、網(wǎng)絡(luò)模塊和串口同步發(fā)送模塊,初始化模塊用于應(yīng)用軟件的初始化,網(wǎng)絡(luò)模塊實(shí)現(xiàn)模擬源數(shù)據(jù)的網(wǎng)絡(luò)接收、存儲(chǔ)和點(diǎn)火信號(hào)的接收、控制執(zhí)行,串口同步發(fā)送模塊實(shí)現(xiàn)數(shù)據(jù)請(qǐng)求信號(hào)的響應(yīng),并控制模擬源數(shù)據(jù)的同步發(fā)送。初始化模塊完成串口發(fā)送模塊和網(wǎng)絡(luò)模塊的初始化工作,主要包括配置串口參數(shù)(如波特率、停止位校驗(yàn)方式等)、初始化網(wǎng)絡(luò)通信套接字、設(shè)置系統(tǒng)時(shí)間、設(shè)置串口同步時(shí)間、開(kāi)辟模擬數(shù)據(jù)內(nèi)存區(qū)。網(wǎng)絡(luò)模塊牽制釋放仿真模擬源軟件采用了TCP應(yīng)用服務(wù),做為服務(wù)器的概念存在,等待后端計(jì)算機(jī)的連接。由于VxWorks采用默認(rèn)的阻塞型socket,采用單任務(wù)模式并不合適,因此在網(wǎng)絡(luò)模塊中采用多任務(wù)方式來(lái)完成測(cè)試數(shù)據(jù)的網(wǎng)絡(luò)傳輸、存儲(chǔ)與功能控制,其結(jié)構(gòu)如圖6所示。(1)網(wǎng)絡(luò)初始化任務(wù)tNetlnit:非周期任務(wù),完成初始化建立連接的工作。同時(shí),本任務(wù)作為網(wǎng)絡(luò)通信的根任務(wù),一旦客戶(hù)端有連接請(qǐng)求,就需要發(fā)起各種子任務(wù)網(wǎng)絡(luò)發(fā)送任務(wù)、網(wǎng)絡(luò)接收任務(wù)、信息處理任務(wù)、網(wǎng)絡(luò)監(jiān)控任務(wù);(2)網(wǎng)絡(luò)接收任務(wù)tNetRecv:周期性任務(wù),阻塞在VxWorks系統(tǒng)的recv()函數(shù)上的,它的主要作用是接收數(shù)據(jù)(模擬數(shù)據(jù)幀、點(diǎn)火信號(hào)),然后將所有數(shù)據(jù)傳給信息處理任務(wù)進(jìn)行具體的分類(lèi)處理;(3)信息處理任務(wù)tNetProc:周期性任務(wù),優(yōu)先級(jí)較低,對(duì)已經(jīng)接收到的數(shù)據(jù)進(jìn)行解析,解析出數(shù)據(jù)的類(lèi)別,如果是模擬數(shù)據(jù)幀,則進(jìn)行存儲(chǔ)處理,如果是點(diǎn)火信號(hào),則控制模擬源板輸出點(diǎn)火信號(hào),最后組成確認(rèn)幀傳送給網(wǎng)絡(luò)發(fā)送任務(wù);(4)網(wǎng)絡(luò)發(fā)送任務(wù)tNetSend:周期性任務(wù),主要用于向后端計(jì)算機(jī)發(fā)送確認(rèn)幀,如已接收完模擬數(shù)據(jù)、收到點(diǎn)火信號(hào)等。由于優(yōu)先級(jí)設(shè)置較高,當(dāng)?shù)玫叫盘?hào)量后,立即取出確認(rèn)幀內(nèi)容發(fā)送給后端計(jì)算機(jī)。(5)網(wǎng)絡(luò)監(jiān)控任務(wù)tNetCheck:非周期任務(wù),優(yōu)先級(jí)設(shè)置在其他網(wǎng)絡(luò)任務(wù)之上。此任務(wù)和信息接收任務(wù)、信息發(fā)送任務(wù)間使用二進(jìn)制型信號(hào)量同步。一旦網(wǎng)絡(luò)出錯(cuò),得到二進(jìn)制信號(hào)量后便發(fā)起網(wǎng)絡(luò)關(guān)閉任務(wù)tNetClose;(6)網(wǎng)絡(luò)關(guān)閉任務(wù)tNetClose:單周期任務(wù),負(fù)責(zé)刪除網(wǎng)絡(luò)發(fā)送任務(wù)、網(wǎng)絡(luò)接收任務(wù)、信息處理任務(wù),然后重新初始化網(wǎng)絡(luò),即再次發(fā)起網(wǎng)絡(luò)初始化任務(wù)。牽制釋放CPCI仿真數(shù)據(jù)源設(shè)備接收到"數(shù)據(jù)請(qǐng)求"信號(hào)后,需要立即向3路串口發(fā)送模擬數(shù)據(jù),要求應(yīng)用軟件具有強(qiáng)實(shí)時(shí)性,因此CPCI仿真數(shù)據(jù)源軟件采用采用了實(shí)時(shí)性強(qiáng)、可靠性高的Vxworks作為軟件操作系統(tǒng)。另外多次無(wú)效的查詢(xún)必然會(huì)降低軟件的執(zhí)行效率,因此響應(yīng)"數(shù)據(jù)請(qǐng)求"信號(hào)并沒(méi)有采用輪詢(xún)的方式,而是采用中斷的方式完成,但是VxWorks下中斷也有自己的弊端,不允許調(diào)用會(huì)導(dǎo)致阻塞的函數(shù)且函數(shù)格式必須固定,因此為了保障軟件運(yùn)行的實(shí)時(shí)性,可靠性,把串口發(fā)送的處理過(guò)程放在一個(gè)高優(yōu)先級(jí)的任務(wù)來(lái)進(jìn)行處理,也就是說(shuō)沒(méi)有在中斷的級(jí)別處理。其基本原理這有點(diǎn)類(lèi)似VxWorks中對(duì)異常處理的方式中斷服務(wù)程序只是執(zhí)行最基本的中斷處理,例如禁止中斷、判斷中斷類(lèi)型、清除硬件相關(guān)寄存器等等,而絕大部分程序的處理,特別是會(huì)造成阻塞的程序,都放到串口發(fā)送任務(wù)中執(zhí)行。串口同步發(fā)送任務(wù)完成數(shù)據(jù)的提取、打包和向3個(gè)串口發(fā)送處理。串口發(fā)送任務(wù)獲得同步信號(hào)量后,分為"點(diǎn)火前"和"點(diǎn)火后"兩個(gè)分支進(jìn)行,兩個(gè)分支流程基本類(lèi)似,由于"點(diǎn)火"前模擬數(shù)據(jù)只有n組(如100組,1組80個(gè)浮點(diǎn)數(shù)據(jù)),因此,"點(diǎn)火"前需要循環(huán)發(fā)送這100組;當(dāng)"點(diǎn)火"之后,從第100組開(kāi)始,依次發(fā)送后面的模擬數(shù)據(jù)。如圖7和圖8所示,為本發(fā)明串口發(fā)送模塊實(shí)現(xiàn)流程圖。數(shù)據(jù)請(qǐng)求信號(hào)響應(yīng)由以下三部分實(shí)現(xiàn)初始化部分將數(shù)據(jù)請(qǐng)求信號(hào)掛接在數(shù)據(jù)請(qǐng)求中斷函數(shù)上(實(shí)現(xiàn)掛接的函數(shù)由VxWorks操作系統(tǒng)提供),然后創(chuàng)建串口同步發(fā)送任務(wù),最后將數(shù)據(jù)請(qǐng)求中斷設(shè)置為使能狀態(tài);數(shù)據(jù)請(qǐng)求中斷函數(shù)部分首先將數(shù)據(jù)請(qǐng)求中斷設(shè)置為禁止?fàn)顟B(tài),然后清除數(shù)據(jù)請(qǐng)求中斷寄存器,最后釋放同步信號(hào)量(讓串口發(fā)送任務(wù)得以向下運(yùn)行);串口同步發(fā)送任務(wù)部分等待同步信號(hào)量,當(dāng)有同步信號(hào)量時(shí),開(kāi)始執(zhí)行模擬源數(shù)據(jù)的同步發(fā)送,發(fā)送完畢后,將數(shù)據(jù)請(qǐng)求中斷設(shè)置為使能狀態(tài),并返回等待狀態(tài),等待下一個(gè)同步信號(hào)量。串口同步發(fā)送模塊實(shí)現(xiàn)模擬源數(shù)據(jù)發(fā)送的過(guò)程如下(1)等待同步信號(hào)量,當(dāng)?shù)玫酵叫盘?hào)量時(shí),判斷系統(tǒng)當(dāng)前狀態(tài)是否為點(diǎn)火前,如果是點(diǎn)火前,則進(jìn)入下一步,如果是點(diǎn)火后,則直接進(jìn)入步驟(6);(2)根據(jù)當(dāng)前的指針位置皿m從模擬數(shù)據(jù)內(nèi)存區(qū)中取出一組點(diǎn)火前數(shù)據(jù),并組成串口通信幀;如果是第一次從模擬數(shù)據(jù)內(nèi)存中取數(shù)據(jù),則指針指向模擬數(shù)據(jù)內(nèi)存的首地址,艮卩皿m=0;(3)將通信幀分別填充到模擬源板的3個(gè)串口的FIFO中;然后啟動(dòng)模擬源板的3個(gè)串口進(jìn)行同步發(fā)送,將三路數(shù)據(jù)發(fā)送給前端的三冗余計(jì)算機(jī);(4)皿m=皿m+l,即指針位置指向要取出的下一組模擬數(shù)據(jù)的內(nèi)存地址;(5)判斷指針位置皿m是否小于n,如果小于n,則返回等待同步信號(hào)量狀態(tài),如果不小于n,則將指針位置皿m設(shè)置為0后,再返回等待同步信號(hào)量狀態(tài),所述的n為系統(tǒng)提供的點(diǎn)火前數(shù)據(jù)的總組數(shù);(6)首先判斷當(dāng)前的指針位置皿m是否小于n,如果小于n,則將指針位置皿m設(shè)置為n后,進(jìn)入下一步,如果不小于n,則直接進(jìn)入下一步;(7)根據(jù)當(dāng)前的指針位置皿m從模擬數(shù)據(jù)內(nèi)存區(qū)中取出一組點(diǎn)火后數(shù)據(jù),并組成串口通信幀;(8)將通信幀分別填充到模擬源板的3個(gè)串口的FIFO中;然后啟動(dòng)模擬源板的3個(gè)串口進(jìn)行同步發(fā)送,將三路數(shù)據(jù)發(fā)送給前端的三冗余計(jì)算機(jī);(9)num=皿m+l,即指針位置指向要取出的下一組模擬數(shù)據(jù)的內(nèi)存地址,然后返回等待同步信號(hào)量狀態(tài)。下面以某型號(hào)的實(shí)際應(yīng)用為例,對(duì)本發(fā)明進(jìn)行進(jìn)一步闡述1、數(shù)據(jù)源的選取和處理選取模擬數(shù)據(jù)要求的5個(gè)發(fā)動(dòng)機(jī)的80組數(shù)據(jù)均由YF-100發(fā)動(dòng)機(jī)和YF-77發(fā)送機(jī)的2組真實(shí)試車(chē)數(shù)據(jù)文件組成。兩個(gè)發(fā)動(dòng)機(jī)試車(chē)數(shù)據(jù)的文件格式為EXCEL,數(shù)據(jù)周期為10ms,根據(jù)牽制釋放系統(tǒng)工作周期為20ms,每個(gè)周期測(cè)試和處理一組數(shù)據(jù)的需求,在EXCEL采用文件中選用偶數(shù)行去掉奇數(shù)行方法,即處理成每20ms—個(gè)數(shù)據(jù),最終使?fàn)恐漆尫艤y(cè)控組合每20ms得到發(fā)動(dòng)機(jī)的一組試車(chē)數(shù)據(jù)。牽制釋放系統(tǒng)點(diǎn)火前測(cè)試時(shí)間較長(zhǎng)且未知,而且點(diǎn)火前的數(shù)據(jù)基本上均是初始值(0)且無(wú)變化。如果點(diǎn)火前每一個(gè)20ms工作周期對(duì)應(yīng)一組模擬數(shù)據(jù),數(shù)據(jù)量太大,前端模擬源設(shè)備內(nèi)存無(wú)法滿(mǎn)足要求。因此牽制釋放仿真數(shù)據(jù)源采用點(diǎn)火前和點(diǎn)火后采用不同的方法處理和發(fā)送數(shù)據(jù)只挑出IOO組數(shù)據(jù)制作為點(diǎn)火前的模擬數(shù)據(jù),在點(diǎn)火前牽制釋放仿真數(shù)據(jù)源將循環(huán)發(fā)送這100組數(shù)據(jù);由于牽制釋放系統(tǒng)的生命周期為點(diǎn)火后20秒,因此需要再挑出1000(20*50)組"點(diǎn)火"后的數(shù)據(jù),共1100組模擬試車(chē)數(shù)據(jù)組成最終的模擬源數(shù)據(jù)文件,最后將EXCEL數(shù)據(jù)文件格式直接另存為txt文本文件,提供給后端計(jì)算機(jī)使用。2、模擬數(shù)據(jù)的處理及上傳牽制釋放仿真數(shù)據(jù)源系統(tǒng)需要以20ms的周期向牽制釋放測(cè)控組合發(fā)送一組模擬數(shù)據(jù),為了保證測(cè)試過(guò)程的實(shí)時(shí)性,采用如下方案模擬源系統(tǒng)后端計(jì)算機(jī)和CPCI仿真數(shù)據(jù)源建立起網(wǎng)絡(luò)連接后,后端計(jì)算機(jī)將全部的模擬數(shù)據(jù)一次性傳給前端CPCI仿真數(shù)據(jù)源,完成模擬數(shù)據(jù)上傳的過(guò)程,而之后的工作完全交給前端CPCI仿真數(shù)據(jù)源完成。牽制釋放后端計(jì)算機(jī)開(kāi)發(fā)平臺(tái)為VC6.O,采用Windows平臺(tái)的面向?qū)ο笳Z(yǔ)言開(kāi)發(fā)其用戶(hù)界面,實(shí)現(xiàn)模擬數(shù)據(jù)文件的讀取及發(fā)送,以及發(fā)送點(diǎn)火控制信號(hào)等,采用常用的現(xiàn)有技術(shù)即可實(shí)現(xiàn),由于模擬源數(shù)據(jù)為普通txt文本格式的浮點(diǎn)字符串,因此需要后端計(jì)算機(jī)完成轉(zhuǎn)換處理,形成二進(jìn)制源碼數(shù)據(jù)后,再利用socket通過(guò)網(wǎng)絡(luò)發(fā)送給CPCI仿真數(shù)據(jù)源軟件。3、前端設(shè)備是數(shù)據(jù)處理及發(fā)送a)數(shù)據(jù)的存儲(chǔ)由于CPCI仿真數(shù)據(jù)源軟件的內(nèi)存中即要存儲(chǔ)數(shù)據(jù)(模擬數(shù)據(jù))和程序代碼,為了提高軟件的可靠性和安全性,軟件設(shè)計(jì)采用自己內(nèi)存分區(qū)管理方法,將代碼區(qū)和數(shù)據(jù)區(qū)嚴(yán)格分開(kāi),首先先利用malloc()和memPartCreate()函數(shù)在系統(tǒng)內(nèi)存分區(qū)(MemoryPartition)上建立自己的數(shù)據(jù)存儲(chǔ)區(qū),其次調(diào)用memPartAlloc()在這個(gè)新的分區(qū)上根據(jù)需要實(shí)現(xiàn)自己的內(nèi)存管理,分配模擬數(shù)據(jù)大小內(nèi)存池,最后當(dāng)牽制釋放那個(gè)任務(wù)結(jié)束后掉用memPartFree()釋放掉內(nèi)存。根據(jù)系統(tǒng)要求,牽制釋放CPCI仿真數(shù)據(jù)源軟件還需要在Flash中存儲(chǔ)上傳的來(lái)的模擬數(shù)據(jù),為事后判讀提供依據(jù)。由于Flash寫(xiě)和擦除都需要較復(fù)雜的步驟才能完成,且壽命有限,因此軟件選擇TFFS文件系統(tǒng)來(lái)維護(hù)對(duì)存儲(chǔ)數(shù)據(jù)的存儲(chǔ)操作,采用讀寫(xiě)函數(shù)為標(biāo)準(zhǔn)的文件系統(tǒng)接口,在操作方便的同時(shí),延長(zhǎng)了Flash使用壽命,提高數(shù)據(jù)掉電存儲(chǔ)的可靠性。b)三冗余同步發(fā)送當(dāng)運(yùn)載火箭轉(zhuǎn)電后,牽制釋放測(cè)控組合開(kāi)始以20ms為周期向外系統(tǒng)發(fā)出"數(shù)據(jù)請(qǐng)求"信號(hào),開(kāi)始接收數(shù)據(jù)并進(jìn)行故障檢測(cè)判斷,因此牽制釋放仿真數(shù)據(jù)源系統(tǒng)需要通過(guò)3路冗余485串口,同步發(fā)送出一組相同的模擬數(shù)據(jù)。冗余同步功能要求較高,精度不低于lOus,因此主要由硬件設(shè)計(jì)保證,并向上層應(yīng)用軟件提供時(shí)間同步接口。前文提到CPCI仿真數(shù)據(jù)源設(shè)備內(nèi)存中保留的模擬數(shù)據(jù)只有前100組是"點(diǎn)火"前的試車(chē)數(shù)據(jù),因此需要循環(huán)發(fā)送這些數(shù)據(jù),而當(dāng)用戶(hù)通過(guò)后端計(jì)算機(jī)發(fā)出"點(diǎn)火"的指令后(模擬外系統(tǒng)開(kāi)始進(jìn)入點(diǎn)火后狀態(tài)),CPCI仿真數(shù)據(jù)源軟件應(yīng)該立即從第101組開(kāi)始向后依次發(fā)送"點(diǎn)火"后的模擬數(shù)據(jù)。本發(fā)明未詳細(xì)描述內(nèi)容為本領(lǐng)域技術(shù)人員公知技術(shù)。權(quán)利要求牽制釋放仿真數(shù)據(jù)源系統(tǒng),其特征在于包括CPCI數(shù)據(jù)源設(shè)備和后端計(jì)算機(jī),CPCI數(shù)據(jù)源設(shè)備從后端計(jì)算機(jī)接收模擬數(shù)據(jù),完成模擬數(shù)據(jù)的存儲(chǔ),并根據(jù)數(shù)據(jù)請(qǐng)求信號(hào)的響應(yīng),發(fā)送給前端三冗余計(jì)算機(jī),CPCI數(shù)據(jù)源設(shè)備從后端計(jì)算機(jī)接收點(diǎn)火信號(hào)指令,并控制點(diǎn)火信號(hào)的輸出;后端計(jì)算機(jī)完成模擬數(shù)據(jù)的上傳,點(diǎn)火信號(hào)指令的發(fā)送控制,并接收顯示CPCI數(shù)據(jù)源設(shè)備的反饋信息,CPCI數(shù)據(jù)源設(shè)備的硬件包括電源板、CPU板和模擬源板,電源板用于給整個(gè)系統(tǒng)供電,CPU板為數(shù)據(jù)源設(shè)備的主控板,模擬源板實(shí)現(xiàn)三路串口信號(hào)的發(fā)送、一路點(diǎn)火信號(hào)的輸出、一路數(shù)據(jù)請(qǐng)求信號(hào)的輸入;CPCI數(shù)據(jù)源設(shè)備的軟件采用VxWorks操作系統(tǒng),應(yīng)用軟件包括初始化模塊、網(wǎng)絡(luò)模塊和串口同步發(fā)送模塊,初始化模塊用于應(yīng)用軟件的初始化,網(wǎng)絡(luò)模塊實(shí)現(xiàn)模擬源數(shù)據(jù)的網(wǎng)絡(luò)接收、存儲(chǔ)和點(diǎn)火信號(hào)的接收、控制執(zhí)行,串口同步發(fā)送模塊實(shí)現(xiàn)數(shù)據(jù)請(qǐng)求信號(hào)的響應(yīng),并控制模擬源數(shù)據(jù)的同步發(fā)送,所述的模擬數(shù)據(jù)由發(fā)動(dòng)機(jī)點(diǎn)火前和點(diǎn)火后真實(shí)試驗(yàn)數(shù)據(jù)組成。2.根據(jù)權(quán)利要求1所述的牽制釋放仿真數(shù)據(jù)源系統(tǒng),其特征在于所述的模擬源板包括CPCI接口芯片、FPGA控制電路、三路隔離電路、三個(gè)電平轉(zhuǎn)換電路、三個(gè)接口保護(hù)電路、晶振、SDRAM、EEPROM、繼電器、光電耦合器,其中,EEPR0M存儲(chǔ)CPCI接口芯片的配置信息,CPCI接口芯片上電后讀取EEPROM存儲(chǔ)CPCI接口芯片的配置信息,CPU板將要發(fā)送的并口數(shù)據(jù)通過(guò)CPCI接口芯片寫(xiě)入FPGA控制電路的內(nèi)部數(shù)據(jù)緩存中,SDRAM對(duì)FPGA控制電路內(nèi)部數(shù)據(jù)緩存中的并行數(shù)據(jù)進(jìn)行存儲(chǔ),CPU板向FPGA控制電路中的定時(shí)器發(fā)出使能信號(hào),定時(shí)器根據(jù)晶振產(chǎn)生的時(shí)鐘頻率開(kāi)始計(jì)時(shí),定時(shí)器控制FPGA中的并串轉(zhuǎn)換電路從SDRAM中將并行數(shù)據(jù)取出進(jìn)行并串轉(zhuǎn)換形成三路TTL信號(hào),當(dāng)定時(shí)器定時(shí)時(shí)間到時(shí),定時(shí)器控制并串轉(zhuǎn)換電路將轉(zhuǎn)換后的三路TTL信號(hào)發(fā)送至三個(gè)隔離電路進(jìn)行隔離,經(jīng)過(guò)隔離后的TTL信號(hào)進(jìn)行電平轉(zhuǎn)換,最后通過(guò)接口保護(hù)電路以串口形式輸出;繼電器將FPGA控制電路輸出的點(diǎn)火信號(hào)發(fā)送給前端的三冗余嵌入式計(jì)算機(jī);三冗余嵌入式計(jì)算機(jī)發(fā)送過(guò)來(lái)的數(shù)據(jù)請(qǐng)求信號(hào)經(jīng)過(guò)光電耦合器隔離后送入FPGA控制電路。3.根據(jù)權(quán)利要求1所述的牽制釋放仿真數(shù)據(jù)源系統(tǒng),其特征在于所述的串口同步發(fā)送模塊采用中斷的方式實(shí)現(xiàn)數(shù)據(jù)請(qǐng)求信號(hào)響應(yīng),數(shù)據(jù)請(qǐng)求信號(hào)響應(yīng)由以下三部分實(shí)現(xiàn)初始化部分將數(shù)據(jù)請(qǐng)求信號(hào)掛接在數(shù)據(jù)請(qǐng)求中斷函數(shù)上,然后創(chuàng)建串口同步發(fā)送任務(wù),最后將數(shù)據(jù)請(qǐng)求中斷設(shè)置為使能狀態(tài);數(shù)據(jù)請(qǐng)求中斷函數(shù)部分首先將數(shù)據(jù)請(qǐng)求中斷設(shè)置為禁止?fàn)顟B(tài),然后清除數(shù)據(jù)請(qǐng)求中斷寄存器,最后釋放同步信號(hào)量;串口同步發(fā)送任務(wù)部分等待同步信號(hào)量,當(dāng)有同步信號(hào)量時(shí),開(kāi)始執(zhí)行模擬源數(shù)據(jù)的同步發(fā)送,發(fā)送完畢后,將數(shù)據(jù)請(qǐng)求中斷設(shè)置為使能狀態(tài),并返回等待狀態(tài),等待下一個(gè)同步信號(hào)量。4.根據(jù)權(quán)利要求1或3所述的牽制釋放仿真數(shù)據(jù)源系統(tǒng),其特征在于所述的模擬數(shù)據(jù)由發(fā)動(dòng)機(jī)點(diǎn)火前和點(diǎn)火后真實(shí)試驗(yàn)數(shù)據(jù)組成,串口同步發(fā)送模塊實(shí)現(xiàn)模擬源數(shù)據(jù)發(fā)送的過(guò)程如下(1)等待同步信號(hào)量,當(dāng)?shù)玫酵叫盘?hào)量時(shí),判斷系統(tǒng)當(dāng)前狀態(tài)是否為點(diǎn)火前,如果是點(diǎn)火前,則進(jìn)入下一步,如果是點(diǎn)火后,則直接進(jìn)入步驟(6);(2)根據(jù)當(dāng)前的指針位置皿m從模擬數(shù)據(jù)內(nèi)存區(qū)中取出一組點(diǎn)火前數(shù)據(jù),并組成串口通信幀;如果是第一次從模擬數(shù)據(jù)內(nèi)存中取數(shù)據(jù),則指針指向模擬數(shù)據(jù)內(nèi)存的首地址,即皿m=0j(3)將通信幀分別填充到模擬源板的3個(gè)串口的FIFO中;然后啟動(dòng)模擬源板的3個(gè)串口進(jìn)行同步發(fā)送,將三路數(shù)據(jù)發(fā)送給前端的三冗余計(jì)算機(jī);(4)皿m=皿m+l,即指針位置指向要取出的下一組模擬數(shù)據(jù)的內(nèi)存地址;(5)判斷指針位置皿m是否小于n,如果小于n,則返回等待同步信號(hào)量狀態(tài),如果不小于n,則將指針位置皿m設(shè)置為0后,再返回等待同步信號(hào)量狀態(tài),所述的n為系統(tǒng)提供的點(diǎn)火前數(shù)據(jù)的總組數(shù);(6)首先判斷當(dāng)前的指針位置皿m是否小于n,如果小于n,則將指針位置皿m設(shè)置為n后,進(jìn)入下一步,如果不小于n,則直接進(jìn)入下一步;(7)根據(jù)當(dāng)前的指針位置皿m從模擬數(shù)據(jù)內(nèi)存區(qū)中取出一組點(diǎn)火后數(shù)據(jù),并組成串口通信幀;(8)將通信幀分別填充到模擬源板的3個(gè)串口的FIFO中;然后啟動(dòng)模擬源板的3個(gè)串口進(jìn)行同步發(fā)送,將三路數(shù)據(jù)發(fā)送給前端的三冗余計(jì)算機(jī);(9)皿m二皿m+l,即指針位置指向要取出的下一組模擬數(shù)據(jù)的內(nèi)存地址,然后返回等待同步信號(hào)量狀態(tài)。全文摘要牽制釋放仿真數(shù)據(jù)源系統(tǒng),包括CPCI數(shù)據(jù)源設(shè)備和后端計(jì)算機(jī),CPCI數(shù)據(jù)源設(shè)備的硬件包括電源板、CPU板和模擬源板,電源板用于給整個(gè)系統(tǒng)供電,CPU板為數(shù)據(jù)源設(shè)備的主控板,模擬源板實(shí)現(xiàn)三路串口信號(hào)的發(fā)送、一路點(diǎn)火信號(hào)的輸出、一路數(shù)據(jù)請(qǐng)求信號(hào)的輸入;CPCI數(shù)據(jù)源設(shè)備的軟件采用VxWorks操作系統(tǒng),應(yīng)用軟件包括初始化模塊、網(wǎng)絡(luò)模塊和串口同步發(fā)送模塊,初始化模塊用于應(yīng)用軟件的初始化,網(wǎng)絡(luò)模塊實(shí)現(xiàn)模擬源數(shù)據(jù)的網(wǎng)絡(luò)接收、存儲(chǔ)和點(diǎn)火信號(hào)的接收、控制執(zhí)行,串口同步發(fā)送模塊實(shí)現(xiàn)數(shù)據(jù)請(qǐng)求信號(hào)的響應(yīng),并控制模擬源數(shù)據(jù)的同步發(fā)送。解決了牽制釋放三冗余系統(tǒng)的三路仿真數(shù)據(jù)的同步實(shí)時(shí)發(fā)送問(wèn)題。文檔編號(hào)F02K9/95GK101776028SQ20091024328公開(kāi)日2010年7月14日申請(qǐng)日期2009年12月30日優(yōu)先權(quán)日2009年12月30日發(fā)明者宋永生,張學(xué)英,沈海闊,羅一丹,韓亮申請(qǐng)人:北京宇航系統(tǒng)工程研究所