《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 基于單片機89C2051和ISD2560設(shè)計的語音錄放電路
基于單片機89C2051和ISD2560設(shè)計的語音錄放電路
摘要: ISD系列語音電路是美國ISD(InformationStorage Device)公司的專利新產(chǎn)品,該器件打破了傳統(tǒng)的先A/D再D/A模式,而采用獨特的直接存儲模擬信號技術(shù),從而大大提高了存儲密度,并且可將模擬信號永久保存。
Abstract:
Key words :

ISD系列語音電路是美國ISD(InformationStorage Device)公司的專利新產(chǎn)品,該器件打破了傳統(tǒng)的先A/D再D/A模式,而采用獨特的直接存儲模擬信號技術(shù),從而大大提高了存儲密度,并且可將模擬信號永久保存。

本文用單片機89C2051ISD2560設(shè)計了一款微電腦語音板,從而實現(xiàn)了語音的分段錄取和組合回放。也可通過修改軟件來實現(xiàn)整段錄取和循環(huán)播放。本產(chǎn)品可作為語音服務(wù)系統(tǒng)的子系統(tǒng),而不必使用專門的ISD語音開發(fā)設(shè)備。

1 ISD2560的語音錄放電路構(gòu)成

ISD2500系列語音芯片可通過SPI協(xié)議方便地與CPU接口。本文用ISD2560芯片構(gòu)成的單片機通用開發(fā)板采用國內(nèi)最常用的MCS-51語言單片機89C51,來與ISD2500系列語音芯片相結(jié)合,可供用戶開發(fā)各種新型智能型數(shù)碼語音產(chǎn)品。

該開發(fā)板上已裝配好的器件包括:

◇AT89C2051單片機,該器件內(nèi)含8031內(nèi)核、4 KB可反復(fù)擦寫的程序存儲器,以及32條I/O口,并采用5 V電壓工作;

◇ISD2560語音芯片,采用音質(zhì)優(yōu)異的模擬存儲技術(shù),可反復(fù)錄放60秒;

◇LM386功率放大器,具有0.5 W驅(qū)動能力;

AT24C01(選配件)I2C總線串行存儲器;

此外,板上還有駐極體話筒(MIC)、話筒放大器、音量電位器、發(fā)光管等部件。當(dāng)板子工作時,該板的外接電源電壓為12 V(穩(wěn)壓),外接喇叭為4~16 Ω/0.5 W,工作電流在錄音時為25~30mA,在放音時為50~80 mA,靜態(tài)電流為13 mA,同時隨板提供有演示程序功能等配套軟件。

2 ISD2560與單片機的接口電路

ISD2560的A0~A9為地址線,它共有1024種組合狀態(tài)。最前面的600個狀態(tài)通常作內(nèi)部存儲器的尋址用,最后256個狀態(tài)用作操作模式。本系統(tǒng)采用對地址直接進(jìn)行操作的方式進(jìn)行設(shè)計。

在本系統(tǒng)與微處理器的接口中,P/R錄放音控制端在高電平時,為放音狀態(tài),低電平時為錄音狀態(tài);P3.5、P3.7端用于錄放音時的啟??刂?,通常與P/R端配合使用;P3.4端為每段信息結(jié)束信號輸出端,該信號為負(fù)向信號,時間為12.5ms,其上升沿標(biāo)志信息結(jié)束。

系統(tǒng)中的MIC是話筒前置放大器輸入端;MIC REF為話筒補償端,AGC為自動增益控制端;ANA IN與ANA OUT是模擬信號的輸入和輸出端,它們之間連接的耦合電容通常取值為0.22~1μF。

本系統(tǒng)中基于ISD2560的語音錄放電路如圖1所示。一般情況下,可將單片機的P1口、P3.4和P3.5與ISD2560的地址線相連,用以設(shè)置語音段的起始地址。P3.0~P3.3用以控制錄放音狀態(tài)。P3.7為擴展錄音鍵,可供錄音時使用。

3 系統(tǒng)工作原理及程序設(shè)計

