新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 新型網(wǎng)絡(luò)數(shù)字?jǐn)z像系統(tǒng)的設(shè)計(jì)

新型網(wǎng)絡(luò)數(shù)字?jǐn)z像系統(tǒng)的設(shè)計(jì)

作者: 時(shí)間:2012-10-29 來源:網(wǎng)絡(luò) 收藏
目前將攝像機(jī)拍攝的圖像傳送到計(jì)算機(jī)中進(jìn)行播放、處理主要有兩種方式:一是通過圖像采集卡;二是利用攝像機(jī)自帶的USB接口。第一種方式雖然可以保證圖像采集的實(shí)時(shí)性,但不能脫離計(jì)算機(jī)單獨(dú)工作,應(yīng)用領(lǐng)域有局限性;后一種方式在圖像傳輸實(shí)時(shí)性和圖像播放質(zhì)量上又不盡人意。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,使網(wǎng)絡(luò)接入技術(shù)直接嵌入到攝像機(jī)中成為可能。本文介紹一種基于DSP芯片和嵌入式微控制器的。該系統(tǒng)內(nèi)部集成了圖像傳感芯片和數(shù)字圖像處理芯片,不需要借助計(jì)算機(jī),直接連接到互聯(lián)網(wǎng)上(見圖1),向互聯(lián)網(wǎng)上的計(jì)算機(jī)傳輸高質(zhì)量的實(shí)時(shí)視頻圖像,根據(jù)網(wǎng)絡(luò)通信狀況和計(jì)算機(jī)的命令改變傳輸圖像的分辨率和幀率等指標(biāo)。該系統(tǒng)硬件集成度高、圖像傳輸實(shí)時(shí)性好、操作簡單、控制靈活。

該系統(tǒng)包括兩大部分:圖像處理模塊和NetMCU模塊。系統(tǒng)框圖見圖2。由圖像處理模塊負(fù)責(zé)對圖像進(jìn)行采集和壓縮,先將模擬圖像信號(hào)轉(zhuǎn)變成YUV格式的數(shù)字信號(hào),然后由DSP芯片按照J(rèn)PEG標(biāo)準(zhǔn)進(jìn)行圖像壓縮編碼。Ne tMCU模塊將接收到的壓縮圖像數(shù)據(jù)按TCP/IP協(xié)議打包,發(fā)送至互聯(lián)網(wǎng)的計(jì)算機(jī)上,并接收計(jì)算機(jī)傳來的控制命令,對系統(tǒng)進(jìn)行配置。以下分別介紹各個(gè)模塊的工作原理和軟件設(shè)計(jì)方法。

1 圖像處理模塊

1.1 芯片介紹 圖像采集芯片采用OmniVision公司的CMOS彩色圖像傳感器OV6620[1]。在它內(nèi)部集成了一個(gè)356×292的彩色圖像陣列。該圖像傳感器能對所拍攝的圖像進(jìn)行預(yù)處理,包括自動(dòng)曝光控制、自動(dòng)白平衡調(diào)節(jié)、gamma校正、自動(dòng)圖像增強(qiáng);并可通過與DSP芯片相連的串行通信接口,對傳感器內(nèi)部的92個(gè)寄存器的參數(shù)進(jìn)行設(shè)置。

圖像壓縮芯片采用TI公司的TMS320VC5416[2]定點(diǎn)運(yùn)算數(shù)字信號(hào)處理器(DSP),其內(nèi)部采用一種改進(jìn)型的哈佛總線結(jié)構(gòu)(一條程序總線,三條數(shù)據(jù)總線),數(shù)據(jù)總線寬度為16
bit。分開的數(shù)據(jù)和指令空間使該芯片具有高度的并行操作能力,在單周期內(nèi)允許指令和數(shù)據(jù)同時(shí)存取,再加上其高度優(yōu)化的指令集,使得該芯片具有很高的運(yùn)算速度,最高可達(dá)
160MIPS。

VC5416芯片的外部程序存儲(chǔ)空間為8M×16bits,外部數(shù)據(jù)存儲(chǔ)空間為64K×16bits。在芯片內(nèi)部還集成了128K×16bits片上存儲(chǔ)器。該芯片具有多種片上外部設(shè)備單元,包括一個(gè)16位計(jì)時(shí)器,一個(gè)6通道DMA傳輸控制器,三個(gè)帶緩沖器的串行通信接口(McBSP
)和一個(gè)8/16位的主機(jī)通信接口(HPI8/16)。

1.2 功能介紹

