一種新穎的多媒體SoC芯片—Virgine G2
芯片的結(jié)構(gòu)
芯片的結(jié)構(gòu)如圖1所示,主要由CPU、2D圖象加速器、音頻引擎及周邊外設(shè)組成。
32位微處理器EISC SE3208
Virgine G2芯片中內(nèi)嵌的EISC CPU:SE3208是該公司自主版權(quán)的32位CPU,內(nèi)含2路4Kbyte的Cache,最大頻率為45MHz。
EISC(可擴(kuò)展的指令集的計(jì)算),基于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ā)。
基于3D的2D圖形加速器
Virgine G2芯片的圖象加速器最高工作頻率為90MHz。
其CRT控制器支持NTSC/PAL及SVGA顯示,還支持和外部電視信號(hào)的疊加,每行最大1024個(gè)像素,16 bit彩色模式,支持紋理和實(shí)時(shí)貼圖、透明和a(半透明)變換、圖像旋轉(zhuǎn)和放大/縮小等等(見圖2)。
貼圖性能:每秒處理580個(gè)對(duì)象(測(cè)試條件是:80MHz工作頻率下,320×240顯示模式,256×256的紋理尺寸)。
最大外接視頻存儲(chǔ)器即frame memory:8M byte DRAM,最大外接紋理存儲(chǔ)器即texture memory:8M byte DRAM。因?yàn)镈RAM的控制器已經(jīng)被做在Virgine G2 內(nèi)部,所以和DRAM芯片的接口很簡(jiǎn)單。
貼圖原理與WINDOWS的DirectX兼容,簡(jiǎn)介如下:
*在texture memory中(0X3800000 ---0X381FFFF)有128K byte的隊(duì)列,用于發(fā)出貼圖命令包。用戶開始將圖片(可支持BMP的各種格式)放在texture memory中的剩余空間(稍小于8M byte)
*每一個(gè)命令包有64 byte,因此共有2048個(gè)命令包,并且構(gòu)成循環(huán)隊(duì)列。
*在frame memory中有前后緩沖區(qū),用戶設(shè)置好就不用管了。
*貼圖的過程如下:
① 命令包1,2,3,4,5……,將圖片貼在后緩沖區(qū)中,可以有覆蓋、透明、半透明方式,并可以縮放和旋轉(zhuǎn),由圖象加速器自己合成一張整幅圖象,這時(shí)并不顯示。
② 執(zhí)行一條 FLIP 指令,前后緩沖區(qū)交換,圖象顯示出來,之前發(fā)出的命令包被舍棄。
③ 重復(fù)過程①和②,這樣就可以實(shí)現(xiàn)動(dòng)畫的播放。該過程與WINDOWS的DirectX兼容,熟悉WINDOWS動(dòng)畫的人使用起Virgine G2來非常方便。
音頻引擎
Virgine G2支持8/16位最大44.1K Hz 的PCM格式的聲音,在WINDOWS中即為Wav文件。聲音播放原理如下:
*有32個(gè)通道可以同時(shí)播放。對(duì)應(yīng)32個(gè)寄存器組(分布在0x4800000-0x48003ff中),指明聲音的地址,播放方式。
*聲音數(shù)據(jù)一般放在frame memory或texture memory中除了圖象外的剩余空間,最大可用4M byte。
*播放長(zhǎng)的聲音文件時(shí)可以采用中斷方式分段放。
*每一個(gè)通道可以分別設(shè)置左右聲道的音量,用2個(gè)通道就可以播放立體聲,即一個(gè)通道播放左聲道,另一個(gè)通道同時(shí)播放右聲道。
*每個(gè)通道可以設(shè)置音效,如回聲、混響、panning等等。
其余外設(shè)
作為SoC芯片,Virgine G2 將可能用到的外設(shè)盡量做在芯片內(nèi)部,大大簡(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ù)等等。
開發(fā)手段
采用WINDOWS下的VIDE集成環(huán)境,使用C/C++語言,調(diào)用該公司提供的圖形/聲音庫(kù)即可。
仿真是采用在用戶目標(biāo)板上內(nèi)建仿真器的方案,即在目標(biāo)板上運(yùn)行一個(gè)監(jiān)控程序,用一個(gè)串口和PC機(jī)通訊,就可以在PC機(jī)上調(diào)試應(yīng)用程序。
應(yīng)用介紹
下面以射擊/射箭運(yùn)動(dòng)模擬器為例介紹Virgine G2的應(yīng)用,如圖3所示。系統(tǒng)方框圖如圖4所示。
在射擊/射箭運(yùn)動(dòng)中,用模擬槍上的光筆或箭靶上的傳感器來產(chǎn)生得分的原始數(shù)據(jù),Virgine G2收到這些數(shù)據(jù)后將其變換成分值顯示在電視或顯示器上,同時(shí)播放效果聲音。傳統(tǒng)的設(shè)計(jì)是用PC機(jī)加上顯示卡、聲卡來實(shí)現(xiàn),體積較大、造價(jià)高。采用Virgine G2后,可以省去PC機(jī),減少了體積,降低成本。
除了在娛樂方面的應(yīng)用外,Virgine G2還可以應(yīng)用于嵌入式MIDI、FLASH動(dòng)畫播放器、高檔儀器儀表的人機(jī)接口等等。■
參考文獻(xiàn):
1. Virgine G2 datasheet, ADChips Co.,Ltd. 2001.
圖1 Virgine G2
圖2 旋轉(zhuǎn)
注:從texture memory中,可以剪切圖片的部分區(qū)域貼到屏幕上,并可以旋轉(zhuǎn)和縮放。
圖3 打靶
圖4 系統(tǒng)方框圖
評(píng)論