穆蔚然,靳 鴻,張志偉
(中北大學(xué) 電子測試技術(shù)國家重點(diǎn)實(shí)驗(yàn)室 儀器科學(xué)與動態(tài)測試教育部重點(diǎn)實(shí)驗(yàn)室,太原 030051)
在飛行器飛行試驗(yàn)中,機(jī)載數(shù)據(jù)記錄儀作為重要的記錄設(shè)備,記錄著飛行器的重要工作環(huán)境參數(shù)和飛行動態(tài)參數(shù)。隨著機(jī)載數(shù)據(jù)傳輸速度以及數(shù)據(jù)量的不斷增加,多通道、大容量、高存儲速度成為現(xiàn)代記錄儀發(fā)展的主流趨勢[1-2]。另外各通道之間信號類型的多樣性和功能的復(fù)雜性使得整個存儲系統(tǒng)更加龐大,多通道多任務(wù)管理復(fù)雜。而且機(jī)載環(huán)境下的存儲設(shè)備、測試參數(shù)具有實(shí)時性強(qiáng)的存儲要求[3]。因此需要一套實(shí)時性強(qiáng)、可靠性高的控制系統(tǒng)實(shí)現(xiàn)對機(jī)載數(shù)據(jù)記錄儀多通道記錄模塊的統(tǒng)一管理,實(shí)現(xiàn)參數(shù)高速存儲記錄。
目前數(shù)據(jù)記錄儀控制系統(tǒng)大多基于Linux、Unix等通用操作系統(tǒng),與PCI等計(jì)算機(jī)標(biāo)準(zhǔn)總線接口[4-6]。通用PCI/CPCI、PXI總線標(biāo)準(zhǔn)采用分時復(fù)用的工作模式[7-8],同一時刻只允許一個采集終端擁有總線的使用權(quán),所以系統(tǒng)總線的數(shù)據(jù)傳輸速度取決于當(dāng)前優(yōu)先級最高的采集終端,限制了系統(tǒng)整體的存儲速率。操作系統(tǒng)自身的消耗勢必會造成總線數(shù)據(jù)傳輸帶寬的降低[9]。由于大多通用操作系統(tǒng)多任務(wù)非實(shí)時響應(yīng)的特點(diǎn),當(dāng)多個任務(wù)同時執(zhí)行時,影響數(shù)據(jù)總線傳輸和存儲性能[10],雖然具有操作簡單、通用性強(qiáng)和易于實(shí)現(xiàn)等優(yōu)點(diǎn)但難以滿足機(jī)載環(huán)境下對存儲系統(tǒng)的實(shí)時性和可靠性要求。
基于自定義協(xié)議的機(jī)載數(shù)據(jù)記錄儀控制系統(tǒng)采用非標(biāo)準(zhǔn)總線來實(shí)現(xiàn)對各記錄模塊的控制。系統(tǒng)采用STM32F103單片機(jī)和FPGA作為主控制器,STM32對接口板卡的RS422指令數(shù)據(jù)進(jìn)行解析,F(xiàn)PGA是整個系統(tǒng)指令的管理中心和數(shù)據(jù)的傳輸媒介,STM32通過配置和讀取FPGA內(nèi)部的寄存器實(shí)現(xiàn)系統(tǒng)各項(xiàng)功能。各通道記錄模塊相互獨(dú)立且實(shí)時并行記錄。
機(jī)載數(shù)據(jù)記錄儀有上位機(jī)控制與1553B總線數(shù)據(jù)流2種控制模式,采用1553B總線數(shù)據(jù)流控制模式時,通過機(jī)載/地面計(jì)算機(jī)發(fā)送1553B總線數(shù)據(jù)流控制記錄儀的工作。使用上位機(jī)控制模式時,通過上位機(jī)控制管理記錄儀的工作,實(shí)現(xiàn)存儲數(shù)據(jù)的上傳。
該數(shù)據(jù)記錄儀采用了按照功能劃分的插卡式模塊化設(shè)計(jì)結(jié)構(gòu)[11],將LVDS記錄模塊、模擬量記錄模塊、1553B總線記錄模塊、RS422總線記錄模塊進(jìn)行整合。LVDS傳輸方式實(shí)現(xiàn)各通道記錄模塊存儲數(shù)據(jù)的高速上傳。使用RS422總線實(shí)現(xiàn)主控制板卡與各通道記錄模塊之間以及與上位機(jī)之間指令的通訊。各子板模塊通過主控板卡連接、控制、傳遞各通道的信號。在主控板卡的控制下,協(xié)調(diào)統(tǒng)一各子板工作。整個系統(tǒng)具有擴(kuò)展功能預(yù)留擴(kuò)展插槽,記錄儀總體結(jié)構(gòu)組成示意如圖1所示。
圖1 記錄儀總體結(jié)構(gòu)組成示意Fig.1 Recorder overall structure diagram
機(jī)載數(shù)據(jù)記錄儀有上位機(jī)與1553B總線數(shù)據(jù)流2種控制模式,在進(jìn)入相應(yīng)的工作模式前,需要在上位機(jī)控制模式下通過上位機(jī)對記錄儀各通道記錄模塊進(jìn)行上電配置,選擇相應(yīng)的控制模式。當(dāng)記錄儀采用1553B總線數(shù)據(jù)流控制模式時,通過機(jī)載/地面計(jì)算機(jī)發(fā)送1553B總線數(shù)據(jù)流控制記錄儀的工作,此控制模式適用于機(jī)載環(huán)境和地面環(huán)境;當(dāng)記錄儀采用上位機(jī)控制模式時,通過上位機(jī)控制管理記錄儀的工作,并實(shí)現(xiàn)存儲數(shù)據(jù)上傳的功能,此控制模式適用于地面環(huán)境。
上位機(jī)控制模式下的系統(tǒng)結(jié)構(gòu)組成示意如圖2所示,上位機(jī)通過2個USB接口與雙通道數(shù)據(jù)轉(zhuǎn)換控制卡連接,其中USB1接口與芯片CY7C68013進(jìn)行通信[11],將雙通道數(shù)據(jù)轉(zhuǎn)換控制卡讀到的數(shù)據(jù)回傳給上位機(jī);USB2通過CP2102(RS232)來接收和下發(fā)配置和控制指令。發(fā)送“下載”命令后,雙通道數(shù)據(jù)轉(zhuǎn)換控制卡收到上位機(jī)命令后通過RS422接口與主控板卡進(jìn)行通信;主控板卡收到雙通道數(shù)據(jù)轉(zhuǎn)換控制卡轉(zhuǎn)發(fā)的命令后,主控板卡FPGA從子板的存儲單元中讀取數(shù)據(jù),通過LVDS接口向雙通道數(shù)據(jù)轉(zhuǎn)換控制卡發(fā)送數(shù)據(jù)。雙通道數(shù)據(jù)轉(zhuǎn)換控制卡收到數(shù)據(jù)后會判斷數(shù)據(jù)是否有效,若有效則將數(shù)據(jù)寫入緩存,上位機(jī)發(fā)送讀數(shù)請求將緩存中數(shù)據(jù)存儲至計(jì)算機(jī)硬盤,進(jìn)行后續(xù)分析處理。
圖2 上位機(jī)控制模式下的系統(tǒng)結(jié)構(gòu)組成示意Fig.2 Host computer control mode composition of the system structure
上位機(jī)控制模式下的系統(tǒng)工作流程如3所示,連接記錄儀與上位機(jī)。通過上位機(jī)對記錄儀各通道記錄模塊進(jìn)行電源配置,配置信息將保存至主控板卡上。上位機(jī)操作記錄儀進(jìn)行自檢,自檢通過則表明初始配置設(shè)置正確。如未通過,則需檢查相關(guān)配置是否與使用狀態(tài)一致。當(dāng)自檢通過后,主控板卡根據(jù)上位機(jī)控制指令對子板進(jìn)行操作。
圖3 上位機(jī)控制模式下系統(tǒng)工作流程Fig.3 System workflow under the control mode of host computer
1553B總線數(shù)據(jù)流控制模式下的系統(tǒng)結(jié)構(gòu)組成示意如圖4所示。1553B接口子板是實(shí)現(xiàn)這一控制模式的主要模塊,1553B接口子板主要功能是將1553B消息命令轉(zhuǎn)換為RS422通訊指令,1553B接口子板接收到機(jī)載/地面計(jì)算機(jī)(BC端)的1553B消息命令后轉(zhuǎn)換成相應(yīng)的RS422通訊指令,發(fā)送給主控板卡,主控板卡接收到對應(yīng)的RS422通訊指令后控制記錄儀的工作。
圖4 1553B總線數(shù)據(jù)流控制模式下的系統(tǒng)結(jié)構(gòu)組成示意Fig.4 Schematic diagram of the system structure under the 1553B bus data flow control mode
1553B總線數(shù)據(jù)流控制模式下的系統(tǒng)工作流程如圖5所示。數(shù)據(jù)記錄儀與上位機(jī)連接,通過上位機(jī)對記錄儀各通道存儲模塊進(jìn)行電源配置,配置信息將保存至主控板卡上。上位機(jī)發(fā)送自檢指令,記錄儀進(jìn)行自檢,若通過則表明初始配置設(shè)置正確。自檢通過后連接記錄儀與機(jī)載/地面計(jì)算機(jī),數(shù)據(jù)記錄儀進(jìn)入1553B總線數(shù)據(jù)流控制模式,主控板卡根據(jù)1553B接口子板傳來的控制指令對其余子板卡進(jìn)行操作。
圖5 1553B總線數(shù)據(jù)流控制模式下系統(tǒng)工作流程Fig.5 System workflow under 1553B bus data flow control mode
主控板卡與所有子板卡之間通訊協(xié)議采用自定義指令協(xié)議實(shí)現(xiàn)各板卡之間指令通訊和存儲板卡上記錄數(shù)據(jù)的下載。
為滿足機(jī)載環(huán)境要求,主控板卡與子板的連接器件采用J27A-41ZJXⅡBC/BW-0.8航天級接插件。該接插件具有高可靠性和高速傳輸?shù)奶攸c(diǎn),產(chǎn)品示意如圖6所示。這一系列的電路連接器可用于電子設(shè)備、計(jì)算機(jī)內(nèi)部印制板之間、印制板與電纜之間、電纜與電纜之間的電路連接。具有插拔力低、接觸可靠性高、支持熱插拔、使用壽命長、耐用等特點(diǎn)。J27A-41TKⅡBW-0.8連接器部分引腳定義信號描述如表1所示。
圖6 接插件產(chǎn)品示意Fig.6 Connector product diagram
表1 部分引腳定義信號描述Tab.1 Part of the pin definition of the signal description
主控板卡與子板之間進(jìn)行指令傳輸時,主控板卡作為從站子板作為主站。完成主控板卡與子板卡間指令通訊和存儲數(shù)據(jù)的高速上傳。通訊模式為在CS片選信號下的雙向?qū)Φ确绞絺鬏?。傳輸過程如圖7所示。
圖7 主控板卡與子板間指令傳輸過程示意Fig.7 Schematic diagram of the instruction transmission between the main control board and the sub board
指令協(xié)議的具體格式為
起始符 目標(biāo)地址 源地址 指令 字節(jié)數(shù) DATA數(shù)據(jù) 校驗(yàn)和
目標(biāo)地址和源地址定義方式比較隨機(jī),與各板卡地址相對應(yīng)即可。字節(jié)數(shù)表示要發(fā)送的數(shù)據(jù)字節(jié)數(shù),范圍為0x00~0xFF。數(shù)據(jù)指需要發(fā)送的數(shù)據(jù),該數(shù)據(jù)大小為字節(jié)數(shù)所規(guī)定的值。校驗(yàn)即為前面所有數(shù)據(jù)(START至DATA)異或得到的數(shù)值,然后需要將該數(shù)值MSB位清零,使其滿足0~7F的要求。
對于各子板而言,RS422指令的有效性需要配合子板接口上的CS片選信號一起使用。在默認(rèn)情況下,CS片選信號選通1553B接口子板。當(dāng)有指令需要向其它子板發(fā)布時,先用CS片選信號選通指定的子板然后才可以進(jìn)行通訊。發(fā)布指令的通訊任務(wù)完成后CS片選信號回歸默認(rèn)狀態(tài),仍然選通1553B總線子板。
主控板卡與子板之間數(shù)據(jù)傳輸?shù)耐暾^程如圖8所示。
圖8 主控板卡與子板數(shù)據(jù)傳輸過程示意Fig.8 Schematic diagram of the main control board and the sub board data transmission
CS、ACK 及 DB[0:15]的變動均與 CLK 時鐘脈沖的上升沿同步,CS電平變化由主控板卡進(jìn)行控制。ACK 與 DB[0:15]變化由子板進(jìn)行控制,在 ACK拉低的下一個CLK時鐘移位脈沖上升沿開始數(shù)據(jù)傳輸。在DB[0:15]總線的DATA傳輸完畢后的下一個CLK時鐘移位脈沖上升沿ACK拉高。對于各存儲子板,數(shù)據(jù)上傳時,將按幀頭、幀計(jì)數(shù)、數(shù)據(jù)字、校驗(yàn)和、幀尾組成模式進(jìn)行組幀。數(shù)據(jù)幀會連續(xù)發(fā)送,直至下載指令中所要求的數(shù)據(jù)全部傳送完為止。指令相關(guān)的時序如圖9所示。
圖9 指令時序圖Fig.9 Instruction timing diagram
1553B接口板卡與主控板卡之間進(jìn)行指令傳輸時,1553B板卡作為主站,主控板卡作為從站。
通訊模式為片選信號有效時雙向?qū)Φ葌鬏敺绞?,該操作只有?dāng)CS片選信號選定1553B接口子板時指令才有效,默認(rèn)設(shè)置1553B接口板與存儲板插在A號插槽、B號插槽,主控板卡與子板通訊空閑情況下CS信號默認(rèn)選通1553B接口子板。1553B總線數(shù)據(jù)流控制下的指令包括自檢、啟動、停止3個指令,其傳輸過程如圖10所示。
圖10 1553B接口子板與主控板卡指令傳輸示意Fig.10 Schematic diagram of the 1553B interface sub board and main control board instruction transmission
STM32控制邏輯通過配置和讀取FPGA內(nèi)部相關(guān)的寄存器對目標(biāo)子板的RS422指令數(shù)據(jù)包的轉(zhuǎn)發(fā)和接收目標(biāo)子板的RS422指令應(yīng)答數(shù)據(jù)包,實(shí)現(xiàn)與子板的指令通訊以及雙控制模式功能。
地面計(jì)算機(jī)發(fā)送 “自檢”指令后,系統(tǒng)進(jìn)入1553B數(shù)據(jù)流控制模式的在線仿真圖,如圖11所示,圖中主控板卡STM32首先讀取到1553B接口子板發(fā)送的數(shù)據(jù)包的起始符5A,接著等待接收RS422指令數(shù)據(jù)包的下一個數(shù)據(jù)字。
圖11 1553B數(shù)據(jù)流控制模式在線仿真圖Fig.11 1553B data flow control mode online simulation diagram
上位機(jī)或1553B數(shù)據(jù)流發(fā)送“自檢”指令,以子板卡C1為例,主控板卡轉(zhuǎn)發(fā)“自檢”指令的在線仿真如圖12所示。圖12局部放大后,串口發(fā)送FIFO寫操作的在線仿真如圖13所示。
圖12 主控板卡轉(zhuǎn)發(fā)“自檢”指令在線仿真圖Fig.12 Online simulation diagram of “self-examination”instruction on the main control board
圖13 串口發(fā)送FIFO寫操作的在線仿真圖Fig.13 Online simulation diagram of FIFO write operation by serial port
上位機(jī)或1553B數(shù)據(jù)流發(fā)送“自檢”指令后,以子板C1的為例,主控板卡接收C1子板的應(yīng)答指令的在線仿真如圖14所示。圖14局部放大后,串口接收FIFO寫操作的在線仿真如圖15所示。
圖14 主控板卡接收C1子板應(yīng)答指令在線仿真圖Fig.14 Online simulation diagram of main control board receiving C1 sub board response instruction
圖15 串口接收FIFO寫操作在線仿真圖Fig.15 Online simulation diagram of FIFO write operation by serial port
整個控制系統(tǒng)所有通道記錄模塊實(shí)時并行記錄,不需要經(jīng)過主控板卡控制器干預(yù),具有功能特定、指令精簡、實(shí)時性強(qiáng)的優(yōu)點(diǎn)。
板卡通訊采用的自定義指令協(xié)議是完全開放的,凡按照該指令設(shè)計(jì)的板卡均可兼容此記錄儀,實(shí)現(xiàn)功能擴(kuò)展??刂颇J降亩鄻有院挽`活性使得記錄儀適用范圍更加廣泛。若使用其他總線改變控制管理系統(tǒng)控制模式,只需更換1553B接口板卡即可實(shí)現(xiàn)。例如:實(shí)現(xiàn)CAN總線數(shù)據(jù)流控制模式,可按照1553B接口子板與主控板卡之間指令通訊協(xié)議設(shè)計(jì)“CAN接口板卡”,插入對應(yīng)卡槽即可。
控制管理系統(tǒng)工作于復(fù)雜的機(jī)載環(huán)境,系統(tǒng)結(jié)構(gòu)設(shè)計(jì)按照抗震動、抗沖擊的規(guī)范;電路板符合電磁兼容性設(shè)計(jì)要求;主控板卡與子板接插件選用航空接插件,參照國家軍用標(biāo)準(zhǔn)插件規(guī)范,滿足傳輸速率,保證數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
[1]裴俊杰.基于FPGA的多路數(shù)據(jù)接收存儲的設(shè)計(jì)與實(shí)現(xiàn)[D].太原:中北大學(xué),2011.
[2]王歡,靳鴻,陳昌鑫,等.模塊化和柔性化的機(jī)載數(shù)據(jù)記錄儀設(shè)計(jì)[J].工程設(shè)計(jì)學(xué)報(bào),2014,21(4):373-377.
[3]Qin G,Liu G,F(xiàn)eng H.Design and implementation of a solidstate flight data recorder using multichannel technique[C]//IntelligentControland Information Processing (ICICIP),2013 Fourth International Conference on,IEEE,2013:726-729.
[4]吳良.分布式試飛測試總線系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn)[D].重慶:重慶大學(xué),2008.
[5]劉九洲,杜國興,盛文.基于CPCI總線的雷達(dá)便攜式儀器測試系統(tǒng)設(shè)計(jì)[J].儀表技術(shù),2013(1):4-6.
[6]祖東輝.大容量雷達(dá)數(shù)據(jù)存儲與管理技術(shù)研究[D].成都:電子科技大學(xué),2013.
[7]TakeshiSasada,Sato Ichikawa,MasashiShirakura.High-speed 200Gbytes data recorder utilizing the 512Mbits SDRAM and compact PCI bus[C]//22nd AIAA International Communications Satellite Systems Conference&Exhibit 2004(ICSSC).Monterey,California:AIAA,2004:185-189.
[8]劉東華,李秋娜.通用高速數(shù)據(jù)存儲系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].遙測遙控,2007,28(1):15-19.
[9]范曉星.高速大容量固態(tài)存儲系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2014.
[10]任敏.基于FPGA的雙通道的機(jī)載數(shù)據(jù)存儲系統(tǒng)設(shè)計(jì)[D].太原:中北大學(xué),2015.
[11]吳磊,郭超平,申世濤,等.基于CY7C68013與FPGA的便攜式數(shù)據(jù)采集系統(tǒng)[J].計(jì)算機(jī)應(yīng)用,2012,32(Z1):164-166.