?

一種高速數字視頻信號記錄裝置關鍵技術研究

2015-12-08 03:29曹翱翔張會新劉文怡丑修建
電子技術應用 2015年4期
關鍵詞:中北大學記錄器視頻信號

曹翱翔,張會新,劉文怡,丑修建

(1.中北大學電子測試技術國家重點實驗室,山西 太原030051;2.中北大學儀器科學與動態測試教育部重點實驗室,山西 太原030051)

一種高速數字視頻信號記錄裝置關鍵技術研究

曹翱翔1,2,張會新1,2,劉文怡1,2,丑修建1,2

(1.中北大學電子測試技術國家重點實驗室,山西 太原030051;2.中北大學儀器科學與動態測試教育部重點實驗室,山西 太原030051)

針對數字視頻信號傳輸速度快、數據量龐大的特點,結合航天遙測系統對儀器設備可靠性和穩定性的實際要求,設計了一種專用的數據記錄裝置。從圖像完整采集、高速數據存儲和圖像準確回傳三個方面介紹了程序編碼算法,使用異步FIFO解決了模塊間跨時鐘域的問題,選擇Flash交叉雙平面的工作方式并提出一種“無效塊動態管理算法”以保障高速存儲,最后使用檢測設備現場模擬系統前端攝像機和終端計算機,驗證了程序編碼算法的有效性。

高速數字視頻信號;圖像采集;數據存儲;Flash

0 引言

應用于航天遙測中的視頻攝像技術可以真實地還原航天器的飛行狀態、動作和現場環境等多項關鍵指標。航天器的飛行試驗要求圖像具有較高的空間分辨率和時間分辨率,才不致丟失重要細節,通常使用高速攝像機作為采集系統前端。在該領域,現場的場景必須完整、真實地還原出來,而航天器有時可能不在地面監測范圍之內,一些在軌試驗數據只能先存入記錄器中,進入監測范圍內再將數據回傳。記錄裝置的容量、帶寬以及其可靠性和穩定性等因素都將影響數據能否準確保存,并關系到整個試驗的成敗[1]。

數據存儲技術的進步主要體現在存儲介質的發展和各種通信總線的應用上。存儲介質從磁帶到硬盤再到半導體器件,逐漸向微小型化、低功耗、高集成度和密集化發展,而半導體存儲器件已廣泛應用于航天遙測領域。隨著1553B、光纖接口、以太網接口等高速總線的應用,存儲帶寬也得以提高。LVDS接口憑借其低噪聲、低功耗和極高的傳輸效率等特點在測試計量、圖像處理方面發揮重要作用。本文旨在設計一種高可靠性的數據記錄器以實現對高速數字視頻信號的采集、存儲和回傳。

1 設計思路

結合當前數據記錄器的研究現狀和發展趨勢,采用FPGA作為數據記錄裝置的中控邏輯單元,用Flash作為核心存儲芯片,使用LVDS作為數據傳輸接口,特點是

功耗低、可控性高,并且數據不易丟失。設計時,采用自上而下的設計思想,分成多個模塊進行編碼和調試。

已知數字視頻信號參數:畫面分辨率為 VGA(640× 480),幀率100 f/s,采樣位數為8 bit,采樣頻率為40 MHz。經計算得出接口處的數據流為30.72 Mb/s。應用于航天遙測的精密儀器對設備出現誤碼、數據丟失等情況有嚴格的限制,其可靠性和穩定性應得到保證。確保設備研制成功的關鍵技術有三:一是數字視頻信號的完整采集,二是選擇合理的Flash工作方式并嚴格控制其時序約束,三是準確高效地回傳混有幀標記的圖像。

2 關鍵技術

2.1 圖像采集

攝像機輸出的數字視頻信號的時序如圖1所示。垂直同步信號vsync是實現圖像幀同步的標志,當vsync為1時,攝像頭有數據輸出,vsync上升沿是獲取一幀數據的初始時刻;當 vsync為 0時,無數據輸出,可以利用這段時間在一幀圖像采集完成后加入其他信息,如時標、幀計數和幀標記等。水平同步信號 hsync的上升沿為采集每一行的初始時刻,當hsync為 1時,完成此行640個像素點的采集。重復操作480次,即可獲取一幀完整的圖像。數據采集流程如圖2所示。

圖1 數字視頻信號時序

圖2 數據采集流程

