新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于單片機的程控交換機多機通信應用

        基于單片機的程控交換機多機通信應用

        作者: 時間:2008-01-31 來源:網絡 收藏
        摘要:本文介紹機中的,使用五個ATMEL公司的AT89C52和AT89C51作為主控制器和從控制器,多機通訊,硬件結構清晰,模塊化程序結構。
        關鍵詞:AT系列,多機

        0 引言

        國內多機方向技術開發已有相當長時間,在智能化儀器、工業自動控制、家用電器機電一體化等方面的應用成果尤為顯著。本文介紹AT系列單片機多機機中應用。

        多機程控交換機將1至2條電話外線擴展成4繩路、12個分機容量,可以多部分機同時通話而互不干擾(可以內外線混用);分機可以為電話機、傳真機、答錄機和電腦等任何電訊產品。

        1 硬件結構簡介

        通信串行口

        本程控交換機應用AT系列單片機,CPU使用一個AT89C52和四個AT89C51,進行多機通信,如圖1所示。


        圖1 多機通信程控交換機結構框圖

        其中一個CPU(AT89C52)作為上位機,實現分機摘機/掛機查詢、分機振鈴等功能。四個CPU(AT89C51)作為下位機,各控制一根繩路,P10、P11口作為CPU地址,CPU進行查詢外線來電、分機掛線(內線和外線)、分機撤線、分機撥號處理等工作,提供內線撥號音、回音鈴、忙音、證實音等信號音。0_CPU和1_CPU各有一個繼電器J控制開關,用于接通或切斷電話外線與繩路的連接。

        硬件線路保證每CPU各施其職,互不串擾。某分機一旦掛線后,該分機的信號音、撥號等只受該繩路的CPU控制,而且分機摘機、掛線后撥號才有效;撤線后,該分機不再受繩路的CPU控制。

        2多機通信協議

        在多機通信協議中定義上位機為主動,下位機為被動。

        2.1上――下位機聯絡握手

        上位機向下位機廣播地址信息;下位機收到地址信息后判斷是否是本機地址,若不是,不應答;若是,向上位機發應答信號,同時作好接收數據準備。上位機收到應答信號后,判斷應答信號是否正確。若不正確,重發地址信號;若正確,發送數據(命令代碼)。已握手的下位機接收數據(命令代碼)后,執行相應功能或實施服務。地址信息與命令代碼設置不重碼,以便下位機能判別出。

        2.2上位機向下位機發送命令類

        是否接外線(僅為0_CPU和1_CPU)、有否請求服務、指定分機掛某一根內/外線、指定分機撤線、釋放外線繼電器、編程密碼、長途等級(內部、市內、國內和國際)、長途解鎖、要求繩路發內線撥號音、內線回音鈴、內線忙音鈴或內線證實音等。

        2.3下位機向上位機請求服務

        下位機只有在上位機 “有否請求服務”時,才可向上位機發送信息。發送信息有:本繩路有外電呼叫、撥打內部分機、三方通話、代接外線、設置轉移功能(無條件轉移、遇忙轉移、無應答轉移、撤消轉移)、設置外線來電振鈴方式(指定若干分機振鈴、全部分機振鈴、三機四組輪流振動鈴、外線來電時指定分機振鈴)、設置長途密碼長途等級長途解碼、強插監聽等。

        3多機程控交換機軟件設計方法

        程序設計思路是根據多機程控交換機工作過程而制定的,采用上下位機包干控制,充分利用CPU資源,實現程控交換機功能。

        3.1上位機軟件設計思路

        根據多機程控交換機功能,上位機程序分成初始化、摘機處理、掛機處理、發送命令、下位機請求服務處理、振鈴處理和定時器處理(包括看門狗)七個模塊,程序模塊結構如圖2所示。

        初始化模塊主要是定義常數變量、變量單元、位標志、緩沖區、中斷設置、定時器設置/啟動、電話分機工作初始狀態等。

        摘機處理模塊主要判別是外線來電摘機、內線來電摘機還是要撥打外線或內線電話。

        掛機處理模塊比較復雜,既有內外線通話結束掛機,又有內外線通話中止掛機,還有三方通話主叫機掛機和從叫機掛機,其它有中止撥打外線/內線掛機、分機功能設置完畢掛機等。

        發送命令模塊主要是根據電話分機發生摘/掛機時,向下位機發送掛線/撤線命令、內線撥號音等命令,發送詢問下位機有否請求服務等命令。

        下位機請求服務處理模塊主要根據下位機CPU請求,完成外線來電、撥打內線分機、分機功能設置等工作。

        振鈴處理模塊主要處理外線來電時,根據振鈴模式進行分機振鈴、輪流振鈴等;內線呼叫分機時,根據分機轉移功能,作相應的振鈴處理;被呼叫分機摘機后停止振鈴等功能。

        定時器處理模塊配合振鈴處理模塊產生各種振鈴計時以及看門狗定時常數刷新等。

        3.2下位機軟件設計思路

        為便于編輯和管理,4個下位機程序使用同一版本,程序運行時根據地址作相應的處理。

        根據多機程控交換機功能,下位機程序分成初始化、連接外線查詢、發送請求服務、外線來電中斷請求、分機撥號中斷請求和定時器中斷(包括看門狗)六個模塊,程序模塊結構如圖3所示。

        初始化模塊主要是定義變量單元、位標志、緩沖區、中斷設置、定時器設置/啟動等。

        連接外線查詢模塊在開機復位后查詢本CPU是否接外線(2_CPU和3_CPU跳過),然后置標志,上位機通過問詢下位機知道程控交換機接幾根外線。

        命令處理模塊主要完成上位機下達的命令,命令有指定分機掛外線/內線、對掛內線分機發送或停止內線信號音(內線撥號音、內線回音鈴、內線忙音鈴或內線證實音等)、指定分機撤外線/內線等等。

        發送請求服務模塊主要向上位機發送外線來電處理、分機撥打內線電話、分機設置功能等請求服務。

        外線來電中斷請求模塊在外線來電時(0_CPU和1_CPU),向CPU請求中斷。CPU響應中斷后,首先判斷是否干擾信號,確認為外線來后,豎立外線來電標。當上位機查詢下位機有否請求服務時,向上位機發送外線來電服務請求。為防外線來電中止,下位機CPU發送請求后即清除外線來電標。上位機在送出分機振鈴后一秒鐘內,如分機未摘機,而下位機又沒發來新的外線來電請求服務,立馬中止振鈴。

        分機撥號中斷請求模塊在分機撥號后,向CPU請求中斷。CPU響應中斷后,根據所撥號碼,產生對應請求服務代碼。上位機收到請求服務后,對其進行譯碼,作相應處理。如分機是掛外線,除判別該分機長途等級外,對撥號不作任何處理。分機在掛線情況下,撥號才有中斷請求信號產生,這由硬件保證。

        定時器處理模塊主要產生450方波信號,產生各種內線鈴聲所需脈沖信號以及看門狗定時常數刷新等。

        上下位機源程序限于篇幅,不作介紹。

        4編程中特點

        由于多機程控交換機上位機CPU要對四個下位機CPU,而分機摘/掛機狀態采用查詢方式,又要處理分機振鈴等,查詢過程中要采用抗干擾措施,防止CPU誤判、誤動作。所以編程中要考慮整體時間分配,以免延誤用戶通話。

        上位機在查詢下位機有否服務請求時,采用輪流查詢法。在發送信息前又要與下位機握手,所以查詢時間較長。當下位機有服務請求時,上位機馬上中止查詢下一CPU,為當前下位機服務。

        為縮短上下位機通信時間,下發代碼采用單字節,按位定義。如“D7”位表示掛線或撤線,“D6”位表示掛內線或外線,“D5、D4”位表示發內線撥號音、內線回音鈴、內線忙音或內線證實音,“D3”~“D0”表示分機號。

        上發代碼采用多字節,長短不同,這是由于多機程控交換機功能豐富多采,下位機在上發代碼最后加一個結束符。

        多機程控交換機功能較多,分機撥號中斷請求模塊要分成外線撥號、內線撥號(包括代接、轉接和三方通話)和功能設置三個小模塊。為提高CPU利用率,分機撥號中斷請求模塊采用流水線作業方式,按一次鍵,模塊執行一次。所以要保護好現場,豎立相應的標志,保證分機撥號中斷請求模塊工作正常。當某功能撥完后,CPU再將請求服務代碼送到發送緩沖區。

        5結束語

        多機程控交換機可連接二根外線,十二只內部分機,四繩路通話容量,具有豐富的實用功能,可不間斷連續工作。分機之間可多對電話(最多四對八機)同時通話而彼此互不干擾。分機可直撥外線、強插外線、長途加鎖設置等。外線來電響鈴方式有二種,一為選擇某些分機振鈴,二為分機輪流振鈴,由1號分機進行設置。分機可代撥、代接、征詢轉接和三方通話等。

        本文作者的創新點:上、下位機CPU串行通信發送采用查詢方式,接收采用中斷循環隊列緩沖區方式。多機程控交換機不使用擴展外RAM,上位機采用AT89C52,其內RAM為256字節,足夠CPU工作所需,同時給硬件上分清上位機和下位機CPU芯片帶來好處,一舉二得。

        多機程控交換機樣機已小批量投入某些公司、企業使用,用戶反映程控交換機基本功能工作正常,使用方便,由此說明多機程控交換機達到設計要求。

        參考文獻:

        [1] 丁磊,多單片機集散控制的新型浴缸控制器設計,微計算機信息2006第7-2期

        [2] 徐冠捷,單片機的小型程控交換機,微計算機信息2006第2-2期

        [3] 李 華,MCS-51系列單片機實用接口技術,北京航空航天大學出版社

        [4] 曹柏榮,單片機原理及其應用技術,中國民航出版社

        交換機相關文章:交換機工作原理




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 绍兴市| 石林| 巫溪县| 佛学| 庆元县| 娱乐| 荆州市| 永安市| 囊谦县| 蒙阴县| 常熟市| 冷水江市| 盘锦市| 罗田县| 滕州市| 三原县| 乌兰察布市| 同德县| 芮城县| 沙坪坝区| 石屏县| 丁青县| 贞丰县| 广元市| 诸城市| 黄浦区| 通化县| 商洛市| 宁德市| 成安县| 蕲春县| 阿合奇县| 长顺县| 清徐县| 登封市| 岢岚县| 灵璧县| 泸定县| 商南县| 临西县| 浦东新区|