ISD系列語(yǔ)音電路是美國(guó)ISD(InformationStorage Device)公司的專(zhuān)利新產(chǎn)品,該器件打破了傳統(tǒng)的先A/D再D/A模式,而采用獨(dú)特的直接存儲(chǔ)模擬信號(hào)技術(shù),從而大大提高了存儲(chǔ)密度,并且可將模擬信號(hào)永久保存。
本文用單片機(jī)89C2051和ISD2560設(shè)計(jì)了一款微電腦語(yǔ)音板,從而實(shí)現(xiàn)了語(yǔ)音的分段錄取和組合回放。也可通過(guò)修改軟件來(lái)實(shí)現(xiàn)整段錄取和循環(huán)播放。本產(chǎn)品可作為語(yǔ)音服務(wù)系統(tǒng)的子系統(tǒng),而不必使用專(zhuān)門(mén)的ISD語(yǔ)音開(kāi)發(fā)設(shè)備。
1 ISD2560的語(yǔ)音錄放電路構(gòu)成
ISD2500系列語(yǔ)音芯片可通過(guò)SPI協(xié)議方便地與CPU接口。本文用ISD2560芯片構(gòu)成的單片機(jī)通用開(kāi)發(fā)板采用國(guó)內(nèi)最常用的MCS-51語(yǔ)言單片機(jī)89C51,來(lái)與ISD2500系列語(yǔ)音芯片相結(jié)合,可供用戶(hù)開(kāi)發(fā)各種新型智能型數(shù)碼語(yǔ)音產(chǎn)品。
該開(kāi)發(fā)板上已裝配好的器件包括:
◇AT89C2051單片機(jī),該器件內(nèi)含8031內(nèi)核、4 KB可反復(fù)擦寫(xiě)的程序存儲(chǔ)器,以及32條I/O口,并采用5 V電壓工作;
◇ISD2560語(yǔ)音芯片,采用音質(zhì)優(yōu)異的模擬存儲(chǔ)技術(shù),可反復(fù)錄放60秒;
◇LM386功率放大器,具有0.5 W驅(qū)動(dòng)能力;
AT24C01(選配件)I2C總線(xiàn)串行存儲(chǔ)器;
此外,板上還有駐極體話(huà)筒(MIC)、話(huà)筒放大器、音量電位器、發(fā)光管等部件。當(dāng)板子工作時(shí),該板的外接電源電壓為12 V(穩(wěn)壓),外接喇叭為4~16 Ω/0.5 W,工作電流在錄音時(shí)為25~30mA,在放音時(shí)為50~80 mA,靜態(tài)電流為13 mA,同時(shí)隨板提供有演示程序功能等配套軟件。
2 ISD2560與單片機(jī)的接口電路
ISD2560的A0~A9為地址線(xiàn),它共有1024種組合狀態(tài)。最前面的600個(gè)狀態(tài)通常作內(nèi)部存儲(chǔ)器的尋址用,最后256個(gè)狀態(tài)用作操作模式。本系統(tǒng)采用對(duì)地址直接進(jìn)行操作的方式進(jìn)行設(shè)計(jì)。
在本系統(tǒng)與微處理器的接口中,P/R錄放音控制端在高電平時(shí),為放音狀態(tài),低電平時(shí)為錄音狀態(tài);P3.5、P3.7端用于錄放音時(shí)的啟停控制,通常與P/R端配合使用;P3.4端為每段信息結(jié)束信號(hào)輸出端,該信號(hào)為負(fù)向信號(hào),時(shí)間為12.5ms,其上升沿標(biāo)志信息結(jié)束。
系統(tǒng)中的MIC是話(huà)筒前置放大器輸入端;MIC REF為話(huà)筒補(bǔ)償端,AGC為自動(dòng)增益控制端;ANA IN與ANA OUT是模擬信號(hào)的輸入和輸出端,它們之間連接的耦合電容通常取值為0.22~1μF。
本系統(tǒng)中基于ISD2560的語(yǔ)音錄放電路如圖1所示。一般情況下,可將單片機(jī)的P1口、P3.4和P3.5與ISD2560的地址線(xiàn)相連,用以設(shè)置語(yǔ)音段的起始地址。P3.0~P3.3用以控制錄放音狀態(tài)。P3.7為擴(kuò)展錄音鍵,可供錄音時(shí)使用。
3 系統(tǒng)工作原理及程序設(shè)計(jì)
ISD2560雖然提供有地址輸入線(xiàn),但它的內(nèi)部信息段的地址一般無(wú)法讀出。因此,通常使用不需要知道地址的操作模式。但要讀出ISD2560內(nèi)部信息地址,就需要專(zhuān)用的ISD開(kāi)發(fā)設(shè)備,而這些設(shè)備的價(jià)格比較昂貴。為此,本系統(tǒng)采用單片機(jī)來(lái)控制。該方法不需讀出信息地址,而是直接設(shè)置信息段起始地址。該設(shè)想的實(shí)現(xiàn)方式有多種。第一種方式由于ISD2560的地址分辨率為100ms,所以,可用單片機(jī)內(nèi)部定時(shí)器定時(shí)100 ms,然后再利用一計(jì)數(shù)器對(duì)單片機(jī)定時(shí)次數(shù)進(jìn)行計(jì)數(shù),這樣,計(jì)數(shù)器的計(jì)數(shù)值就是語(yǔ)音段所占用的地址單元。該方式能充分利用ISD2560內(nèi)部的EEPROM,故在字段較多時(shí)可利用該方法;而如果語(yǔ)音字段較少,則可用第二種方式:即根據(jù)每一字段的內(nèi)容多少直接分配地址單元。一般按每1 s說(shuō)3個(gè)字計(jì)算,60 s可以說(shuō)180個(gè)字,然后再根據(jù)ISD2560的地址分辨率為100 ms,計(jì)算出語(yǔ)音段所需的地址單元數(shù)。本系統(tǒng)即采用該方式。
3.1 AT89C2051對(duì)ISD2560的錄放音控制
錄音時(shí),先按下錄音鍵,由單片機(jī)通過(guò)口線(xiàn)設(shè)置語(yǔ)音段的起始地址,再使PD端、P/R端和其它相關(guān)端口為低電平以啟動(dòng)錄音;錄音結(jié)束,單片機(jī)又讓這些端口回到高電平,以完成一段語(yǔ)音的錄制。然后以同樣的方法,也可錄取第二段、第三段、等等。值得注意的是,錄音時(shí)間一般不能超過(guò)預(yù)先設(shè)定的每段語(yǔ)音的時(shí)間。
放音時(shí),可根據(jù)需播放的語(yǔ)音內(nèi)容,找到相應(yīng)的語(yǔ)音段起始地址,并通過(guò)接口線(xiàn)送出。然后將P/R端設(shè)為高電平,PD端設(shè)為低電平,并讓其產(chǎn)生一負(fù)脈沖以啟動(dòng)放音,這時(shí)單片機(jī)只需等待ISD2560的信息結(jié)束信號(hào)(即EOM的產(chǎn)生)。由于該信號(hào)為一負(fù)脈沖,且在負(fù)脈沖的上升沿,該段語(yǔ)音才播放結(jié)束,所以,單片機(jī)必須要檢測(cè)到該上升沿,才能播放第二段,否則,播放的語(yǔ)音將不連續(xù),而且會(huì)產(chǎn)生啪啪聲,這一點(diǎn)在編制軟件時(shí)一定要注意。圖2所示是其錄放音程序框圖。
其具體的操作方法如下:
(1)錄音
將跳線(xiàn)插在“REC”一側(cè),即為錄音狀態(tài),按下“REC”鍵,指示燈亮,即可對(duì)著板上話(huà)筒講話(huà)錄音,松鍵時(shí),錄音停止并形成一段。再次按下,則錄下一段。操作時(shí),按“STOP”鍵為復(fù)位,再錄音時(shí),又將從第一段開(kāi)始。
(2)放音
將跳線(xiàn)插在“PLAY”一側(cè),為放音狀態(tài),此后,按一下“PLAY”鍵即播放一段,一段結(jié)束后自動(dòng)停止放音,再按“AN”,則播放下一段。操作過(guò)程中,按“STOP”鍵為復(fù)位,再放音時(shí),又將從第一段開(kāi)始。
3.2 程序設(shè)計(jì)
本程序是以AT89C2051為ISD2560的控制器,晶振頻率為12 MHz來(lái)編寫(xiě)的。
下面給出錄取語(yǔ)音信息的錄音程序以及對(duì)這段語(yǔ)音進(jìn)行播放的源程序。實(shí)際上,播放時(shí)也可根據(jù)實(shí)際情況組合回放。需要時(shí),還可對(duì)該程序進(jìn)行擴(kuò)充。其ISD2560語(yǔ)音錄放系統(tǒng)程序如下:
此后,在錄音時(shí),第一次按錄音鍵即開(kāi)始錄音,第二次按錄音鍵表示暫停(即保存,設(shè)置EOM)。暫停錄音后,按放音鍵,可從地址指針為0處開(kāi)始放音。錄音時(shí),可通過(guò)PD(引腳P3.1)端的高脈沖來(lái)停止錄音。
播放時(shí),第一次按播放鍵即開(kāi)始播放。播放過(guò)程中,再次按播放鍵則可暫停,第三次按播放鍵可以在暫停處繼續(xù)播放。如在第二次播放鍵按下后,再按錄音鍵,則可從暫停處開(kāi)始錄音。播放中,可通過(guò)PD(引腳P3.1)端產(chǎn)生的高脈沖來(lái)停止播放,同時(shí)將地址指針復(fù)位到0。播放中沒(méi)有PD高脈沖,則一直播放下去,直到遇到芯片溢出處時(shí),再返回地址指針為0處,開(kāi)始循環(huán)播放。
下面是其錄音子程序:
系統(tǒng)的播放子程序如下:
停止錄音或播放子程序如下:
系統(tǒng)初始化程序:
10ms的延時(shí)程序:
30ms的延時(shí)程序:
120 ms的延時(shí)程序:
4 結(jié)束語(yǔ)
本語(yǔ)音錄放電路具有結(jié)構(gòu)簡(jiǎn)單,成本較低,調(diào)整方便,可靠性高等優(yōu)點(diǎn)。實(shí)際使用證明。該系統(tǒng)能夠滿(mǎn)足正常語(yǔ)音錄放要求。而且,通過(guò)適當(dāng)調(diào)整,也可以用于其它語(yǔ)音錄放的場(chǎng)合。