基於ARM的智能來電顯示器的設計

 

摘要:介紹基於ARM的來電號碼顯示器的實現方法。利用CID芯片HT9032C來解調FSK碼,同時可實現液晶顯示、E2PROM存儲和語音播報電話主叫號碼等功能,以SPI串行接口智能顯示鍵盤控制芯片ZLG7289A爲核心設計的鍵盤電路可實現查閱、刪除信息。文章詳細介紹了系統的硬件電路設計和軟件流程。實踐表明,顯示器外圍器件少,抗干擾能力強,使用方便。

0引言

目前我國電話網交換機傳送主叫識別信息CID(CallingIdentityDelivery)有兩種方式,較常用的是FSK(頻移鍵控)方式,另一種是DTMF(雙音多頻)方式。通過掌握相應的協議標準和數據格式,可通過ARM控制芯片HT9032C實現解調FSK格式的來電信息,通過E2PROM存儲器存儲來電信息,並利用液晶顯示,同時控制ISD1402語音芯片播放來電號碼。以SPI串行接口智能顯示鍵盤控制芯片ZLG7289A爲核心設計的鍵盤電路實現查閱、刪除來電信息。

1系統硬件設計

1。1系統總體設計

整個系統由5部分組成,分別是:(1)FSK信號解調;(2)來電號碼語音播報;(3)顯示來電;(4)存儲來電信息;(5)按鍵控制部分。具體如圖1所示。

圖1 系統組成框圖

圖1系統組成框圖

1。2系統各組成部分設計

(1)FSK信號解調。

CID芯片HT9032C解調器是臺灣HOLTEK公司生產的雙列直插、低功耗的接收物理層主叫識別信息的CMOS集成電路FSK解調芯片,它能滿足Bell202和CCITTV。23標準,實現1200波特率FSK數據傳輸標準,且能檢測鈴流和載波,電話線經過接口電路接到HT9032C的TIP,RING,RDET1和RDET2腳,當有振鈴信號來時,HT9032C的RDET腳觸發下降沿。在第一次和第二次振鈴之間HT9032C把邏輯"1"(1200±12)Hz、邏輯"0"(2200±22)Hz、傳輸速率爲1200bit/s的FSK信號解調成串行異步二進制數據。當檢測到有效載波信號,CDET觸發下降沿。在DOUT腳輸出包括信道佔用信號、標誌信號和主叫識別信號的所有信號;在DOUTC腳只輸出主叫識別信號。

HT9032C與ARM9的具體硬件連線如圖2所示。

圖2 CID 芯片HT9032C 與ARM9 的硬件連線

圖2CID芯片HT9032C與ARM9的硬件連線

HT9032C的RDET引腳接MCU的外部中斷0,當有振鈴信號時,RDET腳觸發外部中斷0服務程序。

HT9032C的CDET引腳接MCU的外部中斷1,當檢測到有效解調後的主叫識別信號,CDET腳觸發外部中斷1程序。HT9032C的DOUTC引腳接MCU的串行中斷。當檢測到振鈴和有效載波信號,便打開串口中斷,接收解調的FSK信號,得到來電信息。

(2)來電號碼語音播報。

採用錄放一體化的高保真單片固態語音集成電路ISD1420實現自動語音播放來電號碼。其內部有128K的E2PROM用於存放語音信息,並可分成160段,每段信息爲0。125s,總共可存儲20s的信息。語音分段的信息是由ISD1420的地址線A0~A7的值決定的。在錄製過程中將可能要播放的語音庫按每個0。5s的單位進行錄製,每個漢字或數字的語音信息對應到一個地址。在檢測到來電號碼後,依次給定A0~A7的值就能構成一句話,播放來電號碼。

(3)顯示來電。

液晶顯示模塊LCD用來顯示主叫號碼、日期、時間等信息。LCD接收到來電信息後即依次取出各個信息並進行顯示。

(4)存儲來電信息。

採用允許三總線工作的串行外設接口(SPI)芯片X25045作爲存儲器。此芯片把看門狗定時器、電壓監控和E2PROM集成在單個封裝內,降低了系統成本並減少了對電路板空間的要求;其看門狗功能提供了對微控制器的保護,通過編程監控系統,當系統發生故障時自動以RESET信號作出響應;X25045的存貯器部分是CMOS的4096bit(512×8)串行E2PROM。

(5)按鍵控制部分。

