基于FPGA的VGA顯示控制器的設計
隨著(zhù)CCD(電荷耦合器件)和CMOS(互補金屬氧化物半導體)圖像傳感器制造工藝的發(fā)展,圖像傳感器的分辨率越來(lái)越高,如果要實(shí)時(shí)顯示圖像傳感器采集到的圖像,則要求圖像處理芯片有較高的運行速度,但由于需要處理的數據量太大,一般的數字信號處理器很難直接輸出分辨率為1024×768,幀頻為60 Hz的標準XGA信號。這就需要對DSP輸出的圖像數據進(jìn)行處理,使圖像能夠在VGA顯示器上實(shí)時(shí)顯示。市場(chǎng)上雖然也有一些專(zhuān)門(mén)圖像處理芯片,但其價(jià)格昂貴,且應用于特殊場(chǎng)合。本文設計的顯示控制器可以達到提升幀頻的功能,可使輸入分辨率為1024×768,幀頻為7.5HZ的YCbCr(4:2:2)圖像信號提升到幀頻為60HZ,并通過(guò)色空間轉換,將YCbCr(4:2:2)圖像信號轉換成RGB格式的標準XGA信號,同時(shí)產(chǎn)生符合VESA標準的XGA格式的行、場(chǎng)同步信號,輸出信號經(jīng)D/A轉換后可直接輸出到VGA接口,從而可使圖像傳感器采集到的圖像數據能夠在VGA顯示器上實(shí)時(shí)顯示。
隨著(zhù)微電子技術(shù)及其制造工藝的發(fā)展,可編程邏輯器件的邏輯門(mén)密度越來(lái)越高,功能也越來(lái)越強,由于FPGA器件的可并行處理能力及其可重復在系統編程的靈活性,其應用越來(lái)越廣泛。隨著(zhù)微處理器、專(zhuān)用邏輯器件、以及DSP算法以IP核的形式嵌入到FPGA中,FPGA可實(shí)現的功能越來(lái)越強,FPGA在現代電子系統設計中正發(fā)揮著(zhù)越來(lái)越重要的作用。本文設計的顯示控制器就是用VHDL語(yǔ)言描述,基于FPGA而實(shí)現的。該系統硬件框圖如圖1所示。
圖1 系統硬件框圖
1 顯示控制器的設計
1.1 工作原理
圖像傳感器采集到的原始圖像數據,經(jīng)過(guò)A/D轉換及DSP處理后,生成每秒7.5幀的圖像數據,該數據是分辨率為1024×768的YCbCr(4:2:2)格式的16位圖像數據。DSP輸出到FPGA的信號有象素時(shí)鐘,行、場(chǎng)參考,圖像數據。FPGA在輸入的行、場(chǎng)參考都有效時(shí),在輸入象素時(shí)鐘的同步下,接收圖像數據,并送入到SDRAM中, 同時(shí)從另一個(gè)SDRAM 中讀取數據,并通過(guò)色空間轉換,將YCbCr(4:2:2)信號轉換成RGB信號。當SDRAM 中寫(xiě)滿(mǎn)一幀圖像數據時(shí),控制器對兩個(gè)SDRAM進(jìn)行讀、寫(xiě)切換。由于寫(xiě)數據速率小于讀數據速率,所以在往一個(gè)SDRAM寫(xiě)滿(mǎn)一幀圖像數據的時(shí)間內,控制器能夠連續多次從另一個(gè)SDRAM中讀出另一幀圖像數據,從而實(shí)現了提高幀頻的目的。FPGA輸出的RGB格式數據經(jīng)D/A轉換后,將數據轉換成模擬信號,配合行、場(chǎng)同步信號可使其在VGA顯示器上顯示。外部晶振輸入32.5MHZ的時(shí)鐘,該時(shí)鐘在FPGA內經(jīng)時(shí)鐘鎖相環(huán)倍頻后產(chǎn)生65MHZ的主時(shí)鐘,用于對兩個(gè)SDRAM進(jìn)行讀寫(xiě)和用來(lái)產(chǎn)生符合VESA標準的XGA格式的行、場(chǎng)同步信號。
1.2 控制器的內部模塊介紹
本設計采用模塊化設計原則,按照現代EDA工程常用的“自頂向下“的設計思想,進(jìn)行功能分離并按層次設計,用VHDL語(yǔ)言實(shí)現每個(gè)模塊的功能。該顯示控制器主要由以下七個(gè)功能模塊組成:
用于從DSP接收數據的輸入緩沖模塊
用于對兩個(gè)SDRAM進(jìn)行讀寫(xiě)切換的主控制器模塊
SDRAM1的控制器模塊
SDRAM2的控制器模塊
用于產(chǎn)生標準XGA格式的時(shí)序發(fā)生器模塊
用于從SDRAM中讀取數據并配合行、場(chǎng)同步輸出數據的輸出緩沖模塊
用于將YCbCr(4:2:2)轉換成RGB格式的色空間轉換模塊。
該顯示控制器的內部結構如圖2所示。上電后,顯示控制器首先對兩片SDRAM進(jìn)行初始化,初始化結束后,其它模塊才開(kāi)始工作。下面將詳細介紹各個(gè)模塊的功能及設計思想。
圖2 顯示控制器的內部結構
評論