12.4??FPGA內(nèi)部結(jié)構(gòu)設(shè)計
12.4.1??FPGA內(nèi)部結(jié)構(gòu)框圖
本系統(tǒng)的核心設(shè)計部分是FPGA內(nèi)部結(jié)構(gòu)的邏輯設(shè)計。整個系統(tǒng)分成兩個數(shù)據(jù)通路。
1.行變換數(shù)據(jù)通路
行變換數(shù)據(jù)通路主要功能是實現(xiàn)數(shù)據(jù)的采集、緩存、行變換和保存行變換結(jié)果。
2.列變換數(shù)據(jù)通路
行變換數(shù)據(jù)通路主要功能是實現(xiàn)讀取行變換結(jié)果、緩存、列變換和圖像輸出。
通過總線開關(guān)模塊實現(xiàn)兩個數(shù)據(jù)通路的數(shù)據(jù)交換,采用的主要措施就是利用兩片SRAM存儲器來完成乒乓緩存。FPGA內(nèi)部結(jié)構(gòu)如圖12.4所示。
?
圖12.4??FPGA內(nèi)部結(jié)構(gòu)框圖
下面分別介紹數(shù)字圖像倍焦系統(tǒng)中FPGA內(nèi)部各個模塊功能。
12.4.2??各個模塊功能描述
在實際的設(shè)計中,主要通過自行編寫模塊、調(diào)用宏模塊和引用開源模塊3種方式來實現(xiàn)模塊的設(shè)計。下面是各個模塊的主要功能。
1.Receiver模塊功能
完成對SAA7113輸出的ITU656格式視頻信號的逐行采集,同時完成圖像的裁剪工作,即原始圖像的1/2.25,分辨率為480′192,并寫入DPRAM中。每寫完一行,給出一個行啟動信號,每寫完一場,給出場啟動信號,均發(fā)送給RowTrans模塊。
2.RowTrans模塊功能
完成對每行數(shù)據(jù)的線性插值。收到行啟動信號之后,從DPRAM讀出數(shù)據(jù),計算插值后,通過總線開關(guān)寫入SRAM中。處理之后RAM中的數(shù)據(jù)為720列′192行。當(dāng)收到場啟動信號,立即切換SRAM,開始處理下一場。
3.Bus?Switcher模塊功能
總線開關(guān)模塊,負(fù)責(zé)切換兩片SRAM的控制權(quán)。
4.ColTrans模塊功能
完成從SRAM中讀出每行數(shù)據(jù),并寫入DPRAM中,同時完成對每列的插值。保證DPRAM不讀空,這樣輸出的碼率才會恒定,滿足ITU.656的要求。
5.Sender模塊功能
從DPRAM連續(xù)讀出數(shù)據(jù),按照ITU.656的要求發(fā)送給Video?Encoder。
6.DPRAM模塊功能
開發(fā)工具軟件提供的雙口RAM模型,用來完成數(shù)據(jù)緩存。