新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 用ISD器件實現(xiàn)現(xiàn)場語音分段錄音與隨機(jī)組合放音

用ISD器件實現(xiàn)現(xiàn)場語音分段錄音與隨機(jī)組合放音

作者: 時間:2006-05-07 來源:網(wǎng)絡(luò) 收藏

摘要:在分析了ISD語音處理器件在工作機(jī)制的基礎(chǔ)上,介紹了用單片機(jī)跟蹤各語音段的地址變化和記錄各段起止地址以及根據(jù)各段的地址進(jìn)行隨機(jī)組合放音的方法。提出了通用的硬件設(shè)計方案,給出了實際應(yīng)用的電路圖和軟件流程??偨Y(jié)了使用ISD器件的注意事項。

本文引用地址:http://m.butianyuan.cn/article/242262.htm

關(guān)鍵詞:ISD語音處理器件 信息段 單片機(jī) 定時器 中斷

對一些語音內(nèi)容不固定并要求現(xiàn)場錄音和放音的系統(tǒng),采用一般語音芯片實現(xiàn),錄放音的質(zhì)量難以控制。美國ISD(Information Storage Devices)公司的ISD系列芯片采用直接模擬存儲專利技術(shù),把語音信號以原始的模擬形式直接存儲在片內(nèi)EEPROM存儲器中,無需進(jìn)行A/D轉(zhuǎn)換和壓縮處理等,從而減少了失真、大大提高了錄放音質(zhì)量,并具有抗斷電、音質(zhì)好、使用方便、可反復(fù)錄放、無需專用的語音開發(fā)工具、能隨意列改內(nèi)容和耗電省等優(yōu)點,很適合于現(xiàn)場錄放音系統(tǒng)。

但是ISD器件只有地址輸入線,在分段錄放音時,其內(nèi)部各語音段的地址無法直接讀出。雖然通過專用的ISD開發(fā)設(shè)備可以讀出地址,但無法實現(xiàn)現(xiàn)場多次重復(fù)的錄放音操作,不具有實時性。我們在實踐中,通過分析ISD的工作原理和內(nèi)部特性,用單片機(jī)的定時中斷來計算各段的時長和起始地址,從而實現(xiàn)了分段錄音與組合放音。該方法已應(yīng)用在電纜故障自動定位儀中。

1 ISD 2500系列芯片簡介

ISD公司的2500系列芯片,按錄放時間60秒、75秒、90秒和120秒分成ISD2560、2575、2590和25120四個型號。ISD器件設(shè)有OVF(溢出)端,便于多個器件級聯(lián)。

ISD2500系列片內(nèi)EEPROM容量都為480K,最多能分600段。四個型號的不同錄放時間是靠不同的輸入采樣率來實現(xiàn)的,它們分別為:8.0、6.4、5.3、4.0kHz。

DIP器件封裝為28腳,各引腳功能如下:

1~7 A0/M0~A6/M6地址/模式選擇

8~10 A7~A9輸入地址線

11 AUX IN輔助輸入

12、13 VSSD、VSSA數(shù)字地和模擬地

14、15 SP+、SP-揚聲器輸出

16 VCCA模擬信號電源正極

17、18 MIC、MIC REF 麥克風(fēng)輸入端和輸入?yún)⒖级?/p>

19 AGC自動增益控制

20、21 ANA IN、ANA OUT 模擬信號輸入和輸出

22 OUF 溢出

23 CE 片選(低電平允許芯片工作)

24 PD 芯片低功耗狀態(tài)控制

25 EOM 錄放音結(jié)束信號輸出

26 XCLK 外部時鐘

27 P/R 錄/放控制選擇

28 VCCD 數(shù)字信號電源正極

2 工作原理

2500系列有10個地址輸入端A0~A9,錄址能力可達(dá)1024位,地址空間為0~1023。其分配情況是:地址0~299作為分段用,地址600~767未使用,地址768~1023為工作模式選擇(即A8、A9均為高)。2500系列的地址線有兩種用途,一是作為工作模式控制,二是作為分段錄放音的起始段地址。當(dāng)最高位地址(MSB)A8、A9都為高電平時(即地址768~1023),地址端A0~A6就作為工作模式選擇端M0~M6,對應(yīng)7種工作模式。當(dāng)A8、A9任一位為低或都為低時(即地址0~599),只要在分段錄/放音操作前(不少于300ns)給地址A0~A9賦值,操作就從該地址開始。

2500系列語音芯片將480K的EEPROM分為600個信息段,每段800個字節(jié)。作為一個整體單位進(jìn)行尋址和控制,應(yīng)給每個信息段分配一個供外部控制的地址,而不是對每個字節(jié)進(jìn)行尋址,否則至少需要19個地址端口。這樣,大大減少了信息檢索所需要的地址線。對較長的語音信號可以跨越多個信息段進(jìn)行錄音,不受內(nèi)部存儲信息段的限制,且內(nèi)部的信息段址會自動增加。在每個語音段的尾部自動增加一個結(jié)束標(biāo)志EOM,組合放音時,通過檢測EOM來控制各語音段的結(jié)束和下一段的開始。

