離線(xiàn)電話(huà)自動(dòng)通知系統設計
語(yǔ)音數據存儲與播放電路如圖2所示。針對電話(huà)系統的語(yǔ)音質(zhì)量要求不高的特點(diǎn),本文使用了8位的量化位數和8 kHz的采樣頻率,因此其數據量不大,2分鐘的語(yǔ)音數據量為1×8 000×120=960000 B,再加上電話(huà)號碼信息所用的1 MB閃存,系統使用16 Mb(2 MB)的閃存就能夠很好地滿(mǎn)足電話(huà)通知的要求。這里采用SPI接口的閃存芯片W25X16,由于A(yíng)T89S52沒(méi)有SPI接口,所以使用P1口,通過(guò)軟件方式來(lái)模擬SPI口實(shí)現與W25x16的通信。

MCU將閃存W25X16中的語(yǔ)音數據通過(guò)P1口線(xiàn)讀出后,以8000 Hz的頻率通過(guò)PO口發(fā)送給D/A轉換器DAC0832,進(jìn)行語(yǔ)音還原輸出;模擬語(yǔ)音經(jīng)過(guò)放大器LM393AH進(jìn)行電流電壓轉換后,送至語(yǔ)音信號耦合電路輸入線(xiàn)TONE,將語(yǔ)音信號耦合到電話(huà)線(xiàn)路上,從而實(shí)現電話(huà)通知的語(yǔ)音播放。
3 DTMF信號生成與呼叫及狀態(tài)檢測電路
DTMF信號生成與呼叫及狀態(tài)檢測電路如圖3所示。上位機將要撥打的電話(huà)號碼和需要播報的電話(huà)語(yǔ)音通過(guò)串口發(fā)送給MCU,并存儲到Flash芯片 W25X16中后,MCU將啟動(dòng)電話(huà)自動(dòng)通知過(guò)程。從W25X16中讀取要撥打的電話(huà)號碼,系統置P3.4為高電平,進(jìn)行模擬摘機。當系統通過(guò)P3.7檢測到摘機狀態(tài)有效后,將每位電話(huà)號碼數據的BCD碼送至MT8888的D0~D3數據線(xiàn),同時(shí)使信號有效,即可寫(xiě)入MT8888的DTMF編碼電路。MT8888根據MCU連續寫(xiě)入的BCD碼,通過(guò)TONE引腳連續發(fā)出相應的DTMF信號,再經(jīng)由Q1、Q2構成的語(yǔ)音信號耦合電路將音頻信號耦合到電話(huà)線(xiàn)上,從而發(fā)送給程控交換機實(shí)現軟件撥號。

撥號完成后,MCU設置MT8888工作在呼叫監聽(tīng)模式,進(jìn)行呼叫狀態(tài)監聽(tīng)。MT8888通過(guò)2引腳檢測電話(huà)線(xiàn)上傳輸信號,MCU通過(guò)讀取MT8888的引腳輸出的脈沖頻率和脈沖個(gè)數即可分析出呼叫狀態(tài)。若線(xiàn)路上傳輸的是450 Hz的音頻信號,而且是持續1 s后4 s無(wú)的循環(huán)信號,則為回鈴音信號,即處于振鈴狀態(tài);如果線(xiàn)路上傳輸的是450 Hz的音頻信號,而且O.35 s通O.35 s斷的循環(huán)信號,則為忙音信號,即處于線(xiàn)路忙或掛機狀態(tài)。
在語(yǔ)音播報過(guò)程中,系統同樣使用另一塊MT8888芯片構成的DTMF檢測電路,檢測當前電話(huà)接聽(tīng)者的按鍵動(dòng)作,以判斷其是否按下確認按鍵。系統根據按鍵狀態(tài)保存本次通話(huà)或通知的狀態(tài)。
評論