关键词:W536芯片,电子玩具芯片,多媒体
目前,很多的益智玩具设计既要有液晶(LCD)显示,又要有扬声器播放语音及音乐。用一般芯片(如8051或通用DSP)实现上述要求,需要外接LCD显示接口电路及扬声器驱动电路,外围电路复杂,编程难度较大,放音的质量难以控制。
本文介绍了一种利用***Winbond公司的W536芯片构成的多媒体电子玩具电路的设计及实现方法,该芯片可直接驱动LCD显示,内置语音MDPCM(Modified Difference Pulse Code Modulation)编解码电路,可通过程序控制语音的播放,并具有耗电少、大屏幕显示、音质清晰、使用方便、开发周期短等优点,很适于多媒体电子玩具芯片系统的开发。
1 W536芯片简介
W536芯片的结构框图如图1所示,除具有普通4位微处理器的所有功能之外,还内置了LCD接口,可以直接驱动LCD显示;有20KB~160KB编程空间(程序ROM);带有MDPCM语音编解码电路和音乐功能(内置最大4Mbits语音ROM),并且可以混和输出语音和MIDI(乐器数字界面)音乐。该芯片根据驱动LCD点阵列的大小分为T、A、K和P四个系列,每一个系列按存储语音内存大小又分成W536030、W536060、W536090和W536120四种型号。
本设计采用W536060K芯片,其最大驱动40×8液晶显示,程序ROM为40KB,通用RAM为1KNibble(1 Nibble=4 bits),LCDRAM为80 Nibble,语音ROM为2Mbits。
2 系统组成原理
我们设计的多媒体英语学习电子玩具电路方框图如图2所示。硬件电路主要由W536060K芯片、LCD液晶显示电路、键盘电路和LED指示电路等组成,用户通过键盘阵列与系统进行交互对话,当W536060K芯片检测到键盘阵列的输入信号时,便发出相应的电信号,控制相应的LED指示灯亮,输出图片信息到LCD液晶板,同时控制扬声器播放相应的语音和音乐。由于W536强大的多媒体(语音、音乐、LCD显示驱动)功能,系统的大部分功能通过软件设计来实现,因此,外围电路十分简单,我们最终实现的电路板(按键除外)面积不到40cm2。
W536芯片配备两个编程平台:Pattern Studio和Wide。在Pattern Studio平台利用高效率的Script语言(类C语言)进行开发,简单的一条语句可以播放一段语音或者显示一张图片,因此,很适于开发多媒体应用程序。在Wide平台编写ASM程序,除此之外,系统通过它与开发板结合进行仿真和在线调试。在程序结构上,采用了Script语言和ASM语言混合编程。
系统的软件设计包含ASM程序设计和Script程序设计两部分。ASM程序主要是语音和音乐播放程序、字母和数字的动画书写程序、睡眠模式的唤醒程序、LED指示程序和键盘扫描程序等。Script程序主要包括5大功能模块,分别为字母学习、单词学习、数字学习、音乐娱乐和益智游戏,其中每一项大功能模块又划分为4个子功能,总共构成20个子功能模块。Script语言和ASM语音协调工作,其功能结构框图如图3所示。
3.2 语音和音乐播放
W536芯片可以输出音质好的语音和双音调的音乐。语音经过MDPCM压缩编码存储在语音ROM中,语音控制器控制语音的播放和暂停。音乐以MIDI格式保存在音乐ROM中,在播放音乐时经双音调控制器将其转换成数字音乐,驱动扬声器播放音乐。
语音文件(Wav格式)经相关工具编辑和处理之后,存储到芯片的语音ROM中,W536芯片提供编号寄存器(SPCH,SPCL)和特殊寄存器(Flag)来访问语音控制器。编号寄存器用来标志访问的语音地址,Flag0.0(Flag寄存器的第一位)是使能寄存器,可控制语音的播放,Flag0.2(Flag寄存器的第三位)则是反映当前语音控制器的状态。语音播放具体操作如下:
音乐播放原理同语音播放类似,在此不再赘述。
3.3 LCD转换显示
W536芯片在控制LCD显示时,只需把要显示的图片信息存储在LCDRAM,显示则由LCD驱动器自动完成,它会自动地从LCDRAM中读取图片信息,并且根据LCDRAM的值将相应的图片显示在LCD液晶上。W536060K最大提供40×8=320点显示,每一点占用一位随机存储空间,LCDRAM的地址为1:200H~1:24FH。由于我们设计的系统采用16×16点的液晶显示,与40×8的液晶驱动不吻合,因此,不能直接使用536060K的液晶驱动电路。我们巧妙地设计了一种方案,可以不用外接任何其他的转换电路而直接利用32×8的液晶点阵来驱动16×16的液晶显示,如图5所示。用W536060K的LCD驱动端口seg0~15和com0~7构成第一块16×8点,seg16~31和com0~7构成第二块16×8点,这样,32×8液晶点阵就可实现驱动16×16的液晶显示。
在W536060K中,图片以位图的形式存储在一种Cast文件(类似BMP格式的一种图形格式)中,最多可存储4000幅图片。由于显示电路的变动,存储的图片也需要作相应的修改,在LCD液晶屏上显示的16×16点位图按照反变换转换成32×8点位图存储。图片制作好之后,显示图片的操作非常简单,只需一条语句即可在液晶上显示存储在Cast文件中的位图。Script语句使用方法如下:
DisplayPicture CAST140 X=2 Y=3→在点(2,3)显示cast文件中的第140幅位图。
ClearScreen→清屏
3.4 字母和数字的动画书写
根据字母和数字正确的书写笔顺,在LCD上以点为单位、时序地显示其笔顺,用此方法来教学龄前儿童学习英语字母及数字的书写。按照前面的叙述,在LCD上显示多媒体图片,只需要给LCDRAM赋值即可。由于动画书写时,时序显示的多媒体图片比较多,所以,我们采用了表结构来存储动画点信息。表结构存储的内容包括LCDRAM的地址和值,以四个Nibble作为一个单元存储一个点的书写显示信息,其中,前三个Nibble存储低中高三位LCDRAM的地址,第四个Nibble存储LCDRAM的值。一张表包含一个字母或数字的所有点的书写信息,在表的末尾加上结束标志位。这里介绍两个重要的指针:lpxy和rp0,分别用于ROM和RAM的寻址,其中,rp0由rp0h/rp0m/rp0l组成,分别存储高中低三位地址。动画书写的软件流程如图6所示。
动画书写程序的部分源程序如下:
3.5 睡眠模式的唤醒
W536芯片有两种省电模式,分别为保留模式和睡眠模式。在睡眠模式下,芯片在最小电流(小于10μA)下工作,功耗特别低,以3节干电池供电为例,在此模式下可以持续工作一个月。为充分利用睡眠模式的省电特点,系统在运行期间,若一段时间之内(例如3分钟)没有进行任何操作,则自动进入睡眠模式。主要程序如下:
set scr0,#0001B;设置子时钟为系统时钟
clr scr0,#0010B;关闭主时钟set scr1,#0001B;进入睡眠模式
睡眠模式的唤醒由特殊寄存器PM6控制,可以设置当I/O口中的RC或RD端口的输入值为低电平时唤醒芯片。唤醒过程叙述如下:首先设置寄存器PM6,然后根据PM6的设置,在RC或RD中的任何一个口输入低电平时,芯片将从睡眠模式返回正常工作状态。寄存器的初始设置如下:
mov pm6,#1000B;设置RD能唤醒芯片
4 结束语
本系统测试完成之后,把编写的所有程序制作成一个目标文件(obj),再将目标文件(obj)烧录到MaskRom中,如此一来,整个系统的主要功能将集成到一颗W536060K芯片中,加上简单的外围电路(键盘、LCD液晶屏、扬声器),即可构成一个完整的电子玩具芯片电路系统。由于外围电路十分简单,因而整个系统成本较低。由于芯片的主要功能是以软件形式存储在芯片内部的ROM中,经过固化后程序无法读出,因此,该系统的知识产权能比较好地得到保护。该系统具有LCD液晶显示和扬声器播放语音及音乐等功能,充分体现了多媒体芯片的特点。其主要的技术指标如下:工作电压为4.5V,正常状态工作电流为10 mA,睡眠状态工作电流为10μA,LCD帧频为64Hz,占用程序空间9.6KB,占用语音空间250KB,语音输出格式为PWM(直接驱动扬声器,无须放大电路)。
此系统的设计虽然是针对多媒体电子玩具芯片系统的具体应用,但其设计方法在其他类似系统的应用和开发中具有通用性,对相关的电子系统设计有一定的参考价值。
评论
查看更多