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