摘? 要: 介紹用單片機進行控制,利用ISD2590芯片設計實現的一種數字式自動答錄系統。該系統具有一定程度的智能化,且實現簡單,具有較大的可擴充性。
關鍵詞: 單片機? ISD2590芯片? 錄音? 雙音多頻(DTMF)
?
隨著電子技術特別是數字技術的迅猛發展,電腦自動應答、數字點歌、自動音頻服務、自動應答錄音電話等各種自動答錄系統在越來越多的場合發揮著重要的作用。這些技術極大地方便了人們的工作和生活,提高了效率。本文介紹以數字存儲方式設計實現的一種簡單的自動應答錄音系統。該系統主要采用ISD2590語音芯片進行數字錄音,其特點是:音質好,且可隨時更改主人留言信息。另外該系統利用單片機控制" title="單片機控制">單片機控制,具有一定程度的智能化及可擴充性。
1 系統原理
數字存儲式" title="存儲式">存儲式自動應答錄音系統的原理如圖1所示,其核心器件是單片機。利用單片機檢測鍵盤、摘/掛機、鈴流等輸入信號,并相應地控制和實現雙音多頻(DTMF)信號的發送、語音芯片的錄放音等功能。
?
?
在電源方面,振鈴電路和通話電路由電話線上的直流饋電直接提取,其它電路用外電源(5V)供電。
系統分為硬件和軟件兩部分。
2 硬件設計
整個電路按功能主要分成兩大部分:語音收發電路" title="收發電路">收發電路和錄音部分。
2.1 語音收發電路的實現原理
語音收發部分的內部組成如圖2所示。要求可傳送的語音信號在300Hz~3400Hz之間。
?
語音收發電路主要包括三大部分:振鈴電路、通話電路和發碼電路。其工作過程為:平時通話電路和發碼電路同電話線斷開;當振鈴信號到達時,振鈴電路工作,促使蜂鳴器發聲;摘機后,即通過轉換開關使通話電路和發碼電路同電話線接通,交換機檢測后立即停止發送振鈴信號,而轉接雙方的話音信號,通過通話電路實現通話。若欲向外輸出話音信號,首先摘機動作使發碼電路與電話線接通,交換機檢測到即送來撥號音;然后交換機負責把呼叫方撥發的DTMF信號送給被叫方,使被叫方電話振鈴。
振鈴電路主要用SGS公司的LS1240芯片,通話電路用TEA1061實現,發碼電路使用可與單片機接口的HT9200A芯片,可實現DTMF數據的發送,且容易對其進行軟件控制。
另外,考慮到后面的設計需自動摘機,轉換開關用繼電器實現,以利于單片機控制。
2.2 錄音功能的實現
2.2.1 ISD2590芯片
錄音時主要用ISD2590芯片,它是美國ISD公司的專利產品,具有音質自然、使用方便、單片存儲、反復錄放、低功耗、抗斷電等特點。該芯片采用模擬數據直接在半導體存儲器中存儲的技術,不需經過A/D或D/A轉換。因此能夠非常真實、自然地再現語音、音樂、音調和效果聲,避免了一般固體錄音電路因量化和壓縮造成的量化噪聲和“金屬聲”。片內信息可保存100年(無需后備電源),存儲單元可反復錄音十萬次。
(1)芯片的電路特性
·手動操作/微控制器控制兼容;
·多段信息處理,可分1~600段;
·輸入采樣頻率5.3kHz;
·典型帶寬2.3kHz;
·外部時鐘頻率1024.0kHz。
(2)部分引腳描述
·節電控制(PD)
本端拉高使芯片停止工作,進入不耗電的省電狀態。芯片發生溢出,即端變低后,要將本端短暫變高復位芯片,才能使之再次工作。
本端變低后(而且PD為低),允許進行錄放操作。芯片在本端的下降沿鎖存地址線和P/端的狀態。
本端在的下降沿鎖存。高電平選擇放音,低電平選擇錄音。錄音時,由地址端提供起始地址,錄音持續到CE或PD變高,或內存溢出。如果
是前一種情況,芯片自動在錄音結束處寫入
標志。放音時,由地址端提供起始地址,放音持續到
標志。如果
一直為低,或芯片工作在某些操作模式" title="操作模式">操作模式,放音會忽略
,繼續進行。
信息何時結束在錄音時進行設定。只要CE端上升沿到來,錄音就停止,此時ISD芯片會在內部一個獨立的EEPROM單元內設置一個信息結束標志。當由
端脈沖觸發放音時,放音持續到
位為止。
ISD芯片存儲陣列的每一行都可以獨立尋址,每一行中均勻地布置4個EOM定位點,因此芯片共有2400個定位點(4×600=2400)。例如ISD2590采樣頻率為5.3kHz,每行的尋址時間為160ms,則的分辨率為40ms。這樣,從信息結束到
信號輸出的最大延時是40ms。
信號為負脈沖,脈寬為20ms。上升沿實際上標志信息的結束,因此語音在
處于低電平時仍繼續從芯片輸出,而在上升沿時停止。
·地址/模式輸入端(Ax/Mx)
地址端有兩個作用,取決于最高兩位(A8、A9)的狀態。當最高兩位中至少有一個為0時,所有輸入均解釋為地址位,作為當前錄放操作的起始地址。當這兩位全部為1時,地址端就作為工作模式選擇端(高電平有效)。因此操作模式和直接尋址是相互排斥的(具體的操作模式可參考有關資料)。地址端只作輸入,不輸出操作過程中的內部地址信息。地址在的下降沿鎖存。
·話筒前置放大器輸出端(ANA OUT)
這個輸出經電容耦合到模擬輸入(ANA IN)腳。前置電壓增益取決于AGC端電平。
·模擬量放大器信號輸入端(ANA IN)
本端為芯片錄音信號輸入端。它接到輸入阻抗約為2.7kΩ的固定增益放大器。對話筒輸入來說,ANA OUT端應通過外接電容連至本端。該電容和本端的3kΩ輸入阻抗給出了芯片頻帶的附加低端截止頻率。其他音源可通過交流耦合直接連至本端(繞過了ISD的前置)。
·話筒輸入信號端(MIC)
本端用于放大1~20mV的信號,它是增益可控的跨導放大器,輸入阻抗10kΩ,最大增益24dB。一般駐極體話筒輸出的電平足夠驅動該放大器。由于輸入阻抗已知,頻率響應的下限由音頻信號源和輸入耦合電容決定。對于ISD2590,駐極體話筒選用0.1μF的耦合電容,它和本端的10kΩ輸入阻抗決定了芯片頻帶和低頻截止點。
芯片上的AGC電路控制前置放大器的增益,使增益在0~20dB之間變化,以維持合適的輸入電平。
·話筒參考端(MIC REF)
該端是前置放大器的反向輸入端,當以差分形式連接話筒時,可抵消噪聲,提高共模抑制比。這個輸入端如果不用,必須懸空。
2.2.2 錄間部分的電路原理
錄音部分的電路如圖3所示。
?
?
(1)單片機除了要控制ISO2590的、P/
、PD和
4個控制端,還要控制地址端的高4位(A9~A6),以使信息的分辨率最小為9.6s。
(2)圖3中的繼電器開關J1-2可以控制芯片的錄音方式:當如圖3所示連接開關,芯片從MIC錄音;當斷開J1-2,語音信號從20腳(ANA IN)錄入芯片,MIC不起作用。
3 軟件設計
3.1 主程序
先掃描鍵盤(采用非編碼鍵盤),若所按鍵的鍵值小于或等于0CH,表示要發碼,轉入發碼(SENDCODE)程序。這些鍵共包括:0~9、*和#鍵。
若鍵值大于0CH,則表示是功能控制鍵,依次判斷是哪個鍵,然后轉入相應子程序" title="子程序">子程序。這里功能鍵共包括:ON/OFF、PLAY、READY、RECORD。
流程圖如圖4所示。
?
3.2 鍵盤掃描子程序
本程序采用非編碼鍵盤,單片機必須對所有按鍵進行監視。一旦發現有鍵按下,單片機應通過程序加以識別,找出它的行列值,并求出它的鍵值,然后轉入相應的處理程序,實現該鍵功能。
3.3 ON/OFF鍵子程序
ON/OFF鍵是摘掛機控制鍵,它對應的鍵值是10H。
當有振鈴信號輸入或欲輸出話音時,要將通話電路與電話線接通。此時可以按下ON/OFF鍵,單片機檢測到此鍵便控制繼電器JK1(使P1.4取反)完成此要求。
3.4 RECORD鍵子程序
RECORD鍵是錄主人留言信息控制鍵,它對應的鍵值是0DH。
主人要把自己不在家的留言信息(例如:“您好,這是××的自動留言機,主人不在家,請留言,留言時間是80s”)。預先錄入ISD2590芯片中,以便需要時可以隨時調用。在這里留有9s的時間用來錄這段話。具體操作是:先按下RECORD鍵,程序檢測到此鍵后,便開始錄主人留言信息并啟動單片機的T0中斷定時。9s后自動停止。
由于對ISD2590進行直接尋址時,信息的最小分辨率是150ms,所以將A0~A5都接地,將A6~A9連到單片機輸出端。這樣可以使信息的最小分辨率變為9.6s(150ms×26=9.6s)。利用單片機的T0中斷定時器從ISD的初始地址(即A6~A9都為0)開始定時9s,并把這段時間留作主人留言區(剩下大約0.6s不用)。把接下來的80s用來錄對方留言信息。
3.5 READY鍵子程序
READY鍵是準備實現自動留言功能控制鍵,它對應的鍵值是0EH。
當主人出門前,預先按下此鍵等待。當有振鈴信號輸入時,振鈴檢測電路檢測到振鈴響了4次后,便發給單片機一請求信號。單片機響應后,首先將通話電路與電話線接通(模擬摘機),然后將主人留言信息發給呼叫方,發送完畢后馬上準備進行錄音。本程序留有80s的時間錄對方留言信息,每次錄音都從上次錄音結束處開始到此次對方錄音完畢并掛機為止,循環錄制(自動覆蓋最前面信息),每次錄音完畢自動掛機。主人回家后,可以按下復位鍵,再進行其他的操作(比如播放留言信息)。
流程圖如圖5所示。
?
?
3.6 PLAY鍵子程序
PLAY鍵是播放留言控制鍵,它對應的鍵值是0FH。
當主人要聽自己留言信息或對方留言信息時可以按下此鍵,這時便開始播放第一段信息(主人留言);若不想聽此段信息,可以不等其播放完,再按一下PLAY鍵,便從第二段開始播放(對方留言);若再按此鍵,便重新播放第一段信息;只要按的不是PLAY鍵,就跳出此子程序,ISD2590停止播放。
流程圖如圖6所示。
?
?
本文設計實現了一種數字芯片存儲式自動答錄系統。該系統具有實用性強、穩定性高等諸多優點,適合家庭和商業兩用,且在功能上可以擴展。
(1)若想錄多方留言信息,可以將這80s的時間細分成多段,每段多長時間預先設定好。也可在電路中加入摘掛機檢測電路,當對方掛機時自動停止錄音。這種情況下每段錄音時間不固定。
(2)此電路還可以擴展,加一些其他功能,例如:
·溫度報警功能。只要將溫度傳感器輸入端連至單片機外部中斷腳,當溫度達到一定值時,便進入中斷,單片機控制語音收發電路自動撥號(例如撥119),并告知對方這里有火災。
·自動轉接分機。可以將語音芯片再留出一小部分用來存儲轉接的語音提示信息(例如:請撥分機號,1為××處,2為××處),然后電路判定對方發來的DTMF碼并通過軟件和繼電器將對方自動轉接到相應的分機上。
?
參考文獻
1 楊為理.現代通信集成電路應用技術手冊.北京:電子工業出版社,1995
2 郭 維,陳英柳,王曉萍.中外電信集成電路使用手冊(上).北京:北京電子工業出版社,1992
3 李朝青.單片機原理及接口技術.北京:北京航空航天大學出版社,1999
4 唐明道.ISD2500系列單片語音錄放電路.電子技術,1996;(9):31~34
5 劉 欣,安欣賞. ISD語音器件分段地址的獲取.電子技術,1999;(12):40~41