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