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