摘 要: 介紹了具有較強(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后,芯片開(kāi)始錄音,,直到引腳電平拉高或芯片錄滿時(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后開(kāi)始播放,,播放指針指向語(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-引腳之間)都采用了五線開(kāi)關(guān)式立體聲插座,這使電路子模塊相互獨(dú)立,,便于調(diào)試和維護(hù),。在輸入端,麥克風(fēng)可以借用通用高音質(zhì)話筒,,省去了不必要的錄音電路,,提高了可靠性。在輸出端,,當(dāng)插入通用耳機(jī)測(cè)試時(shí),,這種開(kāi)關(guān)式接頭將它與到功放模塊的引腳斷開(kāi),,避免相互干擾,便于故障隔離,。
振蕩電阻ROSC用來(lái)定義芯片的采樣頻率,,從而決定芯片的錄放時(shí)間和錄放音質(zhì)。該電路中ROSC選用80 kΩ,,可根據(jù)芯片資料自行選擇,。
為了提高語(yǔ)音信號(hào)質(zhì)量,該模塊設(shè)計(jì)注意了以下幾點(diǎn):
(1)因模塊電路中有很多電源和電源地,,因此PCB上每個(gè)電源和電源地之間分開(kāi)走線,,最后匯合。
(2)濾波電容阻值在10 μF,、4.7 μF之間或以相近值試選,。
(3)麥克風(fēng)質(zhì)量要好,電源要純凈,,電源和地的PCB線寬大于30 mil,。
(4)自動(dòng)增益控制電容、耦合電容,、其他電阻電容擺放靠近芯片,,使引線盡量短。
(5)選用高品質(zhì)的電容,,主要是等效串聯(lián)電阻(ESR)較小的電容,。
(6)單片機(jī)控制的開(kāi)關(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編寫(xiě),,語(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)送到由開(kāi)關(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所示,。首先軟件開(kāi)始并初始化輸出端口,,控制語(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.