<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 一種新穎的多媒體SoC芯片--Virgine G2

          一種新穎的多媒體SoC芯片--Virgine G2

          作者: 時(shí)間:2004-12-11 來源:網(wǎng)絡(luò) 收藏
          摘要:韓國ADChips公司推出的內(nèi)嵌32位微處理器的Virgine ,集視頻、音頻處理為一身,內(nèi)部包括1個(gè)基于三維圖形算法的二維圖形加速器,還嵌入了1個(gè)32通道的8/16位音頻引擎,以及視頻DAC、DRAM控制器、DRAM控制器、DMA、定時(shí)器、雙串口等多種外設(shè)。本文就韓國ADChips公司的處理Virgine 的結(jié)構(gòu)和使用的方便性作一些分析。

          關(guān)鍵詞:嵌入式EISC CPU 圖像加速器 音頻引擎

          PC內(nèi)部是由CPU、主板、顯示卡、聲卡等一系列器件組成的,體積大、功耗高。在嵌入式應(yīng)用中對(duì)體積和功耗有嚴(yán)格限制,需要一種集CPU、顯示和聲卡于一身的。韓國ADChips公司適時(shí)推出了一款內(nèi)嵌32位微處理器的芯片Virgine ,使得外部電路的設(shè)計(jì)變得非常簡便。

          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,使用精簡指令集,指令運(yùn)行為單時(shí)鐘周期;但是它融合了CISC的優(yōu)點(diǎn),即代碼密度非常高。它體積小,功能卻很強(qiáng)大,非常適用于作為嵌入式的MCU。

          EISC CPU使用定長的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工作頻率下,320240顯示模式,256256的紋理尺寸。)

          最大外接視頻存儲(chǔ)器(frame memory):8MB DRAM,最大外接紋理存儲(chǔ)器(texture memory):8MB DRAM。

          貼圖原理與Windows的DirectX兼容,簡介如下:

          ①在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。

          ③播放長聲音文件時(shí)可以采用中斷方式分段放。

          ④每一個(gè)通道可以分別設(shè)置左右聲道的音量,用2個(gè)通道就可以播放立體聲,即一個(gè)通道播放左聲道,另一個(gè)通道同時(shí)播放右聲道。

          ⑤每個(gè)通道可以設(shè)置音效,如回聲、混響、panning等等。

          1.4 其余外設(shè)

          Virgine G2可大大簡化外部電路的設(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ā)手段

          采用Windows下的VIDE集成環(huán)境,使用C/C++語言,調(diào)用該公司提供的圖形/聲音庫即可。

          仿真是采用在用戶目標(biāo)板上內(nèi)建仿真器的方案,即在目標(biāo)板上運(yùn)行一個(gè)監(jiān)控程序,用一個(gè)串口和PC機(jī)通信,就可以在PC機(jī)上調(diào)試應(yīng)用程序。

          2 應(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)。采用Virgine G2后,可以省去PC機(jī),減少了體積,降低成本。

          除了娛樂方面的應(yīng)用外,Virgine G2還可以應(yīng)用于嵌入式MIDI、Flash動(dòng)畫播放器、高檔儀器儀表的人機(jī)接口等等。

          c++相關(guān)文章:c++教程




          關(guān)鍵詞: --Virgine G2 芯片 SoC 多媒體 新穎

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();