圖像處理模塊主要負(fù)責(zé)模擬圖像的采集、數(shù)字化、壓縮等工作。首先,在系統(tǒng)加電運(yùn)行后,由NetMCU模塊對VC5416芯片復(fù)位,然后VC5416芯片運(yùn)行固化在芯片內(nèi)的BootLoader程序,將存儲(chǔ)在外部程序存儲(chǔ)器上的應(yīng)用程序復(fù)制到內(nèi)部存儲(chǔ)器中,并開始運(yùn)行應(yīng)用程序。應(yīng)用程序的任務(wù)主要有以下三個(gè)方面:

(1)通過VC5416芯片的1號(hào)串行通信接口(McBSP1)對OV6620的內(nèi)部寄存器進(jìn)行參數(shù)配置。主要參數(shù)包括:將輸出圖像分辨率設(shè)置為352×288,將輸出圖像幀的速率設(shè)置為25幀/秒,將數(shù)字圖像的輸出格式設(shè)置為YUV分量4:2:2格式。

(2)將OV6620芯片輸出的圖像數(shù)據(jù)利用JPEG算法進(jìn)行數(shù)字圖像壓縮。在本設(shè)計(jì)中采用一種改進(jìn)的JPEG算法[4]。將二維DCT變換分解成兩次一維快速DCT變換。對8×8象素塊的DCT變換,共需176次乘法和464次加法,比標(biāo)準(zhǔn)DCT算法的1024次乘法和896次加法在運(yùn)算速度上有極大提高。

(3)VC5416芯片通過與NetMCU模塊相連的0號(hào)串行通信接口(Mc BAP0),接收改變傳輸圖像的分辨率、幀速、曝光時(shí)間等參數(shù)的命令,并及時(shí)調(diào)整OV6620芯片的內(nèi)部寄存器參數(shù)。

OV6620芯片和VC5416芯片之間存在大量的數(shù)據(jù)傳輸,因此在系統(tǒng)中采用一片ALTERA公司的FPGA(FLEX10K20)芯片作為數(shù)據(jù)傳輸接口,代替VC5416芯片管理外部數(shù)據(jù)存儲(chǔ)區(qū)。在FPGA芯片中集成了一個(gè)512×16bits的FIFO和一個(gè)存儲(chǔ)控制器。通過OV6620芯片輸出的圖像象素移位脈沖和圖像的行、場同步脈沖的控制,將原始圖像數(shù)據(jù)存入FIFO中。由于JPEG圖像壓縮以8×8象素塊基本運(yùn)算單位,需要存儲(chǔ)控制器將FIFO中以行順序輸入的原始圖像數(shù)據(jù)進(jìn)行存儲(chǔ)地址調(diào)整,變換成按8×8像素塊順序存入外部數(shù)據(jù)存儲(chǔ)區(qū)。同時(shí),由于受VC5416芯片的外部數(shù)據(jù)存儲(chǔ)區(qū)容量的限制,存儲(chǔ)控制器將一幀原始圖像數(shù)據(jù)分成上下兩個(gè)半?yún)^(qū),各占用一個(gè)64KB地址空間。當(dāng)VC5416芯片讀數(shù)據(jù)時(shí),存儲(chǔ)控制器會(huì)自動(dòng)在這兩個(gè)半?yún)^(qū)之間切換,使得DSP芯片能夠處理一幀圖像。

2 NetMCU模塊

2.1 芯片介紹

本系統(tǒng)采用三星公司的[3]芯片作為主控制器。芯片內(nèi)部結(jié)構(gòu)見圖3。芯片集成了公司的32位精簡指令集處理器ARM7TDMI核。ARM7TDMI核采用馮·諾依曼體系結(jié)構(gòu),使用單-32位總線傳送指令和數(shù)據(jù),使用三級(jí)流水線操作以提高處理器執(zhí)行速度。ARM7TDMI核可以使用兩種指令集:一種是32位指令集;一種是16位Thumb指令集。Thumb指令集是指令集的子集,但它能提供比16位體系結(jié)構(gòu)更高的性能、比32位體系結(jié)構(gòu)更高的代碼密度。因此,Thumb指令集使ARM7TDMI核非常適合有存儲(chǔ)器寬度和代碼密度限制的嵌入式場合。 芯片的存儲(chǔ)空間最大可達(dá)16M×32bits(包括程序存儲(chǔ)區(qū)、數(shù)據(jù)存儲(chǔ)區(qū)和I/O設(shè)備區(qū)),它內(nèi)部集成了一個(gè)存儲(chǔ)控制器,具有自動(dòng)刷新存儲(chǔ)區(qū)數(shù)據(jù)和自動(dòng)插入可編程等待周期的功能,可以支持多種類型的存儲(chǔ)芯片(包括ROM、SRAM、FLASH和DRAM)。在芯片內(nèi)部還集成有8K×8bits的指令/數(shù)據(jù)Cache,采用pseudo-LRU(Least Recently Used)算法,大大提高了芯片的性能。


上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