• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于冗余存儲的車載數(shù)據(jù)記錄儀設計

      2022-03-15 13:45:52李成瀟王康誼
      電子設計工程 2022年5期
      關鍵詞:記錄儀固態(tài)硬盤

      李成瀟,王康誼

      (中北大學信息與通信工程學院,山西太原 030051)

      隨著現(xiàn)代戰(zhàn)爭朝著信息化方向的快速發(fā)展,越來越多的武器型號都采用了電子信息化的設計方案,各個設備之間通過現(xiàn)場總線進行連接,形成一個完整的軍事裝備信息系統(tǒng)[1]。電子信息化使得軍事裝備的性能大大提高,同時也增加了信息數(shù)據(jù)的數(shù)量和種類,使得數(shù)據(jù)記錄的難度大大提高[2]?,F(xiàn)有的記錄儀可以記錄車載系統(tǒng)中現(xiàn)場總線的數(shù)據(jù)信息[3],但不能記錄發(fā)射車導彈發(fā)射過程中的各種視頻數(shù)據(jù)[4],且現(xiàn)有的記錄儀在惡劣環(huán)境中存儲的數(shù)據(jù)出現(xiàn)過丟失情況,導致記錄的數(shù)據(jù)不完整,大大影響后期實驗過程中對車載系統(tǒng)中故障的排查與定位[5]。

      該文車載數(shù)據(jù)記錄儀正是基于上述背景研究設計的,不僅可以記錄射手操作終端、導彈彈頭回傳的視頻數(shù)據(jù),還通過雙盤冗余設計保證記錄儀在惡劣環(huán)境下對數(shù)據(jù)的可靠性存儲,同時存儲的視頻數(shù)據(jù)可以在發(fā)射車的操作終端中回放,實時分析導彈的飛行軌跡、射手的操作過程,對還原導彈發(fā)射過程、定位故障查找原因起到了關鍵作用。

      1 總體設計

      如圖1 所示,根據(jù)車載記錄儀的實際需求對其進行總體設計。其中視頻輸入為一路導彈攝像頭回傳的PAL 視頻信號和兩路發(fā)射車射手操作終端的VGA 視頻信號。數(shù)據(jù)記錄儀由硬件和軟件兩部分組成,硬件部分與車載端機相連接,并在車載端機供電的情況上設計了掉電保護電路,可在突然斷電的情況下保證記錄儀正常運行15 s 左右,使記錄的數(shù)據(jù)得到完整保存;記錄儀軟件部分完成對輸入視頻數(shù)據(jù)的時標疊加、壓縮編碼、格式封裝等視頻處理過程[6]。視頻數(shù)據(jù)經(jīng)處理之后存入固態(tài)硬盤,并且固態(tài)硬盤中的視頻數(shù)據(jù)可以根據(jù)操作人員的需求進行導出、回放等操作,實時還原發(fā)射車的工作流程。

      圖1 總體設計圖

      2 硬件設計

      該文車載數(shù)據(jù)記錄儀的硬件原理如圖2 所示。掉電保護單元由掉電檢測電路和超級電容組成,檢測系統(tǒng)電源電壓,電源正常時監(jiān)測信號為高電平,當系統(tǒng)掉電時,電壓下降,監(jiān)測信號立即變?yōu)榈碗娖?,超級電容電路開始為系統(tǒng)提供短暫工作電源[7],保護記錄儀產(chǎn)生的文件不受損壞。視頻采集單元由兩路VGA 輸入、一路PAL 輸入和視頻采集芯片ADV7441組成,完成視頻輸入和視頻格式的轉化[8]。視頻處理單元主要由TMS320DM8168 芯片和NAND FLASH組成[9],TMS320DM8168 芯片是一款多通道高清視頻處理芯片,編解碼效率高,視頻處理速度快。它集成了4 個物理核:Cortex-A8、VPSS-M3、Video-M3 和DSP 核[10],4 個核上運行不同的操作系統(tǒng),各個核作用不同、分工明確,共同完成對視頻數(shù)據(jù)的處理。NAND FLASH 擁有斷電保護機制,與記錄儀的可靠性要求相符合,并且其性能優(yōu)秀,可以快速完成對信息讀寫,因此用來存放記錄儀的SQLite 數(shù)據(jù)庫[11],完成對硬盤數(shù)據(jù)文件的管理。數(shù)據(jù)存儲單元由兩塊固態(tài)硬盤構成,對視頻數(shù)據(jù)進行冗余存儲,并由數(shù)據(jù)庫實現(xiàn)兩盤數(shù)據(jù)同步,增加數(shù)據(jù)存儲可靠性。

      圖2 硬件原理圖

      3 軟件設計

      3.1 McFW軟件框架

      文中車載數(shù)據(jù)記錄儀的軟件設計基于DM8168的McFW 軟件框架[12]。McFW 軟件框架將DM8168中四個物理核的功能封裝成不同的Links 提供給設計者,設計者可以根據(jù)這些Links 接口,自定義一條Link 數(shù)據(jù)鏈路去實現(xiàn)自己的設計需求,而不需要理解DM8168 的底層是如何實現(xiàn)的,這給軟件端的設計帶來了極大的便利。

      不同的Links 之間可能處于不同的物理核中,比如一條處理視頻的自定義數(shù)據(jù)鏈路所包含的Links可能同時存在于4 個物理核中,這就需要采取有效快速的通信方式減少數(shù)據(jù)在核間傳遞的時間。DM8168 主要采用Syslink、IPC 兩種方式來實現(xiàn)各物理核間的通信,提高數(shù)據(jù)傳遞效率。

      Syslink 實現(xiàn)的通信協(xié)議包括Notify、MessageQ、SharedRegion 以及ListMP 等[13],多種通信方式可以保證Links 在DM8168 4 個核間進行高效的數(shù)據(jù)傳輸,其中最重要的是Notify 和ListMP 協(xié)議。Notify 將硬件中斷注冊成邏輯信號,并迅速發(fā)送帶32 bit 信息的事件通知給其他物理核,其他物理核中通過信號響應函數(shù)完成對信號的處理,Notify 由Host-A8 核管理,有效提高了Host-A8 對于其他3 個物理核的調度能力。ListMP 負責管理共享內存區(qū),使數(shù)據(jù)流的存儲傳輸過程中,不同核物理核處理數(shù)據(jù)時可以訪問同一塊內存空間,使整個數(shù)據(jù)處理效率提高兩倍以上。

      IPC 通信方式使用了管道(pipe)和內存映射(mmap)的方式[14]。pipe 管道是“半雙工”的,即是單向的,采用先進先出的原則將復雜的處理流程分解成獨立的子任務,從而快速完成每個子任務,主要用于DSP 核和VPSS-M3 核、Video-M3 核之間任務處理通信。此外,Video-M3 核與視頻協(xié)處理器HDVICP2之間的通信也采用管道的方式;內存映射機制通過將共享資源映射到內存中來減少對共享資源的拷貝,使得物理核對數(shù)據(jù)處理過程中可能發(fā)生的兩次拷貝降低為一次,有效降低了數(shù)據(jù)拷貝時間。

      3.2 視頻記錄設計

      記錄儀上電后,創(chuàng)建視頻記錄線程,視頻數(shù)字化芯片ADV7441 芯片將輸入的VGA、PAL 視頻信號轉換成YUV 格式的視頻信號[15]。DM8168 芯片接收YUV 格式的視頻信號之后,通過用戶自定義的數(shù)據(jù)鏈路對視頻數(shù)據(jù)進行時標疊加、壓縮編碼、組幀等操作。當記錄儀收到視頻停止錄制的指令后,關閉視頻記錄的線程,保存視頻文件。

      DM8168 芯片中的視頻記錄自定義數(shù)據(jù)鏈路設計如下:

      1)VPSS-M3 核的Capture Link 捕獲YUV 格式視頻數(shù)據(jù)流并發(fā)送給DSP 核進行處理。

      2)DSP 核中的DSP_OSD Link 對YUV 格式的數(shù)據(jù)流進行時標疊加,并將時標疊加完成后的數(shù)據(jù)流又傳輸給VPSS-M3 核。

      3)VPSS-M3 核中OSP_DUP Link 將一路視頻流復制成兩路視頻流,將其中一路視頻流通過傳遞視頻數(shù)據(jù)流指針的方式,通過VGA 接口顯示在操作終端上,實現(xiàn)視頻的實時預覽。并將另一路視頻流傳輸給Video-M3 核。

      4)Video-M3 核中的Encode Link 對視頻流進行H.264 格式的視頻編碼,獲得H.264 格式的數(shù)據(jù)流,在完成視頻編碼后發(fā)送給Cortex-A8 核。

      5)Cortex-A8 核中的IPC_BITS_IN Link 接收編碼后的H.264流數(shù)據(jù),對H.264視頻流進行MP4格式的封裝,獲得MP4格式的視頻數(shù)據(jù),方便視頻數(shù)據(jù)的存儲。

      以上5 步完成了對視頻數(shù)據(jù)的記錄,數(shù)據(jù)鏈路如圖3 所示。

      圖3 視頻記錄數(shù)據(jù)鏈路

      3.3 冗余存儲設計

      記錄儀的冗余存儲設計由數(shù)據(jù)庫設計和硬盤管理設計兩部分組成。傳統(tǒng)單盤存儲的車載記錄儀將數(shù)據(jù)庫和視頻數(shù)據(jù)放在一個固態(tài)硬盤中,當數(shù)據(jù)庫和固態(tài)硬盤中任何一個發(fā)生故障時都會導致存儲數(shù)據(jù)的損壞。采用冗余存儲設計時,數(shù)據(jù)庫獨立存放在NAND FLASH 中,保證當任意一個硬盤出現(xiàn)損壞時,數(shù)據(jù)庫還能正常運行并能對另一個盤的文件數(shù)據(jù)進行操作。

      3.3.1 數(shù)據(jù)庫設計

      記錄儀上電后,NAND FLASH 中的SQLite 數(shù)據(jù)庫進行初始化,由視頻數(shù)據(jù)記錄過程可知,視頻數(shù)據(jù)是MP4 格式,數(shù)據(jù)庫根據(jù)MP4 文件參數(shù)制作數(shù)據(jù)參數(shù)表。MP4 文件參數(shù)如下:

      SQLite 數(shù)據(jù)庫制作的數(shù)據(jù)參數(shù)表如圖4 所示,數(shù)據(jù)庫用數(shù)據(jù)參數(shù)表完成對兩個固態(tài)硬盤中文件的管理。

      圖4 數(shù)據(jù)庫數(shù)據(jù)參數(shù)表

      3.3.2 硬盤管理設計

      記錄儀上電后進行自檢,檢查兩個固態(tài)硬盤sda、sdb 是否正常掛載。若兩個盤都掛載失敗時,自檢報錯誤,不能進行數(shù)據(jù)記錄。若只有一個盤掛載成功時,自檢報故障,但可進行數(shù)據(jù)記錄。

      記錄儀上電自檢成功、數(shù)據(jù)庫初始化完成后,數(shù)據(jù)庫開始管理固態(tài)硬盤中的文件,其步驟可總結如下:

      1)數(shù)據(jù)庫根據(jù)數(shù)據(jù)參數(shù)表逐項檢索兩個硬盤中的數(shù)據(jù),若有一個硬盤缺少文件,數(shù)據(jù)庫將從正常硬盤拷貝這個文件到缺少文件的硬盤完成數(shù)據(jù)同步。若有一個硬盤中數(shù)據(jù)全部丟失,記錄儀將格式化這個空盤,之后數(shù)據(jù)庫將正常硬盤中的數(shù)據(jù)全部拷貝至空盤完成數(shù)據(jù)同步;

      2)記錄儀收到開始視頻錄制指令,在緩存區(qū)創(chuàng)建新的文件夾,用database_insert 函數(shù)向數(shù)據(jù)庫插入一條記錄,同時數(shù)據(jù)庫用sata_write_video 函數(shù)將文件信息同時寫入兩個固態(tài)硬盤中,完成數(shù)據(jù)文件的寫入和冗余存儲。

      記錄儀對硬盤的管理流程如圖5 所示。

      圖5 硬盤管理流程

      3.4 視頻回放設計

      視頻回放需要先完成視頻的解碼,由視頻數(shù)據(jù)記錄過程可知,視頻數(shù)據(jù)是以MP4 的格式存儲在兩個固態(tài)硬盤中,而DM8168 芯片的Video-M3 核中的解碼器需要H.264 格式的數(shù)據(jù)流,因此需要先將固態(tài)硬盤中的視頻源進行MP4 文件解封裝[16],獲得H.264 格式的數(shù)據(jù)流,才能在DM8168 芯片中進行數(shù)據(jù)鏈路設計,實現(xiàn)視頻回放功能。

      3.4.1 MP4文件解封裝

      該設計選擇調用Linux中開源的庫函數(shù)MP4V2[17]對固態(tài)硬盤中的MP4 文件進行解封裝。MP4V2 庫函數(shù)獲取硬盤中MP4 文件的信息過程如下:首先用MP4Read()函數(shù)打開文件,并賦值給自定義的文件句柄m_handle。再通過這個文件句柄利用庫函數(shù)分別獲取視頻時長、采樣頻率和視頻軌道個數(shù)。具體函數(shù)如下:

      打開文件:m_handle=MP4Read(Video_file)

      視頻總長:MP4GetDuration(m_handle)

      采樣頻率:MP4GetTimeScale(m_handle)

      軌道數(shù):MP4GetNumberTracks(m_handle)

      打開文件之后,獲得軌道數(shù),車載記錄儀在錄制的視頻時只用一個視頻軌道,所以軌道數(shù)為1,再獲取視頻軌道的信息,視頻軌道中最重要的參數(shù)是序列參數(shù)集(SPS)、圖像參數(shù)集(PPS)、附加增強信息(SEI)[18],這3 個分別 是H.264 碼流前3 個NALU。有了這3 個信息就能拼接出一個H.264 數(shù)據(jù)頭,將數(shù)據(jù)頭放入數(shù)據(jù)包中就是一個完整的H.264 格式的數(shù)據(jù)流。

      3.4.2 視頻回放鏈路設計

      DM8168 芯片中的視頻回放自定義數(shù)據(jù)鏈路設計如下:

      1)Cortex-A8 核中運行Bitsstream_read Link 讀取Linux 網(wǎng)絡文件系統(tǒng)目錄/home/root/encoder/dm8168下的H.264 高清碼流文件,發(fā)送給Video-M3 核。

      2)Video-M3 核的DEC Link 上,將接收的H.264碼流解碼,解碼完成后,IPC_OUT Link 將獲得的視頻數(shù)據(jù)流發(fā)送給VPSS-M3 核。

      3)VPSS-M3 核的IPC_IN Link 接收H.264 碼流,并用DIS Link 完成視頻的顯示。

      以上3 步完成了對視頻數(shù)據(jù)的回放,數(shù)據(jù)鏈路如圖6 所示。

      圖6 視頻回放數(shù)據(jù)鏈路

      4 實驗結果

      根據(jù)記錄儀調試需求,設計了一個QT 操作界面。手動選擇記錄射手1 視頻,進行視頻記錄功能測試,視頻記錄完成后,選擇剛剛錄制的000006 編號的視頻進行視頻回放功能測試,如圖7 所示。實驗結果表明視頻記錄與回放功能正常。

      圖7 視頻回放界面

      用FTP 服務登錄記錄儀板卡,兩個固態(tài)硬盤分別為sda 和sdb,對比兩個固態(tài)硬盤中的文件信息,結果顯示兩個固態(tài)硬盤數(shù)據(jù)一致,冗余存儲功能正常。

      圖8 兩盤文件對比圖

      5 結束語

      該文設計的基于冗余存儲的車載數(shù)據(jù)記錄儀,采用自定義的數(shù)據(jù)鏈路完成視頻的記錄與實時回放,采用冗余存儲設計提高記錄儀數(shù)據(jù)存儲的可靠性[19-20]。該記錄儀在連續(xù)工作實驗與高低溫實驗中運行穩(wěn)定,記錄、回放與冗余存儲功能正常,并且該記錄儀已經(jīng)開始使用,對發(fā)射車整車實驗具有重要意義。

      猜你喜歡
      記錄儀固態(tài)硬盤
      固態(tài)Marx發(fā)生器均流技術研究
      Sn摻雜石榴石型Li7La3Zr2O12固態(tài)電解質的制備
      陶瓷學報(2021年1期)2021-04-13 01:33:40
      透明陶瓷在固態(tài)照明中的應用進展
      陶瓷學報(2021年1期)2021-04-13 01:32:54
      HiFi級4K硬盤播放機 億格瑞A15
      Egreat(億格瑞)A10二代 4K硬盤播放機
      做夢記錄儀
      基于GPS的便攜式汽車行駛記錄儀的研制
      汽車記錄儀保險絲搭接轉換裝置及其模具設計
      我區(qū)電視臺對硬盤播出系統(tǒng)的應用
      寬禁帶固態(tài)功放在導航衛(wèi)星中的應用
      姜堰市| 武山县| 锡林郭勒盟| 阜阳市| 潜江市| 获嘉县| 广州市| 雷州市| 皮山县| 岐山县| 合阳县| 陇西县| 福建省| 即墨市| 中牟县| 弋阳县| 惠安县| 黑河市| 库车县| 南雄市| 天门市| 枝江市| 富锦市| 米脂县| 淄博市| 霍山县| 拉萨市| 南靖县| 哈密市| 都昌县| 关岭| 上饶市| 泾阳县| 兴宁市| 临颍县| 吐鲁番市| 驻马店市| 黎城县| 盱眙县| 济阳县| 屏东市|