<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機多機通信在程控交換機中應(yīng)用

          單片機多機通信在程控交換機中應(yīng)用

          作者: 時間:2012-05-29 來源:網(wǎng)絡(luò) 收藏

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

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

          4 ,編程中特點

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

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

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

          上發(fā)代碼采用多字節(jié), 長短不同, 這是由于多機機功能豐富多采, 下位機在上發(fā)代碼最后加一個結(jié)束符。

          多機機功能較多, 分機撥號中斷請求模塊要分成外線撥號、內(nèi)線撥號(包括代接、轉(zhuǎn)接和三方通話)和功能設(shè)置三個小模塊。為提高CPU 利用率, 分機撥號中斷請求模塊采用流水線作業(yè)方式, 按一次鍵, 模塊執(zhí)行一次。所以要保護好現(xiàn)場,豎立相應(yīng)的標(biāo)志, 保證分機撥號中斷請求模塊工作正常。當(dāng)某功能撥完后, CPU 再將請求服務(wù)代碼送到發(fā)送緩沖區(qū)。

          5 ,結(jié)束語

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

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

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

          交換機相關(guān)文章:交換機工作原理



          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();