基于CM8870小型程控交換機設計
CM8870與SM8951單片機的接口電路如圖3所示。SM8951單片機的PO.O~PO.3讀取CM8870的譯碼數據,當CM8870接收到一個有效DTMF信號后,ESt端首先變為高電平,經積分電路使控制輸入端SI電平升高,若SI端電平高于門限電平,CM8870內部的4位二進制碼被更新,STD端變為高電平,SM8951單片機通過P2.7口檢測到這一信息后就開始接收。若CM8870無DTMF信號輸入或DTMF信號連續失真,則ESt端為低電平,SI端為低電平,STD端輸出低電平。本文引用地址:http://www.104case.com/article/166539.htm
雙音頻解碼電路如圖4所示。雙音頻信號輸入點與一個三極管的集電極V1相連接,當V1導通時,從電話線上送來的雙音頻信號進入CM8870。如果CM8870接收到的是有效的DTMF信號,便解碼出對應的8421碼從數據輸出端Q1~Q4輸出,該數據進入單片機PO.0~P0.3口,完成數據采集、判斷和處理。另外,從CM8870的第15腳出來的狀態信號進入單片機的P2.7端口,通知單片機讀取數據。
2.2 單片機控制過程
單片機控制交換機通信時要時時監控通信鏈路中是否有摘機、掛機動作。摘機、掛機電路其實就是一個電子開關,控制電路板和電話線之間的連接。平時這個開關應該處于斷開的狀態,以免造成電話線占線;當需要實現遠程控制時,如果振鈴響5次而無人接聽,這時就需要讓電路板和電話線路接通,即完成摘機動作。V1就是一個電子開關,該開關的導通與否受到單片機P1.4口的控制。摘機掛機電路如果用繼電器設計,電路要簡單一些,但在實用中發現耗電大,5 V的繼電器吸合電流高達30μA,另外繼電器也容易產生火花干擾。采用晶體管摘機掛機電路克服了這些問題。
軟件設計流程圖如圖5所示。
當單片機控制CM8870作為主叫方時,單片機要先對CM8870進行初始化,然后控制摘機電路摘機,收到被叫方的撥號音后,單片機控制鈴流發生器產生振鈴,作為主叫方呼叫。等待一段時間后,看對方有沒有接機。若對方摘機,則通信開始,否則掛機,通信結束。
當中繼作為被叫方時,啟動單片機后,程序要首先對CM8870進行初始化,然后隨時檢測是否有振鈴音,如果有,由單片機控制摘機電路主動摘機,等待一段時間,確保已經摘機后,單片機控制鈴流發生器產生振鈴,作為主叫方呼叫。等一段時間后,完成呼叫轉移功能,掛機,結束通信。
3 結語
本系統基于SM8951單片機與CM8870雙音多頻解碼芯片實現小型工控交換機功能,該小型交換機可用于以電力線或雙絞線為傳輸載體的工控網絡遠程數據傳輸,依據PSTN公共電話交換網絡協議與信令標準,采用電路交換原理實現交換功能。該小型交換機可置于網絡通信的中繼器中,也可置于末端的數據處理器中,通常,該交換機只負責轉發數據,為數據通信建立傳輸鏈路,數據在交換機中的傳輸是雙向的。交換機不是數據的最終目的地,而只是一個“驛站”。雖然隨著數字通信技術的發展,交換技術日趨復雜,交換功能日益完善,但對于工控網絡來說,基于有線網絡的電路交換技術仍以其低成本,易實現、安全可靠性高等優點而被廣泛使用。
交換機相關文章:交換機工作原理
評論