本文介紹了由Flash單片機AT89C2051及數(shù)碼語音芯片ISD2560組成的電腦語音系統(tǒng)設(shè)計出了系統(tǒng)的硬件電路,給出了錄、放音實用的源程序。目前基于單片微機的語音系統(tǒng)的應(yīng)用越來越廣泛,如電腦語音鐘、語音型數(shù)字萬用表、手機話費查詢系統(tǒng)、排隊機、監(jiān)控系統(tǒng)語音報警以及公共汽車報站器等等。
語音芯片應(yīng)用電路
ISD2560 是ISD 系列單片語音錄放集成電路的一種,是一種永久記憶型錄放語音電路,錄音時間為60 秒,能重復錄放達10 萬次。它采用直接電平存儲技術(shù),省去了A/D、D/A 轉(zhuǎn)換器。ISD2560 集成度高,內(nèi)部包括前置放大器、內(nèi)部時鐘、定時器、采樣時鐘、濾波器、自動增益控制、邏輯控制、模擬收發(fā)器、解碼器、和480KB 的EERPOM 等。內(nèi)部EERPOM存儲單元,均勻分為600 行,具有600 個地址單元,每個地址單元指向其中一行,每一個地址單元的地址分辨率為100MS。ISD2560 控制電平與TTL 電平兼容,接口簡單,使用方便。
ISD2560 內(nèi)置了若干操作模式,可用最少的外圍器件實現(xiàn)最多的功能。操作模式也有地址端控制;當最高位都為1 時,其他地址端最高就選擇某個模式。因此操作模式和直接尋址相互排斥。操作模式可由微控制器也可有硬件實現(xiàn)?;倦娐吩韴D如下:錄音按下錄音鍵接地,是PD 端、P/R 端為低電平,此時啟動錄音;結(jié)束時松開按鍵,單片機有讓P/R 端回到高電平,既完成一段語音的錄制。同樣的方法可錄取第二段、第三段等。值得注意的是,錄音時間不能超過預先設(shè)定的每段語音的時間。放音的操作更為簡單,按下錄音鍵接高電平,使P/D 端P/R 端為低電平啟動方音功能;結(jié)束時,松開按鍵,即完成一段語音的播放。
采樣單片機控制語音芯片
錄音時,按下錄音鍵,單片機通過D 端口線設(shè)置語音段的起始地址,再使PD 端、P/R 端為低電平啟動錄音;結(jié)束時,松開按鍵,單片機有讓P/R 端回到高電平,即完成一段語音的錄制。同樣的方法可以錄取第二段、第三段等。值得注意的是,錄音時間不能超過預先設(shè)定的每段語音的時間。
放音時,根據(jù)需播放的語音內(nèi)容,找到相應(yīng)的語音段起始地址,并通過口線送出。P/R 端設(shè)為低電平,并讓/CE 端產(chǎn)生一負脈沖啟動放音,這時單片機只需要等待ISD2560信息結(jié)束信號。信號為一負脈沖,在負脈沖的上升沿,該段語音才播放結(jié)束,所以單片機必須要檢測到的上升沿才能播放第二段,否則播放的語音就不連續(xù)。ISD2560 與單片AT89C2051的接口電路以及外圍電路如圖所示。單片機的P1 口、P3.4 和P3.5 分別與ISD2560 的地址線相連,用以設(shè)置語音段的起始地址。P3.0~P3.3 用以控制錄放音狀態(tài)。P3.7 連接一按鍵,供錄音時使用。由TL7705($0.1875) 構(gòu)成可靠復位及電源監(jiān)視電路。
ISD2560 雖然提供了地址輸入線,但它的內(nèi)部信息段的地址卻無法讀出。本系統(tǒng)采用單片機來控制,不需讀出信息地址,而直接設(shè)置信息段起始地址。其實現(xiàn)方式有兩種:一是由于ISD2560的地址分辨率為100 ms,所以可用單片機內(nèi)部定時器定時100 ms,然后再利用一計數(shù)器對單片機定時次數(shù)進行計數(shù),則計數(shù)器的計數(shù)值為語音段所占用的地址單元。該方式能充分利用ISD2560內(nèi)部的E2PROM,在字段較多時可利用該方法。二是語音字段如果較少,則可根據(jù)每一字段的內(nèi)容多少,直接分配地址單元。一般按每1 s 說3 個字計算,60 s 可說180 個字,再根據(jù)ISD2560 的地址分辨率為100 ms,即可計算出語音段所需的地址單元數(shù)。本電路采用第二種方式。