和弦芯片C520的结构与典型应用

2023-05-14 193浏览

摘要:

手机中的MIDI和弦音乐是通过内置高集成度的和弦

芯片

播放MIDI音乐文件来实现的。和弦芯片一般采用波形表合成法。上海智多微公司的C520专门用于为手机提供清脆逼真的音乐铃声和丰富的游戏音效。三星的RISC芯片

S3C4510B

用来控制C520实现和弦音乐的播放。文中给出C520的特点、工作原理及其内部结构,详细的电路原理图和播放MIDI音乐文件的软件流程。可作为移动产品和弦音乐开发的应用参考。

关键词:

和弦芯片C520S3C4510BMIDI

1和弦铃声概述

  和弦原来是乐理上的一个概念,指的是按照三度关系叠置起来的三个或三个以上的音的结合;而在音频器材的工业设计领域中,和弦指的是多个音源同时发音,也叫复音、多音(polyphony)。和弦铃声在手机中得到了广泛的应用,它的音色饱满圆润,立体感强,已经全面取代了以往的单音铃声。目前和弦铃声文件格式有多种,如MIDI、MMF、AMR、MP3、IMY等,其中MIDI是目前支持度*高的铃音文件格式,它的文件占用空间小,表现力强,几乎已经成为目前和弦铃声手机的标准配置。

  手机中的MIDI和弦音乐是通过内置高集成度的和弦芯片播放MIDI音乐文件来实现的。和弦芯片使用的声音合成和音色调用方式决定了铃声的播放效果。早期的FM(FrequencyModulation)合成法将多个频率的单音组成复合音来模拟各种乐器的声音,产生的声音音色少、音质差。另一种是波形表(wavetable)合成法。这种方法是先把各种真正乐器的音乐录制下来再进行合成处理,音色好,音域广。根据波表产生方式的不同分为软件和弦和硬件和弦两种。软件和弦比硬件和弦节省系统开销,更容易集成到移动设备上。

  目前手机市场有多种和弦控制芯片,使用较多的有日本的Yamaha,我国台湾的华邦和旺宏、大陆的中星微和智多微。各个公司的和弦芯片都有自己的特点,其中智多微的C520能够支持民族乐器播放,所以选用C520作和弦音乐控制。

2C520和弦芯片

  C520是上海智多微电子有限公司的一款和弦芯片,专门用于为手机提供清脆逼真的音乐铃声和丰富游戏音效。该芯片集成了64和弦、16音色波表和21首中国民乐,具有3D立体声环绕增效的MIDI合成器、MIDIGM预置ROM、16位高性能音频数模转换器和2/4位

AD

PCM解码器等功能。

2.1芯片特点

  相对于市场上的其他手机和弦芯片,C520具有以下几个特点:

  ①能够通过片上的音乐合成器对输入MIDI信号合成,或者通过ADPCM解调器对输入的ADPCM信号解调,然后通过内置的DAC输出波形。

  ②集成了高质量的MIDIGM音色库,容量高达3Mb;提供GM音色库之外的民族乐器音色库,支持二胡、古筝、琵琶等20多种民族乐器;支持多音色和复音——*多同时支持16个音色和64复音。

  ③具有多个功能端口,可支持手机振动驱动及LCD背光驱动,可用于播放音乐同步的PWM来控制七彩灯。

  ④与主控端的接口可以是并行接口或者串行接口;允许芯片工作于DAC输入模式,接受兼容通用串行DAC数据格式的输入数据;片内集成不同输入数据的FIFO;待机模式下典型工作电流小于50μA。

2.2功能单元

  整个芯片由IOU(I/O接口单元)、SG(音乐合成器)、ADEC(ADPCM解调器)、TG(时钟模块)和ANALOG(逻辑)模块组成。

  IOU完成与外部CPU的接口,控制内部的FIFO以及芯片其他功能接口;形成音乐的MIDI数据以及外部CPU对芯片的控制命令也是通过IOU中的

寄存器

送出。SG模块从IOU的FIFO中取的MIDI数据,采用波表合成的方式合成音乐。

AD

