無需PC機控制的離線電話自動通知系統設計
圖3 DTMF信號生成與呼叫及狀態(tài)檢測電路
撥號完成后,MCU設置MT8888工作在呼叫監(jiān)聽模式,進行呼叫狀態(tài)監(jiān)聽。MT8888通過2引腳檢測電話線上傳輸信號,MCU通過讀取 MT8888的IRQ/CP引腳輸出的脈沖頻率和脈沖個數即可分析出呼叫狀態(tài)。若線路上傳輸的是450 Hz的音頻信號,而且是持續(xù)1 s后4 s無的循環(huán)信號,則為回鈴音信號,即處于振鈴狀態(tài);如果線路上傳輸的是450 Hz的音頻信號,而且0.35 s通0.35 s斷的循環(huán)信號,則為忙音信號,即處于線路忙或掛機狀態(tài)。
在語音播報過程中,系統同樣使用另一塊MT8888芯片構成的DTMF檢測電路,檢測當前電話接聽者的按鍵動作,以判斷其是否按下確認按鍵。系統根據按鍵狀態(tài)保存本次通話或通知的狀態(tài)。
4 上位機控制軟件設計
上位機控制軟件中主要包括:電子名片管理模塊,可以完成聯系人基本信息和電話號碼的管理(包括增刪改查等功能);名片分組管理模塊;電話通知信息管理模塊,具有通知語音的錄制、被通知對象(即電話號碼)的選取以及將數據下載到離線通知裝置等功能;通知信息查詢模塊,可以完成通知狀態(tài)的查詢和補通知控制,也可以對當前或歷史通知內容和狀態(tài)進行查詢。
電話通知信息和通知指令來自上位機控制軟件.上位機在將預通知的電話號碼和語音數據打成通知命令數據包后,通過串口發(fā)送給下位機,使下位機啟動脫離計算機管理的離線自動通知過程。另外,上位機還可以發(fā)送獲取通知狀態(tài)命令包,由串口通信中斷服務程序完成當前通知狀態(tài)的上傳任務。
圖4為離線電話自動通知裝置的處理流程。離線自動通知裝置上電運行,進行必要的初始化后,通過通知狀態(tài)標志來判斷是否啟動自動通知過程。通知標志由中斷服務程序根據接收到的命令包設置,如果為“真”則裝置轉入通知過程執(zhí)行,否則繼續(xù)查詢狀態(tài)標志。在進入通知過程后,首先讀取預通知的第一個電話號碼,再進行模擬摘機準備撥號。為了可靠地實現模擬摘機,要求在摘機前后都要先判斷摘機狀態(tài),只有在掛機狀態(tài)下才能摘機,摘機有效后才能撥號。MCU控制撥號完畢后,從閃存中讀取語音數據以8000 Hz的頻率發(fā)送給D/A轉換器,進行播放通知語音。在播放通知語音的過程中,通過DTMF信號檢測模塊監(jiān)測線路上的DTMF信號,以判斷接聽通知者是否按下確認鍵進行接聽確認。如確認,系統將保存通知狀態(tài),否則通知一個循環(huán)后進行重復通知。當一個電話通知完畢后,系統繼續(xù)讀取下一個預通知電話號碼,進行下一個電話的通知,直到所有通知被確認或超出重復通知次數為止。
結語
本文根據電話通知系統的特點,設計了無需PC機實時控制的電話自動通知系統。系統中的PC機只是起到一個信息管理作用,具體的電話通知由離線電話自動通知裝置自動完成,其工作 77不需要PC機的實時管理或控制,是一個離線通知裝置, 可以實現在下班且PC機關機的狀態(tài)下進行電話通知,能夠提高電話的使用效率和節(jié)省能源消耗。
圖4 離線電話自動通知處理流程
評論