單片機多機通信在程控交換機中應用
3.2 下位機軟件設計思路
為便于編輯和管理, 4 個下位機程序使用同一版本, 程序運行時根據(jù)地址作相應的處理。
根據(jù)多機程控交換機功能, 下位機程序分成初始化、連接外線查詢、發(fā)送請求服務、外線來電中斷請求、分機撥號中斷請求和定時器中斷(包括看門狗)六個模塊, 程序模塊結構如圖3 所示。
初始化模塊主要是定義變量單元、位標志、緩沖區(qū)、中斷設置、定時器設置/ 啟動等。
連接外線查詢模塊在開機復位后查詢本CPU 是否接外線(2_CPU 和3_CPU 跳過), 然后置標志, 上位機通過問詢下位機知道程控交換機接幾根外線。
命令處理模塊主要完成上位機下達的命令,命令有指定分機掛外線與 內線、對掛內線分機發(fā)送或停止內線信號音(內線撥號音、內線回音鈴、內線忙音鈴或內線證實音等)、指定分機撤外線與 內線等等。
發(fā)送請求服務模塊主要向上位機發(fā)送外線來電處理、分機撥打內線電話、分機設置功能等請求服務。
外線來電中斷請求模塊在外線來電時(0_CPU 和1_CPU),向CPU 請求中斷。CPU 響應中斷后, 首先判斷是否干擾信號, 確認為外線來后, 豎立外線來電標。當上位機查詢下位機有否請求服務時, 向上位機發(fā)送外線來電服務請求。為防外線來電中止,下位機CPU 發(fā)送請求后即清除外線來電標。上位機在送出分機振鈴后一秒鐘內, 如分機未摘機, 而下位機又沒發(fā)來新的外線來電請求服務, 立馬中止振鈴。
分機撥號中斷請求模塊在分機撥號后, 向CPU 請求中斷。
CPU 響應中斷后, 根據(jù)所撥號碼, 產生對應請求服務代碼。上位機收到請求服務后, 對其進行譯碼, 作相應處理。如分機是掛外線, 除判別該分機長途等級外, 對撥號不作任何處理。分機在掛線情況下, 撥號才有中斷請求信號產生, 這由硬件保證。
交換機相關文章:交換機工作原理
評論