採用ZLG7289A控制3個按鍵:"DEL"、上"UP"、下"DOWN"分別用於刪除、查閱主叫信息。

2主叫識別信息的兩種數據格式

終端交換機向該被叫用戶傳送主叫識別信息數據傳送時序如圖3所示。

圖3 主叫識別信息數據傳送時序

圖3主叫識別信息數據傳送時序

符號時間值:

A-0。5~1。5s第一次振鈴結束與數據傳送開始之間的時間間隔。

B+C-2。9s傳送數據的時間包括信道佔用信號ChannelSeizureSignal和標誌信號MarkSignal。

D-0。2s數據傳送結束與第二次振鈴開始之間的時間隔。

E-1s鈴流。

B+C+D-3。1s各時段可根據具體情況定。

信道佔用信號和標誌信號的目的是提示電話終端準備接收數據,校驗字是用作差錯檢查。信道佔用信號是由一組300個連續的"0"和"1"交替的位組成,其第一個比特爲"0",最後一個比特爲"1"。在通話狀態下,信道佔用信號不發送。標誌信號是由180個(在掛機狀態下)或80個(在通話狀態下)標誌位(邏輯"1")組成,標誌位由0~10個邏輯"1"組成。

每個數據字之前先行一位"0"作爲起始位,在最後加一位"1"作爲結束位,每個數據字的最低位先發送。這樣,實際每個字佔10bit,即1PXXXXXXX0(P爲奇偶校驗位)。數據傳送時,信道佔用信號發送後接收標誌信號。主叫識別數據格式有兩種:單數據消息格式(SDMF)和複合數據消息格式(MDMF)。

 

(1)單數據消息格式(SDMF)。

單數據消息格式由消息頭和消息體組成,這種格式的結構簡單,可容納的信息內容較少,如:呼叫序號、呼叫建立日期和時間及主叫號碼。消息頭由消息類型和消息長度組成,它們均爲8bit。消息類型的值用來識別消息的特徵,消息長度指明後面所跟的消息字的長度。消息體包括交換機需傳給終端用戶的消息,消息體可容納1255個8bit的消息字,每個字用8bit帶校驗位的7位編碼字符集表示。其消息格式如圖4所示。

圖4 單數據消息格式組成圖

圖4單數據消息格式組成圖

(2)複合數據消息格式(MDMF)。

這種格式的結構比較複雜,可傳送的信息包括除單數據格式內容外還有主叫用戶的姓名等。複合數據消息格式也是由消息頭和消息體組成,不同的是,複合數據的消息體由一個或多個小的參數消息組成,參數消息也具有參數頭和參數體。參數頭包括參數類型和參數長度,它們均爲8bit,參數類型值用來識別後續參數字,參數長度指明參數體中參數字的數目。複合數據消息格式允許不同特徵產生的不同消息在同一個幀中傳送。在此不再詳述。

3系統軟件流程設計

系統軟件由四部分組成,分別爲主程序,中斷0程序,中斷1程序和串口中斷程序。

主程序及各程序功能介紹如下。

(1)主程序開始初始化系統各功能芯片,設置串行通信的波特率,從E2PROM中讀存儲的來電信息,並顯示最後一條信息;然後開中斷0循環等待振鈴信號。程序流程圖如圖5所示。

圖5 主程序流程圖

圖5主程序流程圖

(2)外部中斷0服務程序。

當有振鈴信號來時,便觸發外部中斷0服務程序。

若判斷爲第一次振鈴,則開外部中斷1,判斷是否有有效解調FSK信號。

(3)外部中斷1服務程序。

當判斷有有效信號來時,便觸發外部中斷0服務程序。若判斷爲第一次振鈴,則打開串口中斷,準備接收解調爲串行異步二進制數據的來電信息。

(4)串口中斷程序。

在串口服務程序中不斷記錄緩衝器SUBF中的數據,存儲並顯示當前信息。

4實驗數據分析

串口輸出的字符串爲:0x800x180x320x000x310x310x300x380x330x300x310x300x330x340x300x310x350x320x310x360x370x360x300x310x360x370xEF經過分析,0x80表示此消息數據爲複合數據消息格式,0x18表示數據長度,後面則表示時間爲2011年08月30日10時34分,來電號碼爲01521760167,校驗字爲0xEF。所有數據和(包括校驗位)按256的模求和爲00,證明收到的數據完全正確。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章