ISD2560雖然提供有地址輸入線,但它的內(nèi)部信息段的地址一般無法讀出。因此,通常使用不需要知道地址的操作模式。但要讀出ISD2560內(nèi)部信息地址,就需要專用的ISD開發(fā)設(shè)備,而這些設(shè)備的價格比較昂貴。為此,本系統(tǒng)采用單片機來控制。該方法不需讀出信息地址,而是直接設(shè)置信息段起始地址。該設(shè)想的實現(xiàn)方式有多種。第一種方式由于ISD2560的地址分辨率為100ms,所以,可用單片機內(nèi)部定時器定時100 ms,然后再利用一計數(shù)器對單片機定時次數(shù)進(jìn)行計數(shù),這樣,計數(shù)器的計數(shù)值就是語音段所占用的地址單元。該方式能充分利用ISD2560內(nèi)部的EEPROM,故在字段較多時可利用該方法;而如果語音字段較少,則可用第二種方式:即根據(jù)每一字段的內(nèi)容多少直接分配地址單元。一般按每1 s說3個字計算,60 s可以說180個字,然后再根據(jù)ISD2560的地址分辨率為100 ms,計算出語音段所需的地址單元數(shù)。本系統(tǒng)即采用該方式。

3.1 AT89C2051對ISD2560的錄放音控制

錄音時,先按下錄音鍵,由單片機通過口線設(shè)置語音段的起始地址,再使PD端、P/R端和其它相關(guān)端口為低電平以啟動錄音;錄音結(jié)束,單片機又讓這些端口回到高電平,以完成一段語音的錄制。然后以同樣的方法,也可錄取第二段、第三段、等等。值得注意的是,錄音時間一般不能超過預(yù)先設(shè)定的每段語音的時間。

放音時,可根據(jù)需播放的語音內(nèi)容,找到相應(yīng)的語音段起始地址,并通過接口線送出。然后將P/R端設(shè)為高電平,PD端設(shè)為低電平,并讓其產(chǎn)生一負(fù)脈沖以啟動放音,這時單片機只需等待ISD2560的信息結(jié)束信號(即EOM的產(chǎn)生)。由于該信號為一負(fù)脈沖,且在負(fù)脈沖的上升沿,該段語音才播放結(jié)束,所以,單片機必須要檢測到該上升沿,才能播放第二段,否則,播放的語音將不連續(xù),而且會產(chǎn)生啪啪聲,這一點在編制軟件時一定要注意。圖2所示是其錄放音程序框圖。

其具體的操作方法如下:

(1)錄音

將跳線插在“REC”一側(cè),即為錄音狀態(tài),按下“REC”鍵,指示燈亮,即可對著板上話筒講話錄音,松鍵時,錄音停止并形成一段。再次按下,則錄下一段。操作時,按“STOP”鍵為復(fù)位,再錄音時,又將從第一段開始。

(2)放音

將跳線插在“PLAY”一側(cè),為放音狀態(tài),此后,按一下“PLAY”鍵即播放一段,一段結(jié)束后自動停止放音,再按“AN”,則播放下一段。操作過程中,按“STOP”鍵為復(fù)位,再放音時,又將從第一段開始。

3.2  程序設(shè)計

本程序是以AT89C2051為ISD2560的控制器,晶振頻率為12 MHz來編寫的。

下面給出錄取語音信息的錄音程序以及對這段語音進(jìn)行播放的源程序。實際上,播放時也可根據(jù)實際情況組合回放。需要時,還可對該程序進(jìn)行擴充。其ISD2560語音錄放系統(tǒng)程序如下:


此后,在錄音時,第一次按錄音鍵即開始錄音,第二次按錄音鍵表示暫停(即保存,設(shè)置EOM)。暫停錄音后,按放音鍵,可從地址指針為0處開始放音。錄音時,可通過PD(引腳P3.1)端的高脈沖來停止錄音。

播放時,第一次按播放鍵即開始播放。播放過程中,再次按播放鍵則可暫停,第三次按播放鍵可以在暫停處繼續(xù)播放。如在第二次播放鍵按下后,再按錄音鍵,則可從暫停處開始錄音。播放中,可通過PD(引腳P3.1)端產(chǎn)生的高脈沖來停止播放,同時將地址指針復(fù)位到0。播放中沒有PD高脈沖,則一直播放下去,直到遇到芯片溢出處時,再返回地址指針為0處,開始循環(huán)播放。

下面是其錄音子程序:

系統(tǒng)的播放子程序如下:

停止錄音或播放子程序如下:

系統(tǒng)初始化程序:

10ms的延時程序:

30ms的延時程序:

120 ms的延時程序:


4 結(jié)束語

本語音錄放電路具有結(jié)構(gòu)簡單,成本較低,調(diào)整方便,可靠性高等優(yōu)點。實際使用證明。該系統(tǒng)能夠滿足正常語音錄放要求。而且,通過適當(dāng)調(diào)整,也可以用于其它語音錄放的場合。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。