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