一種新穎的多媒體SoC芯片--Virgine G2
來源:?jiǎn)纹瑱C(jī)及嵌入式系統(tǒng)應(yīng)用 作者:曾 煜 摘要:韓國(guó)adchips公司推出的內(nèi)嵌32位微處理器的多媒體芯片virgine g2,集視頻、音頻處理為一身,內(nèi)部包括1個(gè)基于三維圖形算法的二維圖形加速器,還嵌入了1個(gè)32通道的8/16位音頻引擎,以及視頻dac、dram控制器、dram控制器、dma、定時(shí)器、雙串口等多種外設(shè)。本文就韓國(guó)adchips公司的多媒體處理芯片virgine g2的結(jié)構(gòu)和使用的方便性作一些分析。 關(guān)鍵詞:嵌入式eisc cpu 圖像加速器 音頻引擎pc內(nèi)部是由cpu、主板、顯示卡、聲卡等一系列器件組成的,體積大、功耗高。在嵌入式應(yīng)用中對(duì)體積和功耗有嚴(yán)格限制,需要一種集cpu、顯示和聲卡于一身的芯片。韓國(guó)adchips公司適時(shí)推出了一款內(nèi)嵌32位微處理器的多媒體芯片virgine g2,使得外部電路的設(shè)計(jì)變得非常簡(jiǎn)便。1 芯片結(jié)構(gòu) 芯片的結(jié)構(gòu)如圖1所示,主要由cpu、2d圖像加速器、音頻引擎及周邊外設(shè)組成。 1.1 32位微處理器eisc se3208 virgine g2芯片中內(nèi)嵌的eisc cpu--se3208是該公司自主版權(quán)的32位cpu,內(nèi)含2路4kb的cache,最大頻率為45mhz。 可擴(kuò)展的指令集計(jì)算機(jī)eisc(extendable instruction set computer)基于risc,使用精簡(jiǎn)指令集,指令運(yùn)行為單時(shí)鐘周期;但是它融合了cisc的優(yōu)點(diǎn),即代碼密度非常高。它體積小,功能卻很強(qiáng)大,非常適用于作為嵌入式的mcu。 eisc cpu使用定長(zhǎng)的16位指令,操作數(shù)可以靈活擴(kuò)展為16/32/64位,這是通過擴(kuò)展寄存器和擴(kuò)展指令實(shí)現(xiàn)的;eisc cpu的程序代碼小,并且向上兼容,16/32/64位eisc cpu的代碼可以通用,方便升級(jí);eisc cpu全部使用c/c++語言進(jìn)行開發(fā)。 1.2 基于3d的2d圖形加速器 芯片的圖像加速器最高工作在90mhz。crt控制器支持ntsc/pal及svga顯示,還支持和外部電視信號(hào)的疊加,每行最大1024個(gè)像素,16bit彩色模式;支持紋理和實(shí)時(shí)貼圖、透明和α(半透明)變換、圖像旋轉(zhuǎn)和放大/縮小等,如圖2所示。 貼圖性能:每秒處理580個(gè)對(duì)象。(測(cè)試條件:80mhz工作頻率下,320×240顯示模式,256×256的紋理尺寸。) 最大外接視頻存儲(chǔ)器(frame memory):8mb dram,最大外接紋理存儲(chǔ)器(texture memory):8mb dram。貼圖原理與windows的directx兼容,簡(jiǎn)介如下: ①在texture memory中(0x3800000~0x381ffff) 有128kb的隊(duì)列,用于發(fā)出貼圖命令包。用戶開始將圖片(可支持bmp的各種格式)放在texture memory中的剩余空間(稍小于8mb)。 ②每一個(gè)命令包有64b,因此共有2048個(gè)命令包,并且構(gòu)成循環(huán)隊(duì)列。 ③在frame momory中有前后緩沖區(qū),用戶設(shè)置即即可。 ④貼圖的過程為:a.命令包1,2,3,4,5,……,將圖片貼在后緩沖區(qū)中,可以有覆蓋、透明、半透明方式,并可以縮放和旋轉(zhuǎn),由圖像加速器自己合成一張整幅圖像,這時(shí)并不顯示。b.執(zhí)行一條flip指令,前后緩沖區(qū)交換,圖像顯示出來,之前發(fā)出的命令包被舍棄。c.重復(fù)過程a,b,……,可實(shí)現(xiàn)動(dòng)畫的播放,過程與windows的directx兼容,熟悉windows動(dòng)畫的人使用起virgine g2來非常方便。 1.3 音頻引擎 virgine g2支持8/16位最大44.1khz的pcm格式的聲音,在windows中即為wav文件。聲音播放原理如下: ①有32個(gè)通道可以同時(shí)播放。對(duì)應(yīng)32個(gè)寄存器組(分布在0x4800000~0x48003ff中),指明聲音的地址,播放方式。 ②聲音數(shù)據(jù)一般放在frame memory或texture memory中除了圖像外的剩余空間,最大可用4mb。 ③播放長(zhǎng)聲音文件時(shí)可以采用中斷方式分段放。 ④每一個(gè)通道可以分別設(shè)置左右聲道的音量,用2個(gè)通道就可以播放立體聲,即一個(gè)通道播放左聲道,另一個(gè)通道同時(shí)播放右聲道。 ⑤每個(gè)通道可以設(shè)置音效,如回聲、混響、panning等等。 1.4 其余外設(shè) virgine g2可大大簡(jiǎn)化外部電路的設(shè)計(jì)。它含有32個(gè)3.3/5v兼容的i/o口、dram控制器、2路dma、4路定時(shí)器、2路串行通信器、看門狗、中斷控制器、pwm、ppm(脈寬測(cè)量)、2路光筆接口等,并內(nèi)建ram dac(直接輸出r、g、b信號(hào),該芯片也可以輸出r、g、b數(shù)字量信號(hào))和pll電路(外部晶振只用14.318mhz)。 由于圖像加速器和音頻引擎是獨(dú)立工作的,cpu只負(fù)責(zé)對(duì)它們的控制,因此cpu在空閑的時(shí)間里還可以處理其它任務(wù),如jpeg、mp3、mpeg-1以及其它測(cè)量控制任務(wù)等等。 1.5 開發(fā)手段<