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