基于ARM的智能來電顯示器的設(shè)計(jì)
圖4單數(shù)據(jù)消息格式組成圖
(2)復(fù)合數(shù)據(jù)消息格式(MDMF)。
這種格式的結(jié)構(gòu)比較復(fù)雜,可傳送的信息包括除單數(shù)據(jù)格式內(nèi)容外還有主叫用戶的姓名等。復(fù)合數(shù)據(jù)消息格式也是由消息頭和消息體組成,不同的是,復(fù)合數(shù)據(jù)的消息體由一個或多個小的參數(shù)消息組成,參數(shù)消息也具有參數(shù)頭和參數(shù)體。參數(shù)頭包括參數(shù)類型和參數(shù)長度,它們均為8bit,參數(shù)類型值用來識別后續(xù)參數(shù)字,參數(shù)長度指明參數(shù)體中參數(shù)字的數(shù)目。復(fù)合數(shù)據(jù)消息格式允許不同特征產(chǎn)生的不同消息在同一個幀中傳送。在此不再詳述。
3系統(tǒng)軟件流程設(shè)計(jì)
系統(tǒng)軟件由四部分組成,分別為主程序,中斷0程序,中斷1程序和串口中斷程序。
主程序及各程序功能介紹如下。
(1)主程序開始初始化系統(tǒng)各功能芯片,設(shè)置串行通信的波特率,從E2PROM中讀存儲的來電信息,并顯示最后一條信息;然后開中斷0循環(huán)等待振鈴信號。程序流程圖如圖5所示。
圖5主程序流程圖
(2)外部中斷0服務(wù)程序。
當(dāng)有振鈴信號來時,便觸發(fā)外部中斷0服務(wù)程序。
若判斷為第一次振鈴,則開外部中斷1,判斷是否有有效解調(diào)FSK信號。
(3)外部中斷1服務(wù)程序。
當(dāng)判斷有有效信號來時,便觸發(fā)外部中斷0服務(wù)程序。若判斷為第一次振鈴,則打開串口中斷,準(zhǔn)備接收解調(diào)為串行異步二進(jìn)制數(shù)據(jù)的來電信息。
(4)串口中斷程序。
在串口服務(wù)程序中不斷記錄緩沖器SUBF中的數(shù)據(jù),存儲并顯示當(dāng)前信息。
4實(shí)驗(yàn)數(shù)據(jù)分析
串口輸出的字符串為:0x800x180x320x000x310x310x300x380x330x300x310x300x330x340x300x310x350x320x310x360x370x360x300x310x360x370xEF經(jīng)過分析,0x80表示此消息數(shù)據(jù)為復(fù)合數(shù)據(jù)消息格式,0x18表示數(shù)據(jù)長度,后面則表示時間為2011年08月30日10時34分,來電號碼為01521760167,校驗(yàn)字為0xEF。所有數(shù)據(jù)和(包括校驗(yàn)位)按256的模求和為00,證明收到的數(shù)據(jù)完全正確。
評論