??? 關(guān)鍵詞:W536芯片,電子玩具芯片,多媒體
目前,很多的益智玩具設(shè)計(jì)既要有液晶(LCD)顯示,又要有揚(yáng)聲器播放語音及音樂。用一般芯片(如8051或通用DSP)實(shí)現(xiàn)上述要求,需要外接LCD顯示接口電路及揚(yáng)聲器驅(qū)動電路,外圍電路復(fù)雜,編程難度較大,放音的質(zhì)量難以控制。
本文介紹了一種利用***Winbond公司的W536芯片構(gòu)成的多媒體電子玩具電路的設(shè)計(jì)及實(shí)現(xiàn)方法,該芯片可直接驅(qū)動LCD顯示,內(nèi)置語音MDPCM(Modified Difference Pulse Code Modulation)編解碼電路,可通過程序控制語音的播放,并具有耗電少、大屏幕顯示、音質(zhì)清晰、使用方便、開發(fā)周期短等優(yōu)點(diǎn),很適于多媒體電子玩具芯片系統(tǒng)的開發(fā)。
1 W536芯片簡介
W536芯片的結(jié)構(gòu)框圖如圖1所示,除具有普通4位微處理器的所有功能之外,還內(nèi)置了LCD接口,可以直接驅(qū)動LCD顯示;有20KB~160KB編程空間(程序ROM);帶有MDPCM語音編解碼電路和音樂功能(內(nèi)置最大4Mbits語音ROM),并且可以混和輸出語音和MIDI(樂器數(shù)字界面)音樂。該芯片根據(jù)驅(qū)動LCD點(diǎn)陣列的大小分為T、A、K和P四個系列,每一個系列按存儲語音內(nèi)存大小又分成W536030、W536060、W536090和W536120四種型號。
本設(shè)計(jì)采用W536060K芯片,其最大驅(qū)動40×8液晶顯示,程序ROM為40KB,通用RAM為1KNibble(1 Nibble=4 bits),LCDRAM為80 Nibble,語音ROM為2Mbits。
2 系統(tǒng)組成原理
我們設(shè)計(jì)的多媒體英語學(xué)習(xí)電子玩具電路方框圖如圖2所示。硬件電路主要由W536060K芯片、LCD液晶顯示電路、鍵盤電路和LED指示電路等組成,用戶通過鍵盤陣列與系統(tǒng)進(jìn)行交互對話,當(dāng)W536060K芯片檢測到鍵盤陣列的輸入信號時(shí),便發(fā)出相應(yīng)的電信號,控制相應(yīng)的LED指示燈亮,輸出圖片信息到LCD液晶板,同時(shí)控制揚(yáng)聲器播放相應(yīng)的語音和音樂。由于W536強(qiáng)大的多媒體(語音、音樂、LCD顯示驅(qū)動)功能,系統(tǒng)的大部分功能通過軟件設(shè)計(jì)來實(shí)現(xiàn),因此,外圍電路十分簡單,我們最終實(shí)現(xiàn)的電路板(按鍵除外)面積不到40cm2。
![](/article/UploadPic/2009-5/200955202225106.jpg)
W536芯片配備兩個編程平臺:Pattern Studio和Wide。在Pattern Studio平臺利用高效率的Script語言(類C語言)進(jìn)行開發(fā),簡單的一條語句可以播放一段語音或者顯示一張圖片,因此,很適于開發(fā)多媒體應(yīng)用程序。在Wide平臺編寫ASM程序,除此之外,系統(tǒng)通過它與開發(fā)板結(jié)合進(jìn)行仿真和在線調(diào)試。在程序結(jié)構(gòu)上,采用了Script語言和ASM語言混合編程。
![](/article/UploadPic/2009-5/200955202225902.jpg)
系統(tǒng)的軟件設(shè)計(jì)包含ASM程序設(shè)計(jì)和Script程序設(shè)計(jì)兩部分。ASM程序主要是語音和音樂播放程序、字母和數(shù)字的動畫書寫程序、睡眠模式的喚醒程序、LED指示程序和鍵盤掃描程序等。Script程序主要包括5大功能模塊,分別為字母學(xué)習(xí)、單詞學(xué)習(xí)、數(shù)字學(xué)習(xí)、音樂娛樂和益智游戲,其中每一項(xiàng)大功能模塊又劃分為4個子功能,總共構(gòu)成20個子功能模塊。Script語言和ASM語音協(xié)調(diào)工作,其功能結(jié)構(gòu)框圖如圖3所示。
![](/article/UploadPic/2009-5/200955202225984.jpg)
![](/article/UploadPic/2009-5/200955202226787.jpg)
3.2 語音和音樂播放
W536芯片可以輸出音質(zhì)好的語音和雙音調(diào)的音樂。語音經(jīng)過MDPCM壓縮編碼存儲在語音ROM中,語音控制器控制語音的播放和暫停。音樂以MIDI格式保存在音樂ROM中,在播放音樂時(shí)經(jīng)雙音調(diào)控制器將其轉(zhuǎn)換成數(shù)字音樂,驅(qū)動揚(yáng)聲器播放音樂。
語音文件(Wav格式)經(jīng)相關(guān)工具編輯和處理之后,存儲到芯片的語音ROM中,W536芯片提供編號寄存器(SPCH,SPCL)和特殊寄存器(Flag)來訪問語音控制器。編號寄存器用來標(biāo)志訪問的語音地址,F(xiàn)lag0.0(Flag寄存器的第一位)是使能寄存器,可控制語音的播放,F(xiàn)lag0.2(Flag寄存器的第三位)則是反映當(dāng)前語音控制器的狀態(tài)。語音播放具體操作如下:
![](/article/UploadPic/2009-5/200955202226508.jpg)
??? 音樂播放原理同語音播放類似,在此不再贅述。
3.3 LCD轉(zhuǎn)換顯示
W536芯片在控制LCD顯示時(shí),只需把要顯示的圖片信息存儲在LCDRAM,顯示則由LCD驅(qū)動器自動完成,它會自動地從LCDRAM中讀取圖片信息,并且根據(jù)LCDRAM的值將相應(yīng)的圖片顯示在LCD液晶上。W536060K最大提供40×8=320點(diǎn)顯示,每一點(diǎn)占用一位隨機(jī)存儲空間,LCDRAM的地址為1:200H~1:24FH。由于我們設(shè)計(jì)的系統(tǒng)采用16×16點(diǎn)的液晶顯示,與40×8的液晶驅(qū)動不吻合,因此,不能直接使用536060K的液晶驅(qū)動電路。我們巧妙地設(shè)計(jì)了一種方案,可以不用外接任何其他的轉(zhuǎn)換電路而直接利用32×8的液晶點(diǎn)陣來驅(qū)動16×16的液晶顯示,如圖5所示。用W536060K的LCD驅(qū)動端口seg0~15和com0~7構(gòu)成第一塊16×8點(diǎn),seg16~31和com0~7構(gòu)成第二塊16×8點(diǎn),這樣,32×8液晶點(diǎn)陣就可實(shí)現(xiàn)驅(qū)動16×16的液晶顯示。
![](/article/UploadPic/2009-5/200955202226714.jpg)
在W536060K中,圖片以位圖的形式存儲在一種Cast文件(類似BMP格式的一種圖形格式)中,最多可存儲4000幅圖片。由于顯示電路的變動,存儲的圖片也需要作相應(yīng)的修改,在LCD液晶屏上顯示的16×16點(diǎn)位圖按照反變換轉(zhuǎn)換成32×8點(diǎn)位圖存儲。圖片制作好之后,顯示圖片的操作非常簡單,只需一條語句即可在液晶上顯示存儲在Cast文件中的位圖。Script語句使用方法如下:
??? DisplayPicture CAST140 X=2 Y=3→在點(diǎn)(2,3)顯示cast文件中的第140幅位圖。
ClearScreen→清屏
3.4 字母和數(shù)字的動畫書寫
根據(jù)字母和數(shù)字正確的書寫筆順,在LCD上以點(diǎn)為單位、時(shí)序地顯示其筆順,用此方法來教學(xué)齡前兒童學(xué)習(xí)英語字母及數(shù)字的書寫。按照前面的敘述,在LCD上顯示多媒體圖片,只需要給LCDRAM賦值即可。由于動畫書寫時(shí),時(shí)序顯示的多媒體圖片比較多,所以,我們采用了表結(jié)構(gòu)來存儲動畫點(diǎn)信息。表結(jié)構(gòu)存儲的內(nèi)容包括LCDRAM的地址和值,以四個Nibble作為一個單元存儲一個點(diǎn)的書寫顯示信息,其中,前三個Nibble存儲低中高三位LCDRAM的地址,第四個Nibble存儲LCDRAM的值。一張表包含一個字母或數(shù)字的所有點(diǎn)的書寫信息,在表的末尾加上結(jié)束標(biāo)志位。這里介紹兩個重要的指針:lpxy和rp0,分別用于ROM和RAM的尋址,其中,rp0由rp0h/rp0m/rp0l組成,分別存儲高中低三位地址。動畫書寫的軟件流程如圖6所示。
動畫書寫程序的部分源程序如下:
![](/article/UploadPic/2009-5/200955202226391.jpg)
3.5 睡眠模式的喚醒
W536芯片有兩種省電模式,分別為保留模式和睡眠模式。在睡眠模式下,芯片在最小電流(小于10μA)下工作,功耗特別低,以3節(jié)干電池供電為例,在此模式下可以持續(xù)工作一個月。為充分利用睡眠模式的省電特點(diǎn),系統(tǒng)在運(yùn)行期間,若一段時(shí)間之內(nèi)(例如3分鐘)沒有進(jìn)行任何操作,則自動進(jìn)入睡眠模式。主要程序如下:
set scr0,#0001B;設(shè)置子時(shí)鐘為系統(tǒng)時(shí)鐘
clr scr0,#0010B;關(guān)閉主時(shí)鐘set scr1,#0001B;進(jìn)入睡眠模式
睡眠模式的喚醒由特殊寄存器PM6控制,可以設(shè)置當(dāng)I/O口中的RC或RD端口的輸入值為低電平時(shí)喚醒芯片。喚醒過程敘述如下:首先設(shè)置寄存器PM6,然后根據(jù)PM6的設(shè)置,在RC或RD中的任何一個口輸入低電平時(shí),芯片將從睡眠模式返回正常工作狀態(tài)。寄存器的初始設(shè)置如下:
mov pm6,#1000B;設(shè)置RD能喚醒芯片
4 結(jié)束語
本系統(tǒng)測試完成之后,把編寫的所有程序制作成一個目標(biāo)文件(obj),再將目標(biāo)文件(obj)燒錄到MaskRom中,如此一來,整個系統(tǒng)的主要功能將集成到一顆W536060K芯片中,加上簡單的外圍電路(鍵盤、LCD液晶屏、揚(yáng)聲器),即可構(gòu)成一個完整的電子玩具芯片電路系統(tǒng)。由于外圍電路十分簡單,因而整個系統(tǒng)成本較低。由于芯片的主要功能是以軟件形式存儲在芯片內(nèi)部的ROM中,經(jīng)過固化后程序無法讀出,因此,該系統(tǒng)的知識產(chǎn)權(quán)能比較好地得到保護(hù)。該系統(tǒng)具有LCD液晶顯示和揚(yáng)聲器播放語音及音樂等功能,充分體現(xiàn)了多媒體芯片的特點(diǎn)。其主要的技術(shù)指標(biāo)如下:工作電壓為4.5V,正常狀態(tài)工作電流為10 mA,睡眠狀態(tài)工作電流為10μA,LCD幀頻為64Hz,占用程序空間9.6KB,占用語音空間250KB,語音輸出格式為PWM(直接驅(qū)動揚(yáng)聲器,無須放大電路)。
此系統(tǒng)的設(shè)計(jì)雖然是針對多媒體電子玩具芯片系統(tǒng)的具體應(yīng)用,但其設(shè)計(jì)方法在其他類似系統(tǒng)的應(yīng)用和開發(fā)中具有通用性,對相關(guān)的電子系統(tǒng)設(shè)計(jì)有一定的參考價(jià)值。
評論