基于NiosⅡ的圖像采集和顯示的實(shí)現(xiàn)
發(fā)布時(shí)間:2008/8/19 0:00:00 訪問(wèn)次數(shù):557
隨著大規(guī)模集成電路設(shè)計(jì)技術(shù)的進(jìn)步、制造工藝水平的提高以及單個(gè)芯片上的邏輯門數(shù)的增加,嵌入式系統(tǒng)設(shè)計(jì)變得日益復(fù)雜。把整個(gè)系統(tǒng)集成到一個(gè)芯片上,即片上系統(tǒng)soc(system on chip)技術(shù)是當(dāng)前嵌入式系統(tǒng)設(shè)計(jì)的一個(gè)研究熱點(diǎn)。在altera公司提供的sopc平臺(tái)上設(shè)計(jì)的基于fpga的soc系統(tǒng),具有開發(fā)周期短、成本低和可重構(gòu)等多種優(yōu)點(diǎn)。
1 系統(tǒng)設(shè)計(jì)
基于niosⅱ的高速圖像數(shù)據(jù)采集和顯示系統(tǒng)的實(shí)現(xiàn)通常有兩種方案。一種是在niosⅱ處理器上使用軟件控制pio(peripheral i/o)端口模擬采集模塊的時(shí)序,從而可靈活地存儲(chǔ)圖像數(shù)據(jù),并可按照?qǐng)D像宏塊(如8×8像素的mcu塊)存入sdram的連續(xù)地址中;第二種方案是加fifo緩沖區(qū),圖像數(shù)據(jù)直接經(jīng)dma控制器存儲(chǔ)sdram,這種方案能節(jié)省niosⅱ的軟件開銷,更高效地完成圖像的采集工作。
本系統(tǒng)采用的fpga為altera的ep1c6q240c8,它有5980個(gè)lc(邏輯門單元)和20個(gè)m4k的ram塊。本系統(tǒng)設(shè)計(jì)的一個(gè)11位深度的dma控制器,需要280個(gè)logic cells和151個(gè)lc registers,占fpga整個(gè)系統(tǒng)資源的7.2%,其資源占用較少。本系統(tǒng)設(shè)計(jì)了兩個(gè)dma控制器,一個(gè)用于前端采集模塊通道,一個(gè)用于后端顯示模塊通道。
由于cmos和ccd的固體圖像傳感器的類型很多,有些傳感器(如ov7620)輸出的是ycrcb(4:2:2)的格式,但大多數(shù)cmos和ccd的圖像傳感器出來(lái)的圖像數(shù)據(jù)是raw data(bayer)的數(shù)據(jù)格式。所以首先需要對(duì)這些圖像數(shù)據(jù)進(jìn)行cfa插補(bǔ)。為了節(jié)省軟件開銷,本系統(tǒng)采用了一種最簡(jiǎn)單的cfa插補(bǔ)算法(bilinear),與高階b-spline和cubic-spline等插補(bǔ)函數(shù)相比,圖像的像質(zhì)相差不大。但bilinear的算法要簡(jiǎn)單得多,消耗的軟件資源相對(duì)要少。插補(bǔ)后的圖像需要進(jìn)一步裁剪成液晶屏能顯示的分辨率(qvga),rgb分量只取高6位。
2 硬件設(shè)計(jì)
2.1 系統(tǒng)的硬件電路圖
系統(tǒng)電路圖如圖1所示。
從圖1可以看出,系統(tǒng)的采集、存儲(chǔ)和顯示模塊的控制器都是在ep1c6q240c8這塊fpga上完成。
2.2 fpga中的電路設(shè)計(jì)
在fpga中需要設(shè)計(jì)3種控制器,即cmos采集控制器、sdram控制器、tft液晶顯示控制器。altera公司提供了sdram的控制器,需要根據(jù)具體的sdram器件正確配置sdram控制器的時(shí)間參數(shù),才能正常、穩(wěn)定地工作。本系統(tǒng)采用的sdram型號(hào)為hy57v561620t-h,其配置參數(shù)如表1所示。
ov2610和tft液晶的控制器如圖2和圖3所示。兩個(gè)控制器都用硬件描述語(yǔ)言寫用戶邏輯,創(chuàng)建alvalon slave接口,直接連接到dma控制器的主端口。通過(guò)niosii cpu數(shù)據(jù)和程序總線寫dma的控制器字來(lái)控制數(shù)據(jù)的采集和顯示。
ov2610的圖像數(shù)據(jù)在tft液晶屏上顯示時(shí),需要設(shè)計(jì)兩個(gè)dma控制器,一個(gè)用做圖像數(shù)據(jù)采集通道,一個(gè)用做圖像顯示通道。由于ov2610圖像數(shù)據(jù)的接口是數(shù)據(jù)流的形式,用fifo存儲(chǔ)單元來(lái)做緩存與雙口ram相比,不需要設(shè)計(jì)地址發(fā)生器,減少了fpga內(nèi)部的邏輯綜合布線。具體設(shè)計(jì)包括兩部分:第一部分采用硬件描述語(yǔ)言設(shè)計(jì)cmos采集和液晶顯示模塊的時(shí)序發(fā)生器;第二部分是在niosⅱ ide環(huán)境下,用c語(yǔ)言編寫dma初始化和控制程序。
cmos采集時(shí)序模塊和tft液晶時(shí)序發(fā)生模塊都需要嚴(yán)格按照cmos圖像傳感器和tft液晶顯示的時(shí)序設(shè)計(jì)。在cmos采集控制器和液晶控制器的設(shè)計(jì)中,關(guān)鍵是設(shè)計(jì)好時(shí)序產(chǎn)生模塊的邏輯,同時(shí)采集和顯示的數(shù)據(jù)需要存儲(chǔ)到資源有限的fifo中。在ep1c6q240c8內(nèi)部,由于只有20個(gè)m4k的存儲(chǔ)單元,所以資源有限。在cmos采集控制器中,會(huì)占用11位深度2kb的fifo存儲(chǔ)單元;qvga分辨率(320×240),液晶顯示模塊要設(shè)計(jì)9位深度512b的fifo存儲(chǔ)單元做顯存才能滿足要求。
用硬件描述語(yǔ)言設(shè)計(jì)采集時(shí)序模塊和液晶時(shí)序發(fā)生模塊的控制器。在quartus ⅱ simulator中模擬的液晶時(shí)序發(fā)生控制器波形如圖4所示。
cmos圖像采集時(shí)序與tft液晶時(shí)序類似。
在sopc平臺(tái)中,要設(shè)計(jì)cmos傳感器與avalon的接口,將數(shù)據(jù)存儲(chǔ)到sdram,掛接到avalon總線上。本系統(tǒng)cmos采集時(shí)序模塊和tft液晶時(shí)序發(fā)生模塊都設(shè)計(jì)成為avalon的從設(shè)備,需要用到address
隨著大規(guī)模集成電路設(shè)計(jì)技術(shù)的進(jìn)步、制造工藝水平的提高以及單個(gè)芯片上的邏輯門數(shù)的增加,嵌入式系統(tǒng)設(shè)計(jì)變得日益復(fù)雜。把整個(gè)系統(tǒng)集成到一個(gè)芯片上,即片上系統(tǒng)soc(system on chip)技術(shù)是當(dāng)前嵌入式系統(tǒng)設(shè)計(jì)的一個(gè)研究熱點(diǎn)。在altera公司提供的sopc平臺(tái)上設(shè)計(jì)的基于fpga的soc系統(tǒng),具有開發(fā)周期短、成本低和可重構(gòu)等多種優(yōu)點(diǎn)。
1 系統(tǒng)設(shè)計(jì)
基于niosⅱ的高速圖像數(shù)據(jù)采集和顯示系統(tǒng)的實(shí)現(xiàn)通常有兩種方案。一種是在niosⅱ處理器上使用軟件控制pio(peripheral i/o)端口模擬采集模塊的時(shí)序,從而可靈活地存儲(chǔ)圖像數(shù)據(jù),并可按照?qǐng)D像宏塊(如8×8像素的mcu塊)存入sdram的連續(xù)地址中;第二種方案是加fifo緩沖區(qū),圖像數(shù)據(jù)直接經(jīng)dma控制器存儲(chǔ)sdram,這種方案能節(jié)省niosⅱ的軟件開銷,更高效地完成圖像的采集工作。
本系統(tǒng)采用的fpga為altera的ep1c6q240c8,它有5980個(gè)lc(邏輯門單元)和20個(gè)m4k的ram塊。本系統(tǒng)設(shè)計(jì)的一個(gè)11位深度的dma控制器,需要280個(gè)logic cells和151個(gè)lc registers,占fpga整個(gè)系統(tǒng)資源的7.2%,其資源占用較少。本系統(tǒng)設(shè)計(jì)了兩個(gè)dma控制器,一個(gè)用于前端采集模塊通道,一個(gè)用于后端顯示模塊通道。
由于cmos和ccd的固體圖像傳感器的類型很多,有些傳感器(如ov7620)輸出的是ycrcb(4:2:2)的格式,但大多數(shù)cmos和ccd的圖像傳感器出來(lái)的圖像數(shù)據(jù)是raw data(bayer)的數(shù)據(jù)格式。所以首先需要對(duì)這些圖像數(shù)據(jù)進(jìn)行cfa插補(bǔ)。為了節(jié)省軟件開銷,本系統(tǒng)采用了一種最簡(jiǎn)單的cfa插補(bǔ)算法(bilinear),與高階b-spline和cubic-spline等插補(bǔ)函數(shù)相比,圖像的像質(zhì)相差不大。但bilinear的算法要簡(jiǎn)單得多,消耗的軟件資源相對(duì)要少。插補(bǔ)后的圖像需要進(jìn)一步裁剪成液晶屏能顯示的分辨率(qvga),rgb分量只取高6位。
2 硬件設(shè)計(jì)
2.1 系統(tǒng)的硬件電路圖
系統(tǒng)電路圖如圖1所示。
從圖1可以看出,系統(tǒng)的采集、存儲(chǔ)和顯示模塊的控制器都是在ep1c6q240c8這塊fpga上完成。
2.2 fpga中的電路設(shè)計(jì)
在fpga中需要設(shè)計(jì)3種控制器,即cmos采集控制器、sdram控制器、tft液晶顯示控制器。altera公司提供了sdram的控制器,需要根據(jù)具體的sdram器件正確配置sdram控制器的時(shí)間參數(shù),才能正常、穩(wěn)定地工作。本系統(tǒng)采用的sdram型號(hào)為hy57v561620t-h,其配置參數(shù)如表1所示。
ov2610和tft液晶的控制器如圖2和圖3所示。兩個(gè)控制器都用硬件描述語(yǔ)言寫用戶邏輯,創(chuàng)建alvalon slave接口,直接連接到dma控制器的主端口。通過(guò)niosii cpu數(shù)據(jù)和程序總線寫dma的控制器字來(lái)控制數(shù)據(jù)的采集和顯示。
ov2610的圖像數(shù)據(jù)在tft液晶屏上顯示時(shí),需要設(shè)計(jì)兩個(gè)dma控制器,一個(gè)用做圖像數(shù)據(jù)采集通道,一個(gè)用做圖像顯示通道。由于ov2610圖像數(shù)據(jù)的接口是數(shù)據(jù)流的形式,用fifo存儲(chǔ)單元來(lái)做緩存與雙口ram相比,不需要設(shè)計(jì)地址發(fā)生器,減少了fpga內(nèi)部的邏輯綜合布線。具體設(shè)計(jì)包括兩部分:第一部分采用硬件描述語(yǔ)言設(shè)計(jì)cmos采集和液晶顯示模塊的時(shí)序發(fā)生器;第二部分是在niosⅱ ide環(huán)境下,用c語(yǔ)言編寫dma初始化和控制程序。
cmos采集時(shí)序模塊和tft液晶時(shí)序發(fā)生模塊都需要嚴(yán)格按照cmos圖像傳感器和tft液晶顯示的時(shí)序設(shè)計(jì)。在cmos采集控制器和液晶控制器的設(shè)計(jì)中,關(guān)鍵是設(shè)計(jì)好時(shí)序產(chǎn)生模塊的邏輯,同時(shí)采集和顯示的數(shù)據(jù)需要存儲(chǔ)到資源有限的fifo中。在ep1c6q240c8內(nèi)部,由于只有20個(gè)m4k的存儲(chǔ)單元,所以資源有限。在cmos采集控制器中,會(huì)占用11位深度2kb的fifo存儲(chǔ)單元;qvga分辨率(320×240),液晶顯示模塊要設(shè)計(jì)9位深度512b的fifo存儲(chǔ)單元做顯存才能滿足要求。
用硬件描述語(yǔ)言設(shè)計(jì)采集時(shí)序模塊和液晶時(shí)序發(fā)生模塊的控制器。在quartus ⅱ simulator中模擬的液晶時(shí)序發(fā)生控制器波形如圖4所示。
cmos圖像采集時(shí)序與tft液晶時(shí)序類似。
在sopc平臺(tái)中,要設(shè)計(jì)cmos傳感器與avalon的接口,將數(shù)據(jù)存儲(chǔ)到sdram,掛接到avalon總線上。本系統(tǒng)cmos采集時(shí)序模塊和tft液晶時(shí)序發(fā)生模塊都設(shè)計(jì)成為avalon的從設(shè)備,需要用到address
熱門點(diǎn)擊
- CPU學(xué)習(xí) (Cache Coherence
- 瑞薩推出具有1Mbyte片內(nèi)SRAM的32位
- MAP譯碼器嵌入式狀態(tài)信息存儲(chǔ)機(jī)制設(shè)計(jì)
- Atmel 在AT91SAM3中使用ARM3
- 統(tǒng)一建模語(yǔ)言UML在嵌入式系統(tǒng)設(shè)計(jì)中的應(yīng)用
- 全路由器掃描
- 嵌入式中C和匯編的一些技巧
- 基于ARM平臺(tái)的GPRS CQT測(cè)試系統(tǒng)的設(shè)
- 嵌入式系統(tǒng)軟件及編程語(yǔ)言
- 中文資料:vxwork bsp的制作1
推薦技術(shù)資料
- DFRobot—玩的就是
- 如果說(shuō)新車間的特點(diǎn)是“靈動(dòng)”,F(xiàn)QPF12N60C那么... [詳細(xì)]
- MOSFET 電感單片降壓開關(guān)模式變換器優(yōu)勢(shì)
- SiC MOSFET 和 IG
- 新型 電隔離無(wú)芯線性霍爾效應(yīng)電
- 業(yè)界超小絕對(duì)位置編碼器技術(shù)參數(shù)設(shè)計(jì)
- 高帶寬、更高分辨率磁角度傳感技術(shù)應(yīng)用探究
- MagAlpha 角度位置傳感
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究