基可編程邏輯器的VGA顯示控制器的設(shè)計
發(fā)布時間:2009/3/3 0:00:00 訪問次數(shù):878
隨著ccd(電荷耦合器件)和cmos(互補金屬氧化物半導(dǎo)體)圖像傳感器制造工藝的發(fā)展,圖像傳感器的分辨率越來越高,如果要實時顯示圖像傳感器采集到的圖像,則要求圖像處理芯片有較高的運行速度,但由于需要處理的數(shù)據(jù)量太大,一般的數(shù)字信號處理器很難直接輸出分辨率為1024×768,幀頻為60 hz的標(biāo)準(zhǔn)xga信號。這就需要對dsp輸出的圖像數(shù)據(jù)進行處理,使圖像能夠在vga顯示器上實時顯示。市場上雖然也有一些專門圖像處理芯片,但其價格昂貴,且應(yīng)用于特殊場合。本文設(shè)計的顯示控制器可以達到提升幀頻的功能,可使輸入分辨率為1024×768,幀頻為7.5hz的ycbcr(4:2:2)圖像信號提升到幀頻為60hz,并通過色空間轉(zhuǎn)換,將ycbcr(4:2:2)圖像信號轉(zhuǎn)換成rgb格式的標(biāo)準(zhǔn)xga信號,同時產(chǎn)生符合vesa標(biāo)準(zhǔn)的xga格式的行、場同步信號,輸出信號經(jīng)d/a轉(zhuǎn)換后可直接輸出到vga接口,從而可使圖像傳感器采集到的圖像數(shù)據(jù)能夠在vga顯示器上實時顯示。
隨著微電子技術(shù)及其制造工藝的發(fā)展,可編程邏輯器件的邏輯門密度越來越高,功能也越來越強,由于fpga器件的可并行處理能力及其可重復(fù)在系統(tǒng)編程的靈活性,其應(yīng)用越來越廣泛。隨著微處理器、專用邏輯器件、以及dsp算法以ip核的形式嵌入到fpga中,fpga可實現(xiàn)的功能越來越強,fpga在現(xiàn)代電子系統(tǒng)設(shè)計中正發(fā)揮著越來越重要的作用。本文設(shè)計的顯示控制器就是用vhdl語言描述,基于fpga而實現(xiàn)的。該系統(tǒng)硬件框圖如圖1所示。
圖1 系統(tǒng)硬件框圖
1 顯示控制器的設(shè)計
1.1 工作原理
圖像傳感器采集到的原始圖像數(shù)據(jù),經(jīng)過a/d轉(zhuǎn)換及dsp處理后,生成每秒7.5幀的圖像數(shù)據(jù),該數(shù)據(jù)是分辨率為1024×768的ycbcr(4:2:2)格式的16位圖像數(shù)據(jù)。dsp輸出到fpga的信號有象素時鐘,行、場參考,圖像數(shù)據(jù)。fpga在輸入的行、場參考都有效時,在輸入象素時鐘的同步下,接收圖像數(shù)據(jù),并送入到sdram中, 同時從另一個sdram 中讀取數(shù)據(jù),并通過色空間轉(zhuǎn)換,將ycbcr(4:2:2)信號轉(zhuǎn)換成rgb信號。當(dāng)sdram 中寫滿一幀圖像數(shù)據(jù)時,控制器對兩個sdram進行讀、寫切換。由于寫數(shù)據(jù)速率小于讀數(shù)據(jù)速率,所以在往一個sdram寫滿一幀圖像數(shù)據(jù)的時間內(nèi),控制器能夠連續(xù)多次從另一個sdram中讀出另一幀圖像數(shù)據(jù),從而實現(xiàn)了提高幀頻的目的。fpga輸出的rgb格式數(shù)據(jù)經(jīng)d/a轉(zhuǎn)換后,將數(shù)據(jù)轉(zhuǎn)換成模擬信號,配合行、場同步信號可使其在vga顯示器上顯示。外部晶振輸入32.5mhz的時鐘,該時鐘在fpga內(nèi)經(jīng)時鐘鎖相環(huán)倍頻后產(chǎn)生65mhz的主時鐘,用于對兩個sdram進行讀寫和用來產(chǎn)生符合vesa標(biāo)準(zhǔn)的xga格式的行、場同步信號。
1.2 控制器的內(nèi)部模塊介紹
本設(shè)計采用模塊化設(shè)計原則,按照現(xiàn)代eda工程常用的“自頂向下“的設(shè)計思想,進行功能分離并按層次設(shè)計,用vhdl語言實現(xiàn)每個模塊的功能。該顯示控制器主要由以下七個功能模塊組成:
用于從dsp接收數(shù)據(jù)的輸入緩沖模塊
用于對兩個sdram進行讀寫切換的主控制器模塊
sdram1的控制器模塊
sdram2的控制器模塊
用于產(chǎn)生標(biāo)準(zhǔn)xga格式的時序發(fā)生器模塊
用于從sdram中讀取數(shù)據(jù)并配合行、場同步輸出數(shù)據(jù)的輸出緩沖模塊
用于將ycbcr(4:2:2)轉(zhuǎn)換成rgb格式的色空間轉(zhuǎn)換模塊。
該顯示控制器的內(nèi)部結(jié)構(gòu)如圖2所示。上電后,顯示控制器首先對兩片sdram進行初始化,初始化結(jié)束后,其它模塊才開始工作。下面將詳細介紹各個模塊的功能及設(shè)計思想。
圖2 顯示控制器的內(nèi)部結(jié)構(gòu)
1.2.1 數(shù)據(jù)輸入緩沖模塊
數(shù)據(jù)輸入緩沖模塊為深度為1024、寬度為16bit的異步fifo (先進先出),寫時鐘為dsp輸出的12mhz的象素時鐘,讀時鐘為經(jīng)時鐘鎖相環(huán)倍頻后的65mhz的主時鐘,通過場下降沿檢測,來確保從一幀開始時接收數(shù)據(jù)。當(dāng)輸入的原始圖像數(shù)據(jù)的行、場參考信號都有效時,該fifo的寫使能有效,在輸入象素時鐘的同步下,開始接收數(shù)據(jù),寫地址計數(shù)器為0到1023的循環(huán)計數(shù)器,當(dāng)其計數(shù)到511或1023時,給主控制器發(fā)讀信號,主控制器隨后產(chǎn)生fifo的讀使能信號,使讀使能信號在連續(xù)的512個讀時鐘周期內(nèi)一直有效,即可連續(xù)讀出512個數(shù)據(jù)。由于讀時鐘頻率大于寫時鐘頻率,所以不會產(chǎn)生數(shù)據(jù)寫滿溢出的現(xiàn)象。
1.2.2 主控制器模塊
該模塊為顯示控制器的主要控制部分,通過對輸入緩沖的讀請求信號和輸出緩沖的寫請求信號處理,來實現(xiàn)對兩個sdram的讀、寫切換。上電后,該模塊接收從輸入緩沖中讀出的數(shù)據(jù)并將其寫入到sdram 1中,同時從sdram2中讀出數(shù)據(jù),送入到輸出緩沖中,當(dāng)然最初讀出的數(shù)據(jù)為無效數(shù)據(jù)。當(dāng)sdram1中寫滿一幀圖像數(shù)據(jù),即1024×768個有效數(shù)據(jù)后,該模塊對
隨著ccd(電荷耦合器件)和cmos(互補金屬氧化物半導(dǎo)體)圖像傳感器制造工藝的發(fā)展,圖像傳感器的分辨率越來越高,如果要實時顯示圖像傳感器采集到的圖像,則要求圖像處理芯片有較高的運行速度,但由于需要處理的數(shù)據(jù)量太大,一般的數(shù)字信號處理器很難直接輸出分辨率為1024×768,幀頻為60 hz的標(biāo)準(zhǔn)xga信號。這就需要對dsp輸出的圖像數(shù)據(jù)進行處理,使圖像能夠在vga顯示器上實時顯示。市場上雖然也有一些專門圖像處理芯片,但其價格昂貴,且應(yīng)用于特殊場合。本文設(shè)計的顯示控制器可以達到提升幀頻的功能,可使輸入分辨率為1024×768,幀頻為7.5hz的ycbcr(4:2:2)圖像信號提升到幀頻為60hz,并通過色空間轉(zhuǎn)換,將ycbcr(4:2:2)圖像信號轉(zhuǎn)換成rgb格式的標(biāo)準(zhǔn)xga信號,同時產(chǎn)生符合vesa標(biāo)準(zhǔn)的xga格式的行、場同步信號,輸出信號經(jīng)d/a轉(zhuǎn)換后可直接輸出到vga接口,從而可使圖像傳感器采集到的圖像數(shù)據(jù)能夠在vga顯示器上實時顯示。
隨著微電子技術(shù)及其制造工藝的發(fā)展,可編程邏輯器件的邏輯門密度越來越高,功能也越來越強,由于fpga器件的可并行處理能力及其可重復(fù)在系統(tǒng)編程的靈活性,其應(yīng)用越來越廣泛。隨著微處理器、專用邏輯器件、以及dsp算法以ip核的形式嵌入到fpga中,fpga可實現(xiàn)的功能越來越強,fpga在現(xiàn)代電子系統(tǒng)設(shè)計中正發(fā)揮著越來越重要的作用。本文設(shè)計的顯示控制器就是用vhdl語言描述,基于fpga而實現(xiàn)的。該系統(tǒng)硬件框圖如圖1所示。
圖1 系統(tǒng)硬件框圖
1 顯示控制器的設(shè)計
1.1 工作原理
圖像傳感器采集到的原始圖像數(shù)據(jù),經(jīng)過a/d轉(zhuǎn)換及dsp處理后,生成每秒7.5幀的圖像數(shù)據(jù),該數(shù)據(jù)是分辨率為1024×768的ycbcr(4:2:2)格式的16位圖像數(shù)據(jù)。dsp輸出到fpga的信號有象素時鐘,行、場參考,圖像數(shù)據(jù)。fpga在輸入的行、場參考都有效時,在輸入象素時鐘的同步下,接收圖像數(shù)據(jù),并送入到sdram中, 同時從另一個sdram 中讀取數(shù)據(jù),并通過色空間轉(zhuǎn)換,將ycbcr(4:2:2)信號轉(zhuǎn)換成rgb信號。當(dāng)sdram 中寫滿一幀圖像數(shù)據(jù)時,控制器對兩個sdram進行讀、寫切換。由于寫數(shù)據(jù)速率小于讀數(shù)據(jù)速率,所以在往一個sdram寫滿一幀圖像數(shù)據(jù)的時間內(nèi),控制器能夠連續(xù)多次從另一個sdram中讀出另一幀圖像數(shù)據(jù),從而實現(xiàn)了提高幀頻的目的。fpga輸出的rgb格式數(shù)據(jù)經(jīng)d/a轉(zhuǎn)換后,將數(shù)據(jù)轉(zhuǎn)換成模擬信號,配合行、場同步信號可使其在vga顯示器上顯示。外部晶振輸入32.5mhz的時鐘,該時鐘在fpga內(nèi)經(jīng)時鐘鎖相環(huán)倍頻后產(chǎn)生65mhz的主時鐘,用于對兩個sdram進行讀寫和用來產(chǎn)生符合vesa標(biāo)準(zhǔn)的xga格式的行、場同步信號。
1.2 控制器的內(nèi)部模塊介紹
本設(shè)計采用模塊化設(shè)計原則,按照現(xiàn)代eda工程常用的“自頂向下“的設(shè)計思想,進行功能分離并按層次設(shè)計,用vhdl語言實現(xiàn)每個模塊的功能。該顯示控制器主要由以下七個功能模塊組成:
用于從dsp接收數(shù)據(jù)的輸入緩沖模塊
用于對兩個sdram進行讀寫切換的主控制器模塊
sdram1的控制器模塊
sdram2的控制器模塊
用于產(chǎn)生標(biāo)準(zhǔn)xga格式的時序發(fā)生器模塊
用于從sdram中讀取數(shù)據(jù)并配合行、場同步輸出數(shù)據(jù)的輸出緩沖模塊
用于將ycbcr(4:2:2)轉(zhuǎn)換成rgb格式的色空間轉(zhuǎn)換模塊。
該顯示控制器的內(nèi)部結(jié)構(gòu)如圖2所示。上電后,顯示控制器首先對兩片sdram進行初始化,初始化結(jié)束后,其它模塊才開始工作。下面將詳細介紹各個模塊的功能及設(shè)計思想。
圖2 顯示控制器的內(nèi)部結(jié)構(gòu)
1.2.1 數(shù)據(jù)輸入緩沖模塊
數(shù)據(jù)輸入緩沖模塊為深度為1024、寬度為16bit的異步fifo (先進先出),寫時鐘為dsp輸出的12mhz的象素時鐘,讀時鐘為經(jīng)時鐘鎖相環(huán)倍頻后的65mhz的主時鐘,通過場下降沿檢測,來確保從一幀開始時接收數(shù)據(jù)。當(dāng)輸入的原始圖像數(shù)據(jù)的行、場參考信號都有效時,該fifo的寫使能有效,在輸入象素時鐘的同步下,開始接收數(shù)據(jù),寫地址計數(shù)器為0到1023的循環(huán)計數(shù)器,當(dāng)其計數(shù)到511或1023時,給主控制器發(fā)讀信號,主控制器隨后產(chǎn)生fifo的讀使能信號,使讀使能信號在連續(xù)的512個讀時鐘周期內(nèi)一直有效,即可連續(xù)讀出512個數(shù)據(jù)。由于讀時鐘頻率大于寫時鐘頻率,所以不會產(chǎn)生數(shù)據(jù)寫滿溢出的現(xiàn)象。
1.2.2 主控制器模塊
該模塊為顯示控制器的主要控制部分,通過對輸入緩沖的讀請求信號和輸出緩沖的寫請求信號處理,來實現(xiàn)對兩個sdram的讀、寫切換。上電后,該模塊接收從輸入緩沖中讀出的數(shù)據(jù)并將其寫入到sdram 1中,同時從sdram2中讀出數(shù)據(jù),送入到輸出緩沖中,當(dāng)然最初讀出的數(shù)據(jù)為無效數(shù)據(jù)。當(dāng)sdram1中寫滿一幀圖像數(shù)據(jù),即1024×768個有效數(shù)據(jù)后,該模塊對
熱門點擊
- C/C++語言的編譯器接□
- 基于VHDL實現(xiàn)多路彩燈控制器設(shè)計應(yīng)用
- 最常用的幾種EDA軟件
- ispMACH 4000系列CPLD優(yōu)化參數(shù)
- C/C++語言的編譯器操作概述
- 基可編程邏輯器的VGA顯示控制器的設(shè)計
- C/C++語言的主要特征
- C/C++編譯器工具的主要特點
- TMS320X28xx系列DSP內(nèi)核特點
- 可編程邏輯器件FPGA的參數(shù)
推薦技術(shù)資料
- 聲道前級設(shè)計特點
- 與通常的Hi-Fi前級不同,EP9307-CRZ這臺分... [詳細]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究