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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于PSTN 的城市電梯安全呼叫系統(tǒng)設(shè)計(jì)

          基于PSTN 的城市電梯安全呼叫系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2009-06-17 來源:網(wǎng)絡(luò) 收藏

          3.2 管理主機(jī)

          管理主機(jī)部分選用 操作,將其移植到LPC2114 處理器上,移植過程在此不作討論。主程序流程框圖如圖3-2 所示。

          圖 3-2 管理主機(jī)主程序流程圖

          根據(jù)功能要求,劃分任務(wù)為:液晶顯示任務(wù)、按鍵檢測任務(wù)、設(shè)置/查詢?nèi)蝿?wù)、信號音檢測任務(wù)、號碼分析任務(wù)、自檢任務(wù)及通話任務(wù)等七個任務(wù)。 1) 液晶顯示任務(wù)

          每隔1 秒從時(shí)鐘芯片DS1302 讀取當(dāng)前時(shí)鐘,根據(jù)當(dāng)前狀態(tài)指示液晶顯示不同內(nèi)容,待機(jī)狀態(tài)下顯示系統(tǒng)日期和時(shí)鐘,通話狀態(tài)下顯示通話時(shí)間。 2) 按鍵檢測任務(wù)

          鍵盤掃描任務(wù)不斷掃描按鍵,如果檢測到按鍵,記錄鍵值并延時(shí)20 毫秒,20 毫秒后仍有按鍵并且鍵值與之前相同時(shí)判斷為有效按鍵,通過調(diào)用OSMboxPost(KeyMbox,0,err)函數(shù)將有效鍵值發(fā)送到鍵值消息郵箱KeyMbox,由其他任務(wù)取用。 3) 設(shè)置/查詢?nèi)蝿?wù)

          當(dāng)按下SET 鍵時(shí),產(chǎn)生外部中斷EINT1,其中斷服務(wù)程序喚醒設(shè)置/查詢?nèi)蝿?wù)。根據(jù)系統(tǒng)輸入的號碼,可分別進(jìn)入系統(tǒng)時(shí)鐘設(shè)置、遠(yuǎn)程中心專線電話設(shè)置、自動轉(zhuǎn)外線延時(shí)時(shí)間設(shè)置、系統(tǒng)自動監(jiān)測范圍設(shè)置。

          進(jìn)入預(yù)置狀態(tài)后,設(shè)置/查詢?nèi)蝿?wù)調(diào)用OSMboxPend(KeyMbox,20, err),等待按鍵, 根據(jù)輸入的首位按鍵,進(jìn)入相應(yīng)設(shè)置功能的子程序。如按下“8”鍵,進(jìn)入設(shè)置轉(zhuǎn)外線延時(shí)子程序;按“9” 鍵進(jìn)入設(shè)置遠(yuǎn)程監(jiān)控中心號碼子程序;按“0” 鍵進(jìn)入設(shè)置系統(tǒng)時(shí)間子程序;按“1” 鍵進(jìn)入設(shè)置自檢范圍子程序;按“上翻/下翻”鍵進(jìn)入查詢通話記錄子程序;按“查詢”鍵進(jìn)入查詢未接電話子程序;長按“查詢”鍵3 秒進(jìn)入自檢結(jié)果查詢子程序。 4) 信號音檢測任務(wù)

          當(dāng)有外線呼入或內(nèi)部網(wǎng)絡(luò)轉(zhuǎn)撥遠(yuǎn)程監(jiān)控中心時(shí),通話任務(wù)喚醒信號音檢測任務(wù)。任務(wù)通過采集LM567 芯片的輸出引腳,并根據(jù)信號音的信號標(biāo)準(zhǔn)判斷是否忙音及回鈴音,以事件標(biāo)志的形式反饋給通話任務(wù),使其進(jìn)行自動掛機(jī)處理及記錄通話時(shí)間。 5) 號碼分析任務(wù)

          當(dāng)有分機(jī)時(shí),管理主機(jī)的MT8870 芯片接收DTMF 信號,并產(chǎn)生EINT3 外部中斷。根據(jù)內(nèi)部通信約定,一幀數(shù)據(jù)包括起始碼、分機(jī)號、校驗(yàn)碼及結(jié)束碼。在EINT3 的中斷服務(wù)程序中,將收到的數(shù)據(jù)存入數(shù)組,如果收到結(jié)束碼就表示一幀數(shù)據(jù)接收完畢,通過OSMboxPost()函數(shù)將數(shù)組首地址發(fā)送到已創(chuàng)建好的InCallMbox 消息郵箱,并且喚醒號碼分析任務(wù)。

          在號碼分析任務(wù)中,通過調(diào)用OSMboxPend(InC allMbox,0,err)來取得先前中斷中存入的數(shù)組數(shù)據(jù),對號碼進(jìn)行檢查并校驗(yàn),如號碼正確則發(fā)送給通話任務(wù),最后掛起自身任務(wù)。6) 通話任務(wù)

          當(dāng)用戶摘機(jī)或有公網(wǎng)外線呼入時(shí)會產(chǎn)生摘機(jī)中斷和振鈴中斷,在各自的中斷服務(wù)程序中調(diào)用OSFlagPost()函數(shù)以事件標(biāo)志的形式通知通話任務(wù)。

          在通話任務(wù)中,任務(wù)不斷查詢當(dāng)前的事件標(biāo)志,根據(jù)有無摘機(jī)、是否有振鈴、有無內(nèi)部呼叫等,來判斷主機(jī)當(dāng)前的狀態(tài),進(jìn)入相應(yīng)處理子程序。如收到內(nèi)線呼叫碼并且通過號碼分析任務(wù)檢驗(yàn),則表示有內(nèi)線呼叫請求,進(jìn)入內(nèi)線呼叫本機(jī)處理程序;如有振鈴中斷,表示有外線呼入請求,進(jìn)入外線呼叫本機(jī)處理程序;如果本機(jī)未通話且處于摘機(jī)狀態(tài),則進(jìn)入本地呼叫內(nèi)外線處理程序。這里給出了內(nèi)線呼叫主機(jī)處理程序的流程圖,如圖3-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); })();