基于PCIe總線的航空視頻采集記錄系統(tǒng)的設(shè)計(jì)
3 系統(tǒng)的邏輯設(shè)計(jì)
在硬件設(shè)計(jì)的基礎(chǔ)上,邏輯設(shè)計(jì)成為整個(gè)系統(tǒng)性能實(shí)現(xiàn)的關(guān)鍵。邏輯設(shè)計(jì)完成整個(gè)系統(tǒng)的時(shí)序控制、視頻數(shù)據(jù)流的采集與解碼、視頻回放的編碼和PCIe橋接口的設(shè)計(jì)。
3.1 視頻解碼
在邏輯設(shè)計(jì)中,視頻解碼的功能是將DS90LV032所轉(zhuǎn)換的單端信號(hào)解碼后寫入FIFO緩沖,由后續(xù)邏輯讀取處理。其邏輯接口的VHDL形式描述如下:
上層邏輯調(diào)用此模塊,每調(diào)用一次,配置一個(gè)寄存器。所有128個(gè)寄存器的配置數(shù)據(jù)是預(yù)先定制的,存放在常量數(shù)組中。
經(jīng)過初始化后的SAA7121可以正常工作了。此時(shí)邏輯應(yīng)該不斷輸送視頻數(shù)據(jù)。其邏輯接口可以描述如下:
3.3 PCIe橋接口設(shè)計(jì)
數(shù)據(jù)高速傳輸主要體現(xiàn)在PCIe總線的實(shí)際吞吐量,此為解碼后的數(shù)據(jù)傳輸?shù)钠款i。邏輯設(shè)計(jì)要特別考慮到軟件的方便和高效。接口邏輯設(shè)計(jì)集中在中斷邏輯和數(shù)據(jù)傳輸?shù)腷urst方式上。
需要傳輸?shù)囊曨l數(shù)據(jù),首先送入一個(gè)FIFO,寫入端為32k×16bit,讀出端為16k×32bit,寫入時(shí)既適合了視頻數(shù)據(jù)的寬度,讀出傳輸時(shí)又發(fā)揮了PCI32-bit總線的優(yōu)勢(shì),加快了轉(zhuǎn)換。中斷邏輯設(shè)計(jì)如下:
(1)當(dāng)寫入數(shù)據(jù)達(dá)到FIFO容量的1/4時(shí),即寫夠4k×32bit時(shí)產(chǎn)生中斷。這個(gè)條件可根據(jù)FIFO的可編程空判斷,亦即PRG1 Empty=‘0’時(shí)產(chǎn)生中斷。
(2)當(dāng)主機(jī)響應(yīng)中斷,開始讀FIFO數(shù)據(jù)時(shí)撤銷中斷。
(3) 當(dāng)本次burst讀結(jié)束后,才允許根據(jù)條件重新判斷中斷條件。
評(píng)論