新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 無(wú)需PC機(jī)控制的離線電話自動(dòng)通知系統(tǒng)設(shè)計(jì)

無(wú)需PC機(jī)控制的離線電話自動(dòng)通知系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2012-03-14 來(lái)源:網(wǎng)絡(luò) 收藏
目前,多數(shù)類似的通知系統(tǒng)都是基于CTI卡實(shí)現(xiàn)的[1]。這種系統(tǒng)需要由計(jì)算機(jī)進(jìn)行實(shí)時(shí)才能夠?qū)崿F(xiàn)撥打電話和播放通知語(yǔ)音,因此在實(shí)現(xiàn)通知任務(wù)時(shí)計(jì)算機(jī)需要開(kāi)機(jī),這樣就不利于在下班時(shí)間或假期無(wú)人職守時(shí)進(jìn)行通知。本文設(shè)計(jì)了一個(gè)主要由裝置構(gòu)成的電話系統(tǒng),其通知過(guò)程不需要實(shí)時(shí)管理。

  1 系統(tǒng)總體設(shè)計(jì)

  本系統(tǒng)由上位機(jī)軟件和下位機(jī)自動(dòng)通知裝置構(gòu)成。其中,上位機(jī)自動(dòng)通知軟件主要完成電話號(hào)碼和通知信息的管理,它只是一個(gè)信息管理系統(tǒng),而具體電話通知的工作是由自動(dòng)通知裝置獨(dú)立自動(dòng)完成的。

  如圖1所示,離線電話自動(dòng)通知裝置主要由通知信息存儲(chǔ)模塊、語(yǔ)音數(shù)據(jù)存儲(chǔ)與播放電路、電話呼叫及狀態(tài)檢測(cè)模塊、DTMF信號(hào)檢測(cè)模塊、串口通信及系統(tǒng)控制模塊等組成。其中,通知信息存儲(chǔ)模塊用來(lái)完成通知信息(包括被通知的電話號(hào)碼、通知語(yǔ)音和提示音的存儲(chǔ)以及本次通知狀態(tài)信息)的存儲(chǔ),硬件上主要使用串口閃存芯片實(shí)現(xiàn);語(yǔ)音數(shù)據(jù)存儲(chǔ)與播放電路用來(lái)完成語(yǔ)音信息的D/A轉(zhuǎn)換,再通過(guò)語(yǔ)音信號(hào)耦合電路將音頻信號(hào)與電話線路進(jìn)行信號(hào)耦合輸出;電話呼叫及狀態(tài)檢測(cè)模塊用來(lái)完成電話號(hào)碼的撥叫和呼叫狀態(tài)的檢測(cè),用于判斷接聽(tīng)狀態(tài),其中包括DTMF信號(hào)生成與呼叫及狀態(tài)檢測(cè)電路(使用DTMF編解碼芯片完成)、模擬摘掛機(jī)電路及摘掛機(jī)檢測(cè)電路;DTMF信號(hào)檢測(cè)模塊用來(lái)檢測(cè)電話撥通之后,播放通知語(yǔ)音過(guò)程中接聽(tīng)方是否按下確認(rèn)鍵(使用另外一片DTMF編解碼芯片完成);串口通信及系統(tǒng)控制模塊,由串口電平轉(zhuǎn)換電路和由MCS51系列MCU(AT89S52)構(gòu)成的控制單元組成,用來(lái)完成通知過(guò)程的控制和數(shù)據(jù)通信。

  

無(wú)需PC機(jī)控制的離線電話自動(dòng)通知系統(tǒng)設(shè)計(jì)

  圖1 離線電話自動(dòng)通知裝置結(jié)構(gòu)框圖

  2 語(yǔ)音數(shù)據(jù)存儲(chǔ)與播放電路

  電話通知信息主要由電話號(hào)碼數(shù)據(jù)和語(yǔ)音信息編碼數(shù)據(jù)構(gòu)成。其中,電話號(hào)碼數(shù)據(jù)為ASCII碼,信息量不多;語(yǔ)音信息編碼數(shù)據(jù)則使用PCM編碼格式,也可以使用其他的壓縮編碼形式。如果使用壓縮編碼,單片機(jī)程序還要設(shè)計(jì)相應(yīng)的解碼程序,會(huì)加重單片機(jī)的執(zhí)行負(fù)擔(dān),因此建議使用PCM編碼格式。

  

語(yǔ)音數(shù)據(jù)存儲(chǔ)與播放電路

  圖2 語(yǔ)音數(shù)據(jù)存儲(chǔ)與播放電路

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

  MCU將閃存W25X16中的語(yǔ)音數(shù)據(jù)通過(guò)P1口線讀出后,以8000 Hz的頻率通過(guò)P0口發(fā)送給D/A轉(zhuǎn)換器DAC0832,進(jìn)行語(yǔ)音還原輸出;模擬語(yǔ)音經(jīng)過(guò)放大器LM393AH進(jìn)行電流電壓轉(zhuǎn)換后,送至語(yǔ)音信號(hào)耦合電路輸入線TONE,將語(yǔ)音信號(hào)耦合到電話線路上,從而實(shí)現(xiàn)電話通知的語(yǔ)音播放。

  3 DTMF信號(hào)生成與呼叫及狀態(tài)檢測(cè)電路

  DTMF信號(hào)生成與呼叫及狀態(tài)檢測(cè)電路如圖3所示。上位機(jī)將要撥打的電話號(hào)碼和需要播報(bào)的電話語(yǔ)音通過(guò)串口發(fā)送給MCU,并存儲(chǔ)到Flash芯片W25X16中后,MCU將啟動(dòng)電話自動(dòng)通知過(guò)程。從W25X16中讀取要撥打的電話號(hào)碼,系統(tǒng)置P3.4為高電平,進(jìn)行模擬摘機(jī)。當(dāng)系統(tǒng)通過(guò)P3.7 檢測(cè)到摘機(jī)狀態(tài)有效后,將每位電話號(hào)碼數(shù)據(jù)的BCD碼送至MT8888的D0~D3數(shù)據(jù)線,同時(shí)使WR和CS信號(hào)有效,即可寫入MT8888的DTMF編碼電路。MT8888根據(jù)MCU連續(xù)寫入的BCD碼,通過(guò)TONE引腳連續(xù)發(fā)出相應(yīng)的DTMF信號(hào),再經(jīng)由Q1、Q2構(gòu)成的語(yǔ)音信號(hào)耦合電路[4]將音頻信號(hào)耦合到電話線上,從而發(fā)送


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