王明昌,徐子鵬
(1.中國空空導(dǎo)彈研究院,河南 洛陽 471009; 2.火箭軍駐鄭州地區(qū)軍事代表室,鄭州 450000)
?
紅外圖像高速實時存儲系統(tǒng)設(shè)計
王明昌1,徐子鵬2
(1.中國空空導(dǎo)彈研究院,河南 洛陽471009; 2.火箭軍駐鄭州地區(qū)軍事代表室,鄭州450000)
針對紅外圖像具有分辨率低、幀頻高的特點,以及目標(biāo)特性分析和圖像處理算法驗證需要完整、無損記錄圖像數(shù)據(jù)的要求,提出了一種高速數(shù)字圖像傳輸記錄系統(tǒng)方案;方案采用HOTLinkⅡ+FPGA+PCI的體系結(jié)構(gòu),數(shù)據(jù)通過同軸線從紅外圖像設(shè)備傳輸?shù)綀D像記錄設(shè)備的CYP15G0101芯片,實現(xiàn)了遠(yuǎn)距離的點到點可靠傳輸和解碼;FPGA和PCI接口芯片對圖像數(shù)據(jù)進(jìn)行接收和緩沖,工控機軟件通過調(diào)用PCI SDK提供的API函數(shù)實現(xiàn)對PCI接口芯片的初始化、控制和數(shù)據(jù)傳輸?shù)炔僮?,從而將圖像數(shù)據(jù)按照預(yù)定的格式連續(xù)地寫入物理上連續(xù)的硬盤存儲空間,最終實現(xiàn)數(shù)據(jù)記錄、回放和分析等功能;該方案已經(jīng)成功應(yīng)用于某型紅外圖像記錄設(shè)備并經(jīng)過長時間測試,記錄時間、漏記率等指標(biāo)和回放等功能均滿足研制要求。
紅外圖像;高速數(shù)據(jù)記錄;PCI總線
當(dāng)前,紅外成像技術(shù)已在軍事、公安等領(lǐng)域取得廣泛應(yīng)用,需要完整、無損地記錄圖像信息以便于開展目標(biāo)特性分析和圖像處理算法驗證等工作[1]。紅外圖像具有低分辨率(一般為128×128,256×256、320×240和320×256等)、高幀頻(50 Hz、100 Hz或更高)的特點,通用圖像采集設(shè)備無法滿足要求,需要研制專用的圖像記錄設(shè)備以滿足科研要求。
1.1圖像數(shù)據(jù)速率分析
雙波段圖像按照尺寸128×128×2,每像素占用2字節(jié),幀頻100 Hz計算,傳輸速率為128×128×2×2×100=6.25 Mbyte/s。
單波段圖像,按照尺寸128×128,每像素占用2字節(jié),幀頻150 Hz計算,傳輸速率為128×128×2×150=4.687 5 Mbyte/s;按照尺寸320×256,每像素占用2字節(jié),幀頻50 Hz計算,傳輸速率為320×256×2×50= 7.812 5 Mbyte/s。
1.2總體方案設(shè)計
系統(tǒng)需要實時接收并存儲由圖像設(shè)備產(chǎn)生的數(shù)據(jù),能夠現(xiàn)場觀測和事后回放,為圖像分析提供技術(shù)支持。
實際應(yīng)用中,紅外圖像的傳輸距離要求一般在十幾米到幾十米的范圍,必須選擇合適的傳輸接口。目前數(shù)據(jù)傳輸常用接口[2]為:RS422,最為成熟,具有較好的通用性,滿足傳輸距離的要求,但傳輸速率受限;USB、IEEE1394和LVDS接口的傳輸速率可以滿足要求,連接簡單,但是傳輸距離無法滿足要求。HOTLinkⅡ接口也是一種串行的差分傳輸技術(shù),距離和速度都可以滿足要求,同時底層的傳輸協(xié)議已集成到芯片內(nèi)部,設(shè)計簡單[3]。因此,系統(tǒng)選擇HOTLinkⅡ作為數(shù)據(jù)傳輸途徑。
對于PCI總線和硬盤而言,要求數(shù)據(jù)傳輸速率和記錄速率高于7.812 5 Mbyte/s,采用緩沖區(qū)的記錄設(shè)備可以滿足記錄速率要求。
系統(tǒng)主要組成如圖1所示。
圖1 系統(tǒng)功能模塊框圖
圖像輸入與信息緩存模塊完成圖像的接收和緩沖。高速串行數(shù)據(jù)通過HotlinkⅡ接口傳輸?shù)浇邮漳K,首先進(jìn)行雙字節(jié)拼接,然后按照時序?qū)懭雸D像緩沖區(qū)。圖像緩沖區(qū)為雙端口雙緩沖區(qū),已經(jīng)寫滿的緩沖區(qū)在PCI總線端口按照時序讀出,通過PCI總線傳輸給工控機。系統(tǒng)控制軟件提供圖像記錄操作指令、記錄設(shè)備和通道的選擇、圖像模式選擇、設(shè)備控制和人工界面等功能。
2.1HotlinkⅡ鏈路設(shè)計
HOTLink是Cypress公司提出的點對點串行通信協(xié)議,并有底層物理器件支持,可使用同軸線和光纖等進(jìn)行傳輸[4-5]。芯片自帶編/解碼、時鐘恢復(fù)和串并轉(zhuǎn)換功能,能將收到的串行數(shù)據(jù)以8位字節(jié)并行輸出并同時輸出接收時鐘。根據(jù)傳輸距離不同可以選擇不同的傳輸介質(zhì),短距離(幾十米)時采用同軸線,遠(yuǎn)距離時可以采用光纖傳輸,傳輸速度為195~1 540 Mbps。
本系統(tǒng)是點對點的通信方式,所以采用CYP15G0101DXB芯片,它集收發(fā)于一體,單通道,驅(qū)動電壓為3.3 V,連接方式如圖2所示。
圖2 HotlinkII連接方式
圖3 接收鏈路邏輯框圖
系統(tǒng)主要接收來自圖像設(shè)備的數(shù)據(jù)信息,只使用接收通道。芯片接收鏈路的主要功能模塊包括信號檢測器、時鐘/數(shù)據(jù)恢復(fù)器、數(shù)據(jù)重建器、BIST解碼器、接收緩沖器和輸出寄存器等,邏輯如圖3所示。接收器有兩路差分PECL信號( IN1±,IN2±) 輸入,可由INSEL選其一;時鐘/數(shù)據(jù)恢復(fù)器是由內(nèi)部鎖相環(huán)來保持與接收到的位流(bit stream) 頻率一致,并從接收到的串行數(shù)據(jù)流中恢復(fù)數(shù)據(jù);數(shù)據(jù)重建器用來在接收到的位流中檢測同步碼( K28.5等);BIST解碼器對接收到的發(fā)送特征碼進(jìn)行解碼并填充到數(shù)據(jù)中,將接收到的特征碼同產(chǎn)生的BIST模式進(jìn)行比較已允許高速鏈路進(jìn)行測試,在解碼后的字符上疊加奇校驗;接收緩沖器的深度為10位,用來支持倍頻時鐘模式。
紅外圖像設(shè)備的發(fā)送端,傳輸速率設(shè)計為200 MBaud,模擬輸出為PECL差分輸出,REFCLK為20 MHz,具體配置情況見表1。
表1 發(fā)送端工作模式設(shè)置
設(shè)備作為圖像數(shù)據(jù)的接收端,HOTLINK電路的配置必須與紅外圖像設(shè)備發(fā)送端的配置相匹配,配置情況見表2,數(shù)據(jù)讀入的時序見圖4。
表2 接收端工作模式設(shè)置
為了抑制共模干擾,數(shù)據(jù)信號在進(jìn)入芯片的接收端之前,需要使用變壓器進(jìn)行隔離,選用PULSE公司的T-1485SCT。
2.2圖像數(shù)據(jù)緩沖模塊設(shè)計
圖像數(shù)據(jù)緩沖模塊硬件結(jié)構(gòu)如圖5所示,由數(shù)字處理部分和數(shù)字存儲部分組成:FPGA完成時序控制信號的生成、數(shù)據(jù)格式的轉(zhuǎn)換、和緩存數(shù)據(jù)的寫入;雙口RAM完成圖像數(shù)據(jù)的緩存;PCI接口芯片完成與計算機PCI總線的數(shù)據(jù)交換[6]。
圖4 數(shù)據(jù)讀入時序圖
圖5 圖像數(shù)據(jù)緩存模塊結(jié)構(gòu)框圖
傳輸模塊以16位的形式將數(shù)據(jù)從前端模塊傳輸?shù)紽PGA,考慮到PCI總線傳輸寬度為32位,為了充分利用PCI總線寬度,將兩塊雙口RAM并接,使緩存與接口芯片之間以32位進(jìn)行數(shù)據(jù)傳輸,緩存結(jié)果如圖6所示。
圖6 緩存結(jié)果示意圖
兩個緩存共用與接口芯片相連接的16位地址線,雙口RAM1的數(shù)據(jù)線接PCI總線的前16位數(shù)據(jù)線,雙口RAM2的數(shù)據(jù)線接PCI 總線的后16位數(shù)據(jù)線。通過上述連接,每次接口芯片可以同時從兩塊緩存的相同位置讀取數(shù)據(jù)。
PCI接口芯片選用PLX9056,屬于32-bit,66 MHz的PCI總線控制芯片,其局部總線和PCI總線數(shù)據(jù)傳輸速率最高可以達(dá)到264 MBps[7]。
PLX9056芯片的信號[8]包括:時鐘CLK33M、中斷INTA#、握手信號和32位地址數(shù)據(jù)總線。INTA#是雙向信號,主機CPU可以由此得到局部總線發(fā)送過來的中斷信號,也可以由此向局部總線發(fā)送中斷信號。
由于接收的數(shù)據(jù)量大、速率高,因此選擇DMA和中斷相結(jié)合的方法傳輸數(shù)據(jù),應(yīng)用程序控制PCI總線,發(fā)送命令和數(shù)據(jù),系統(tǒng)開始工作時,主機發(fā)送控制命令通知數(shù)據(jù)緩沖模塊開始工作。FPGA接收圖像數(shù)據(jù)并緩存到雙口RAM,F(xiàn)PGA通過檢測每個字節(jié)的最高位來判斷一幀圖像的開始并判斷一幀數(shù)據(jù)緩存完畢后,向PCI9056發(fā)送中斷,PCI9056將中斷送到總線上,應(yīng)用程序收到中斷后,通過DMA方式接收PCI9056送來的數(shù)據(jù)并做相應(yīng)的處理。
2.3軟件設(shè)計
軟件采用VC++進(jìn)行開發(fā),主要功能為:圖像數(shù)據(jù)及其相關(guān)信息用數(shù)據(jù)庫進(jìn)行管理,設(shè)置一定的管理方法和管理權(quán)限,實現(xiàn)默認(rèn)目錄存儲和用戶選擇目錄存儲兩種方式,存儲的圖像可連續(xù)回放和單幀回放,最低連續(xù)記錄時間為1小時。
軟件主要由以下模塊組成:winmain(系統(tǒng)主函數(shù))、SceneMainWinProc(窗口消息處理函數(shù))、MainBitmapDispProc(主窗口圖像顯示函數(shù))、SceneOutputControlDlgProc(接收設(shè)置對話框的處理函數(shù))、MainProcess(接收圖像進(jìn)程)、WritefileandToScreenProcess(圖像記錄進(jìn)程)、EndReceiverthread(結(jié)束圖像傳輸進(jìn)程)和DataDisposal_simple(接收緩存區(qū)圖像數(shù)據(jù)函數(shù)),軟件流程如圖7所示。
圖7 軟件流程圖
程序運行后,由主函數(shù)注冊屏幕背景圖象窗口和程序主窗口,建立主窗口,然后循環(huán)等待消息,將收到的消息進(jìn)行翻譯后轉(zhuǎn)換成對應(yīng)的命令發(fā)送到消息處理函數(shù)。窗口消息處理函數(shù)對主函數(shù)發(fā)送的命令進(jìn)行處理,主要包括3個方面:主窗口的初始化處理,主窗口的繪制、主窗口的消除和對窗口發(fā)送的命令如設(shè)備檢查、開始接收圖像和停止接收圖像的處理。主窗口圖像顯示程序申請顯示所需要的緩存空間,設(shè)置顯示參數(shù)。接收設(shè)置對話框用于由用戶設(shè)置接收的圖像參數(shù)和存儲位置,它由兩方面組成,一是該窗口的初始化,二是處理該窗口的命令,用戶根據(jù)需要完成接收圖像的設(shè)置。
2.3.1PCI程序設(shè)計
程序要對PCI9056進(jìn)行打開或復(fù)位、發(fā)出控制命令和完成數(shù)據(jù)傳輸?shù)炔僮鱗9-10],這是通過調(diào)用PCI SDK提供的API函數(shù)來實現(xiàn)的,主要用到的API函數(shù)為:PlxPciDeviceOpen、PlxPciBoardReset、PlxRegisterRead、PlxRegisterWrite、PlxDmaSglChannelOpen、PlxIntrAttach、PlxDmaSglTransfer。
1)設(shè)備打開和復(fù)位:PlxPciDeviceOpen用來打開一個PCI芯片,首先根據(jù)DEVICE_LOCATION參數(shù)提供的信息定位要操作的芯片,打開該芯片并返回一個句柄,該句柄用于以后調(diào)用的API。PlxPciBoardReset用來復(fù)位一個PCI芯片。
2)設(shè)備寄存器讀寫操作:PlxRegisterRead用于對某一偏移量的內(nèi)部寄存器進(jìn)行讀操作;PlxRegisterWrite用于對芯片中某一偏移量的內(nèi)部寄存器進(jìn)行寫操作。需要進(jìn)行讀、寫操作的內(nèi)部寄存器包括中斷控制/狀態(tài)寄存器(INTCSR),其PCI總線一側(cè)的地址偏移量為0x68,使用到的各位為:第8位(PCI Interrupt Enable),使能中斷;第11位(Local Interrupt Input Enable),使能本地中斷輸入,和中斷使能位關(guān)聯(lián)使用,將該位置1將使能本地中斷輸入并產(chǎn)生一個PCI中斷;第18位(Local DMA Channel 0 Interrupt Enable),本地DMA通道0中斷使能位,它和本地中斷使能關(guān)聯(lián)使用。
3)中斷和相應(yīng)事件注冊操作:PlxIntrAttach用于應(yīng)用程序需要等待一個特定的中斷發(fā)生時使用。該函數(shù)對所希望的中斷源和事件進(jìn)行注冊,當(dāng)中斷產(chǎn)生時,該函數(shù)將激活相應(yīng)的事件。
4)DMA通道操作:PlxDmaSglChannelOpen用于打開并初始化一個用于Scatter-Gather模式的DMA傳輸通道。函數(shù)的參數(shù)為設(shè)備句柄、要打開的DMA通道和DMA通道的相關(guān)設(shè)置,其中DMA通道的相關(guān)設(shè)置包括:EnableReadyInput,使能READY信號輸入;DmaStopTransferMode,DMA停止傳送模式;DmaChannelPriority,DMA通道的優(yōu)先級;IopBusWidth,DMA通道使用的總線寬度;EnableBTERMInput,允許BTERM信號輸入。
接收圖像時,通過PlxPciDeviceOpen函數(shù)打開PCI9056;然后調(diào)用PlxDmaSglChannelOpen函數(shù)設(shè)定需要使用的DMA通道的參數(shù)并打開該通道;調(diào)用PlxIntrAttach注冊中斷源和相應(yīng)的事件;最后循環(huán)調(diào)用WaitForSingleObject函數(shù)等待在PlxIntrAttach中注冊的事件,根據(jù)該函數(shù)的返回值來判斷中斷是否產(chǎn)生,如果返回值為WAIT_OBJECT_0,表示所等待的中斷已經(jīng)產(chǎn)生,開始接收圖像數(shù)據(jù)。
2.3.2圖像記錄程序
圖像記錄程序首先生成一個文件名,然后調(diào)用WaitForSingleObject函數(shù),無限期的等待ScreenOutReadyTaskEvent事件被激活,該事件由接收圖像程序在完成將圖像數(shù)據(jù)通過DMA傳送到緩沖區(qū)后激活;調(diào)用ResetEvent函數(shù)重置ScreenOutReadyTaskEvent事件;將接收到的數(shù)據(jù)按照順序存儲在文件之中。
常用操作系統(tǒng)以文件的方式存儲數(shù)據(jù),存儲前并不知道文件的確切長度,只能動態(tài)分配空間,需要耗費一定的時間,而且可能導(dǎo)致數(shù)據(jù)的物理存儲空間不連續(xù),磁頭需要反復(fù)尋道,從而降低存儲速度。在該系統(tǒng)中,數(shù)據(jù)流是連續(xù)、實時的。如果仍然采用文件存儲方式,為了不丟失數(shù)據(jù),將需要很大的緩存器,記錄速度也會降低。因此,系統(tǒng)采用記錄方式來管理數(shù)據(jù),即指定硬盤的前64個扇區(qū)為目錄區(qū)。每次采集使用目錄區(qū)里的一條記錄來標(biāo)識,記錄的長度為64個字節(jié)。每條記錄的采集號為盤上已有的記錄數(shù);起始扇區(qū)為未記錄區(qū)的起始扇區(qū),采集號從1開始,數(shù)據(jù)記錄區(qū)從100扇區(qū)開始。
采用記錄方式存儲數(shù)據(jù)后,操作系統(tǒng)不能正常訪問該硬盤,需要編寫相應(yīng)的系統(tǒng)管理程序來完成諸如添加記錄、刪除記錄、顯示記錄、初始化硬盤等功能。添加記錄時,根據(jù)用戶的請求為新的記錄一次性分配記錄空間并填寫目錄區(qū),然后啟動采集過程。采集過程中,系統(tǒng)通過調(diào)用相應(yīng)的數(shù)據(jù)存貯程序,將數(shù)據(jù)連續(xù)不斷地寫到物理上連續(xù)的存儲空間上。
本文設(shè)計的紅外圖像數(shù)據(jù)遠(yuǎn)程傳輸和記錄系統(tǒng)通過了各種的測試。
3.1數(shù)據(jù)記錄測試
紅外圖像設(shè)備可能生成的圖像數(shù)據(jù)格式包括:雙波段圖像,128×128×2,100 Hz;單波段圖像,128×128、150 Hz,256×256、50 Hz,320×240、50 Hz,320×256、50 Hz。
針對以上每種格式進(jìn)行測試,同軸電纜長度為20 m,記錄時間為1小時。為了便于分析漏記率,紅外成像系統(tǒng)端每幀發(fā)送的數(shù)據(jù)為累加數(shù),例如320×256的圖像格式,發(fā)送的數(shù)據(jù)為0~16383~0~16383~0~16383~0~16383~0~16383。完成記錄后,從記錄的文件中讀取相應(yīng)的數(shù)據(jù)并進(jìn)行判斷,結(jié)果表明數(shù)據(jù)漏記率小于10-4,滿足使用要求。
3.2圖像回放測試
設(shè)備能夠?qū)τ涗浀膱D像數(shù)據(jù)按照要求進(jìn)行順序播放或者單幀回放,并按照要求顯示原始的圖像或者經(jīng)過圖像灰度拉伸算法處理后的數(shù)據(jù)已便于觀測,如圖8所示。
圖8 圖像回放功能測試
本系統(tǒng)是針對各種格式的紅外圖像而專門設(shè)計的數(shù)據(jù)采集系統(tǒng),是對該類圖像進(jìn)行分析和研究的重要基礎(chǔ)設(shè)備。目前系統(tǒng)已經(jīng)研制成功并投入使用了一定時間,操作簡單,功能豐富,工作穩(wěn)定可靠,達(dá)到了設(shè)計目的。
[1] 郭旭敏,李艷寧,等.紅外成像導(dǎo)引頭信號調(diào)理卡的設(shè)計[J]. 計算機工程與應(yīng)用,2012,31(7):80-83.
[2] 毛偉, 隋修寶, 陳錢,等.基于FPGA和ARM的紅外圖像實時顯示和采集方法[J].激光與紅外,2013,43(11):1223-1228.
[3] 王瑞,張彥軍,孔陳杰.高速信號的長線傳輸[J]. 儀表技術(shù)與傳感器,2010,6:51-53.
[4] 向冰. 高速圖像串行總線傳輸[J].現(xiàn)代電子技術(shù), 2006,24: 97-98.
[5] 閆景富,李淑秋,張震.HOTLINK串行信號的一種長線傳輸電路設(shè)計[J].微計算機信息, 2007, 23 (8):273-275.
[6] 劉瑋,崔永俊. 基于PCI和RS-422的隔離多路信號源與上位機通信的設(shè)計與實現(xiàn)[J].計算機測量與控制,2015,23(2):614-616.
[7] 許永輝,孫闖,李世斌.基于PCI總線的圖像目標(biāo)模擬器設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù), 2014,37(24):105-107.
[8] 張曉愚.基于CPCI總線的雷達(dá)數(shù)據(jù)采集與控制系統(tǒng)顯控軟件設(shè)計[J].計算機測量與控制, 2015,23(5):1802-1805.
[9] 楊紅兵,佘明洪,張宇,等.基于PCI總線的矩陣電路在壓變溫壓補償系統(tǒng)中的實現(xiàn)與應(yīng)用[J].計算機測量與控制, 2015,23(7):2570-2573.
[10] 鄭云飛,張登福,王占領(lǐng).基于PCI的ARINC429總線測試軟件設(shè)計[J].計算機測量與控制,2014,22(10):3442-3444.
Infrared Image High-speed and Real-time Recording System Design
Wang Mingchang1,Xu Zipeng2
(1.China Airborne Missile Academy, Luoyang471009, China; 2.Zhengzhou Military Representative Office of Rocket Force, Zhengzhou450000, China)
Infrared image has the characteristics of low resolution and high frame rate. Target infrared features analysis and image processing algorithms need to lossless image data recording. To achieve these requirements, a design approach for the high-speed digital image transmission and recording system is presented. The approach adopts an overall structure of HOTLinkⅡ+ FPGA + PCI. Data is transferred from the infrared image device to the CYP15G0101 chip of the recording device through coaxial cable and a reliable point-to-point remote transmission is achieved. FPGA and PCI interface chip are used to realize data receiving and buffering. Software achieves facilities such as initialization, control and data transmission of the PCI chip by calling SDK API functions. Image data is continuously written into the hard disk, according to the predetermined format. Finally, functions such as data recording, playback and analysis are realized. The approach has been successfully applied to an infrared image recording device. After a long time test, recording time, omission rate and playback functions all meet the design requirements.
Infrared image; high-speed data recording; PCI
1671-4598(2016)04-0268-04DOI:10.16526/j.cnki.11-4762/tp.2016.04.077
TN919.3
A
2016-01-22;
2016-02-23。
王明昌(1977-),男,河南洛陽人,碩士,高級工程師,主要從事紅外成像技術(shù)方向的研究。
徐子鵬(1984-),男,河北保定人,碩士,工程師,主要從事信息處理技術(shù)方向的研究。