在高速數據處理過程中,不同模塊在各自的同步時鐘下工作,為解決跨時鐘域問題,要在數據交換接口處添加異步FIFO,以匹配不同傳輸速率的數據流。由圖1可知,在一個水平同步周期(18.75 μs)內,采集并寫入FIFO的數據量為640字節,若以33 MHz的速率讀FIFO,則在這一時間內,流出 FIFO的數據量為 618.75字節。數據差值將在Vsync下降沿時達到最大,為10 200字節,若采用半滿即讀的方式,則FIFO容量應大于20 400字節,否則就可能溢出。攝像機在時鐘上升沿發數,記錄器用時鐘下降沿取數。存到記錄器中的數據是圖像和信息的組合,為了區分兩種類型的數據,采用9位的FIFO緩存數據,低 8位用以寫入數據流,最高位(MSB)用來標識數據類型。部分代碼如下:

2.2 數據存儲

Nand Flash有多種編程方式,如頁編程(Page Program)、雙平面頁編程(Two-plane Page Program)和交叉雙平面頁編程(Interleave Two-plane Page Program),如圖3所示。這三種工作方式最終導致 Flash寫入數據的速度不同[2]。

圖3 三種編程操作方式

由表1可以看出,影響Flash編程時間的主要因素為 tPRO。前兩種方式都花費了大量的時間用在 tPRO上,tPRO會隨著工作電壓和溫度的不同而變化。寫完一整頁需要i個命令字周期、j個尋址周期和m個數據周期。

表1 編程時間參數特性

在三種工作方式下,若不考慮其他影響因素,Flash的持續寫入速率計算如下:

事實上,在出廠時芯片就存在無效塊,而且在使用過程中還會產生新的無效塊。無效塊的存在一定程度上影響了 Flash的寫入速度,按照“判一塊寫一塊”的方法顯然是行不通的。為此,本文采用一種“無效塊動態管理算法”,即:在執行寫操作前對無效塊進行檢測,在RAM中建立無效塊地址列表;寫入數據時,將當前塊地址與

列表中的無效塊地址按順序對比判斷;若一致,則認為當前塊無效,繼續判斷下一塊;否則,認為當前塊有效,可以進行寫操作[3]。讀取 RAM無效塊列表的時間與無效塊檢測的時間相比微乎其微,在理論上和實際應用中都得到了驗證。

Flash的編程編碼算法本身并不復雜,但如果不對其做任何處理,一旦數據產生誤碼或丟失,在圖像回傳時,可能導致后續圖像紊亂影響全局。因此,有必要對Flash存儲空間進行特殊配置,以空間地址來記錄幀結構。Flash每個Device存儲空間結構如圖4所示,用A13~A31指定頁地址,總共524 288頁,2個Device共1 048 576頁[4]。一幀圖像數據為307 200字節,占用 75頁,若按試驗要求,飛行器每次工作記錄的5 000幀圖像數據僅占用了全空間的36%,有足夠的空間來配置地址,甚至完成地址的選擇和跳躍??臻g地址配置方式如圖5所示:白、灰兩色背景分別表示一幀數據,圖像數據累計寫滿75頁,緊跟在第76頁寫入信息,這樣就完整地記錄了一幀數據,其中,代表信息的一頁用黑色加粗邊框標出。采用交叉雙平面頁編程的工作模式,寫入順序如黑色箭頭方向所示。Flash每一行有8個塊,每塊有64頁,共512頁,每行可以完整寫入6幀數據,然后跳過56頁進入下一行繼續按照以上方法寫數[5]。以此類推,每連續 6個數據幀就有了統一的存儲結構,便于對圖像的恢復。這樣做的另一個優點是可以實現數據的檢錯和糾錯:數據從FIFO中流出被寫入Flash時,假若最高位為 0,而計數器并非76,說明傳輸時有數據丟失,則在寫完信息數據后,直接跳到指定位置寫下一幀,將錯誤限制在一幀內,而不影響后序數據幀[6]。

圖4 Flash存儲結構示意圖

2.3 圖像回傳

圖像回傳的本質就是按照圖1的時序將 Flash存儲的圖像數據通過LVDS接口發出。由于每幀數據的附帶信息并非回傳所需,因此可以將第76頁直接跳過;但這樣做的缺點是回傳讀數和普通讀數要被分為兩個不同的進程,增加了程序占用的資源。因此,可以合并這兩個進程,由后續模塊提取圖像數據[7]。這個過程將包括兩部分:一是按照圖5所示黑色箭頭方向讀取數據并寫入FIFO低8位,同時根據存儲空間地址判斷數據是圖像還是信息,用FIFO的最高位加以區分。二是FIFO非空即讀,若為圖像則合理產生vsync、hsync和clk信號,并在clk上升沿時推送數據;否則將vsync、hsync和clk信號全部置為低電平,且不把數據推送至LVDS接口處。過程一相對比較簡單,這里不再敘述;過程二的工作流程如圖6所示。

