??? 關鍵詞: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(直接驅動揚聲器,無須放大電路)。
此系統的設計雖然是針對多媒體電子玩具芯片系統的具體應用,但其設計方法在其他類似系統的應用和開發中具有通用性,對相關的電子系統設計有一定的參考價值。
評論
查看更多