摘 要: 介紹了具有較強(qiáng)通用性的語(yǔ)音告警系統(tǒng)。系統(tǒng)通過(guò)單片機(jī)ATMEGA16控制語(yǔ)音芯片ISD1790,實(shí)現(xiàn)了在不同情況下提供不同的語(yǔ)音提示告警,且提示語(yǔ)音可以自行錄入。最后通過(guò)D類音頻功率放大器TPA3101D2,實(shí)現(xiàn)了高音質(zhì)大音量語(yǔ)音輸出。
關(guān)鍵詞: 語(yǔ)音錄放;D類功放;ISD1790;ATMEGA16
隨著集成電路的高速發(fā)展,越來(lái)越多的儀器、設(shè)備、家電等擁有極為方便的人機(jī)接口,如大屏幕觸摸液晶、智能語(yǔ)音提示等。這些人機(jī)接口極大地方便并吸引了用戶,使得系統(tǒng)中集成這樣的模塊變得越來(lái)越普及。目前語(yǔ)音錄放技術(shù)主要有以下3個(gè)顯著特點(diǎn):(1)以高度集成的語(yǔ)音芯片為核心;(2)與單片機(jī)、嵌入式等控制模塊結(jié)合,實(shí)現(xiàn)數(shù)字化、智能化;(3)D類功率放大越來(lái)越成熟,其效率高、體積小、音質(zhì)好,成為絕大多數(shù)便攜儀器家電的功放方案。伴隨著上述三項(xiàng)技術(shù)的應(yīng)用,使語(yǔ)音錄放系統(tǒng)具有功耗小、音質(zhì)好、操作控制方便、性能穩(wěn)定、通用性移植性好等優(yōu)點(diǎn),有很好的應(yīng)用發(fā)展前景。
1 系統(tǒng)總體設(shè)計(jì)
本文介紹的系統(tǒng)以華邦(WINBOND)公司的ISD1790語(yǔ)音錄放芯片為核心,通過(guò)單片機(jī)ATMEGA16智能控制,最后通過(guò)D類功率放大器TPA3101D2驅(qū)動(dòng),實(shí)現(xiàn)了測(cè)試設(shè)備語(yǔ)音告警功能,該系統(tǒng)框圖如圖1所示。
圖1中,上位機(jī)(安裝設(shè)備管理軟件的PC機(jī))和下位機(jī)(ATMEGA16單片機(jī))通過(guò)RS232信號(hào)通信,上位機(jī)送出錄音或刪除指令,下位機(jī)接收后,通過(guò)相應(yīng)子程序,輸出TTL電平,驅(qū)動(dòng)錄音芯片執(zhí)行相應(yīng)操作。當(dāng)該測(cè)試設(shè)備檢測(cè)信號(hào)超過(guò)設(shè)定的門限以及其他需要語(yǔ)音提示情況時(shí),系統(tǒng)發(fā)出提示信號(hào),通過(guò)控制下位機(jī)輸出控制信號(hào),語(yǔ)音芯片播放指針指向相應(yīng)語(yǔ)音片段,播放該段語(yǔ)音,完成相應(yīng)操作;當(dāng)使用人員需要調(diào)節(jié)聲音大小時(shí),通過(guò)設(shè)備面板上的加減兩個(gè)語(yǔ)音按鍵,傳送給下位機(jī)信號(hào),下位機(jī)通過(guò)控制錄放芯片ISD1790和功率放大器TPA3101D2音量控制引腳電平按時(shí)序變化,實(shí)現(xiàn)音量調(diào)節(jié)。
2 硬件設(shè)計(jì)
2.1 語(yǔ)音錄放模塊
語(yǔ)音錄放芯片ISD1790在控制模塊(下位機(jī))的控制下,可以實(shí)現(xiàn)錄音、放音、選段放音、擦除、復(fù)位、音量調(diào)節(jié)和直通等功能,具體實(shí)現(xiàn)方式如下[1]。
(1)錄音:將麥克風(fēng)接入如圖2所示麥克風(fēng)接頭,單片機(jī)將ISD1790芯片REC引腳電平置低,經(jīng)大約328 ms后,芯片開始錄音,直到引腳電平拉高或芯片錄滿時(shí)結(jié)束。錄音結(jié)束后,錄音指針自動(dòng)移向下一個(gè)有效地址,而放音指針則指向剛剛錄完的那段語(yǔ)音地址。錄音內(nèi)容也可以通過(guò)電腦接口將錄好的語(yǔ)音直接輸入。
(2)放音:放音操作有兩種模式:邊沿觸發(fā)和電平觸發(fā)。都由PLAY管腳觸發(fā),本系統(tǒng)采用邊沿觸發(fā)放音模式。放音具體過(guò)程:?jiǎn)纹瑱C(jī)給PLAY管腳一個(gè)下降沿信號(hào),經(jīng)大約216 ms后開始播放,播放指針指向語(yǔ)音段。在放音期間,如需停止播放,單片機(jī)再給PLAY管腳一個(gè)下降沿信號(hào)即可。放音結(jié)束后,播放指針回到剛播放語(yǔ)音的起始地址處。在放音期間,LED燈閃爍,以指示正在放音。
(3)快進(jìn):播放指針指向跳到下一個(gè)語(yǔ)音段。實(shí)現(xiàn)方法為:?jiǎn)纹瑱C(jī)控制FWD端,將電平拉低并維持大約192 ms以上,啟動(dòng)快進(jìn)操作。當(dāng)播放指針到達(dá)最后一段語(yǔ)音處時(shí),再次快進(jìn),指針會(huì)返回到第一段語(yǔ)音。該引腳在設(shè)計(jì)時(shí),被用作選段播放,當(dāng)系統(tǒng)給出一個(gè)提示信號(hào)要求播放某段語(yǔ)音時(shí),程序設(shè)定對(duì)應(yīng)的快進(jìn)次數(shù),將播放指針對(duì)準(zhǔn)需要播放的語(yǔ)音段。
(4)擦除:分為全體擦除和單段擦除兩種方式,由單片機(jī)控制芯片ERASE引腳電平來(lái)實(shí)現(xiàn)。全體擦除,即擦除芯片內(nèi)全部語(yǔ)音信息,條件是ERASE管腳被置低超過(guò)2.5 s。單段擦除,即只擦除一段已錄入的語(yǔ)音信息,且僅可擦除第一段或最后一段語(yǔ)音。如果ERASE 管腳拉低不超過(guò)2.5 s,則執(zhí)行單段擦除,但如何擦除,還要看播放指針的狀態(tài)。如果芯片空閑且播放指針指向第一段語(yǔ)音,則刪除第一段語(yǔ)音,播放指針指向新的第一段(擦除前第二段)語(yǔ)音;如果芯片空閑且播放指針最后一段語(yǔ)音,則刪除最后一段語(yǔ)音,播放指針指向新的最后一段(擦除前倒數(shù)第二段)語(yǔ)音;如果芯片空閑并且播放指針沒(méi)有指向第一或最后一段語(yǔ)音,則不會(huì)刪除任何語(yǔ)音,播放指針也不會(huì)被改變。擦除操作信號(hào)由上位機(jī)發(fā)出,在軟件界面里分別對(duì)應(yīng)全體擦除和單段擦除,點(diǎn)按軟件中相應(yīng)的按鈕,執(zhí)行相應(yīng)的操作。
(5)復(fù)位:用RESET按鍵控制此管腳,RESET管腳與地之間連接一個(gè)0.1 μF電容。按下RESET鍵,芯片將播放指針和錄音指針都放置在最后一段語(yǔ)音信息的位置。復(fù)位按鍵為一個(gè)按鍵,同時(shí)提供單片機(jī)復(fù)位信號(hào)。
(6)音量調(diào)節(jié):?jiǎn)纹瑱C(jī)將VOL引腳電平下拉一次,音量會(huì)減小一檔,直到到達(dá)最小檔,再次下拉,會(huì)增加音量一檔,如此循環(huán)。語(yǔ)音芯片總共有8個(gè)音量檔,每一檔會(huì)改變4 dB。復(fù)位操作時(shí)將音量設(shè)為最大音量。
(7)直通:將FT管腳保持在低電平,啟動(dòng)直通操作。直通操作會(huì)將語(yǔ)音從Analn端(引腳9)直接通往喇叭端或AUD輸出口。在錄音期間將FT引腳置低,會(huì)同時(shí)錄下直通引腳進(jìn)入的語(yǔ)音信號(hào)。直通信號(hào)由上位機(jī)軟件發(fā)出,用于測(cè)試芯片狀態(tài)。
語(yǔ)音錄放模塊的具體操作,由相應(yīng)單片機(jī)子程序控制實(shí)現(xiàn)。
音頻信號(hào)的輸入(MIC+引腳和MIC-引腳之間)和輸出(SP+引腳和SP-引腳之間)都采用了五線開關(guān)式立體聲插座,這使電路子模塊相互獨(dú)立,便于調(diào)試和維護(hù)。在輸入端,麥克風(fēng)可以借用通用高音質(zhì)話筒,省去了不必要的錄音電路,提高了可靠性。在輸出端,當(dāng)插入通用耳機(jī)測(cè)試時(shí),這種開關(guān)式接頭將它與到功放模塊的引腳斷開,避免相互干擾,便于故障隔離。
振蕩電阻ROSC用來(lái)定義芯片的采樣頻率,從而決定芯片的錄放時(shí)間和錄放音質(zhì)。該電路中ROSC選用80 kΩ,可根據(jù)芯片資料自行選擇。
為了提高語(yǔ)音信號(hào)質(zhì)量,該模塊設(shè)計(jì)注意了以下幾點(diǎn):
(1)因模塊電路中有很多電源和電源地,因此PCB上每個(gè)電源和電源地之間分開走線,最后匯合。
(2)濾波電容阻值在10 μF、4.7 μF之間或以相近值試選。
(3)麥克風(fēng)質(zhì)量要好,電源要純凈,電源和地的PCB線寬大于30 mil。
(4)自動(dòng)增益控制電容、耦合電容、其他電阻電容擺放靠近芯片,使引線盡量短。
(5)選用高品質(zhì)的電容,主要是等效串聯(lián)電阻(ESR)較小的電容。
(6)單片機(jī)控制的開關(guān)量盡量不用繼電器來(lái)實(shí)現(xiàn),通過(guò)模擬電子路數(shù)字電平驅(qū)動(dòng)。
2.2 控制模塊
控制模塊以單片機(jī)ATMEGA16為核心,接收上位機(jī)、系統(tǒng)提示信號(hào)和操作人員發(fā)出的控制信息,直接控制芯片進(jìn)行語(yǔ)音錄放、選擇、擦除、音量控制和復(fù)位等功能。
(1)上位機(jī)控制信息
控制信息包括錄音、擦除(單段和全體擦除)和直通控制信號(hào)。由于設(shè)備使用時(shí)不用涉及這些控制信號(hào),且權(quán)限較高,設(shè)定由上位機(jī)軟件發(fā)出,上位機(jī)和下位機(jī)ATMEGA16之間通過(guò)串口通信,實(shí)現(xiàn)相關(guān)操作。
上位機(jī)軟件用Visual C++ 6.0編寫,語(yǔ)音操作只是其中部分管理功能。
(2)系統(tǒng)接口
在設(shè)備使用過(guò)程中,當(dāng)系統(tǒng)進(jìn)入某種狀態(tài)需要語(yǔ)音提示時(shí),系統(tǒng)發(fā)出相關(guān)編碼的數(shù)字信號(hào)給單片機(jī),激活相應(yīng)單片機(jī)子程序,單片機(jī)輸出相應(yīng)時(shí)序電平信號(hào),將語(yǔ)音芯片播放指針指向相關(guān)語(yǔ)音,以默認(rèn)的音量輸出,驅(qū)動(dòng)功放,完成語(yǔ)音輸出。
(3)音量控制
在設(shè)備上設(shè)置兩個(gè)按鍵,分別將音量調(diào)高和調(diào)低。每按一下,將單片機(jī)的相應(yīng)引腳置低。單片機(jī)在程序控制下,輸出兩路信號(hào),分別控制語(yǔ)音芯片和功率放大芯片的放大倍數(shù)。
語(yǔ)音芯片ISD1790音量控制管腳為VOL(19)管腳。該芯片音量有8檔,每一檔改變4 dB。每給該引腳加1個(gè)低電平信號(hào),則音量增大一檔;輸入7個(gè)低電平信號(hào),則音量減小一檔。
功放芯片TPA3101D2音量增益有兩個(gè)引腳(GAIN0和GAIN1),對(duì)應(yīng)四檔,增益分別為20 dB、26 dB、32 dB和36 dB。
(4)復(fù)位按鍵
復(fù)位按鍵將觸發(fā)儀器復(fù)位,具體到語(yǔ)音模塊是:將單片機(jī)程序重啟和引腳電平復(fù)位;將語(yǔ)音芯片錄音、放音指針復(fù)位,音量最大;將功放模塊初始化。
2.3 D類功率放大
D類功率放大[2]是目前音頻功率放大迅速發(fā)展的新技術(shù),其效率高、音質(zhì)好、耗電低、發(fā)熱少,適合薄型化、便攜式設(shè)備。
D類功放首先將輸入的音頻信號(hào)與一個(gè)固定頻率(一般250 kHz)的三角波相比較,形成一個(gè)脈沖寬度調(diào)制的方波信號(hào)(PWM)。每個(gè)脈沖寬度實(shí)時(shí)體現(xiàn)了輸入信號(hào)的幅度,將此信號(hào)送到由開關(guān)管所組成的功率放大器進(jìn)行脈沖功率放大,輸出的信號(hào)再經(jīng)過(guò)一個(gè)低通濾波器進(jìn)行解調(diào),得到音頻信號(hào)推動(dòng)揚(yáng)聲器發(fā)聲。D類功放原理圖如圖3所示。
本設(shè)計(jì)選擇德州儀器公司的TPA3101D2芯片[3],其供電范圍大(0.3 V~30 V)、效率高(87%)、增益可選(20、26、32、36 dB),是一立體聲的D類功放,可以同時(shí)驅(qū)動(dòng)左右兩個(gè)揚(yáng)聲器。
功放電路原理簡(jiǎn)單、使用方便,在此不再詳述。但是在方案選擇時(shí)須注意:因D類音頻放大器一般驅(qū)動(dòng)的揚(yáng)聲器輸入阻抗比較小(8 Ω),而以前功放、揚(yáng)聲器匹配電阻一般比較大(20 kΩ),因此,要注意阻抗匹配問(wèn)題。
3 軟件設(shè)計(jì)
軟件設(shè)計(jì)主要包括上位機(jī)軟件和下位機(jī)軟件設(shè)計(jì)。
上位機(jī)軟件設(shè)計(jì)主要是為管理測(cè)試設(shè)備設(shè)計(jì)的。與語(yǔ)音模塊相關(guān)的主要是語(yǔ)音錄入、擦除和直通測(cè)試,在軟件界面下調(diào)用這些功能,通過(guò)計(jì)算機(jī)串口,將指令傳給下位機(jī),執(zhí)行相應(yīng)功能。
下位機(jī)軟件是ATMEGA16的工作程序,其框圖如圖4所示。首先軟件開始并初始化輸出端口,控制語(yǔ)音芯片和功放處于低功耗狀態(tài);然后掃描ATMEGA16單片機(jī)輸入(PA口和串口),如果輸入沒(méi)有狀態(tài)變化,則保持語(yǔ)音模塊待機(jī)狀態(tài);當(dāng)輸入信號(hào)發(fā)生變化,則判斷并啟動(dòng)相應(yīng)子程序,在程序控制下,單片機(jī)輸出口狀態(tài)按時(shí)序發(fā)生相應(yīng)變化,執(zhí)行相應(yīng)操作;執(zhí)行結(jié)束,返回。
本文介紹了一種現(xiàn)代儀器設(shè)備、家電等的智能語(yǔ)音人機(jī)接口的實(shí)現(xiàn)方案,該方案實(shí)現(xiàn)了目前語(yǔ)音錄放技術(shù)方案的3個(gè)特點(diǎn),且各個(gè)模塊相互獨(dú)立、更改移植方便、以現(xiàn)代最新推出的芯片為核心、高度集成、性能穩(wěn)定。本文提出的方案解決了許多實(shí)現(xiàn)具體細(xì)節(jié)問(wèn)題。該模塊已經(jīng)加裝到某測(cè)試設(shè)備用于語(yǔ)音告警,經(jīng)過(guò)較長(zhǎng)時(shí)間應(yīng)用表明,系統(tǒng)工作穩(wěn)定、后續(xù)維護(hù)次數(shù)少,而且其音質(zhì)好、效率高、發(fā)熱少、控制靈活、錄放保存穩(wěn)定等。
參考文獻(xiàn)
[1] Winbond Electronics Corporation. ISD1700 series device user guide. 2005.
[2] 孫肖子.模擬電子電路及技術(shù)基礎(chǔ)[M].西安:西安電子科技大學(xué)出版社,2008.
[3] Texas Instruments Incorporated. TPA3101D2 device user guide. 2006.