一,、引言
對于擁有海量電話、日常辦公繁忙的工作人員來說,,使用手機查找和存儲電話號碼雖然方便,,但也存在著查詢不方便,工作效率低的缺點,,且在某些山區(qū)等邊遠地區(qū),,手機通話質(zhì)量遠遠低于固定電話。針對這種情況,,本文介紹了一種基于 DTMF技術(shù)的智能撥號器系統(tǒng),,使用該系統(tǒng)可以方便地利用計算機進行電話號碼的查找,更新和撥號,。該系統(tǒng)與固定電話并聯(lián)在電話線上,,對固定電話的正常使用沒有任何影響。此外,,系統(tǒng)還具有通話質(zhì)量好,,保密性高的特點。
二,、系統(tǒng)的組成及原理
1. 系統(tǒng)電路如圖1所示,,包括:帶USB接口的ARM處理器電路,振鈴檢測電路,,模擬摘機電路和 DTMF收發(fā)電路,;
系統(tǒng)通過 USB接口與計算機相連,計算機上有專門用戶界面供用戶實現(xiàn)撥號,,查詢等操作,。用戶使用計算機撥號時,計算機將被叫號碼和呼叫信息通過 USB口傳送到 ARM處理器,,ARM處理器控制模擬摘機電路摘機,,并啟動雙音多頻收發(fā)電路進行撥號連接。當有電話呼入 時,,振鈴檢測電路檢測振鈴有效后,,計算機用戶界面上會提示用戶“有來電,請摘機”,。
2. DTMF技術(shù)介紹 DTMF雙音多頻系統(tǒng)是有線電話通信中的撥號方式,。它具有多功能、誤碼低,、高可靠,、速度快等優(yōu)點。雙音多頻信號(DTMF)是由一組低音頻信號和一組高音頻信號以一定方式的組合構(gòu)成,,每組音頻信號各有 4個音頻信號,,而每種組合有一個高音頻信號和一個低音頻信號,共 16種組合,。
低音頻信號的標準值分別為:697 Hz,、770 Hz、852 Hz,、941Hz,; 高音頻信號的標準值分別為:1209 Hz、1336 Hz,、1477 Hz,、1633 Hz。 上述標準頻率的選定不是任選的,,而是設計時考慮了撥號音,、忙音及交流電源的雜音,這些雜音均不在上述 DTMF信號的范圍內(nèi),,同時為了避免標準頻率之間的諧波干擾出現(xiàn),,故所列最高標準頻率小于最低標準頻率的三次諧波頻率。 三,、硬件電路的組成 智能撥號器的硬件電路由 ARM存儲器,、振鈴檢測電路、模擬摘機電路和雙音多頻收發(fā)電路組成,。ARM處理器是硬件電路的核心,,它完成對其它電路控制和通信的功能,系統(tǒng)選用的是 ATMEL推出的基于 ARM的 32位閃存微控制器 AT91SAM7S64,,它成本低,,功耗小,具有豐富的外設資源,包括一個 USB 2.0設備,。模擬摘機電路用于實現(xiàn)系統(tǒng)撥號前的模擬摘機功能,,以便交換機判別出系統(tǒng)終端已經(jīng)摘機,從而向系統(tǒng)終端發(fā)送撥號音提示用戶可以撥號,;振鈴檢測電路完成檢測振鈴是否有效的功能,,如果振鈴有效,振鈴檢測電路會發(fā)送方波信號通知 ARM處理器,;雙音多頻收發(fā)電路是實現(xiàn)撥號功能的主要電路,。下面對各個電路的硬件組成進行了詳細的說明。
1. 振鈴檢測電路
由圖 2知,,振鈴檢測電路完成檢測振鈴是否有效的功能,。當用戶被呼叫時,電話交換機發(fā)來鈴流信號,。振鈴信號為 25±3Hz的正弦波,,電壓有效值90±15V。振鈴以 5秒為周期,,即 1秒通,,4秒斷。振鈴信號經(jīng)圓橋整流后經(jīng)光電隔離輸出脈沖信號,。該脈沖信號輸入到74LS04中整形成方波信號,,送入 ARM處理器 [1]。
2. 模擬摘機電路
圖 3表示模擬摘機電路完成撥號前摘機和來電后自動摘機的功能,,由于電話線上傳來的信號的極性沒有確定,,圓橋可以穩(wěn)定信號的極性,從正極輸出端輸出的永遠是正極性,,負極輸出端輸出的永遠是負極性,。模擬摘機電路工作與否由 ARM處理器傳送到光耦(TLP521-1)第二個管腳的高低電平?jīng)Q定,當 ARM處理器傳送過來的是低電平時,,光耦合器開始工作,,穩(wěn)壓二極管被反向擊穿而穩(wěn)壓在 5.1V,三極管(2N5401)因基極電平被拉低而導通,,回路電流值突增,,電話交換機檢測到該電流,將線路電壓變?yōu)槭畮追闹绷?,模擬摘機得以實現(xiàn),。若用戶沒有撥號,光電耦合器的 2端一直處于高電平,,不工作,,三極管沒有被導通,,電路回路呈現(xiàn)高阻抗。音頻變壓器起到隔離高低電壓的作用,,它右側(cè)電路的功能是使得輸出的信號控制在+/-15V以內(nèi),。
3.雙音多頻收發(fā)電路 考慮到硬件電路的可靠性,在參考了大量資料后,,系統(tǒng)選用 MT8880芯片來完成雙音多頻收發(fā)功能,MT8880芯片專業(yè)可靠,,應用廣泛,,便于開發(fā)。 雙音多頻收發(fā)電路連接圖見圖4,。
放大器的輸出端可獲得峰值 1V左右的雙音頻信號,。MT8880可以接收呼叫過程中的各種信號音,以及 16種雙音頻信號,。接收信號音和 DTMF信號共用同一通道,,并且 MT8880不能同時接收 DTMF信號和信號音,要分時復用,。信號音與 DTMF信號經(jīng)耦合線圈,,再經(jīng)電解電容 C1和電阻R1,將電話線上的信號輸入到 MT8880的輸入端IN-,。MT8880接收與發(fā)送的 DTMF信號由模擬摘機電路耦合[2-5],。MT8880作為 DTMF接收器時,將電話線傳送來的信號經(jīng) MT8880轉(zhuǎn)換成數(shù)字信號,,由ARM處理器讀入 [6],。
利用雙音多頻(DTMF)技術(shù)可通過電話線實現(xiàn)遠程數(shù)據(jù)傳輸任務,其不足之處是速度太慢(約 80波特),。本系統(tǒng)可實現(xiàn)遠程數(shù)據(jù)傳輸?shù)墓δ?,只需要通過軟件編程在系統(tǒng)(被呼叫用戶)接收到振鈴后控制模擬摘機電路工作,實現(xiàn)模擬摘機,,并設置芯片 MT8880工作在接收數(shù)據(jù)模式下,。而呼叫用戶在呼叫后,MT8880立即進入發(fā)送模式下,,等待用戶發(fā)送數(shù)據(jù),。
四、軟件編程
本系統(tǒng)通過軟件編程實現(xiàn)與 MT8880的部分端口的通信,。系統(tǒng)選用 IAR作為軟件開發(fā)環(huán)境,,IAR的 Embedded Workbench 系列是一種增強型一體化嵌入式集成開發(fā)環(huán)境,其中完全集成了開發(fā)嵌入式系統(tǒng)所需要的文件編輯,、項目管理,、編譯,、鏈接和調(diào)試工具。IAR公司獨具特色的 C-SPY調(diào)試器,,不僅可以在系統(tǒng)開發(fā)初期進行無目標硬件的純軟件仿真,,也可以結(jié)合 IAR公司推出的 J-Link硬件仿真器,實現(xiàn)用戶系統(tǒng)的實時在線仿真調(diào)試 [3],。
在軟件編程時要注意 MT8880上電延時 100ms以上,,初始化時要將寄存器清零后才能使用[2]。
1. DTMF接收和命令解釋程序 這段程序是系統(tǒng)模擬摘機后的程序,,ARM處理器發(fā)送被叫號碼到 MT8880芯片,,部分程序如下,為了方便升級開發(fā),,均有詳細注釋://設置MT8880 模式為雙音頻工作模式(發(fā)送數(shù)據(jù)) 即配置CRA=1101,CRB=0000
dBytesCRA[3] = 1;
dBytesCRA[2] = 1;
……
dBytesCRB[3] = 0;
……
MT8880_WriteCRACRB(dBytesCRA, dBytesCRB);//將1101,,0000 分別寫入到CRA 和CRB
dLength = strlength(pSendNum); //保存要寫入到MT8880 的被叫號碼的長度
for(dL = 0; dL < dLength; dL++) { //連續(xù)發(fā)送dLength 個DTMF 信號
switch(*pSendNum++) { //判斷ARM 處理器傳來的字符型的電話號碼
case '1':{
dBytesSend[3] = 0; //D3D2D1D0=0001
dBytesSend[2] = 0;
……
break;}
case '2':{
dBytesSend[3] = 0; //D3D2D1D0=0010
……
break;}
……
default:
{
break;
}
}
MT8880_WriteDataReg(dBytesSend); //寫發(fā)送數(shù)據(jù)寄存器
for(iTemp = 5000; iTemp; --iTemp) {
MT8880_ReadStateReg(dBytesSReg); //讀取狀態(tài)寄存器的值
if(dBytesSReg[1] == 1) //判斷狀態(tài)寄存器的第二位是否為1
break; //即發(fā)送數(shù)據(jù)寄存器滿,準備發(fā)送數(shù)據(jù)
}
2.信號音處理程序
首先將芯片 MT8880設置為呼叫處理,、中斷模式,,信號音處理程序分為四大部分:一是撥號前檢測是否允許撥號 ,即檢測信號音是撥號音還是忙號音,;二是撥號后檢測是否接通,,即檢測信號音是回鈴音、忙號音還是占線音,;三是撥號接通后檢測是否應答,,即檢測回鈴音是否消失;四是檢測各種信號音:撥號音,、忙號音,、回鈴音。
各種信號音的特點:撥號音在 5秒內(nèi)是連續(xù)音,;忙號音在 5秒內(nèi) 0.35秒通,,0.35秒斷;回鈴音在 5秒內(nèi)是 1秒通,,4秒斷,。
3.串行通信程序主要功能是接收上位機的命令,執(zhí)行相應的操作,。將另撰文詳說,。
五、小結(jié)
首先對智能撥號器的硬件組成進行了詳細的研究和說明,,并對部分軟件代碼進行了解釋,。該系統(tǒng)已經(jīng)測試使用,它具有成本低,、功耗小,、便于攜帶,、功能易于擴展等特點,在一定的應用背景下有很好的使用前景,。