关键词:嵌入式EISC CPU 图像加速器 音频引擎
PC内部是由CPU、主板、显示卡、声卡等一系列器件组成的,体积大、功耗高。在嵌入式应用中对体积和功耗有严格限制,需要一种集CPU、显示和声卡于一身的芯片。韩国ADChips公司适时推出了一款内嵌32位微处理器的多媒体芯片Virgine G2,使得外部电路的设计变得非常简便。
1 芯片结构
芯片的结构如图1所示,主要由CPU、2D图像加速器、音频引擎及周边外设组成。
1.1 32位微处理器EISC SE3208
Virgine G2芯片中内嵌的EISC CPU--SE3208是该公司自主版权的32位CPU,内含2路4KB的Cache,最大频率为45MHz。
可扩展的指令集计算机EISC(Extendable Instruction Set Computer)基于RISC,使用精简指令集,指令运行为单时钟周期;但是它融合了CISC的优点,即代码密度非常高。它体积小,功能却很强大,非常适用于作为嵌入式的MCU。
EISC CPU使用定长的16位指令,操作数可以灵活扩展为16/32/64位,这是通过扩展寄存器和扩展指令实现的;EISC CPU的程序代码小,并且向上兼容,16/32/64位EISC CPU的代码可以通用,方便升级;EISC CPU全部使用C/C++语言进行开发。
1.2 基于3D的2D图形加速器
芯片的图像加速器最高工作在90MHz。CRT控制器支持NTSC/PAL及SVGA显示,还支持和外部电视信号的叠加,每行最大1024个像素,16bit彩色模式;支持纹理和实时贴图、透明和α(半透明)变换、图像旋转和放大/缩小等,如图2所示。
贴图性能:每秒处理580个对象。(测试条件:80MHz工作频率下,320×240显示模式,256×256的纹理尺寸。)
最大外接视频存储器(frame memory):8MB DRAM,最大外接纹理存储器(texture memory):8MB DRAM。
贴图原理与Windows的DirectX兼容,简介如下:
①在texture memory中(0X3800000~0X381FFFF) 有128KB的队列,用于发出贴图命令包。用户开始将图片(可支持BMP的各种格式)放在texture memory中的剩余空间(稍小于8MB)。
②每一个命令包有64B,因此共有2048个命令包,并且构成循环队列。
③在frame momory中有前后缓冲区,用户设置即即可。
④贴图的过程为:a.命令包1,2,3,4,5,……,将图片贴在后缓冲区中,可以有覆盖、透明、半透明方式,并可以缩放和旋转,由图像加速器自己合成一张整幅图像,这时并不显示。b.执行一条FLIP指令,前后缓冲区交换,图像显示出来,之前发出的命令包被舍弃。c.重复过程a,b,……,可实现动画的播放,过程与Windows的DirectX兼容,熟悉Windows动画的人使用起Virgine G2来非常方便。
1.3 音频引擎
Virgine G2支持8/16位最大44.1kHz的PCM格式的声音,在Windows中即为Wav文件。声音播放原理如下:
①有32个通道可以同时播放。对应32个寄存器组(分布在0x4800000~0x48003ff中),指明声音的地址,播放方式。
②声音数据一般放在frame memory或texture memory中除了图像外的剩余空间,最大可用4MB。
③播放长声音文件时可以采用中断方式分段放。
④每一个通道可以分别设置左右声道的音量,用2个通道就可以播放立体声,即一个通道播放左声道,另一个通道同时播放右声道。
⑤每个通道可以设置音效,如回声、混响、panning等等。
1.4 其余外设
Virgine G2可大大简化外部电路的设计。它含有32个3.3/5V兼容的I/O口、DRAM控制器、2路DMA、4路定时器、2路串行通信器、看门狗、中断控制器、PWM、PPM(脉宽测量)、2路光笔接口等,并内建RAM DAC(直接输出R、G、B信号,该芯片也可以输出R、G、B数字量信号)和PLL电路(外部晶振只用14.318MHz)。
由于图像加速器和音频引擎是独立工作的,CPU只负责对它们的控制,因此CPU在空闲的时间里还可以处理其它任务,如JPEG、MP3、MPEG-1以及其它测量控制任务等等。
1.5 开发手段
采用Windows下的VIDE集成环境,使用C/C++语言,调用该公司提供的图形/声音库即可。
仿真是采用在用户目标板上内建仿真器的方案,即在目标板上运行一个监控程序,用一个串口和PC机通信,就可以在PC机上调试应用程序。
2 应用介绍
下面以射击/射箭运动模拟器为例介绍Virgine G2的应用,如图3所示。系统方框如图4所示。
在射击/射箭运动中,用模拟抢上的光笔或箭靶上的传感器来产生得分的原始数据,Virgine G2收到这些数据后将其变换成分值显示在电视或显示器上,同时播放效果声音。传统的设计是用PC机加上显示卡、声卡来实现。采用Virgine G2后,可以省去PC机,减少了体积,降低成本。
除了娱乐方面的应用外,Virgine G2还可以应用于嵌入式MIDI、Flash动画播放器、高档仪器仪表的人机接口等等。