基于PCIe總線(xiàn)的航空視頻采集記錄系統的設計
PCIe橋接口的邏輯設計最重要的部分是為它的局部總線(xiàn)(Local bus)提供無(wú)縫的粘合邏輯,支持PCIe的單次訪(fǎng)問(wèn)和burst訪(fǎng)問(wèn)。其接口狀態(tài)機如下:


橋片的局部總線(xiàn)設計了50MHz的時(shí)鐘,對32-bit數據寬度,理論上可以達到200Mb/s的吞吐率。經(jīng)過(guò)應用軟件的實(shí)測,可以達到143Mb/s的速率,考慮到軟件的許多開(kāi)銷(xiāo),這個(gè)速率已經(jīng)比較理想了。
5 系統的軟件設計
系統的軟件設計平臺采用WindowsXP Embedded,軟件分為針對本硬件系統的驅動(dòng)程序和視頻壓縮與處理的應用程序。應用程序把視頻存為普通播放器能播放的視頻格式,每幀視頻為256行×256列共64K像素。在驅動(dòng)軟件中,當打開(kāi)設備時(shí),申請一組緩沖,共128個(gè)緩沖。這個(gè)緩沖對應用程序是透明的,每個(gè)緩沖可以存放一個(gè)完整的視頻幀,如圖6所示。驅動(dòng)程序中有兩個(gè)主要線(xiàn)程,中斷線(xiàn)程和數據讀出線(xiàn)程。
在邏輯設計時(shí),每當FIFO中寫(xiě)入4kx32bi時(shí)產(chǎn)生中斷,則驅動(dòng)程序的中斷線(xiàn)程在響應中斷時(shí),每次至少讀16kB。在中斷響應讀取FIFO數據時(shí),不要用類(lèi)似于for(;;)的軟件循環(huán)實(shí)現,這種策略在硬件時(shí)序上屬于單次訪(fǎng)問(wèn),效率低下。只有DMA才能觸發(fā)邏輯設計中的burst周期,最大限度利用硬件性能。在啟動(dòng)DMA時(shí),一定要使能它的burst位操作長(cháng)度固定為16kB。這樣,每次中斷響應就變成了維護DMA當前寫(xiě)入緩沖的指針,填入當前寫(xiě)入緩沖地址,然后啟動(dòng)DMA。本文引用地址:http://dyxdggzs.com/article/165890.htm
在應用程序中,使用一個(gè)定時(shí)線(xiàn)程,通過(guò)驅動(dòng)程序讀取視頻數據,然后經(jīng)過(guò)壓縮,存放成JPEG2000格式的視頻文件。定時(shí)讀取視頻數據的算法需要進(jìn)行優(yōu)化,因為如果數據讀出線(xiàn)程太慢,中斷線(xiàn)程寫(xiě)入時(shí)可能覆蓋未讀走的緩沖,會(huì )造成存儲視頻出現丟失數據幀的現象,影響記錄視頻的連續性。
5 結束語(yǔ)
本文采用FPGA與嵌入式CPU大容量數據存儲相結合的方案,在系統各個(gè)處理環(huán)節均充分考慮到對視頻數據采集記錄實(shí)時(shí)性和可靠性的要求,設計了機載多通道實(shí)時(shí)視頻數據采集記錄系統。系統硬件設計簡(jiǎn)單,并且可同時(shí)采集多路視頻數據。在某型數字化對抗訓練評估系統中的應用表明,本設計方案滿(mǎn)足了預期的指標要求,解決了載機任務(wù)系統多路視頻數據采集與實(shí)時(shí)記錄的關(guān)鍵問(wèn)題,在實(shí)時(shí)視頻信息采集和數據記錄應用中具有較好的通用性和擴展性。
評論