新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 基于CMX860的來電顯示電話測試儀的設計

        基于CMX860的來電顯示電話測試儀的設計

        ——
        作者:空軍工程大學電訊工程學院數據通信系(西安 710077)錢淵 時間:2007-01-26 來源:《電子工程師》 收藏


        1 引 言
          
        目前,隨著電信部門電話主叫識別(來電顯示)業務的普遍開通,具有主叫識別功能的電話機越來越普及。根據這個情況,我們設計了一臺可以測試主叫識別功能的多功能電話測試儀,采用了cml(consumermicrocircuit limited)公司的cmx860作為其中來電顯示測試電路的核心元件,單片機采用了sst89c58。

        本文引用地址:http://www.104case.com/article/21217.htm

        1.1 cmx860簡介
          
        cmx860是一塊通用的低功耗電話機信令收發集成電路。cmx860包含dtmf編碼解碼器、v.23調制解調器,具有鈴流檢測、話機摘機檢測等功能,它可以廣泛應用于由線路提供電源的電話設備。
          
        cmx860的主要特性有:(1)提供v.23 1200/75bps的fsk信號發送和接收;(2)雙音多頻及音頻信令的發送和接收;(3)用戶線端和電話機端驅動;(4)呼叫進程解碼;(5)來電等候信號的產生和檢測;(6)“c-bus”串行總線接口;(7)低功耗工作方式。

        圖1是cmx860的原理框圖。cmx860包括ssop及soic兩種封裝,共28腳。具體管腳圖及管腳

        說明請參見cmx860用戶手冊。

        1.2 sst89c58簡介

        單片機sst89c58與標準的8052引腳、指令和片內資源全兼容。sst89c58的優點是包含36kb高性能的flash,既可以存儲程序,也可保存數據,簡化了系統設計,省去了通常外部擴展的24xx系列或93xx系列的外部flash,元件數目減少,系統可靠性增加,總體成本降低。sst89c58的另一個優點是保密性好,不易被解密或仿制。

        2 cmx860與單片機的連接

        cmx860的一個顯著特點是它的所有編程功能可以通過一個稱為c-bus(c總線)的串行總線接口來完成。單片機通過c-bus與cmx860連接,c-bus串行總線可在單片機和cmx860內部寄存器間進行數據、控制或狀態信息的傳送。

        2.1 cmx860與單片機的硬件連接

        cmx860的c-bus接口兼容于大多數通用的單片機串行接口,而且可與單片機的通用i/o管腳連接。本系統采用sst89c58的p1口的p1.4、p1.5、p1.6、p1.7腳與cmx860的c-bus接口連接。具體連接如圖2所示。

        cmx860各引腳功能:csn腳作為使能腳,data腳從單片機接收串行數據信號,clk腳從單片機接收串行時鐘信號,reda腳向單片機發送串行數據信號。

        2.2 單片機對cmx860編程

        根據c-bus接口的時序,在串行輸入時鐘的上升沿,從單片機命令數據線上送來的數據被鎖進  cmx860。當串行時鐘為高電平時,從cmx860送到單片機的響應數據有效。在數據傳送期間,csn線(使能端)必須保持低電平,而在兩次傳輸之間保持高電平。具體傳送過程中,首先由單片機發送給cmx860一個字節表示cmx860內部寄存器地址(cmx860內部寄存器說明及地址參見參考文獻〔1〕),接著,由單片機發給cmx860的只寫存儲器一個或多個的數據字節,或者單片機從cmx860的只讀存儲器讀出一個或多個數據字節,從而完成對cmx860的控制編程。圖3是由單片機向cmx860發出一個地址信號和一個數據信號的時序圖。

        下面是單片機與cmx860通信的幾個子程序:
          
        (1)單片機向cmx860寫入一個字節信息子程序,信息存在寄存器a中。

        out byte:mov r7,#8

        outb1: clr clk;時鐘信號置為低電平

        rlc a;從a中讀出一比特

        mov date,c;將一比特信息放入data數據線上

        setb clk;時鐘信號置為低電平

        rlca;從a中讀出一比特

        mov date,c;將一比特信息放入data數據線上

        setb clk;時鐘信號置為高電平,在時鐘的上升沿時data數據線上數據被送入cmx860

        djnzr7,outb1;總共輸入8比特clr clkret
          
        (2)單片機從cmx860讀出一個字節信息子程序,信息存入寄存器a中。

        in byte:mov r7,#8

        inb1: clr clk;時鐘信號置為低電平

        nop

        setbclk;時鐘信號置為高電平

        mov c,sout;在時鐘信號為高電平時將rdda數據線上的數據比特讀入單片機

        rlca;將數據比特存入寄存器a中

        djnzr7,inb1;共讀入8個比特

        clr clk

        ret

        (3)單片機向cmx860特定寄存器寫入一個字節信息子程序。

        write byte:clr csn;使能端置為低電平

        mov a,addr;

        3 電話主叫識別簡介

        3.1 主叫識別業務定義
          
        主叫識別信息傳送及顯示業務,是向被叫電話機提供的一種新的服務項目,指在被叫用戶終端設備上顯示主叫號碼、主叫用戶姓名、呼叫日期、時間等主叫信息,并進行存儲,以供用戶查閱的一種服務。

        3.2 實現主叫識別的方法

        實現主叫識別的基本方法是發端交換機將主叫號碼等信息通過信令系統傳送給終端交換機,終端交換機將主叫識別信息以雙音多頻(dtmf)或頻移鍵控(fsk)的方式傳送給終端用戶/終端設備。終端交換機將主叫識別信息在第一次振鈴和第二次振鈴間隙送給被叫用戶終端。

        3.3 主叫識別信息數據的傳送時序

        主叫識別信息數據的傳送時序圖見圖4。

        圖4中,階段a是交換機向終端電話發出的第一次振鈴信號;階段b是第一次振鈴結束與數據傳送開始之間的時間間隔,時長為0.5~1.5s;階段c是交換機向終端電話發出的關于主叫識別信息的數據信號,時長應小于2.9s;階段d數據傳送結束與第二次振鈴開始之間的時間間隔,時長大于200ms;階段e是交換機向終端電話發出的第二次振鈴信號,時長為1s。

        3.4 主叫識別信息數據格式
          
        主叫識別信息數據由信息頭和信息體兩部分構成,信息頭由信息類型和信息長度組成,它們均為8比特,信息類型的值用來識別信息的類型,信息長度指明后來跟的信息值的長度,信息體包括交換機發送給終端用戶的主叫用戶信息,信息體可容納1~255個8比特的消息字,每個字用帶校驗的ascii碼表示。如圖5所示。

        4 電話測試儀中來電顯示測試部分的硬件及軟件實現

        4.1 硬件實現

        電話測試儀中來電顯示測試部分模擬終端交換機向被測試電話機發出主叫用戶信息,以檢測被測電話顯示的內容是否準確。其原理框圖見圖6。其中,主控部分包括sst89c58和cmx860等電路,產生并發送主叫用戶信息;電源部分向主控部分及顯示部分提供+5v及+9v電壓;仿真部分模擬交換機的用戶環路,連接電話機,并向電話機提供48v饋電;顯示部分用來顯示測試儀的狀態及電話機向測試儀發出的各種信息如號碼等;輸入部分用于輸入主叫用戶信息及測試儀的控制命令。

        4.2 軟件實現

        系統模擬交換機向電話機發送主叫識別信息,電話機接收后顯示主叫信息。需要顯示的主叫識別信息內容可以采用兩種方法獲得:(1)在編程時預先存入數據存儲區,采用這種方法可以存儲國標要求測試的所有內容;(2)由用戶輸入,用戶可以根據需要在測試前輸入信息,這樣可以增加測試的靈活性。發送主叫識別信息有dtmf及fsk兩種信號方式。用戶可根據被測試電話機選擇其中一種或兩種信號方式。測試軟件流程圖如圖7所示。流程圖中輸出來電顯示信息部分按圖4的流程。

        5 結束語

        我們采用cmx860為核心設計的可測試來電顯示的多功能電話測試系統,目前已投入使用。



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 鸡东县| 靖宇县| 洮南市| 苍梧县| 赤壁市| 灵台县| 喀喇沁旗| 东平县| 台北县| 东源县| 武川县| 寻乌县| 静海县| 苏州市| 蒙山县| 焦作市| 大方县| 友谊县| 保靖县| 合山市| 新乡市| 怀化市| 诏安县| 莱阳市| 诸暨市| 霍林郭勒市| 灯塔市| 清徐县| 广宁县| 江山市| 城固县| 敖汉旗| 巴塘县| 娄烦县| 井研县| 镇原县| 通辽市| 亳州市| 喜德县| 刚察县| 青铜峡市|