單片機多機通信在程控交換機中應用
引言
本文引用地址:http://dyxdggzs.com/article/171402.htm國內單片機多機通信方向技術(shù)開(kāi)發(fā)應用已有相當長(cháng)時(shí)間,在智能化儀器、工業(yè)自動(dòng)控制、家用電器機電一體化等方面的應用成果尤為顯著(zhù)。本文介紹AT 系列單片機多機通信在程控交換機中應用。
多機程控交換機將1 至2 條電話(huà)外線(xiàn)擴展成4 繩路、12 個(gè)分機容量, 可以多部分機同時(shí)通話(huà)而互不干擾(可以?xún)韧饩€(xiàn)混用); 分機可以為電話(huà)機、傳真機、答錄機和電腦等任何電訊產(chǎn)品。
1 ,硬件結構簡(jiǎn)介
本程控交換機應用AT 系列單片機, CPU 使用一個(gè)AT89C52 和四個(gè)AT89C51, 進(jìn)行多機通信, 如圖1 所示。
其中一個(gè)CPU(AT89C52)作為上位機, 實(shí)現分機摘機/ 掛機查詢(xún)、分機振鈴等功能。四個(gè)CPU(AT89C51)作為下位機, 各控制一根繩路, P10、P11 口作為CPU 地址, CPU 進(jìn)行查詢(xún)外線(xiàn)來(lái)電、分機掛線(xiàn)(內線(xiàn)和外線(xiàn))、分機撤線(xiàn)、分機撥號處理等工作, 提供內線(xiàn)撥號音、回音鈴、忙音、證實(shí)音等信號音。0_CPU 和1_CPU各有一個(gè)繼電器J 控制開(kāi)關(guān), 用于接通或切斷電話(huà)外線(xiàn)與繩路的連接。
硬件線(xiàn)路保證每CPU 各施其職, 互不串擾。某分機一旦掛線(xiàn)后, 該分機的信號音、撥號等只受該繩路的CPU 控制, 而且分機摘機、掛線(xiàn)后撥號才有效; 撤線(xiàn)后, 該分機不再受繩路的CPU 控制。
2, 多機通信協(xié)議
在多機通信協(xié)議中定義上位機為主動(dòng), 下位機為被動(dòng)。
2.1 上——下位機聯(lián)絡(luò )握手
上位機向下位機廣播地址信息; 下位機收到地址信息后判斷是否是本機地址, 若不是, 不應答; 若是, 向上位機發(fā)應答信號, 同時(shí)作好接收數據準備。上位機收到應答信號后, 判斷應答信號是否正確。若不正確, 重發(fā)地址信號; 若正確, 發(fā)送數據(命令代碼)。已握手的下位機接收數據(命令代碼)后, 執行相應功能或實(shí)施服務(wù)。地址信息與命令代碼設置不重碼, 以便下位機能判別出。
2.2 上位機向下位機發(fā)送命令類(lèi)
是否接外線(xiàn)(僅為0_CPU 和1_CPU)、有否請求服務(wù)、指定分機掛某一根內/ 外線(xiàn)、指定分機撤線(xiàn)、釋放外線(xiàn)繼電器、編程密碼、長(cháng)途等級(內部、市內、國內和國際)、長(cháng)途解鎖、要求繩路發(fā)內線(xiàn)撥號音、內線(xiàn)回音鈴、內線(xiàn)忙音鈴或內線(xiàn)證實(shí)音等。
2.3 下位機向上位機請求服務(wù)
下位機只有在上位機“有否請求服務(wù)”時(shí), 才可向上位機發(fā)送信息。發(fā)送信息有:本繩路有外電呼叫、撥打內部分機、三方通話(huà)、代接外線(xiàn)、設置轉移功能(無(wú)條件轉移、遇忙轉移、無(wú)應答轉移、撤消轉移)、設置外線(xiàn)來(lái)電振鈴方式(指定若干分機振鈴、全部分機振鈴、三機四組輪流振動(dòng)鈴、外線(xiàn)來(lái)電時(shí)指定分機振鈴)、設置長(cháng)途密碼 長(cháng)途等級 長(cháng)途解碼、強插監聽(tīng)等。
3 ,多機程控交換機軟件設計方法
程序設計思路是根據多機程控交換機工作過(guò)程而制定的, 采用上下位機包干控制, 充分利用CPU 資源, 實(shí)現程控交換機功能。
3.1 上位機軟件設計思路
根據多機程控交換機功能, 上位機程序分成初始化、摘機處理、掛機處理、發(fā)送命令、下位機請求服務(wù)處理、振鈴處理和定時(shí)器處理(包括看門(mén)狗)七個(gè)模塊, 程序模塊結構如圖2 所示。
初始化模塊主要是定義常數變量、變量單元、位標志、緩沖區、中斷設置、定時(shí)器設置/ 啟動(dòng)、電話(huà)分機工作初始狀態(tài)等。
摘機處理模塊主要判別是外線(xiàn)來(lái)電摘機、內線(xiàn)來(lái)電摘機還是要撥打外線(xiàn)或內線(xiàn)電話(huà)。
掛機處理模塊比較復雜, 既有內外線(xiàn)通話(huà)結束掛機, 又有內外線(xiàn)通話(huà)中止掛機, 還有三方通話(huà)主叫機掛機和從叫機掛機, 其它有中止撥打外線(xiàn)/ 內線(xiàn)掛機、分機功能設置完畢掛機等。
發(fā)送命令模塊主要是根據電話(huà)分機發(fā)生摘/ 掛機時(shí), 向下位機發(fā)送掛線(xiàn)/ 撤線(xiàn)命令、內線(xiàn)撥號音等命令, 發(fā)送詢(xún)問(wèn)下位機有否請求服務(wù)等命令。
下位機請求服務(wù)處理模塊主要根據下位機CPU 請求, 完成外線(xiàn)來(lái)電、撥打內線(xiàn)分機、分機功能設置等工作。
振鈴處理模塊主要處理外線(xiàn)來(lái)電時(shí), 根據振鈴模式進(jìn)行分機振鈴、輪流振鈴等; 內線(xiàn)呼叫分機時(shí), 根據分機轉移功能, 作相應的振鈴處理; 被呼叫分機摘機后停止振鈴等功能。
定時(shí)器處理模塊配合振鈴處理模塊產(chǎn)生各種振鈴計時(shí)以及看門(mén)狗定時(shí)常數刷新等。
交換機相關(guān)文章:交換機工作原理
評論