1 引 言 目前,隨著(zhù)電信部門(mén)電話(huà)主叫識別(來(lái)電顯示)業(yè)務(wù)的普遍開(kāi)通,具有主叫識別功能的電話(huà)機越來(lái)越普及。根據這個(gè)情況,我們設計了一臺可以測試主叫識別功能的多功能電話(huà)測試儀,采用了CML(ConsumerMicrocircuit Limited)公司的CMX860作為其中來(lái)電顯示測試電路的核心元件,單片機采用了SST89C58。 1.1 CMX860簡(jiǎn)介 CMX860是一塊通用的低功耗電話(huà)機信令收發(fā)集成電路。CMX860包含DTMF編碼解碼器、V.23調制解調器,具有鈴流檢測、話(huà)機摘機檢測等功能,它可以廣泛應用于由線(xiàn)路提供電源的電話(huà)設備。 CMX860的主要特性有: (1) 提供V.23 1200/75bps的FSK信號發(fā)送和接收; (2) 雙音多頻及音頻信令的發(fā)送和接收; (3) 用戶(hù)線(xiàn)端和電話(huà)機端驅動(dòng); (4) 呼叫進(jìn)程解碼; (5) 來(lái)電等候信號的產(chǎn)生和檢測; (6) “C-BUS”串行總線(xiàn)接口; (7) 低功耗工作方式。 圖1是CMX860的原理框圖。CMX860包括SSOP及SOIC兩種封裝,共28腳。具體管腳圖及管腳 說(shuō)明請參見(jiàn)CMX860用戶(hù)手冊。 1.2 SST89C58簡(jiǎn)介 單片機SST89C58與標準的8052引腳、指令和片內資源全兼容。SST89C58的優(yōu)點(diǎn)是包含36KB高性能的Flash,既可以存儲程序,也可保存數據,簡(jiǎn)化了系統設計,省去了通常外部擴展的24XX系列或93XX系列的外部Flash,元件數目減少,系統可靠性增加,總體成本降低。SST89C58的另一個(gè)優(yōu)點(diǎn)是保密性好,不易被解密或仿制。 2 CMX860與單片機的連接 CMX860的一個(gè)顯著(zhù)特點(diǎn)是它的所有編程功能可以通過(guò)一個(gè)稱(chēng)為C-Bus(C總線(xiàn))的串行總線(xiàn)接口來(lái)完成。單片機通過(guò)C-Bus與CMX860連接,C-Bus串行總線(xiàn)可在單片機和CMX860內部寄存器間進(jìn)行數據、控制或狀態(tài)信息的傳送。 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腳從單片機接收串行時(shí)鐘信號,REDA腳向單片機發(fā)送串行數據信號。 2.2 單片機對CMX860編程 根據C-Bus接口的時(shí)序,在串行輸入時(shí)鐘的上升沿,從單片機命令數據線(xiàn)上送來(lái)的數據被鎖進(jìn)CMX860。當串行時(shí)鐘為高電平時(shí),從CMX860送到單片機的響應數據有效。在數據傳送期間,CSN線(xiàn)(使能端)必須保持低電平,而在兩次傳輸之間保持高電平。具體傳送過(guò)程中,首先由單片機發(fā)送給CMX860一個(gè)字節表示CMX860內部寄存器地址(CMX860內部寄存器說(shuō)明及地址參見(jiàn)參考文獻〔1〕),接著(zhù),由單片機發(fā)給CMX860的只寫(xiě)存儲器一個(gè)或多個(gè)的數據字節,或者單片機從CMX860的只讀存儲器讀出一個(gè)或多個(gè)數據字節,從而完成對CMX860的控制編程。圖3是由單片機向CMX860發(fā)出一個(gè)地址信號和一個(gè)數據信號的時(shí)序圖。 下面是單片機與CMX860通信的幾個(gè)子程序: (1)單片機向CMX860寫(xiě)入一個(gè)字節信息子程序,信息存在寄存器A中。 OUT BYTE:MOV R7,#8 OUTB1: CLR CLK;時(shí)鐘信號置為低電平 RLC A;從A中讀出一比特 MOV DATE,C;將一比特信息放入DATA數據線(xiàn)上 SETB CLK;時(shí)鐘信號置為低電平 RLCA;從A中讀出一比特 MOV DATE,C;將一比特信息放入DATA數據線(xiàn)上 SETB CLK;時(shí)鐘信號置為高電平,在時(shí)鐘的上升沿時(shí)DATA數據線(xiàn)上數據被送入CMX860 DJNZR7,OUTB1;總共輸入8比特CLR CLKRET (2)單片機從CMX860讀出一個(gè)字節信息子程序,信息存入寄存器A中。 IN BYTE:MOV R7,#8 INB1: CLR CLK;時(shí)鐘信號置為低電平 NOP SETBCLK;時(shí)鐘信號置為高電平 MOV C,SOUT;在時(shí)鐘信號為高電平時(shí)將RDDA數據線(xiàn)上的數據比特讀入單片機 RLCA;將數據比特存入寄存器A中 DJNZR7,INB1;共讀入8個(gè)比特 CLR CLK RET (3)單片機向CMX860特定寄存器寫(xiě)入一個(gè)字節信息子程序。 WRITE BYTE:CLR CSN;使能端置為低電平 MOV A,ADDR; ![]() 3 電話(huà)主叫識別簡(jiǎn)介 3.1 主叫識別業(yè)務(wù)定義 主叫識別信息傳送及顯示業(yè)務(wù),是向被叫電話(huà)機提供的一種新的服務(wù)項目,指在被叫用戶(hù)終端設備上顯示主叫號碼、主叫用戶(hù)姓名、呼叫日期、時(shí)間等主叫信息,并進(jìn)行存儲,以供用戶(hù)查閱的一種服務(wù)。 3.2 實(shí)現主叫識別的方法 實(shí)現主叫識別的基本方法是發(fā)端交換機將主叫號碼等信息通過(guò)信令系統傳送給終端交換機,終端交換機將主叫識別信息以雙音多頻(DTMF)或頻移鍵控(FSK)的方式傳送給終端用戶(hù)/終端設備。終端交換機將主叫識別信息在第一次振鈴和第二次振鈴間隙送給被叫用戶(hù)終端。 3.3 主叫識別信息數據的傳送時(shí)序 主叫識別信息數據的傳送時(shí)序圖見(jiàn)圖4。 ![]() 圖4中,階段A是交換機向終端電話(huà)發(fā)出的第一次振鈴信號;階段B是第一次振鈴結束與數據傳送開(kāi)始之間的時(shí)間間隔,時(shí)長(cháng)為0.5~1.5s;階段C是交換機向終端電話(huà)發(fā)出的關(guān)于主叫識別信息的數據信號,時(shí)長(cháng)應小于2.9s;階段D數據傳送結束與第二次振鈴開(kāi)始之間的時(shí)間間隔,時(shí)長(cháng)大于200ms;階段E是交換機向終端電話(huà)發(fā)出的第二次振鈴信號,時(shí)長(cháng)為1s。 3.4 主叫識別信息數據格式 主叫識別信息數據由信息頭和信息體兩部分構成,信息頭由信息類(lèi)型和信息長(cháng)度組成,它們均為8比特,信息類(lèi)型的值用來(lái)識別信息的類(lèi)型,信息長(cháng)度指明后來(lái)跟的信息值的長(cháng)度,信息體包括交換機發(fā)送給終端用戶(hù)的主叫用戶(hù)信息,信息體可容納1~255個(gè)8比特的消息字,每個(gè)字用帶校驗的ASCII碼表示。如圖5所示。 ![]() 4 電話(huà)測試儀中來(lái)電顯示測試部分的硬件及軟件實(shí)現 4.1 硬件實(shí)現 電話(huà)測試儀中來(lái)電顯示測試部分模擬終端交換機向被測試電話(huà)機發(fā)出主叫用戶(hù)信息,以檢測被測電話(huà)顯示的內容是否準確。其原理框圖見(jiàn)圖6。其中,主控部分包括SST89C58和CMX860等電路,產(chǎn)生并發(fā)送主叫用戶(hù)信息;電源部分向主控部分及顯示部分提供+5V及+9V電壓;仿真部分模擬交換機的用戶(hù)環(huán)路,連接電話(huà)機,并向電話(huà)機提供48V饋電;顯示部分用來(lái)顯示測試儀的狀態(tài)及電話(huà)機向測試儀發(fā)出的各種信息如號碼等;輸入部分用于輸入主叫用戶(hù)信息及測試儀的控制命令。 4.2 軟件實(shí)現 系統模擬交換機向電話(huà)機發(fā)送主叫識別信息,電話(huà)機接收后顯示主叫信息。需要顯示的主叫識別信息內容可以采用兩種方法獲得: (1)在編程時(shí)預先存入數據存儲區,采用這種方法可以存儲國標要求測試的所有內容; (2)由用戶(hù)輸入,用戶(hù)可以根據需要在測試前輸入信息,這樣可以增加測試的靈活性。發(fā)送主叫識別信息有DTMF及FSK兩種信號方式。用戶(hù)可根據被測試電話(huà)機選擇其中一種或兩種信號方式。測試軟件流程圖如圖7所示。流程圖中輸出來(lái)電顯示信息部分按圖4的流程。 5 結束語(yǔ) 我們采用CMX860為核心設計的可測試來(lái)電顯示的多功能電話(huà)測試系統,目前已投入使用。 |