摘 要:給出基于CM8870雙音多頻解碼器的小型程控交換機(jī)設(shè)計(jì)。簡單介紹了雙音多頻信號組成與CM8870解碼器芯片的結(jié)構(gòu)與功能,對CM8870解碼器的收號過程進(jìn)行了詳細(xì)說明。最終給出了利用SM8951單片機(jī)作為交換機(jī)控制器控制小型交換機(jī)進(jìn)行通信的完整電路設(shè)計(jì)。該設(shè)計(jì)經(jīng)實(shí)現(xiàn)后證實(shí)系統(tǒng)可靠、穩(wěn)定,能夠順利完成交換機(jī)的電路交換功能。
關(guān)鍵詞:SM8951; 交換機(jī); 數(shù)據(jù)交換; CM8870
中圖分類號:TN958 文獻(xiàn)標(biāo)識碼:B
文章編號:1004-373X(2010)13-0054-03
Design of Small SPC Exchange Based on CM8870
ZHAO Zhi-hong, SHAN Xian-ming, LI Ke-xin
(Department of Electronics, Shenyang Artillery College, Shenyang 110162, China)
Abstract: A design method of small SPC exchange based on DTMF decoder CM8870 is presented. The composition of DTMF signals, the framework and function of CM8870 are introduced. The receiving course of CM8870 is elaborated. The whole circuit of a small SPC exchang that employs SM8951 MCU as the controller of SPC exchange to achieve communication is offered. The practical result of the exchange shows that the system is reliable and stable and can accomplish the functions of the design.
Keywords: SM8951; switchboard; data switching; cm8870
0 引 言
雙音多頻(DTMF)信號由貝爾實(shí)驗(yàn)室發(fā)明,最初是用于電話系統(tǒng)中電話機(jī)與交換機(jī)之間的一種用戶信令,通常用于發(fā)送被叫號碼。DTMF信號由高頻群和低頻群組成,高、低頻群各包含四個頻率。一個高頻信號和一個低頻信號疊加組成一個組合信號,代表一個數(shù)字。DTMF信令有16個編碼。雙音多頻的撥號鍵盤是4×4的矩陣。每按一個鍵就發(fā)送一個高頻和低頻的正弦信號組合,因?yàn)槿魏?個頻率之間沒有諧波干擾,因此其抗干擾能力很強(qiáng),遠(yuǎn)程傳輸之后的誤判率很低。
交換機(jī)中DTMF解碼芯片采用CM8870實(shí)現(xiàn)通訊線路上雙音多頻信號的解碼功能,該芯片將偵聽到的雙音多頻信號轉(zhuǎn)換為二進(jìn)制四位代碼,發(fā)往單片機(jī),為單片機(jī)提供數(shù)據(jù)流的目的信息。雙音多頻信號是一組由高頻信號與低頻信號疊加而成的組合信號。雙音多頻信號解碼是交換機(jī)中非常重要的組成部分,是否能夠準(zhǔn)確地解碼出線路發(fā)送來的雙音多頻信號是建立通信鏈路的關(guān)鍵,它的工作情況直接決定了遠(yuǎn)程數(shù)據(jù)通訊的可靠性[1]。本系統(tǒng)采用的雙音頻解碼芯片CM8870集成了頻帶分離濾波器和數(shù)字解碼器,可以將接收到的DTMF信號轉(zhuǎn)換成8421碼[2]。
1 CM8870解碼功能實(shí)現(xiàn)
1.1 CM8870芯片簡介
CAMD公司的CM8870雙音多頻信號解碼器為單片18腳DIP封裝芯片,該芯片內(nèi)含濾波器與數(shù)據(jù)解碼功能,可濾除340~3 400 Hz外的非音頻信號,同時將音頻信號轉(zhuǎn)換為二進(jìn)制4位數(shù)字信號,內(nèi)部CMOS工藝大大降低了芯片功耗,功耗僅為35 mW。CM8870內(nèi)置一個差分輸入放大器、一個時鐘產(chǎn)生器及一個三態(tài)鎖存接口總線,減少了芯片外圍組件,只需要接一個普通晶振即可正常工作[3]。
其特點(diǎn)如下:
提供DTMF信號分離濾波和譯碼功能;
功耗低于35 mW;
可以工作在工業(yè)溫度范圍內(nèi);
可外接晶振,且內(nèi)含震蕩器產(chǎn)生基準(zhǔn)頻率信號;
采用18引腳DIP,EIAJ,SOIC,PLCC封裝。
CM8870電路的基本特性是提供DTMF信號分離濾波和譯碼功能,輸出相應(yīng)的16種DTMF頻率組合的4位并行二進(jìn)制碼。電路輸出的二進(jìn)制碼D1~D4由數(shù)據(jù)輸出允許段TOE控制,當(dāng)TOE為高電平時,D1~D4輸出與當(dāng)前輸入的DTMF信號相對應(yīng)的二進(jìn)制碼;當(dāng)TOE為低電平時,D1~D4端呈高阻狀態(tài)。運(yùn)放和R1,R2,C1組成一反相放大器,對輸入的DTMF信號進(jìn)行隔離放大,其增益K=-R2/R1,改變R2的值可改變增益的大小,VREF為基準(zhǔn)電壓輸出端,取VDD/2=25 V;INH和PD為內(nèi)部電路連接點(diǎn),應(yīng)接地;OSC1和OSC2為振蕩器輸入輸出端,外接358 MHz晶振與內(nèi)部振蕩器產(chǎn)生基準(zhǔn)頻率信號;STD為延遲控制輸出端,當(dāng)一組有效的雙音頻信號被接收時輸出“1”,否則輸出“0”;ESt為初始控制輸出端,若電路檢測出可識別的單音對,則此端變成高電平,若無輸入信號或連續(xù)失真,則ESt返回低電平;SI/GT為控制輸入端/時間監(jiān)測輸出端。功能框圖如圖1所示[4]。
圖1 CM8870芯片內(nèi)部結(jié)構(gòu)圖
雙音多頻信號是用兩個不同頻率的信號組合來表示一個字符或數(shù)字。這兩個頻率一個選自低頻段,一個選自高頻段,每個頻段分別包含四個不同的頻率,因而總共可以組合成16種選擇[5],而常用的只有12種,它們是0~9,以及#號和*號。CM8870能將DTMF信號譯碼成4位二進(jìn)制碼[6]。
1.2 CM8870的收號過程
CM8870組成收號電路,它的輸入為來自模擬用戶接口雙音多頻信號,輸出為4位二進(jìn)制數(shù)據(jù),供處理器從數(shù)據(jù)總線口讀入。
其收號過程如下:模擬信號從IN-腳引入后,經(jīng)雙音濾波器初步濾除帶外干擾信號,隨后,此濾出信號在經(jīng)高群濾波器和低群濾波器分別濾出其中的高頻和低頻分量,這兩種分量分別通過過零檢測后送給數(shù)字檢測計(jì)算電路;該電路對音頻信號進(jìn)行進(jìn)一步的優(yōu)化,能排除外部噪聲因偶然含有某些特定頻率而被編碼器編碼,或者影響編碼器的編碼,從而引起后續(xù)的收號錯誤。當(dāng)高、低頻組信號同時被編碼器檢測到時,ESt腳將輸出高電平作為有效檢測DTMF信號的標(biāo)志,而當(dāng)DTMF信號消失時,ESt腳將輸出低電平。為了防止外部噪聲被CM8870誤編碼,編碼器要求被編碼的音頻信號能維持一段時間,這段時間由外部的一個RC電路來決定。如前所述,當(dāng)音頻信號被檢測到時,ESt輸出高電平1,電容放電,VC上的電壓值上升(假設(shè)信號在整個要求時間內(nèi)部存在),VC升到一個門限值VTST時,該音頻信號被編碼,變成了數(shù)字信號,該數(shù)字信號將被鎖存起來,此時,GT就為高,使VC點(diǎn)的電壓由門限值升到VDD,此后,只要ESt仍保持為高,GT就為高,外部的RC電路回到初始狀態(tài),隨后,經(jīng)過一段鎖存操作引起的延時后,STD腳輸出高電平,表示信號鎖存完畢。這時,若要從Q1~Q4上讀這4位編碼,應(yīng)使TOE為高,打開鎖存器,就完成了DTMF的收號任務(wù)。
2 單片機(jī)控制CM8870設(shè)計(jì)
2.1 SM8951控制框圖
SM8951外圍電路連接如圖2所示,單片機(jī)通過P1.4管腳與模擬摘掛機(jī)電路相連,有設(shè)備呼叫通信時,單片機(jī)會通過該管腳檢測到線路上有摘機(jī)動作,然后單片機(jī)控制鈴流發(fā)生器向呼叫方發(fā)送撥號音,收到號碼后,將該號碼用DTMF解碼器解碼并經(jīng)過P2.7腳發(fā)給單片機(jī),單片機(jī)對該號碼進(jìn)行分析,確定主叫方呼叫的對象,而后單片機(jī)摘機(jī),判定終端交換機(jī)是否空閑,若空閑則發(fā)送呼叫號碼,收到回應(yīng)后,給被叫方發(fā)送振鈴音,給主叫方發(fā)送回鈴音,被叫一旦摘機(jī),則單片機(jī)馬上退出操作,完成呼叫轉(zhuǎn)移[7]。
圖2 SM8951控制框圖
CM8870與SM8951單片機(jī)的接口電路如圖3所示。SM8951單片機(jī)的P0.0~P0.3讀取CM8870的譯碼數(shù)據(jù),當(dāng)CM8870接收到一個有效DTMF信號后,ESt端首先變?yōu)楦唠娖剑?jīng)積分電路使控制輸入端SI電平升高,若SI端電平高于門限電平,CM8870內(nèi)部的4位二進(jìn)制碼被更新,STD端變?yōu)楦唠娖剑琒M8951單片機(jī)通過P2.7口檢測到這一信息后就開始接收。若 CM8870無DTMF信號輸入或DTMF信號連續(xù)失真,則ESt端為低電平,SI端為低電平,STD端輸出低電平。
圖3 CM8870與SM8951連接圖
雙音頻解碼電路如圖4所示。雙音頻信號輸入點(diǎn)與一個三極管的集電極V1相連接,當(dāng)V1導(dǎo)通時,從電話線上送來的雙音頻信號進(jìn)入CM8870。如果CM8870接收到的是有效的DTMF信號,便解碼出對應(yīng)的8421碼從數(shù)據(jù)輸出端Q1~Q4輸出,該數(shù)據(jù)進(jìn)入單片機(jī)P0.0~P0.3口,完成數(shù)據(jù)采集、判斷和處理。另外,從CM8870的第15腳出來的狀態(tài)信號進(jìn)入單片機(jī)的P2.7端口,通知單片機(jī)讀取數(shù)據(jù)[8]。
圖4 CM8870電路圖
2.2 單片機(jī)控制過程
單片機(jī)控制交換機(jī)通信時要時時監(jiān)控通信鏈路中是否有摘機(jī)、掛機(jī)動作。摘機(jī)、掛機(jī)電路其實(shí)就是一個電子開關(guān),控制電路板和電話線之間的連接。平時這個開關(guān)應(yīng)該處于斷開的狀態(tài),以免造成電話線占線;當(dāng)需要實(shí)現(xiàn)遠(yuǎn)程控制時,如果振鈴響5次而無人接聽,這時就需要讓電路板和電話線路接通,即完成摘機(jī)動作。V1就是一個電子開關(guān),該開關(guān)的導(dǎo)通與否受到單片機(jī)P1.4口的控制。摘機(jī)掛機(jī)電路如果用繼電器設(shè)計(jì),電路要簡單一些,但在實(shí)用中發(fā)現(xiàn)耗電大,5 V的繼電器吸合電流高達(dá)30 μA,另外繼電器也容易產(chǎn)生火花干擾。采用晶體管摘機(jī)掛機(jī)電路克服了這些問題[9]。
軟件設(shè)計(jì)流程圖如圖5所示。
圖5 軟件設(shè)計(jì)流程圖
當(dāng)單片機(jī)控制CM8870作為主叫方時,單片機(jī)要先對CM8870進(jìn)行初始化,然后控制摘機(jī)電路摘機(jī),收到被叫方的撥號音后,單片機(jī)控制鈴流發(fā)生器產(chǎn)生振鈴,作為主叫方呼叫。等待一段時間后,看對方有沒有接機(jī)。若對方摘機(jī),則通信開始,否則掛機(jī),通信結(jié)束。
當(dāng)中繼作為被叫方時,啟動單片機(jī)后,程序要首先對CM8870進(jìn)行初始化,然后隨時檢測是否有振鈴音,如果有,由單片機(jī)控制摘機(jī)電路主動摘機(jī),等待一段時間,確保已經(jīng)摘機(jī)后,單片機(jī)控制鈴流發(fā)生器產(chǎn)生振鈴,作為主叫方呼叫。等一段時間后,完成呼叫轉(zhuǎn)移功能,掛機(jī),結(jié)束通信[10]。
3 結(jié) 語
本系統(tǒng)基于SM8951單片機(jī)與CM8870雙音多頻解碼芯片實(shí)現(xiàn)小型工控交換機(jī)功能,該小型交換機(jī)可用于以電力線或雙絞線為傳輸載體的工控網(wǎng)絡(luò)遠(yuǎn)程數(shù)據(jù)傳輸,依據(jù)PSTN公共電話交換網(wǎng)絡(luò)協(xié)議與信令標(biāo)準(zhǔn),采用電路交換原理實(shí)現(xiàn)交換功能。該小型交換機(jī)可置于網(wǎng)絡(luò)通信的中繼器中,也可置于末端的數(shù)據(jù)處理器中,通常,該交換機(jī)只負(fù)責(zé)轉(zhuǎn)發(fā)數(shù)據(jù),為數(shù)據(jù)通信建立傳輸鏈路,數(shù)據(jù)在交換機(jī)中的傳輸是雙向的。交換機(jī)不是數(shù)據(jù)的最終目的地,而只是一個“驛站”。雖然隨著數(shù)字通信技術(shù)的發(fā)展,交換技術(shù)日趨復(fù)雜,交換功能日益完善,但對于工控網(wǎng)絡(luò)來說,基于有線網(wǎng)絡(luò)的電路交換技術(shù)仍以其低成本,易實(shí)現(xiàn)、安全可靠性高等優(yōu)點(diǎn)而被廣泛使用。
參考文獻(xiàn)
[1]田質(zhì)廣,張慧芬.CM8870DTMF解碼器及其與8098單片機(jī)的接口設(shè)計(jì)[J].山東電子,1999(3):12-13.
[2]葛建新.DTMF(雙音多頻)技術(shù)淺析[J].中小企業(yè)管理與科技,2009(6):226.
[3]徐力明,張皓.DTMF調(diào)制解調(diào)器MT8880的性能及其應(yīng)用[J].移動通信,1991,4(2):24-30.
[4]劉艷芳,竇育強(qiáng),張愛麗.基于Matlab的雙音多頻信號識別[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2009,18(7):199-201.
[5]劉平斌,王國華.雙音多頻發(fā)送接收器MT8880及其應(yīng)用[J].現(xiàn)代通信,1999(3):88-90.
[6]高秀娥.DTMF專用芯片MT8880在通信網(wǎng)數(shù)據(jù)傳輸中的應(yīng)用[J].現(xiàn)代電子技術(shù),2004,27(13):25-27,30.
[7]莫登耀,廖胖昕,張阿卜.微機(jī)USB和RS 485通信接口的軟硬件設(shè)計(jì)[J].廈門大學(xué)學(xué)報:自然科學(xué)版,2005(6):273-276.
[8]柳義筠.基于RS 485的多機(jī)通信的應(yīng)用[J].電腦學(xué)習(xí),2006 (4):29-30.
[9]李朝青.PC機(jī)及單片機(jī)數(shù)據(jù)通信技術(shù)[M].北京:北京航空航天大學(xué)出版社,2002.
[10]余宗寶,薛國將,劉銀.基于電話網(wǎng)絡(luò)的遠(yuǎn)程家電控制系統(tǒng)[J].長沙通信職業(yè)技術(shù)學(xué)院學(xué)報,2005,4(2):48-50.