基于80C31的固定電話短信息終端的開發(fā)
本文給出了一種以80C31為主控CPU的固定電話短信息終端的設(shè)計,從系統(tǒng)軟硬件兩個方面說明了固定電話短信息終端的設(shè)計方法和各個部分的工作原理。對于在開發(fā)中遇到的難點,如CAS音檢測,FSK信息的處理和LCD漢字字符顯示等問題重點進行了闡述。
現(xiàn)在,短信息服務(wù)日益普及。各個電話機廠家競相設(shè)計和開發(fā)短信息終端電話。為配合我所開發(fā)的短信息終端專用集成芯片,我們設(shè)計開發(fā)出了可發(fā)送和接受短信息的固定電話。此電話除具有來電顯示功能外,還能夠接收信息中心下傳的FSK格式短信,可以利用DTMF和FSK兩種格式上傳信息。有比較好的人機界面,能夠采用拼音輸入方法編輯短信內(nèi)容。能夠存儲200個電話,200個下載的短信,實現(xiàn)電話號碼的查找,下載短信的閱讀,時鐘顯示等功能。下面先從硬件方面介紹系統(tǒng)的設(shè)計。
硬件部分
圖1 系統(tǒng)硬件原理框圖
圖2 CAS檢測原理電路
系統(tǒng)硬件原理框圖見圖1,下面說明各部分的功能。
CPU控制部分
系統(tǒng)中采用80C31作為主控CPU,負責(zé)整個系統(tǒng)的程序流程,外擴了32K RAM,64K EPROM,和一片ATMEL公司的AT29C040A作為電話薄、短信息和二級字庫字模的存儲器。
CAS檢測電路
CAS檢測原理電路如圖2所示。在短信電話中,CAS信號的檢測是必不可少的,但以前的普通電話及來電顯示電話都不具有此項功能,市場上具有CAS音檢測功能的芯片也比較少見,因此,我們設(shè)計了一種CAS音檢測電路,在實際應(yīng)用中,效果不錯(見圖3)。{{分頁}}
CAS為DTMF信號,頻率為2130/2750Hz,所以采用兩個單獨的濾波器,如果為CAS,則A,B點輸出均為高電平,產(chǎn)生CAS中斷。圖中SIGNAL為DTMF信號,CAS_CON為CAS音檢測控制電路,當(dāng)CAS_CON=1時,檢測CAS音;CAS_CON=0時,不檢測CAS音。當(dāng)檢測到CAS,CASINT輸出高電平。
EPLD集成控制電路
外部控制電路部分采用ALTERA公司的EPM7128QC160,將設(shè)計中所用到的74系列和4000系列芯片全部集成在里面,并且它有160個PIN,能夠滿足系統(tǒng)中輸入輸出信號對管腳的需求。大大縮小了PCB面積,在調(diào)試時非常方便,且提高了系統(tǒng)整體的可靠性。
其它部分因為都有現(xiàn)成的芯片或成熟的電路,這里不再說明。
圖3 CAS檢測實際電路
圖4 LCD顯示模塊流程圖
軟件部分
軟件采用模塊化設(shè)計,每一模塊都可單獨設(shè)計和調(diào)試。主要有鍵盤處理模塊、系統(tǒng)狀態(tài)轉(zhuǎn)換模塊、電話處理模塊(包括FSK短信的處理與發(fā)送)、LCD顯示模塊、中斷處理模塊(CAS,FSK,振鈴,摘掛機的檢測和FSK短信息接收)。除中斷處理模塊外,其它的四個模塊在主程序中循環(huán)調(diào)用。{{分頁}}
鍵盤處理模塊
電話與CPU利用同一按鍵進行工作,由CPU通過模擬開關(guān)控制按鍵的傳遞方向。在正常打電話或摘機時,鍵值傳遞給電話中的撥號芯片;掛機時則傳遞給CPU處理。CPU不停的監(jiān)測是否有鍵被按下,當(dāng)有鍵按下時,設(shè)置系統(tǒng)狀態(tài)轉(zhuǎn)換標志為1,否則為0。為了使用方便,比普通電話增加了四個按鍵:取消鍵(key_C),主菜單鍵(key_M),選中鍵(key_OK),輸入方法切換鍵(key_CH)。
系統(tǒng)狀態(tài)轉(zhuǎn)換模塊
這是整個系統(tǒng)的核心控制部分。它根據(jù)按鍵及系統(tǒng)所處的不同狀態(tài),進行狀態(tài)間的切換和狀態(tài)內(nèi)鍵值的處理。當(dāng)系統(tǒng)狀態(tài)轉(zhuǎn)換標志為1時,進入此模塊。根據(jù)鍵值的不同,進行相應(yīng)的處理。系統(tǒng)主要設(shè)定的狀態(tài)有: 初始狀態(tài)(S_init),主菜單狀態(tài)(S_mainmenu),電話薄狀態(tài)(S_menu1),短信息狀態(tài)(S_menu2),系統(tǒng)設(shè)置狀態(tài)(S_menu3),添加電話號碼狀態(tài)(S_addphone_1),添加電話姓名狀態(tài)(S_addphone_2),添加電話存儲位置狀態(tài)(S_addphone_3),查找電話狀態(tài)(S_lookphone),短信編輯狀態(tài)(S_edit_sm),發(fā)送短信狀態(tài)(S_send_sm),閱讀短信狀態(tài)(S_read_sm)等。
LCD顯示模塊
這一部分是依據(jù)系統(tǒng)所處的狀態(tài)進行顯示。主要有菜單的顯示,所編輯漢字與字符的顯示,下載的短信的顯示,顯示有短信和來電顯示電話等部分。顯示中,最難于處理的是短信的漢字與ASCII碼一起顯示,因為漢字是全角顯示,ASCII碼則為半角顯示,否則顯示效果不好,并且還要涉及翻頁中顯示的起始位置。在開發(fā)中采用的程序流程如圖4所示。
電話處理模塊
在這一部分中,負責(zé)處理短信息電話,來電顯示電話,及普通的電話。當(dāng)有振鈴到來時,進入電話處理程序。接受交換中心發(fā)送的FSK信號,并根據(jù)信號的內(nèi)容,決定是短信息,還是來電顯示電話。對于短信息,則發(fā)送應(yīng)答信息,轉(zhuǎn)入短信息的處理模塊;當(dāng)是來電顯示(CALLER ID)電話,則將在LCD上顯示電話號碼。如果沒有收到FSK信息,則判定為普通的電話。(系統(tǒng)暫時不考慮來電顯示電話中下行DTMF格式)。圖5是其程序流程圖。
中斷處理程序(CAS,FSK,振鈴,摘掛機)
在中斷處理程序中,主要是處理FSK信號的接收、CAS信號,振鈴和摘掛機檢測,并使相應(yīng)的標志位置1,以便于主程序處理。其中,F(xiàn)SK信號的接受先是采用查詢的方法同步FSK信息,在同步之后是利用51單片機的串口接收。
圖5 電話處理程序圖
結(jié)語
設(shè)計的固定電話網(wǎng)短信息終端同時具有上傳消息的能力和接收短消息終端下行消息的能力(C類終端),滿足“基于固定網(wǎng)短消息傳送的技術(shù)規(guī)范”的要求。為短信息終端專用集成芯片提供了驗證平臺。
評論