一種新穎的多媒體SoC芯片--Virgine G2
關(guān)鍵詞:嵌入式EISC CPU 圖像加速器 音頻引擎
PC內(nèi)部是由CPU、主板、顯示卡、聲卡等一系列器件組成的,體積大、功耗高。在嵌入式應(yīng)用中對體積和功耗有嚴(yán)格限制,需要一種集CPU、顯示和聲卡于一身的芯片。韓國ADChips公司適時推出了一款內(nèi)嵌32位微處理器的多媒體芯片Virgine G2,使得外部電路的設(shè)計變得非常簡便。
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ī)EISC(Extendable Instruction Set Computer)基于RISC,使用精簡指令集,指令運行為單時鐘周期;但是它融合了CISC的優(yōu)點,即代碼密度非常高。它體積小,功能卻很強(qiáng)大,非常適用于作為嵌入式的MCU。
EISC CPU使用定長的16位指令,操作數(shù)可以靈活擴(kuò)展為16/32/64位,這是通過擴(kuò)展寄存器和擴(kuò)展指令實現(xiàn)的;EISC CPU的程序代碼小,并且向上兼容,16/32/64位EISC CPU的代碼可以通用,方便升級;EISC CPU全部使用C/C++語言進(jìn)行開發(fā)。
1.2 基于3D的2D圖形加速器
芯片的圖像加速器最高工作在90MHz。CRT控制器支持NTSC/PAL及SVGA顯示,還支持和外部電視信號的疊加,每行最大1024個像素,16bit彩色模式;支持紋理和實時貼圖、透明和α(半透明)變換、圖像旋轉(zhuǎn)和放大/縮小等,如圖2所示。
貼圖性能:每秒處理580個對象。(測試條件:80MHz工作頻率下,320×240顯示模式,256×256的紋理尺寸。)
最大外接視頻存儲器(frame memory):8MB DRAM,最大外接紋理存儲器(texture memory):8MB DRAM。
貼圖原理與Windows的DirectX兼容,簡介如下:
①在texture memory中(0X3800000~0X381FFFF) 有128KB的隊列,用于發(fā)出貼圖命令包。用戶開始將圖片(可支持BMP的各種格式)放在texture memory中的剩余空間(稍小于8MB)。
②每一個命令包有64B,因此共有2048個命令包,并且構(gòu)成循環(huán)隊列。
③在frame momory中有前后緩沖區(qū),用戶設(shè)置即即可。
④貼圖的過程為:a.命令包1,2,3,4,5,……,將圖片貼在后緩沖區(qū)中,可以有覆蓋、透明、半透明方式,并可以縮放和旋轉(zhuǎn),由圖像加速器自己合成一張整幅圖像,這時并不顯示。b.執(zhí)行一條FLIP指令,前后緩沖區(qū)交換,圖像顯示出來,之前發(fā)出的命令包被舍棄。c.重復(fù)過程a,b,……,可實現(xiàn)動畫的播放,過程與Windows的DirectX兼容,熟悉Windows動畫的人使用起Virgine G2來非常方便。
1.3 音頻引擎
Virgine G2支持8/16位最大44.1kHz的PCM格式的聲音,在Windows中即為Wav文件。聲音播放原理如下:
①有32個通道可以同時播放。對應(yīng)32個寄存器組(分布在0x4800000~0x48003ff中),指明聲音的地址,播放方式。
②聲音數(shù)據(jù)一般放在frame memory或texture memory中除了圖像外的剩余空間,最大可用4MB。
③播放長聲音文件時可以采用中斷方式分段放。
④每一個通道可以分別設(shè)置左右聲道的音量,用2個通道就可以播放立體聲,即一個通道播放左聲道,另一個通道同時播放右聲道。
⑤每個通道可以設(shè)置音效,如回聲、混響、panning等等。
1.4 其余外設(shè)
Virgine G2可大大簡化外部電路的設(shè)計。它含有32個3.3/5V兼容的I/O口、DRAM控制器、2路DMA、4路定時器、2路串行通信器、看門狗、中斷控制器、PWM、PPM(脈寬測量)、2路光筆接口等,并內(nèi)建RAM DAC(直接輸出R、G、B信號,該芯片也可以輸出R、G、B數(shù)字量信號)和PLL電路(外部晶振只用14.318MHz)。
由于圖像加速器和音頻引擎是獨立工作的,CPU只負(fù)責(zé)對它們的控制,因此CPU在空閑的時間里還可以處理其它任務(wù),如JPEG、MP3、MPEG-1以及其它測量控制任務(wù)等等。
1.5 開發(fā)手段
采用Windows下的VIDE集成環(huán)境,使用C/C++語言,調(diào)用該公司提供的圖形/聲音庫即可。
仿真是采用在用戶目標(biāo)板上內(nèi)建仿真器的方案,即在目標(biāo)板上運行一個監(jiān)控程序,用一個串口和PC機(jī)通信,就可以在PC機(jī)上調(diào)試應(yīng)用程序。
2 應(yīng)用介紹
下面以射擊/射箭運動模擬器為例介紹Virgine G2的應(yīng)用,如圖3所示。系統(tǒng)方框如圖4所示。
在射擊/射箭運動中,用模擬搶上的光筆或箭靶上的傳感器來產(chǎn)生得分的原始數(shù)據(jù),Virgine G2收到這些數(shù)據(jù)后將其變換成分值顯示在電視或顯示器上,同時播放效果聲音。傳統(tǒng)的設(shè)計是用PC機(jī)加上顯示卡、聲卡來實現(xiàn)。采用Virgine G2后,可以省去PC機(jī),減少了體積,降低成本。
除了娛樂方面的應(yīng)用外,Virgine G2還可以應(yīng)用于嵌入式MIDI、Flash動畫播放器、高檔儀器儀表的人機(jī)接口等等。