EC接收经过压缩的PCM数据,根据相应的控制信号进行解码,将解码后的16位PCM码输出至SG的DSP单元。TG对输入时钟倍频以及产生内部时钟。ANALOG包括一个DAC和对DAC的输出信号进行低通滤波以及功率放大的AMP。C520芯片内部结构如图1所示。

3应用

3.1典型电路

  控制CPU选用三星公司的32位RISC芯片S3C4510B。该芯片是专为嵌入式以太网应用开发的,内核为ARM7TDMI,支持高代码密度的THUMB指令集,适用于对价格及功耗敏感的应用场合。

                图1C520内部结构框图

  

                图2典型应用电路

  C520与S3C4510B可以是并行接口或者串行接口,但是并行接口比串行接口数据传输速度快,因此在本设计中采用并行接口。芯片应用电路如图2所示。

  在这个电路中,C520的CS_N用S3C4510B的I/OP0进行控制。其实如果在片选信号线够用的情况下,可选择S3C4510B中ROM/SRAM/Flash片选信号Nrcs[5∶0]中的任何一根信号线,这样可以节省1根GPIO;同理,如果不想再控制C520复位,可以将其复位信号与S3C4510B的复位线nRESET相连,这样S3C4510B与C520将在上电时同时复位;C520PD脚是低功耗状态控制引脚,“1”为正常工作状态,“0”为进入低功耗状态;C520IRQ脚为中断输出脚,其可连接S3C4510B的外部中断请求信号脚XINTREQ[0]。

3.2芯片初始化

  C520的初始化工作非常简单,包括:

  ①根据外部时钟设置PLL分频比。PLL分频比由寄存器CLOCK(read:10h/write:11h)和寄存器MasterClock(read:18h/write:19h)共同决定。内部时钟频率fsys=fclock·(DN+1)/(DM+1)。其中DM为寄存器CLOCK[4∶0],DN为寄存器Masterclocktuning[5∶0],fclock是外部输入时钟,内部系统时钟频率fsys必须定在48MHz~50MHz之间。

  ②打开模拟模块,向寄存器AnalogPowerDown(read:66h/write:67h)的bit3写0。

  ③设置AnalogSelect,根据

寄存器

AnalogSelect(read:60h/write:61h)选择模拟功能。

3.3播放MIDI音乐文件

  C520可以播放MIDIFORMAT0和MMD格式的MIDI文件。

  MIDIFORMAT0文件开头4字节数据ASCII值为“MThd”,MMD文件开头4字节数据ASCII值为“MMhd”。ARM发送这两种格式的MIDI数据过程不同,在发送前根据文件开头4字节数据进行区分。

  发送MIDIFORMAT0格式的MIDI文件,文件中的所有数据都要发送。

  MMD格式的文件,可分为四块,每块的开头都有8字节的头数据部分。第1块头数据部分前4字节的ASCII码值是“MMhd”,第2块头数据部分前4字节的ASCII码值是“MMly”,第3块头数据部分前4字节的ASCII码值是“MMdd”。第4块头数据部分前4字节的ASCII码值是“MMex”。每一块头数据的第5、6、7、8字节是这块数据的长度(不包括头数据),第5字节是低字节位,第8字节是高字节位,这4个字节组成的十六进制数据加上头数据长度8,就是这块数据的长度。MMdd块数据的头数据后面就是经过压缩的MIDI数据;MMly块数据是用于卡拉OK的专用数据,播放MIDI时无须发送该块;Mmex为扩展块。

          

                图3播放MIDI文件流程

  向C520发送MMD格式的MIDI数据时,先发送MMhd块,接着发送MMdd块的MIDI数据部分(即该块中除块名及块长度的部分),而MMly块不用发送。

  图3为播放MIDI文件流程。

结语

  本文介绍了智多微公司的手机和弦芯片C520,给出了其原理及内部结构图。采用三星的RISC芯片

S3C4510B

做控制器,实现了和弦音乐的播放。文中给出了详细的电路原理图和播放MIDI音乐文件的流程,可以作为和弦

芯片

在移动产品上的应用参考。

免责声明

以上信息仅作为转载信息展示,不代表作者任何观点.转载作品均注明出处,本网未注明出处和转载的,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如转载作品侵犯作者署名权,或有其他诸如版权、肖像权、知识产权等方面的伤害,并非本网故意为之,在接到相关权利人通知后将立即加以更正。