每個信息段的錄放音時間等于總時間除以600。如ISD2560的總時間為60s,則每個信息段的錄放音時間為100ms;ISD25120的總時間為120s,則每個信息段的時間為200ms。因此可以利用該時間長度作為一個段地址,通過單片機(jī)定時器的計時平行地映射信息段的地址,從而得到每段錄音的起始地址。這樣,就需要設(shè)置一個地址計數(shù)器。一般錄音從0地址開始,首先通過CPU將它賦給A0~A9,然后通過單片機(jī)控制ISD啟動錄音,同時啟動單片機(jī)的定時器開始計時,每到一個信息段的時間,就給地址計數(shù)加1。當(dāng)單片機(jī)停止控制ISD錄音時,同時停止定時器計時。此時地址計數(shù)器的值即為該段語音的未地址,加1即為下一段語音的首地址,并將它存在EEPROM中,為下一將放音提供的地址信息。通過CPU將該地址賦給A0~A9,即可錄制下一段語音。依次下去,即可在錄制完所有語音段的同時得到各段的起始地址。如果不是從0地址開始的語音段,只需將初始地址賦給A0~A9,加上地址計數(shù)器的值,即可得到語音段的末地址。這里不用同時保存各語音段的起始地址和結(jié)束地址,因為各個段是相鄰的,前一段的末地址加1即是本段的起始地址,且每個語音段的結(jié)尾均有EOM標(biāo)志,并可發(fā)出中斷。放音時利用它和保存在EEPROM中各語音段的起始地址即可按任意順序組合各個語音段。

3 硬件電路設(shè)計

系統(tǒng)硬件電路框圖如圖1所示。ISD器件選用錄音時間為120s的ISD25120器件,以單片機(jī)為處理機(jī),外接控制每個語音段錄音開始與停止按鍵,外部存儲器EEPROM用于保存每個語音首地址。ISD的外圍電路及其與單片機(jī)連接的硬件電路如圖2所示。

ISD與89C51的接口部分包含輸入地址線A0~A9、片選CE(CE=0選中ISD芯片)、芯片低功耗狀態(tài)控制PD、錄放音控制選擇P/R(P/R=0為錄音;P/R=1為放音)、錄放音結(jié)束信號輸出EOM,將它作為89C51外部中斷0的輸入信號,放音時通過它告知本語音段結(jié)束,便于單片機(jī)立即播放另一個語音段;我們需要的語音總時間小于120s,溢出端VOF未用;若需要總時間大于120s,可經(jīng)級聯(lián)多個ISD25120,此時需要使用溢出端VOF。ISD25120一共需要11根控制線和一個外部是中斷口,這里11根控制線使用89C51的P1和P3的部分端口,若系統(tǒng)中其它電路占用了部分P1,則可使用其它I/O口擴(kuò)展器件(如82C55、373等)的擴(kuò)展I/O口來控制ISD25120。ISD25120的其它管腳所連電路為典型外圍器件配置,用于模擬語音的輸入輸出。

4 軟件設(shè)計

按照前面的分析和硬件原理圖,軟件部分主要涉及啟動錄音和停止錄音、啟動放音和停止放音、檢測EOM信號的外部中斷0、定時中斷等六個子程序模塊。播放語音時,語音段尾的EOM信號觸發(fā)外部中斷0,進(jìn)入服務(wù)子程序。首先停止語音播放,然后設(shè)置下一段語音播放標(biāo)志。各個語音段的組合播放順序由主程序根據(jù)外部情況或設(shè)置情況自動變動,如在電纜故障自動定位儀中,測試出故障點后,根據(jù)故障點的距離組合存放數(shù)字的各個語音段進(jìn)行播放。定時中斷采用工作方式2,定時周期為5ms。為產(chǎn)生ISD25120每個信號段的200ms時間,設(shè)置一個定時計數(shù)器,計滿40次定時周期即得到200ms的時間,產(chǎn)生一次中斷。六個子程序模塊的軟件流程如圖3~圖8所示。

5 本方法的特點

(1)能進(jìn)行在系統(tǒng)現(xiàn)場錄音,隨錄隨放,修改語音方便。

(2)修改錄音內(nèi)容時,可以從其中任意一段開始,修改其后的所有錄音內(nèi)容,不必從第一段開始全部修改。這對一些需要廠家固定一些語音段的系統(tǒng)很有好處,將固定的語音段放置在前面的段落中,允許用戶錄制的放在后面,用戶修改錄音內(nèi)容時只需修改后面的語音段即可,不影響廠家錄制的語音。

(3)分段靈活。單片ISD可分1~600個段,若多片級聯(lián)還可更多;各個錄音段的長度任意,只要總錄音時間在所用器件的總時間之內(nèi)即可。工

(4)價格便宜。錄制語音時,只需用軟件立即可得到各段的地址進(jìn)行錄音,不需專用的設(shè)備。

6 使用ISD器件應(yīng)注意的幾個問題

(1)ISD語音段尾的EOM標(biāo)志并不是器件檢測到語音結(jié)束時自動產(chǎn)生,實際是通過控制器件的工作方式來停止錄音而產(chǎn)生的。在錄音狀態(tài)下將CE和PD置高時,則停止錄音,在語音段尾產(chǎn)生EOM標(biāo)志;同時ISD器件在播放時遇到段尾的EOM時也并不自動停止播放,必須用中斷捕捉它后,再用軟件停止播放。

(2)ISD器件的音頻信號輸出功率很小,并不能直接驅(qū)動揚聲器,需要加音頻功放,如LM386。同時ISD送出的信號直流分量,直接加在LM386上,會使它處于飽和狀態(tài),無聲音輸出,需要通過電容耦合送入LM386,隔斷直流。

(3)ISD的CE、P/R、PD在接控制信號時,一定要保證復(fù)位時為高電平。否則上電或復(fù)位時全為低,恰好處于錄音狀態(tài),會沖掉芯片中原來的錄音。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