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


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