圖5 幀結構與空間地址的映射關系

3 系統驗證

為了驗證本文設計的記錄器的整體性能和可靠性,

專門設計了一套檢測設備,包括硬件平臺和測試軟件。該設備的主要功能有:(1)模擬前端攝像機,輸出垂直同步信號、水平同步信號、時鐘信號和8位位寬的數據流;(2)接收記錄器回傳的圖像;(3)測試軟件可以直接讀取記錄器中的完整數據(稱為“長線讀數”),也可以讀取回傳至測試設備中的圖像數據(稱為“備用讀數”);(4)判定幀結構是否完整,檢測數據是否正確;(5)顯示圖像。

圖6 圖像回傳主要工作流程

由于一幀圖像數據有300 KB,若采用遞增模式的信號源,模擬攝像機輸出的數據格式為:1 200個“00h~FFh”+8字節的附加信息(“14 92”+幀計數+時標+狀態信息)。

計算機軟件執行“長線讀數”或“備用讀數”命令后,將在線讀取完整數據或圖像數據,存入一個后綴名為.dat的文件,經多次考查,記錄裝置存儲的數據與檢測設備發送的數字量一致,符合設計要求。

4 結束語

本文主要介紹一種高速數字視頻信號記錄裝置,從程序編碼方面入手,選擇了穩健、高效能的算法,重點介紹了圖像采集、存儲和回傳三項關鍵技術,并設計了一套專用的檢測平臺。經單機測試,設備穩定性良好、功能齊備、滿足任務要求。由于采用的Flash芯片所限,本文所提出的編碼算法僅適用于碼率在40 Mb/s以下的數據存儲。

[1]洪應平.高速圖像數據固態存儲器的研制[D].太原:中北大學,2011.

[2]謝民.NAND型Flash在大容量存儲回放系統中的應用[J].集成電路應用,2006,3(4):94~98.

[3]SAMSUNG Electronics.K9WBGU1M Flash Memory:10-13.

[4]孟令軍,嚴帥,龔敬,等.基于 FPGA的高速圖像采集存儲系統設計[J].自動化與儀表,2011,9(26):40-42.

[5]常璐.基于 NAND Flash陣列的數據存儲技術研究[D].太原:中北大學,2011.

[6]齊亞軍,趙鳳軍.一種專用高速數據記錄器的設計與實現[J].微計算機信息,2007,23(1):107-109.

[7]王小艷,張會新,孫永生.Camera Link協議和 FPGA的數字圖像信號源設計[J].國外電子元器件,2008(7):59-61.

Key technology research of a high-speed digital video signal recorder

Cao Aoxiang1,2,Zhang Huixin1,2,Liu Wenyi1,2,Chou Xiujian1,2
(1.Key Laboratory of Instrumentation Science&Dynamic Measurement,Ministry of Education, North University of China,Taiyuan 030051,China;2.Education Science and Technology on Electronic Test&Measurement Laboratory,Taiyuan 030051,China)

For the image data,whose characteristics is high-speed and huge amount,combined with the actual requirements of Aerospace telemetry system on reliability and stability of the equipment,a dedicated image data recorder is designed.Focusing on three aspects,including image acquisition,storage and restoration,the paper presents several kinds of program coding algorithms. Use asynchronous FIFO to solve inter-module clock crossing issues,select the interleave two-plane work of Flash and propose a" dynamic management algorithm of invalid block"to ensure high-speed storage.After verification of the test equipment,the recorder runs stable and reliable,and has a degree of practicality.

high-speed image data;image acquisition;data recorder;Flash

TP274

A

0258-7998(2015)04-0087-04

10.16157/j.issn.0258-7998.2015.04.020

2014-11-28)

曹翱翔(1989-),男,碩士研究生,主要研究方向:總線技術及自動檢測儀器。

猜你喜歡
中北大學記錄器視頻信號
檸檬酸輔助可控制備花狀銀粒子及其表面增強拉曼散射性能
中北大學信創產業學院入選首批現代產業學院
《中北大學學報(自然科學版)》征稿簡則
有機相化學鍍鋁法制備Al/石墨烯復合材料粉末
淺析新一代視頻信號ICtCp
短距視頻信號無線通信網絡
汽車事故數據記錄器數據規范及應用進展綜述
列車車廂視頻記錄器的應用
基于彈載圖像記錄器的壓縮系統設計
小飛鴿ZY—2250D數字機無視頻輸出故障的應急處理
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合